はじめに
Azure CLIやPythonを使ってでAzure Container Registry (以下ACR) からプルしたイメージでACIのコンテナーグループ作成する際に以下のようなエラーが出ることがありました。
Got exception in creating container group: 400
.
.
.
azure.core.exceptions.HttpResponseError: (InaccessibleImage) The image '<レジストリサーバ名>/<イメージ名>:<バージョン>' in container group '<コンテナーグループ名>' is not accessible. Please check the image and registry credential.
Code: InaccessibleImage Message: The image '<レジストリサーバ名>/<イメージ名>:<バージョン>' in container group '<コンテナーグループ名>' is not accessible. Please check the image and registry credential.
.
.
.
けっこう困ったので、当時の私が欲しかった情報をまとめてみました。本記事が少しでも誰かの役に立てると嬉しいです。
実行環境
- Windows 10 Pro
- Git Bash
- git version 2.36.1.windows.1
- Azure CLI 2.42.0
- Python 3.10
やった (やろうとした) こと
確認項目
- イメージ名とバージョンが正しいか
- サービスプリンシパルを使った認証の場合、ACRリポジトリのアクセス情報、AcrPull権限があるサービスプリンシパルIDとパスワードが正しいか
-
registry-username
に指定するのはprincipalName
、IDぽいのが複数あるので注意 - パスワードを忘れた場合は再取得できないので新しくサービスプリンシパル作成した方が早い
- サービスプリンシパルの代わりにマネージドID使った方が良さそう、パスワードが平文でコードに含まれちゃうので。。
-
- ACRレジストリがPrivateかつAzure SDK for Pythonを使っている場合
- これやろうとして、上記情報が正しいはずなのに本エラー
- Azure側のバグかも、他の言語を使うのが無難