クイックスタート: デプロイ

このページでは、Cloud Build を使用してコンテナ化されたアプリケーションを Cloud Run にデプロイする方法について説明します。

始める前に

  1. Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  3. Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する

  4. Cloud Build, Cloud Run, Artifact Registry, and Compute Engine API を有効にします。

    API を有効にする

  5. Cloud SDK をインストールして初期化します。
  6. Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。

    プロジェクト セレクタに移動

  7. Cloud プロジェクトに対して課金が有効になっていることを確認します。プロジェクトに対して課金が有効になっていることを確認する方法を学習する

  8. Cloud Build, Cloud Run, Artifact Registry, and Compute Engine API を有効にします。

    API を有効にする

  9. Cloud SDK をインストールして初期化します。

権限を付与

Cloud Build で Cloud Run にイメージをデプロイする前に、Cloud Run 管理者IAM サービス アカウント ユーザーの権限を付与する必要があります。

  1. ターミナル ウィンドウを開きます。

  2. プロジェクト ID とプロジェクト番号を格納する環境変数を設定します。

    PROJECT_ID=$(gcloud config list --format='value(core.project)')
    PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format='value(projectNumber)')
    
  3. Cloud Run 管理者役割を Cloud Build サービス アカウントに付与します。

    gcloud projects add-iam-policy-binding $PROJECT_ID \
        --member=serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com \
        --role=roles/run.admin
    
  4. IAM サービス アカウント ユーザー ロールを Cloud Run ランタイム サービス アカウントの Cloud Build サービス アカウントに付与します。

    gcloud iam service-accounts add-iam-policy-binding \
        $PROJECT_NUMBER-compute@developer.gserviceaccount.com \
        --member=serviceAccount:$PROJECT_NUMBER@cloudbuild.gserviceaccount.com \
        --role=roles/iam.serviceAccountUser
    

ビルド済みのイメージをデプロイする

Artifact Registry に格納されているビルド済みのイメージを Cloud Run にデプロイするように Cloud Build を構成できます。

ビルド済みのイメージをデプロイするには:

  1. ターミナル ウィンドウを開きます(まだ開いていない場合)。

  2. helloworld という名前で新しいディレクトリを作成し、そのディレクトリに移動します。

    mkdir helloworld
    cd helloworld
    
  3. 次の内容のファイルを cloudbuild.yaml という名前で作成します。これは Cloud Build 構成ファイルです。Cloud Build が、us-docker.pkg.dev/cloudrun/container/hello という名前のイメージを cloudrunservice という名前の Cloud Run サービスにデプロイする手順が含まれています。

    steps:
    - name: 'gcr.io/cloud-builders/gcloud'
      args:
      - 'run'
      - 'deploy'
      - 'cloudrunservice'
      - '--image'
      - 'us-docker.pkg.dev/cloudrun/container/hello'
      - '--region'
      - 'us-central1'
      - '--platform'
      - 'managed'
      - '--allow-unauthenticated'
  4. 次のコマンドを実行して、イメージをデプロイします。

    gcloud builds submit --config cloudbuild.yaml
    

ビルドが完了すると、次のような出力が表示されます。

DONE
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

ID                                    CREATE_TIME                DURATION  SOURCE                                                                                            IMAGES  STATUS
784653b2-f00e-4c4b-9f5f-96a5f115bef4  2020-01-23T14:53:13+00:00  23S       gs://cloudrunqs-project_cloudbuild/source/1579791193.217726-ea20e1c787fb4784b19fb1273d032df2.tgz  -       SUCCESS

これで、イメージ hello が Cloud Run にデプロイされました。

デプロイされたイメージを実行する

  1. Cloud Console で [Cloud Run] ページを開きます。

    [Cloud Run] ページを開く

  2. プロジェクトを選択し、[開く] をクリックします。

    [Cloud Run Services] ページが表示されます。

  3. テーブルで、cloudrunserviceという名前の行を見つけて、[cloudrunservice] をクリックします。

    cloudrunservice の [サービスの詳細] ページが表示されます。

  4. cloudrunservice にデプロイしたイメージを実行するには、次の URL をクリックします。

    Cloud Run の [サービスの詳細] ページのスクリーンショット

次のステップ