【初心者向け】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 からコンテナの世界に触れてみてください。