Cloud Run へのデプロイ

Artifact Registry でホストされているイメージを Cloud Run(フルマネージド)にデプロイできます。

デプロイに必要な権限

Cloud Run(フルマネージド)にデプロイするには、オーナーまたは編集者のロール、あるいは Cloud Run 管理者とサービス アカウント ユーザーのロールの両方、またはこの特定の権限のリストを含むカスタムロールが割り当てられている必要があります。

新しいサービスをデプロイする

タグまたはダイジェストを使用して、コンテナ イメージを指定できます。

サービスに初めてデプロイすると、最初のリビジョンが作成されます。リビジョンは変更されません。コンテナ イメージタグからデプロイすると、ダイジェストに解決され、リビジョンは常にこの特定のダイジェストを処理します。

コンテナをデプロイするには、Cloud Console または gcloud コマンドラインを使用します。

Console

コンテナ イメージをデプロイするには、次の手順を実行します。

  1. Cloud Run に移動します

  2. [サービスを作成] をクリックして、[サービスの作成] ページを表示します。

  3. [Deployment Platform] で、次の操作を行います。

    1. デプロイ プラットフォームとして [Cloud Run(フルマネージド)] を選択します。

    2. サービスを配置するリージョンを選択します。

    3. サービス名を入力します。サービス名がリージョンとプロジェクトごと、またはクラスタごとに一意である必要があります。サービス名は後で変更することはできず、Cloud Run(フルマネージド)の使用時に一般公開されます。

  4. [認証] で次の操作を行います。

    • 公開 API またはウェブサイトを作成する場合は、[認証されていない呼び出しを許可する] を選択します。これをオンにすると、IAM 起動元ロールに特別な allUser が割り当てられます。サービスの作成後に、IAM を使用してこの設定を編集できます。
    • 認証で保護された安全なサービスが必要な場合は、[Require authentication] を選択します。
  5. [次へ] をクリックして、サービス作成フォームの 2 ページ目に進みます。

  6. [コンテナ イメージの URL] テキストボックスに、画像の URL(例: us-central1-docker.pkg.dev/my-project/my-repo/my-image:latest)を入力します。

  7. 必要に応じて、[詳細設定を表示] をクリックし、次のタブを設定します。

  8. [作成] をクリックしてイメージを Cloud Run にデプロイし、デプロイの完了を待ちます。

  9. 表示された URL リンクをクリックして、デプロイしたサービスのエンドポイントを開きます。

コマンドライン

コンテナ イメージをデプロイするには:

  1. 次のコマンドを実行します。

    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 コマンドの実行時に確認のプロンプトが表示されます。

  2. デプロイが完了するまで待ちます。正常に完了すると、デプロイされたサービスの URL が成功のメッセージと一緒に表示されます。