Container Instancesサービスは、Kubernetesなどのコンテナ・オーケストレーション・プラットフォームを必要としない分離されたコンテナの操作に最適です。API、Webアプリケーション、CI/CDジョブ、自動化タスク、データやメディアの処理、開発環境やテスト環境などのユース・ケースに適しています。ただし、コンテナ・オーケストレーション・プラットフォームに置き換わることはできません。それがコンテナ・オーケストレーションの使用(OKE)が求められるユース・ケースです。
Container Instancesでコンテナを実行する場合、VMまたはサーバーを自分でプロビジョニングおよび管理する必要はありません。コンテナ・イメージを指定し、構成をローンチして、コンテナ・インスタンスでコンテナを実行できます。OCIは、コンテナの実行に必要な基礎となるコンピュートを管理します。仮想マシンでコンテナを実行する場合は、サーバーの管理と、仮想マシンでのコンテナ・ランタイムのインストールおよび保守を担います。
OCI Container Instancesでは、コンテナ・インスタンスによって使用されたインフラストラクチャ・リソースに対してのみ料金が発生します。コンテナ・インスタンスに割り当てられたCPUおよびメモリー・リソースの価格は、 選択したシェイプのOCI Compute Instancesの価格と同じです。コンテナ・インスタンスの使用には追加料金はかかりません。OCPU時間およびギガバイト(メモリー)時間の一部が消費されると、最低料金として1分間分が請求され、使用量は秒単位で集計されます。各コンテナ・インスタンスには、追加料金なしのデフォルトで15 GBのエフェメラル・ストレージがあります。詳細については、Container Instancesの価格ページを参照してください。
コンテナ・インスタンスを作成する際、基礎となるコンピュート・シェイプを選択して、シェイプによって提供される最大CPUおよびメモリー・リソースまで割り当てることができます。たとえば、E3またはE4フレックス・シェイプを選択する場合、最大64コア(128 vCPU)および1,024 GBのメモリーをコンテナ・インスタンスに割り当てることができます。
その答えは「はい」です。コンテナ・インスタンスを作成するときに、1つ以上のコンテナを指定できます。コンテナ・イメージ、およびオプションで環境変数、リソース制限、起動オプションなどをコンテナごとに指定できます。
通常、コンテナ・インスタンスは単一のアプリケーションを実行します。ただし、アプリケーション・コンテナには、開発目的でロギング・サイドカーやデータベース・コンテナなどのサポート・コンテナが必要になる場合があります。同じアプリケーションのこのような複数のコンテナを1つのコンテナ・インスタンスで実行することを選択できます。同じコンテナ・インスタンスで実行されるコンテナは、CPU/メモリー・リソース、ローカル・ネットワークおよびエフェメラル・ストレージを共有します。CPU/メモリー・リソース制限をコンテナ・レベルで適用して、コンテナごとのリソース消費量を制限できます。
OCI Container Registryなど、Open Container Initiativeに準拠したコンテナ・レジストリをサポートしています。
各コンテナ・インスタンスには、デフォルトで15 GBのエフェメラル・ストレージがあります。OCI Block Storage および OCI File Storage(FSS)を使用して永続ボリュームをアタッチするオプションは、近日中に利用可能になる予定です。コンテナ・インスタンスは、外部データベースを使用して、コンテナ・インスタンスよりも存続期間の長いデータを保存することもできます。
コンテナ・インスタンスは、そのインスタンス内のすべてのコンテナが停止し、自動再スタートポリシーが有効でない場合、すぐに非アクティブになります。つまり、CI/CDパイプライン、クラウド運用の自動化タスク、データ/メディア処理などのエフェメラル・ワークロードに使用されるコンテナ・インスタンスは、ワークロードが実行されると停止します。お客様は、ジョブの実行期間中のみ支払いが必要です。
Webアプリケーションに使用されるような常時稼働が必要なコンテナ・インスタンスに対しては、再起動ポリシーを設定することができます。これにより、障害発生時にコンテナ・インスタンス内のコンテナを再起動し、アプリケーションが常に稼働している状態を確保できます。