【初心者向け】Azure コンテナーインスタンスをざっくり理解する
この記事の内容
- コンテナと仮想マシン(VM)の違いを基礎から整理します
- Azure コンテナーインスタンス(ACI)がどんなサービスなのかを解説します
- ACI でコンテナを作成するまでの手順をステップごとに紹介します
- 作成後の動作確認やログ確認の方法も紹介します
- ACI と他の Azure サービスの使い分けのポイントをまとめます
コンテナと仮想マシン(VM)の違い
ACI を理解するためには、まずコンテナと仮想マシン(VM)の違いを押さえておきましょう。
仮想マシン(VM) は、物理ハードウェアの上に仮想化されたハードウェアを作り、その上に OS をインストールして利用します。1 台の物理マシン上で複数の VM を動かすことができ、それぞれが独立した OS 環境を持つのが特徴です。
一方、コンテナ はホスト OS 上でプロセス単位に分離された環境を提供します。同じ OS のカーネルを共有するため、VM よりも軽量で起動も高速です。プロセスの中では独立した環境のように振る舞うため、ミドルウェアやアプリケーションも個別に管理できます。
ただし、コンテナはホスト OS と同じ種類の OS 上でしか動作できません。たとえば Linux 上のコンテナは Linux コンテナのみ実行可能です。この点は VM との大きな違いです。
また、コンテナは Dockerfile などのコードで環境構築ができ、イメージとして再利用・共有が容易なのも大きな特徴です。公開されているコンテナイメージを活用したり、他の人が作ったイメージをカスタマイズして使ったりすることも簡単にできます。
Azureコンテナーインスタンス(ACI)とは?
Azure コンテナーインスタンス(ACI) は、Azure 上でコンテナを手軽に実行できるサービスです。Docker Hub や Azure Container Registry などの外部コンテナイメージを ACI に持ち込み、そのまま実行することができます。
ACI の実行基盤(ハードウェアや仮想マシンなど)は利用者が意識する必要がなく、コンテナの実行に集中できる点が大きなメリットです。使い終わったら簡単に削除できるため、VM のように長期間管理し続ける必要もありません。
一時的な処理を実行したい場合や、特定のイメージをすぐに動かしたい場合に最適です。VM のような管理が面倒な場合や、Azure Functions のようなサーバーレスでは対応しきれない場合にも ACI は有効な選択肢となります。
ACIの利用手順(ハンズオン)
実際に Azure コンテナーインスタンスを作成し、コンテナを動かす流れを紹介します。
1. リソースグループの選択
サブスクリプションとリソースグループを選択します。リソースグループは入れ物のようなものですので、用途に合わせて既存のものを選ぶか、新規に作成してください。
2. コンテナ名とリージョンの設定
コンテナインスタンスに名前を付け、デプロイ先のリージョンを選択します。
3. SKU(標準/機密)の選択
現状は「標準」が基本の選択肢となっています。必要に応じて「機密」も選択可能です。
4. コンテナイメージの指定
クイックスタートイメージ、Azure Container Registry、Docker Hub などから使用するイメージを選択します。今回の例では、MCR(Microsoft Container Registry)から aci-helloworld イメージを使用します。
5. リソース(CPU / メモリ / GPU)の設定
必要に応じて CPU コア数やメモリ量を設定できます。リージョンによっては GPU の利用も可能です。
6. ネットワークの設定
ネットワーク種別は以下の 3 種類から選択できます。
| 種別 | 説明 |
|---|---|
| パブリック | インターネット経由でアクセス可能 |
| プライベート | 仮想ネットワーク内に配置 |
| なし | 外部通信が不要な場合 |
コンテナの用途に合わせて選択してください。外部公開が必要な場合は、ポート番号も忘れずに指定します。
7. 監視の設定
ログを有効にすることで、実行状況やアクセスログを確認できるようになります。ログは「Log Analytics ワークスペース」に保存されます。
8. 詳細設定
詳細設定では、以下の項目を構成できます。
- 失敗時の再起動ポリシー
- 環境変数の設定
- コンテナ実行コマンドの上書き
- キー管理やタグの設定
9. 確認・作成
設定内容を確認し、作成ボタンを押すとデプロイが開始されます。
作成後の動作確認
デプロイが完了すると、指定したコンテナイメージが自動的に実行されます。aci-helloworld イメージの場合、Web サーバーが立ち上がり、割り当てられた IP アドレスにアクセスすると「Welcome to Azure Container Instances」のページが表示されます。
また、コンテナのログ確認やコンテナへのシェル接続も可能です。Linux ベースのイメージであれば、シェルに入って直接操作することもできます。
ACIの特徴と他サービスとの違い
ACI は「とにかくコンテナを簡単に単体で動かしたい」という場合に最適なサービスです。他の Azure サービスと比較すると、以下のような特徴があります。
- VM ほど重くなく、OS 管理も不要
- Azure Functions より柔軟な実行環境を用意できる
- Azure App Service との使い分けは用途に応じて判断する
より複雑な構成や大規模な運用が必要になった場合は、AKS(Azure Kubernetes Service)などのオーケストレーションサービスを検討することになりますが、まず「コンテナを動かす」ことにチャレンジしたい方には ACI がおすすめです。
まとめ
Azure コンテナーインスタンス(ACI)は、公開済みや自作のコンテナイメージを手軽に Azure 上で実行できる、シンプルで便利なサービスです。
- コンテナの実行に特化しており、基盤の管理が不要
- Docker Hub や Azure Container Registry のイメージをすぐに動かせる
- 一時的な処理や検証用途に特に向いている
- 本格的な運用が必要になったら AKS などへのステップアップも自然にできる
「まずはコンテナを体験してみたい」「ちょっとした処理を気軽に動かしたい」という方は、ぜひ ACI からコンテナの世界に触れてみてください。