Artifact Registry でホストされているイメージを Cloud Run(フルマネージド)にデプロイできます。
デプロイに必要な権限
Cloud Run(フルマネージド)にデプロイするには、オーナーまたは編集者のロール、あるいは Cloud Run 管理者とサービス アカウント ユーザーのロールの両方、またはこの特定の権限のリストを含むカスタムロールが割り当てられている必要があります。
新しいサービスをデプロイする
タグまたはダイジェストを使用して、コンテナ イメージを指定できます。
サービスに初めてデプロイすると、最初のリビジョンが作成されます。リビジョンは変更されません。コンテナ イメージタグからデプロイすると、ダイジェストに解決され、リビジョンは常にこの特定のダイジェストを処理します。
コンテナをデプロイするには、Cloud Console または gcloud
コマンドラインを使用します。
Console
コンテナ イメージをデプロイするには、次の手順を実行します。
[サービスを作成] をクリックして、[サービスの作成] ページを表示します。
[Deployment Platform] で、次の操作を行います。
デプロイ プラットフォームとして [Cloud Run(フルマネージド)] を選択します。
サービスを配置するリージョンを選択します。
サービス名を入力します。サービス名がリージョンとプロジェクトごと、またはクラスタごとに一意である必要があります。サービス名は後で変更することはできず、Cloud Run(フルマネージド)の使用時に一般公開されます。
[認証] で次の操作を行います。
- 公開 API またはウェブサイトを作成する場合は、[認証されていない呼び出しを許可する] を選択します。これをオンにすると、IAM 起動元ロールに特別な
allUser
が割り当てられます。サービスの作成後に、IAM を使用してこの設定を編集できます。 - 認証で保護された安全なサービスが必要な場合は、[Require authentication] を選択します。
- 公開 API またはウェブサイトを作成する場合は、[認証されていない呼び出しを許可する] を選択します。これをオンにすると、IAM 起動元ロールに特別な
[次へ] をクリックして、サービス作成フォームの 2 ページ目に進みます。
[コンテナ イメージの URL] テキストボックスに、画像の URL(例:
us-central1-docker.pkg.dev/my-project/my-repo/my-image:latest
)を入力します。必要に応じて、[詳細設定を表示] をクリックし、次のタブを設定します。
[作成] をクリックしてイメージを Cloud Run にデプロイし、デプロイの完了を待ちます。
表示された URL リンクをクリックして、デプロイしたサービスのエンドポイントを開きます。
コマンドライン
コンテナ イメージをデプロイするには:
次のコマンドを実行します。
gcloud run deploy SERVICE --image REPO-LOCATION-docker.pkg.dev/PROJECT-ID/REPOSITORY/IMAGE \ [--platform managed --region RUN-REGION]
ここで
- REPO-LOCATION はリポジトリのロケーションです。例:
us-central1
- SERVICE は、デプロイ先のサービスの名前です。サービスがまだ存在しない場合、デプロイ中にこのコマンドによってサービスが作成されます。このパラメータは省略できますが、省略するとサービス名の入力を求められます。
- PROJECT-ID は、Google Cloud プロジェクト ID です。
- REPOSITORY は、イメージが保存されるリポジトリの名前です。
- IMAGE はイメージの名前です(例:
us-central1-docker.pkg.dev/my-project/my-repo/my-image:latest
)。 - RUN-REGION は、デプロイの Cloud Run のロケーションです。
gcloud
プロパティrun/region
を使用してデフォルトの Cloud Run のロケーション セットを設定する場合は、--platform managed -region RUN-REGION]
を省略できます。
公開 API またはウェブサイトを作成する場合は、
--allow- unauthenticated
フラグを使用して、サービスの未認証の呼び出しを許可できます。これにより、Cloud Run 呼び出し元の IAM ロールをallUsers
に割り当てます。未認証の呼び出しを許可しないように--no-allow-unauthenticated
を指定することもできます。いずれかのフラグを省略すると、deploy
コマンドの実行時に確認のプロンプトが表示されます。- REPO-LOCATION はリポジトリのロケーションです。例:
デプロイが完了するまで待ちます。正常に完了すると、デプロイされたサービスの URL が成功のメッセージと一緒に表示されます。