[ストーリで理解]Azure Container Instances の制限
ストーリの登場人物についてはこちらを参照してください。
また、シリーズで体系的に学びたい方は[ストーリで学ぶAzureシリーズ]を確認してみてください!
「コンテナの制限って?どこまで使えるの?」
[おてて動かそう]のAzure Container Instances制限ガイド
会議室の一角で、美咲はタブレットを片手に眉をひそめていた。コンテナについて基本を学んだ彼女は、今度は実際の運用に向けて詳細を調べていた。
「Azure Container Instancesって、どのくらいのリソースまで使えるんですか?何か制限とかありますよね?」
そんな美咲の疑問を聞いた田中が、自分のデスクから声をかけた。
「おっ、ACI制限について調べてるんすね!実際使うとなると大事なポイントっす。いくつか把握しておきたい制限があるっす」
田中はホワイトボードに向かって立ち上がり、マーカーを手に取った。
コンテナリソースの基本制限
「まず、ACIにはハード制限とソフト制限があるんす。ハード制限はどんなに頼んでも変えられない制限で、ソフト制限はサポートに頼めば引き上げてもらえるかもしれない制限っす」
美咲は熱心にメモを取り始めた。「具体的にどんな制限があるんですか?」
ハード制限について
田中はホワイトボードに書き始めた。「まずハード制限、つまり絶対に変えられない制限としては…」
- コンテナーグループあたりのコンテナー数:60個まで
- コンテナーグループあたりのボリューム数:20個まで
- IPあたりのポート数:5つまで
- 実行中のコンテナーインスタンスのログサイズ:4MB
- 停止したインスタンスのログサイズ:16KBまたは1,000行
「えっ、60個も入れられるんですか?そんなに必要なケースってあるんですか?」美咲が驚いた様子で尋ねた。
「実際にそこまで使うことは少ないっすね。普通は数個のコンテナーで構成することが多いっす。でも、マイクロサービスアーキテクチャだと、たくさんの小さなサービスを連携させることがあるんすよ」
その時、会議室のドアが開き、隼人が入ってきた。
「美咲さん、ACI制限について調べているのか。重要なトピックだな」
ソフト制限について
隼人もホワイトボードの前に立ち、続けた。「ソフト制限、つまりサポートに依頼すれば引き上げ可能な制限もいくつかある。主なものはこうだ」
- 1リージョン、1サブスクリプションあたりのStandard SKUコンテナーグループ:100
- 1リージョン、1サブスクリプションあたりのStandard SKUコア(CPU):100
- 1時間あたりのコンテナーグループの作成件数:300
- 5分間あたりのコンテナーグループの作成件数:100
「なるほど…」美咲は頷きながらメモを続けた。「でも、CPUとかメモリはどれくらい使えるんですか?」
コンテナータイプ別のリソース制限
「コンテナーのタイプごとに違うんだよ」隼人が答えた。「まず、標準的なLinuxコンテナーグループの場合」
「標準の場合、最大CPU:4コア、最大メモリ:16GB、ストレージは50GBっす」田中が補足した。
「Windowsコンテナーも同様で、最大CPU:4コア、最大メモリ:16GB、ただしストレージは20GBまでだ」隼人が追加。
美咲が不思議そうな顔をした。「Windowsはストレージが少ないんですね…」
「OSのサイズが関係してるんすよ。Windowsの方がイメージサイズが大きいから、使えるストレージが少なくなるんす」田中が説明した。
「他にもスポットコンテナーと機密コンテナーという種類もあるんだが、それらも同様のリソース制限がある」隼人が付け加えた。
リージョンとコンテナータイプによる可用性
「全部のリージョンで全部のコンテナータイプが使えるわけじゃないんですよね?」美咲が質問した。
「鋭いっすね!」田中が笑顔で答える。「スポットコンテナーは現時点では米国東部2、西ヨーロッパ、米国西部のリージョンでしか使えないっす」
隼人が補足する。「機密コンテナーも、利用可能なリージョンが限られている。インド中部、東アジア、米国東部など12のリージョンで使用可能だ」
「GPUを使ったコンテナーも提供されているが、これはプレビュー段階で、本番環境では推奨されていない。代わりにAKS(Azure Kubernetes Service)を使うべきだ」
美咲は少し困惑した表情で「AKSって…また新しい用語ですね」とつぶやいた。
「今日はACIの話だから、AKSについてはまた今度説明するっす!」田中が笑いながら言った。
デプロイ時の注意点
「ACIのリソース制限内に収まるようにコンテナーグループを設計しても、実際のデプロイでは失敗することがあるんだ」隼人が真剣な表情で説明した。
「えっ、どうしてですか?」美咲が驚いた様子で尋ねた。
「特定のリージョンでの負荷が高い場合に起こりうるっす。その場合は、リソースを少なめに設定したり、別のリージョンを試してみるといいっすよ」田中がアドバイスした。
「それと」隼人が続ける「特にGPUリソースは、仮想ネットワークのデプロイではサポートされていないし、Linuxコンテナーグループでしか使えない。そして完全サポートではなく、ベストエフォートベースのサポートしかないので注意が必要だ」
「使用量やクォータは、List Usage APIを使って確認できるから、大規模なデプロイの前に必ずチェックするといい」
【まとめ】Azure Container Instancesの制限ポイント
- ACIには変更不可のハード制限と、サポートに依頼で引き上げ可能なソフト制限がある
- コンテナーグループあたり最大60個のコンテナー、20個のボリューム、IPあたり5つのポート
- 標準Linuxコンテナー:最大4CPU、16GBメモリ、50GBストレージ
- 標準Windowsコンテナー:最大4CPU、16GBメモリ、20GBストレージ
- スポットコンテナーや機密コンテナーは利用可能なリージョンが限定されている
- GPUコンテナーはプレビュー段階で、本番環境ではAKSが推奨される
- リージョンの負荷によってはデプロイが失敗することがあるため、リソース設定の調整や別リージョンの使用を検討する
- クォータ引き上げが必要な場合は、Azureサポートに依頼する
「うーん、思ったより色々と制限があるんですね」美咲が感想を述べた。
「でも、これらの制限を理解しておけば、ACIを効果的に使うことができるんだ。小規模なアプリケーションや、短期間のワークロード実行には十分なリソースがある」隼人が励ましの言葉をかけた。
「そうっすね!大事なのは、自分のアプリケーションの要件を把握して、それに合った設計をすることっす。美咲さん、何か具体的なアプリケーションを考えてるんすか?」
「まだ具体的には決まってないんですが、この制限を念頭に置いて考えてみます!」美咲は笑顔で答えた。「ありがとうございます、田中さん、山田さん!」
参照
ディスカッション
コメント一覧
まだ、コメントがありません