ワーカープールの環境変数を構成する

このページでは、Cloud Run ワーカープールの環境変数を構成する方法について説明します。

構成を変更すると、新しいリビジョンが作成されます。明示的に更新しない限り、以降のリビジョンでも、この構成が自動的に設定されます。

必要なロール

Cloud Run のワーカープールの構成とデプロイに必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。

Cloud Run に関連付けられている IAM ロールと権限のリストについては、Cloud Run IAM ロールと Cloud Run IAM 権限をご覧ください。Cloud Run ワーカープールがGoogle Cloud API(Cloud クライアント ライブラリなど)と連携している場合は、サービス ID の構成ガイドをご覧ください。ロールの付与の詳細については、デプロイ権限とアクセスの管理をご覧ください。

環境変数を設定する

Cloud Run ワーカープールの環境変数を設定するには、Google Cloud コンソール、Google Cloud CLI、YAML、または Terraform を使用します。

コンソール

  1. Google Cloud コンソールで Cloud Run に移動します。

    Cloud Run に移動

  2. メニューから [ワーカープール] を選択し、[コンテナをデプロイ] をクリックして新しいワーカープールを構成します。既存のワーカープールを構成する場合は、ワーカープールをクリックし、[新しいリビジョンの編集とデプロイ] をクリックします。

  3. 新しいワーカープールを構成する場合は、最初のワーカープール ページに入力してから、[コンテナ、ボリューム、ネットワーキング、セキュリティ] をクリックしてワーカープール構成ページを開きます。

  4. [コンテナ] タブをクリックします。

    画像

    • [変数とシークレット] タブで、[変数を追加] をクリックして新しい環境変数を追加し、[名前] フィールドと [値] フィールドで変数名と値を指定します。複数の環境変数を設定する方法や特殊文字をエスケープする方法については、複数の環境変数を設定するをご覧ください。
  5. [作成] または [デプロイ] をクリックします。

gcloud

ワーカープールをデプロイするときに環境変数を指定するには、--set-env-vars フラグを使用します。

gcloud beta run worker-pools deploy WORKER_POOL --image IMAGE_URL --set-env-vars KEY1=VALUE1,KEY2=VALUE2

次のように置き換えます。

  • WORKER_POOL: ワーカープールの名前
  • KEY1=VALUE1,KEY2=VALUE2: 変数名と値のカンマ区切りのリスト
  • IMAGE_URL: ワーカープールを含むコンテナ イメージへの参照(us-docker.pkg.dev/cloudrun/container/worker-pool:latest など)

複数の環境変数を設定する方法や特殊文字をエスケープする方法については、複数の環境変数を設定するをご覧ください。

YAML

  1. 新しいワーカープールを作成する場合は、この手順をスキップします。既存のワーカープールを更新する場合は、その YAML 構成をダウンロードします。

    gcloud beta run worker-pools describe WORKER_POOL --format export > workerpool.yaml
  2. 次の例には、YAML 構成が含まれています。

    apiVersion: run.googleapis.com/v1
    kind: WorkerPool
    metadata:
      name: WORKER_POOL
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      template:
        spec:
          containers:
          - name:
            image: IMAGE_URL
            env:
            - name: NAME
              value: VALUE
            - name: NAME2
              value: VALUE2

    次のように置き換えます。

    • WORKER_POOL: Cloud Run ワーカープールの名前
    • IMAGE_URL: ワーカープールを含むコンテナ イメージへの参照(us-docker.pkg.dev/cloudrun/container/worker-pool:latest など)
    • NAME、VALUE: 環境変数の名前と値。
  3. 次のコマンドを使用して、ワーカープールを作成または更新します。

    gcloud beta run worker-pools replace workerpool.yaml

Terraform

Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。

resource "google_cloud_run_v2_worker_pool" "default" {
  name     = "WORKER_POOL"
  location = "REGION"
  launch_stage = "BETA"

  template {
    containers {
      image = "IMAGE_URL"
      env {
        name  = "KEY1"
        value = "VALUE1"
      }
      env {
        name  = "KEY2"
        value = "VALUE2"
      }
    }
  }
}

次のように置き換えます。

  • WORKER_POOL: ワーカープールの名前。
  • REGION: Google Cloud リージョン(例: europe-west1)。
  • IMAGE_URL: ワーカープールを含むコンテナ イメージへの参照(us-docker.pkg.dev/cloudrun/container/worker-pool:latest など)。
  • KEY1、VALUE1: 環境変数と値。必要に応じて、変数と値は追加できます。

コンテナでデフォルトの環境変数を設定する

環境変数のデフォルト値を設定するには、Dockerfile で ENV ステートメントを使用します。

ENV KEY1=VALUE1,KEY2=VALUE2

変数の優先順位: コンテナとワーカープール

コンテナ内でデフォルト環境変数を設定し、Cloud Run ワーカープールで同じ名前の環境変数を設定すると、ワーカープールに設定された値が優先されます。

複数の環境変数を設定する

.env ファイルまたは --set-env-vars フラグを使用して、複数の環境変数を設定できます。

.env ファイルを使用して複数の環境変数を設定する

コンソール

  1. Google Cloud コンソールで Cloud Run に移動します。

    Cloud Run に移動

  2. メニューから [ワーカープール] を選択し、[コンテナをデプロイ] をクリックして新しいワーカープールを構成します。既存のワーカープールを構成する場合は、ワーカープールをクリックし、[新しいリビジョンの編集とデプロイ] をクリックします。

  3. 新しいワーカープールを構成する場合は、最初のワーカープール ページに入力してから、[コンテナ、ボリューム、ネットワーキング、セキュリティ] をクリックしてワーカープール構成ページを開きます。

  4. [コンテナ] タブをクリックします。

    画像

    • [変数とシークレット] タブで、[変数を追加] をクリックし、.env ファイルの内容を [名前] フィールドに貼り付けます。[値] フィールドにデータが自動的に入力され、.env ファイルで定義した Key-Value ペアごとに新しい変数が作成されます。
  5. [作成] または [デプロイ] をクリックします。

