共有 VPC の構成

このページでは、Cloud Composer の共通 VPC ネットワークとホスト プロジェクトの要件について説明します。

共通 VPCにより、組織はプロジェクト レベルで予算とアクセス制御の境界を確立する一方、その境界を越えてプライベート IP を使用する安全で効率的な通信を実現できます。共有 VPC 構成では、Cloud Composer は、公共のインターネットにサービスを公開することなく、同じ組織内の他の Google Cloud プロジェクトでホストされているサービスを呼び出すことができます。

重要なお知らせ

  • 共有 VPC を使用するには、ネットワークとサブネットワークが属するホスト プロジェクトとホスト プロジェクトに関連付けられたサービス プロジェクトを指定する必要があります。 Cloud Composer が共有 VPC に参加すると、Cloud Composer 環境はサービス プロジェクトに含められます。
  • 共有 VPC を設定するには、ホスト プロジェクトで次の IP 範囲を選択します。
    • Cloud Composer がコンピューティング レイヤとして使用する GKE ノードで使用されるサブネットのプライマリ IP 範囲
    • GKE Service のセカンダリ IP 範囲
    • GKE Pod のセカンダリ IP 範囲
  • セカンダリ IP 範囲はこの VPC の他のセカンダリ範囲と重複することはできません。
  • セカンダリ範囲がクラスタのサイズに対応し、予想される増大に対して十分な大きさであることを確認します。たとえば、3 ノードの Cloud Composer 環境のセカンダリ範囲のネットワーク プレフィックスは、次の値を超えないように指定します。

    • Pod: /22
    • Service: /27

    Pod のセカンダリ範囲サービスの構成に関するガイドラインについては、VPC ネイティブ クラスタの作成をご覧ください。

  • サブネットのプライマリ アドレス範囲は、予想される増加と予約済み IP アドレスのアカウントに対応する必要があります。 前述の 3 ノード環境の例の場合、サブネットのプライマリ アドレス範囲のネットワーク プレフィックスを /29 以下にする必要があります。

準備

  1. 次のプロジェクト ID とプロジェクト番号を確認します
    • ホスト プロジェクト: 共有 VPC ネットワークを含むプロジェクト。
    • サービス プロジェクト: Cloud Composer 環境を含むプロジェクト。
  2. 組織を準備します
  3. ホスト プロジェクトとサービス プロジェクトで GKE API を有効にします

ホスト プロジェクトの構成

  1. 次のいずれかのオプションを選択して、ネットワーク リソースを割り当てて構成します。 オプションごとに、Pod と Service のセカンダリ IP 範囲を指定する必要があります。

  2. 共有 VPC を設定し、Cloud Composer 環境をホストするために使用するサービス プロジェクトを接続します。共有 VPC がすでに存在する場合は、サービス プロジェクトの接続の手順に直接進みます。プロジェクトを接続する際は、デフォルトの VPC ネットワーク権限をそのままにします。

  3. Google API サービス アカウント(SERVICE_PROJECT_NUMBER@cloudservices.gserviceaccount.com)に、プロジェクト レベルで compute.networkUser ロールを付与します。これは、共有 VPC で使用されるマネージド インスタンス グループに対する要件です。GKE が使用し、インスタンスの作成などのタスクは、このタイプのサービス アカウントによって行われます。

  4. ホスト プロジェクトで、GKE サービス アカウント(service-SERVICE_PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com)に compute.networkUser ロールを付与します。これを行うには、VPC ネットワーク リストに移動し、ターゲット ネットワークを選択します。サービス アカウントが Cloud Composer で必要な VPC ピアリング割り当てを設定できるようにするには、ネットワーク レベルでこの権限を付与する必要があります。

  5. サービス プロジェクトの GKE サービス アカウントに Host Service Agent User ロールを付与します。これにより、サービス プロジェクトの GKE サービス アカウントは、ホスト プロジェクトの GKE サービス アカウントを使用して共有ネットワーク リソースを構成できるようになります。

  6. これが現在のプロジェクト内の最初の Cloud Composer 環境である場合は、最初に Composer エージェント サービス アカウント(gcloud beta services identity create --service=composer.googleapis.com)をプロビジョニングする必要があります。

  7. Composer エージェントのサービス アカウント(service-SERVICE_PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com)に、プライベート IP 環境の場合は Composer 共有 VPC エージェントのロールを、パブリック IP Composer 環境の場合は Compute ネットワーク ユーザーのロールを付与します。

これで、ホスト プロジェクトの共有 VPC ネットワークの構成が完了しました。

次のステップ

Cloud SDK を使用して、Cloud Composer 環境を作成し、ホスト プロジェクトのネットワークとサブネットワークを構成パラメータとして指定します。