Cloud Run インスタンスの再起動ポリシーは、インスタンスを再起動するかどうかと、再起動するタイミングを決定します。
再起動ポリシーのオプション
次の再起動ポリシーから選択します。
on-failure(デフォルト): ゼロ以外のステータス コードで終了したコンテナがある場合、またはコンテナでインフラストラクチャ障害が発生した場合、インスタンスが再起動します。マルチコンテナ インスタンスの場合、コンテナの障害が発生すると、インスタンス全体が再起動されます。always: コンテナが終了すると、インスタンスは常に再起動します。これには、コード0でのクリーンな終了も含まれます。never: インスタンスは再起動しません。コンテナが終了すると、インスタンスは直ちにSTOPPED状態またはFAILED状態に移行します。
インスタンスの always または on-failure 再起動ポリシーを構成すると、インスタンスは約 7 日間のライフサイクルの終了時に自動的に再起動するため、他の方法で中断されない限り無期限に実行されます。
必要なロール
Cloud Run インスタンスの構成とデプロイに必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。
- Cloud Run インスタンスに対する Cloud Run デベロッパー (
roles/run.developer) - サービス ID に対するサービス アカウント ユーザー(
roles/iam.serviceAccountUser)ロール
Cloud Run に関連付けられている IAM ロールと権限のリストについては、Cloud Run IAM ロールと Cloud Run IAM 権限をご覧ください。Cloud Run インスタンスがGoogle Cloud API(Cloud クライアント ライブラリなど)と連携している場合は、サービス ID の構成ガイドをご覧ください。ロールの付与の詳細については、デプロイ権限とアクセスの管理をご覧ください。
再起動ポリシーを構成する
Google Cloud CLI または YAML を使用して、Cloud Run インスタンスの再起動ポリシーを構成します。
gcloud
新しいインスタンスをデプロイするときに再起動ポリシーを指定するには:
gcloud beta run instances deploy INSTANCE \ --image=IMAGE_URL \ --restart-policy=POLICY
既存のインスタンスの再起動ポリシーを更新するには:
gcloud beta run instances update INSTANCE \ --restart-policy=POLICY
次のように置き換えます。
INSTANCE: インスタンスの名前。IMAGE_URL: コンテナ イメージへの参照(us-docker.pkg.dev/cloudrun/container/hello:latestなど)。POLICY: 適用する再起動ポリシー。on-failure、always、neverから選択します。
YAML
新しいインスタンスを作成する場合は、この手順をスキップします。既存のインスタンスを更新する場合は、その YAML 構成をダウンロードします。
gcloud beta run instances describe INSTANCE --format export > instance.yaml
次の例には、YAML 構成が含まれています。
apiVersion: run.googleapis.com/v1 kind: Instance metadata: name: INSTANCE annotations: run.googleapis.com/launch-stage: BETA spec: containers: - name: CONTAINER_NAME image: IMAGE_URL restartPolicy: POLICY
次のように置き換えます。
INSTANCE: Cloud Run インスタンスの名前。CONTAINER_NAME: コンテナの名前。IMAGE_URL: コンテナ イメージへの参照(us-docker.pkg.dev/cloudrun/container/hello:latestなど)。POLICY: 適用する再起動ポリシー。on-failure、always、neverから選択します。
次のコマンドを使用して、インスタンスを作成または更新します。
gcloud beta run instances replace instance.yaml