gcloud

.env ファイルから複数の環境変数を指定するには、次のコマンドを実行します。

gcloud beta run worker-pools deploy WORKER_POOL --image IMAGE_URL --env-vars-file=ENV_FILE_PATH

次のように置き換えます。

  • WORKER_POOL: ワーカープールの名前。
  • IMAGE_URL: ワーカープールを含むコンテナ イメージへの参照(us-docker.pkg.dev/cloudrun/container/worker-pool:latest など)。
  • ENV_FILE_PATH: .env ファイルのパス。

--set-env-vars フラグを使用して複数の環境変数を設定する

複数の環境変数を KEY1=VALUE1,KEY2=VALUE2 の形式でリストできない場合は、--set-env-vars フラグを複数回繰り返すことができます。
   [...]
   --set-env-vars "KEY1=VALUE1" \
   --set-env-vars "KEY2=VALUE2" \
   --set-env-vars "KEY3=VALUE3"

カンマをエスケープする

カンマ記号(,)は環境変数の分割に使用されるため、環境変数の値にカンマ記号が含まれる場合は、次のように別の区切り文字(@ など)を指定してカンマをエスケープする必要があります。
--set-env-vars "^@^KEY1=value1,value2,value3@KEY2=..."

環境変数を更新する

既存のワーカープールのランタイム環境変数を更新できます。これは、ランタイム環境変数を削除せずに変更や追加を行う、非破壊的な方法です。

環境変数を更新するには、 Google Cloud コンソール、Google Cloud CLI、YAML、または Terraform を使用します。

コンソール

  1. Google Cloud コンソールで Cloud Run に移動します。

    Cloud Run に移動

  2. メニューから [ワーカープール] を選択し、更新するワーカープールをクリックして、[新しいリビジョンの編集とデプロイ] をクリックします。

  3. [コンテナ、ボリューム、ネットワーキング、セキュリティ] をクリックして、ワーカープール構成ページを開きます。

  4. [変数とシークレット] タブをクリックします。

    画像

  5. 更新する環境変数を見つけて、[名前] フィールドと [値] フィールドで別の変数名または値を指定します。

  6. [デプロイ] をクリックします。

gcloud

既存のワーカープールの環境変数を更新するには、--update-env-vars フラグを使用します。

gcloud beta run worker-pools update WORKER_POOL --update-env-vars KEY1=VALUE1,KEY2=VALUE2

次のように置き換えます。

  • WORKER_POOL: ワーカープールの名前
  • KEY1=VALUE1,KEY2=VALUE2: 変数名と値のカンマ区切りのリスト

YAML

  1. ワーカープールの YAML 構成をダウンロードします。

    gcloud beta run worker-pools describe WORKER_POOL --format export > workerpool.yaml
  2. 名前変数と値変数を編集します。

  3. 次のコマンドを使用してワーカープールを更新します。

    gcloud beta run worker-pools replace workerpool.yaml

Terraform

既存のワーカープールの環境変数を更新するには、ワーカープールに対応する main.tf ファイルを開き、名前と値の変数を編集します。次に、コマンドを実行して Terraform 構成を適用します。

Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。

環境変数を削除する

コンソール

  1. Google Cloud コンソールで Cloud Run に移動します。

    Cloud Run に移動

  2. メニューから [ワーカープール] を選択し、更新するワーカープールをクリックして、[新しいリビジョンの編集とデプロイ] をクリックします。

  3. [コンテナ、ボリューム、ネットワーキング、セキュリティ] をクリックして、ワーカープール構成ページを開きます。

  4. [変数とシークレット] タブをクリックします。

    画像

  5. 削除する環境変数を見つけ、[値] フィールドの右側にあるゴミ箱アイコンをクリックすることによって削除します。

  6. [デプロイ] をクリックします。

gcloud

既存のワーカープールから環境変数を個別に削除するには、--remove-env-vars フラグを使用します。

gcloud beta run worker-pools update WORKER_POOL --remove-env-vars KEY1,KEY2

次のように置き換えます。

  • WORKER_POOL: ワーカープールの名前
  • KEY1,KEY2: 変数名のカンマ区切りリスト

または、--clear-env-vars フラグを使用して、以前に設定したすべての環境変数をクリアします。

gcloud beta run worker-pools update WORKER_POOL --clear-env-vars

WORKER_POOL は、ワーカープールの名前に置き換えます。

ワーカープールの環境変数構成を確認する

  1. Google Cloud コンソールで Cloud Run に移動します。

    [Cloud Run] に移動

  2. [ワーカープール] をクリックして、デプロイされたワーカープールのリストを確認します。

  3. 調べるワーカープールをクリックして、詳細ウィンドウを表示します。

  4. [コンテナ] タブをクリックして、ワーカープールのコンテナ構成を確認します。

サンプルコード

コード内で環境変数にアクセスする方法を示すコードサンプルについては、エンドユーザー認証チュートリアルの Secret Manager で機密性の高い構成を処理するをご覧ください。

次のステップ

Buildpack 構成を設定するには、環境変数を使用します。言語固有の詳細については、次の Buildpack に関するドキュメントをご覧ください。