Azureのコンテナーサービスとは~Container Instancesについて~

はじめに

Azure(アジュール)で提供しているコンテナーサービスは多種多様です。今回はその中でも、サーバー管理なしでコンテナを容易に実行できるContainer Instancesに焦点を当てて紹介していきます。活用したいけれど、メリットが一見分かりにくいという方も多いのではないでしょうか。まずは概要についてみていきましょう。

Azureについて

Azureとはどのような製品なのか。リージョンの説明を始める前に簡単に紹介します。Azure(アジュール)は、Microsoft Azureのことを指しており、Microsoft社が提供するクラウドサービスの集合体のことです。クラウドサービス自体は他社にも存在しますが、Azureの特徴としてクラウドプロバイダーを比較した際、データセンター設置地域が多いことが一つ挙げられます。また、明確なセキュリティやプライバシーの要件を定義しながらも、それを確実に遵守し続け業界をリードしていることが強みと言えるでしょう。

コンテナーサービスとは

コンテナ技術について

そもそもコンテナ技術とはなんでしょうか。Azureのコンテナサービスのメリットをより理解しやすくするために、コンテナ技術のメリットから説明していきます。OS環境やCPUの再利用性を高めるなど、環境構築を円滑に行えるようにするために、開発者側と運用管理者側の両方において必要になったのが、「仮想化」です。

ハードウェアを論理的に分割・統合する仮想化技術によって、実際に複数の物理的なハードウェアの管理をせずとも、複数台のハードウェアで開発をしているかのような状態が実現しました。しかし、動作速度の低下などの問題が残ってしまいます。そこで用いられたのが、仮想化技術である「コンテナ技術」です。これにより、異なるサーバーであっても、独立したOS環境を構築することができるようになりました。元々のハードウェアそのものを仮想化することなく活用できるため、従来の仮想化に比べて高速で動くメリットがあります。

Dockerについて

上記で仮想化について話しましたが、仮想化を実現するにはコンテナーサービスの導入が必要不可欠になってきます。コンテナ技術があれば、勝手に異なるサーバ内に同一構成の開発環境や本番環境が構築されるのかというとそうではありません。実行するための環境が必要です。

コンテナサービスの代表的な実行環境が、Docker社の「Docker」です。元々Docker社が開発した仮想化技術なのですが、コンテナ仮想化実装のオープン業界標準策定を目的として設立された「Open Container Initiative」に従い、現在はベンダー業界で統一仕様として取り扱われています。「DockerFile」というコンテナを生成するための設定ファイルに、コンテナの設定内容を記述し、再利用できる点がメリットです。公開されていれば他社が作成したものであっても、「DockerFile」は同様の環境を構築することが可能になります。

Container Instancesについて

メリット

Container Instancesは、サーバー管理なしでコンテナを容易に実行できる、Azureのコンテナーサービスの1つです。Azure Container Instances (ACI) でワークロードを実行する際に、サーバーを管理する必要がないためアプリケーションを実行するインフラストラクチャの管理を懸念せずに設計や開発に集中することができます。また、1つのコマンドだけでコンテナをクラウドにデプロイできる簡単さと俊敏性を持っています。さらにACIでは、コンテナグループごとにハイパーバイザー分離が行われ、カーネルを共有することなく実行されることで、軽量なコンテナの効率性を保ちながらもセキュリティを保護することが可能になります。ACIで構築できるものの例として、Azure Kubernetes Service (AKS)によるによる柔軟なバースティング、Azure Container Instances による複雑なタスクの実行、ソースデータを取り込んで加工するAzure Blob Storageなどの永続ストアに配置するデータ処理への利用があります。

価格

Azure Container Instancesでは、※”コンテナーグループ” レベルで課金が発生します。単一のコンテナーで使用される、あるいは複数のコンテナーで分割されるvCPU/メモリリソースの割り当てです。価格は、コンテナーグループに割り当てられたvCPUの数とメモリの量 (GB) に応じて決まり、使用された GB 秒およびvCPU秒ごとに課金されます。実際に発生する価格の例やAzure サービスの月額料金を概算したい場合の計算ツールは、公式サイトに掲載されていますので、そちらを利用してください。なお、解約手数料は発生しません。

※コンテナーグループ:同じネットワークおよびノードライフサイクルが共有される共同スケジュールグループのこと。期間は、最初のコンテナーのイメージのプルを開始した時点 (新しいデプロイの場合)、もしくはコンテナー グループが再開された時点 (既にデプロイされている場合) から、コンテナー グループが停止するまでの時間。

まとめ

Azureのコンテナーサービスについて、少し見えてきましたでしょうか。Container Instancesについてまとめると、サーバー管理も新しいツールの習得も必要のない俊敏性のあるアプリ開発が可能なサービスと言えます。すばやく環境が構築できるコンテナーサービスは、様々な開発場面で強い味方になるため今後も目が離せない技術となるのではないでしょうか。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です