一般提供が開始されてから既に1カ月以上経過しましたが、今回は「Azure Container Instances」を紹介します。従来のAzure Container Serviceや新しいAzure Kubernetes Serviceとの違いは、サーバレスでWindowsコンテナーを直接デプロイして実行でき、CPUとメモリの秒単位での課金で利用できることです。
Microsoft Azureでパブリックプレビュー提供されていた「Azure Container Instances」の一般提供が、2018年4月末から始まりました。2018年6月時点では、米国西部(westus)、米国西部2(westus2)、米国東部(eastus)、ヨーロッパ西部(westeurope)、ヨーロッパ北部(northeurope)、東南アジア(southeastasia)の6つのリージョンでサービスが利用可能です。
Azure Container Instancesは、Dockerベースの「Linuxコンテナー」または「Windowsコンテナー」を、パブリック(Docker Hub)またはプライベート(AzureのContainer Registryなど)なリポジトリからAzureのクラウド環境に直接デプロイし、素早く実行できるサービスです。課金方法は、選択した仮想プロセッサ数とメモリ容量に基づいて、秒単位で行われます。
詳しい実装方法は明らかになっていませんが、製品サイトにある「ハイパーバイザー分類」の表現からすると、Windows Server 2016の「Hyper-Vコンテナー」のように、ホストとカーネルを共有しないタイプのコンテナ環境によって、マルチテナント環境におけるセキュリティ境界の課題を解消しているようです。
なお、現在のWindows ServerおよびWindows 10は、Windowsコンテナーのデプロイと実行が可能ですが、Windows Server Semi-Annual ChannelやWindows Server 2019で、Hyper-VコンテナーによるLinuxコンテナーのサポートが提供される予定です(現在は、Windows 10 バージョン1709以降において、Docker for WindowsのExperimental機能として評価可能です)。
Azure Container Instancesのプレビュー提供開始時には「Azure CLI(Command Line Interface)」でコンテナのデプロイと実行を行いましたが、現在は、Azureポータル、Azure CLI、およびAzure PowerShellの3つの方法が利用可能です。Azure CLIおよびAzure PowerShellは、Azureポータルから素早く開始できる「Azure Cloud Shell」(PowerShellはプレビュー提供)を利用することが可能です。
以下の画面1〜3は、Docker Hubで利用可能なオープンソースのWebサーバ「nginx」イメージ(Alpine Linuxベース)からLinuxコンテナーをデプロイし、Webブラウザでアクセスしたところです。Linuxコンテナーの場合、あっという間にデプロイされ、実行を確認できました。Azure CLIで「EXEC」コマンド(az container exec)を使用すると、実行中のコンテナインスタンスのシェルに対話的に接続することが可能です。
Copyright © ITmedia, Inc. All Rights Reserved.