環境作成のトラブルシューティング

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

このページでは、Cloud Composer 環境の作成中に発生する可能性のある問題のトラブルシューティングについて説明します。

環境の更新とアップグレードに関するトラブルシューティングの情報については、環境の更新とアップグレードのトラブルシューティングをご覧ください。

Cloud Composer 環境が作成される際、ほとんどの問題が以下の理由で発生します。

  • サービス アカウントの権限の問題

  • ファイアウォール、DNS、ルーティング情報の誤り

  • ネットワーク関連の問題。例: 無効な VPC 構成、IP アドレスの競合、ネットワーク IP 範囲が狭すぎる

  • 割り当てに関する問題。

  • 互換性のない組織のポリシー

環境を作成するための十分な権限がありません

アカウントに十分な権限がないために Cloud Composer で環境を作成できない場合は、次のエラー メッセージが出力されます。

ERROR: (gcloud.composer.environments.create) PERMISSION_DENIED: The caller
does not have permission

または

ERROR: (gcloud.composer.environments.create) PERMISSION_DENIED: User not
authorized to act as service account <service-account-name>.
The user must be granted iam.serviceAccounts.actAs permission, included in
Owner, Editor, Service Account User role. See https://cloud.google.com/iam/docs
/understanding-service-accounts for additional details.

解決策: アクセス制御での説明に沿って、アカウントと環境のサービス アカウントの両方にロールを割り当てます。

  • Cloud Composer 2 で、Cloud Composer サービス エージェント サービス アカウント(service-PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com)に Cloud Composer v2 API サービス エージェント拡張機能のロールが割り当てられていることを確認します。

  • Google API サービス エージェントPROJECT_NUMBER@cloudservices.gserviceaccount.com)に編集者のロールが割り当てられていることを確認します。

  • 共有 VPC 構成で、共有 VPC の構成手順に従います。

環境のサービス アカウントに十分な権限がありません

Cloud Composer 環境を作成するときに、その環境の GKE ノードを実行するサービス アカウントを指定します。このサービス アカウントに、リクエストされたオペレーションに対する十分な権限がない場合、Cloud Composer は次のエラーを出力します。

Errors in: [Web server]; Error messages:
  Creation of airflow web server version failed. This may be an intermittent
  issue of the App Engine service. You may retry the operation later.
{"ResourceType":"appengine.v1.version","ResourceErrorCode":"504","ResourceError
Message":"Your deployment has failed to become healthy in the allotted time
and therefore was rolled back. If you believe this was an error, try adjusting
the 'app_start_timeout_sec' setting in the 'readiness_check' section."}

解決策: アクセス制御での説明に沿って、アカウントと環境のサービス アカウントの両方にロールを割り当てます。

サービス アカウントでの IAM ロールの不足に関する警告

環境の作成に失敗すると、Cloud Composer は、エラー発生後に The issue may be caused by missing IAM roles in the following Service Accounts ... という警告メッセージを生成します。

この警告メッセージは、エラーの原因として考えられるものを強調するものです。Cloud Composer は、プロジェクトのサービス アカウントに必要なロールを確認し、これらのロールが存在しない場合は、この警告メッセージを生成します。

解決策: 警告メッセージに記載されているサービス アカウントに必要なロールがあることを確認します。Cloud Composer のロールと権限の詳細については、アクセス制御をご覧ください。

場合によっては、この警告を無視できます。Cloud Composer は、ロールに割り当てられた個々の権限を確認しません。たとえば、カスタム IAM ロールを使用している場合、警告メッセージに記載されているサービス アカウントに必要なすべての権限がすでに存在する可能性があります。その場合は、この警告を無視してください。

互換性のない組織のポリシー

Cloud Composer 環境を正常に作成するには、次のポリシーを適切に構成する必要があります。

組織ポリシー Cloud Composer 3 Cloud Composer 2 Cloud Composer 1
compute.disableSerialPortLogging (任意の値が許可されます) 無効にする必要があります 1.13.0 より前のバージョンでは無効、それ以外の場合は任意の値
compute.requireOsLogin (任意の値が許可されます) (任意の値が許可されます) 無効にする必要があります
compute.vmCanIpForward (任意の値が許可されます) (任意の値が許可されます) VPC ネイティブ モード(エイリアス IP を使用)が構成されていない場合に許可(Cloud Composer 所有の GKE クラスタに必要)する必要があります
compute.vmExternalIpAccess (任意の値が許可されます) パブリック IP 環境に対して許可する必要があります パブリック IP 環境に対して許可する必要があります
compute.restrictVpcPeering 適用可能 適用不可 適用不可
compute.disablePrivateServiceConnectCreationForConsumers (任意の値が許可されます) プライベート IP 環境とパブリック IP 環境での SERVICE_PRODUCERS を無効にすることはできません。既存の環境には影響しません。このポリシーが有効になっている場合は、既存の環境が動作します。 プライベート IP 環境での SERVICE_PRODUCERS を無効にすることはできません。既存の環境には影響しません。このポリシーが有効になっている場合は、既存の環境が動作します。
compute.restrictPrivateServiceConnectProducer アクティブの場合、google.com 組織を許可リストに登録します アクティブの場合、google.com 組織を許可リストに登録します (任意の値が許可されます)

詳細については、既知の問題ページと組織のポリシーの制約をご覧ください。

組織またはプロジェクト内で使用するサービスの制限

組織管理者またはプロジェクト管理者は、gcp.restrictServiceUsage 組織のポリシーの制約を使用して、プロジェクトで使用できる Google サービスを制限できます。

この組織のポリシーを使用する場合は、Cloud Composer で必要なすべてのサービスを許可することが重要です。

次のステップ