Azure Container Instances のスタンバイ プールには、サブスクリプション内のリソースを作成および管理するための特定のアクセス許可が必要です。 適切なアクセス許可がないと、スタンバイ プールは正しく機能しません。 この記事では、スタンバイ プールのロールベースのアクセス制御 (RBAC) アクセス許可を構成する方法について説明し、追加のアクセス許可が必要になる可能性があるシナリオのガイダンスを提供します。
基本的なアクセス許可
スタンバイ プールがサブスクリプション内のコンテナー インスタンスを作成および管理できるようにするには、スタンバイ プール リソース プロバイダーに適切なアクセス許可を割り当てます。
注
これらのアクセス許可には、すべてのシナリオが完全に含まれるとは限りません。 スタンバイ プールで、Azure Container Registry またはその他のサブスクリプションに格納されているコンテナー イメージなどの特定のリソースを使用している場合は、スタンバイ プール リソース プロバイダーがそれらのリソースにアクセスできることを確認します。
可能な限り多くのシナリオに対応するために、スタンバイ プール リソース プロバイダーに次のアクセス許可を提供することをお勧めします。
- コンテナー インスタンス共同作成者
- ネットワーク共同作成者
- マネージドIDの寄稿者
- マネージド ID オペレーター
- ストレージ BLOB データ共同作成者 (コンテナー データに Azure Storage を使用している場合)
- Azure Container Registry Reader (Azure Container Registry に格納されているイメージを使用している場合)
- Azure portal でサブスクリプションに移動します。
- アクセス許可を調整するサブスクリプションを選択します。
- [Access Control (IAM)] を選択します。
- [追加] と [ロールの割り当ての追加] を選択します。
- [ロール] タブで、 コンテナー インスタンス共同作成者 を検索して選択します。
- [メンバー] タブに移動します。
- [+ メンバーの選択] を選択します。
- [スタンバイ プール リソース プロバイダー] を探して選択します。
- [レビュー + 割り当て] タブに移動します。
- 変更を適用します。
- 上記の手順を繰り返し、 ネットワーク共同作成者 ロールと マネージド ID 共同作成者 ロールをスタンバイ プール リソース プロバイダーに割り当てます。 Azure Container Registry または Azure Storage を使用している場合は、 Azure Container Registry 閲覧者 ロールと ストレージ BLOB データ共同作成者 ロールも割り当てます。
ロールの割り当ての詳細については、「Azure portal を使用して Azure ロールを割り当てる」を参照してください。
サブスクリプション間リソース
スタンバイ プールで、Azure Container Registry に格納されているコンテナー イメージなどのリソースを別のサブスクリプションで使用している場合は、スタンバイ プール リソース プロバイダーがそれらのリソースにアクセスできることを確認します。 必要なアクセス許可を付与するには、他のサブスクリプションのロールを割り当てる必要がある場合があります。
アクセス許可に関する問題をトラブルシューティングする
アクセス許可の問題は、スタンバイ プールに関する問題の一般的な原因です。 これらの問題は、プールがインスタンスの継続的な作成と削除、インスタンスの作成に失敗する、プールにインスタンスが表示されないなど、いくつかの方法で発生する可能性があります。 次の手順を使用して、これらの問題のトラブルシューティングと解決を行います。
Log Analytics を使用して調査する
プールが期待どおりに機能していない場合は、Log Analytics を使用してログを分析し、不足しているアクセス許可を特定します。
- Azure Portal に移動します。
- スタンバイ プールに関連付けられている Log Analytics ワークスペースに移動します。 ログ分析を使用する前に、まずログ分析ワークスペースを構成する必要があります。 詳細については、 Azure Log Analytics を使用してスタンバイ プール イベントを監視する方法に関するページを参照してください。
SCGPoolExecutionLog
テーブルにクエリを実行して、インスタンスの作成と削除に関連するイベントを確認します。
SCGPoolExecutionLog
| where TimeGenerated > ago(24h)
| project TimeGenerated, EventName, EventStatus, ResourceId, FailureDetails
- FailureDetails 列では、エラーまたは障害を探して、不足しているアクセス許可やその他の問題を特定します。
ランタイム ビュー API の機能低下モードを確認する
プールが機能低下モードの場合、リソースの作成は一時的に一時停止されます。 ランタイム ビュー API を使用して、プールの正常性状態を確認し、低下モードの理由を判断します。
- ランタイム ビュー API または PowerShell や CLI などの他の SDK に GET 要求を送信します。
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.StandbyPool/standbyContainerGroupPools/{standbyPool}/runtime?api-version=2025-03-01
healthStatus フィールドの応答を確認します。 プールが低下モードの場合、応答には低下状態の理由が含まれます。
低下モードを解決するために、アクセス許可の不足やリソースの制約など、特定された問題に対処します。
プールされたインスタンスに必要なアクセス許可を確認する
プールされたコンテナー インスタンスがリサイクルされている場合、またはプールにインスタンスが表示されない場合は、個々のコンテナー インスタンスを作成するために必要なリソースを確認してください。 スタンバイ プール リソース プロバイダーに、必要なすべてのリソースに必要なアクセス許可があることを確認します。これには、次のものが含まれますが、これらに限定されません。
- コンテナー インスタンス共同作成者
- ネットワーク共同作成者
- マネージドIDの寄稿者
- ストレージ BLOB データ共同作成者 (コンテナー データに Azure Storage を使用している場合)
- Azure Container Registry Reader (Azure Container Registry に格納されているイメージを使用している場合)
スタンバイ プール リソース プロバイダーに割り当てられているロールに、コンテナー インスタンスの作成と管理に必要なすべてのアクセス許可が含まれているかどうかを確認します。
次のステップ
- Azure Monitor ログのドキュメントを使用して、ログをさらに調査および分析します。
- プールの正常性と状態の確認の詳細については、ランタイム ビュー API のドキュメントを参照してください。
- 「基本アクセス許可」セクションの説明に従って、必要なすべてのロールが割り当てられていることを確認します。