ある企業がAzure Container Instances(ACI)を使ったコンテナデプロイを検討している。ACIにおけるストレージの永続化について正しい説明を2つ選択してください。
- A. ACIコンテナはデフォルトで永続ストレージを持ち、コンテナを停止しても内部のデータは保持される
- B. ACIコンテナグループにマウントできるボリューム数は最大1つまでという制限がある
- C. ACIコンテナグループにAzure Filesファイル共有をボリュームとしてマウントすることで、コンテナが停止・削除されてもデータを永続化できる
- D. 同一コンテナグループ内の複数のコンテナは、emptyDirボリュームを共有マウントすることでコンテナ間でファイルを共有できる(ただしコンテナグループ削除時にデータは消える)
- E. ACIはAzure Blob Storageを直接ブロックデバイスとしてマウントしてコンテナのrootfsとして使用できる
解答と解説を見る
正解: C, D
ACIのストレージについて正しい動作は2つある。第一に、Azure Filesファイル共有のボリュームマウントを使うと、コンテナグループが停止・削除されてもAzure Files側にデータが残るため永続化が実現できる。ACIのコンテナグループ定義でvolumesフィールドにAzure Filesの認証情報と共有名を指定し、コンテナのvolumeMountsでマウントパスを設定する。第二に、emptyDirボリュームは同一コンテナグループ内の複数コンテナ間でファイルを共有するための一時領域として機能する。コンテナグループが稼働している間のみ存在し、コンテナグループが削除されるとデータも消える(永続化は不可)。サイドカーコンテナとのデータ受け渡しに有用。選択肢AはACIコンテナのローカルストレージはコンテナグループが停止・削除されると失われるため誤り(コンテナのファイルシステムはエフェメラル)。選択肢EはAzure Blob StorageをACIのrootfsとして直接マウントする機能は提供されていない(Blob Fuseによるマウントは別途設定が必要でrootfsとしての使用は非サポート)。選択肢BはACIコンテナグループには複数のボリューム(Azure Files・emptyDir・secretボリューム等)をマウントでき、1つという制限はない。
📚 関連サービスの解説: Azure Files