プライベート IP Cloud Composer 環境の構成

このページでは、プライベート IP Cloud Composer 環境を構成するための情報を提供します。

プライベート IP を有効にすると、環境内のマネージド Google Kubernetes Engine と Cloud SQL VM にプライベート IP(RFC 1918)アドレスのみが割り当てられます。

環境内のリソースへの接続については、プライベート IP をご覧ください。

始める前に

アクセス制御

ネットワークの要件

プロジェクトの VPC ネットワークが次の要件を満たしていることを確認してください。

  • プライベート IP ブロックの競合がないことを確認してください。Google 管理のテナント プロジェクトで、VPC ネットワークとその確立された VPC ピアに、VPC ネットワークと重複する IP ブロックが存在する場合、Cloud Composer で環境の作成ができなくなります。
  • Cloud Composer GKE ポッドとサービスに対して十分なセカンダリ IP 範囲が設定されていることを確認してください。GKE では IP エイリアス設定の際にセカンダリ IP 範囲が検索されます。GKE で範囲が見つからなかった場合、Cloud Composer で環境の作成ができなくなります。
  • プライベート IP Cloud Composer 環境の VPC ネットワークで、既存のサブネットとセカンダリ範囲が IP 範囲 172.31.255.0/24 を使用していないことを確認してください。プライベート IP Cloud Composer 環境では、ネットワーク ピアリングにこの IP 範囲が使用されます。IP に競合があると、環境の作成に失敗する可能性があります。
  • VPC ネットワークの VPC ピアリング接続の数が 25 を超えないようにしてください。次の点を考慮してください。
    • プライベート IP Cloud Composer 環境ごとに、Cloud Composer によりテナント プロジェクト ネットワークに対して 1 つのピアリング接続が作成されます。
    • 限定公開 GKE クラスタによって、VPC ネットワーク内に別の VPC ピアリング接続が作成されます。
    • Cloud Composer がサポートできるプライベート IP Cloud Composer 環境の最大数は 12 です。
    • 作成できるプライベート IP Cloud Composer 環境の最大数は、VPC ネットワークで使用している VPC ピアリング接続の数によって異なります。
  • サブネットワーク内のセカンダリ範囲の数が 5 を超えないようにしてください。次の点を考慮してください。
    • プライベート IP Cloud Composer 環境用の GKE クラスタは、サブネットワーク内に 2 つのセカンダリ範囲を作成します。同じ VPC ネットワークの同じリージョンに複数のサブネットワークを作成できます。
    • サポート対象のセカンダリ範囲の最大数は 5 です。各プライベート IP Cloud Composer 環境は Cloud Composer GKE ポッドとサービス用に 2 つのセカンダリ範囲を必要とするため、各サブネットワークは最大 2 つのプライベート IP Cloud Composer 環境をサポートします。

VPC ネイティブ構成の API サポート

GCP Console または Cloud SDK でプライベート IP を有効にすると、VPC ネイティブがデフォルトで有効になります。

現在、次のネットワーク構成に対して、v1beta1 REST API または RPC API を使用する必要があります。

  • プライベート IP を有効にし、VPC ネイティブを有効にする。
  • IP エイリアス設定のセカンダリ範囲を構成し、master-ipv4-cidr-block を指定する。

    例:

    curl --request POST -H "Authorization: Bearer $TOKEN" \
       -H "Content-Type: application/json" \
       https://composer.googleapis.com/v1beta1/projects/test-project/locations/asia-northeast1/environments \
       --data '{"config": {"nodeConfig": {"diskSizeGb": 100, "ipAllocationPolicy": {"useIpAliases": true, clusterIpv4CidrBlock: "10.180.0.0/20", servicesIpv4CidrBlock: "10.182.0.0/20"}, "network": "projects/test-project/global/networks/default",
       "subnetwork": "projects/test-project/regions/asia-northeast1/subnetworks/default"},"softwareConfig": {"imageVersion": "composer-1.6.0-airflow-1.10.1"}}, "name": "projects/test-project/locations/asia-northeast1/environments/vpcnative"}'
    

プライベート IP Cloud Composer 環境の有効化

Console

  1. Google Cloud Platform Console の [環境の作成] ページを開きます。

    [環境の作成] ページを開く

  2. 環境を構成します
  3. [プライベート IP 環境] をオンにして、プライベート IP Cloud Composer 環境を有効にします。
  4. [外部 IP アドレスを使用して GKE マスターにアクセスする] をオンにして、環境で GKE クラスタのパブリック エンドポイントを有効にします。

    クラスタは、パブリック エンドポイント アクセスが無効に構成されます。

  5. [GKE マスター IP 範囲] で、マスターの VPC 用のプライベート RFC 1918 範囲を入力します。
  6. 環境の構成が終了したら、[作成] をクリックします。

gcloud

必要に応じて、プライベート IP Cloud Composer 環境に次の引数を含めて、環境を構成します。

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION --enable-private-environment \
    OTHER_ARGUMENTS

次のパラメータは必須です(省略可能な場合を除く)。

  • ENVIRONMENT_NAME は、環境の名前です。パターン ^[a-z](?:[-0-9a-z]{0,62}[0-9a-z])? と一致している必要があります。$
  • LOCATION は、環境が配置される Compute Engine のリージョンです。
  • --enable-private-environment を指定すると、プライベート IP Cloud Composer 環境が有効になります。
  • master-ipv4-cidr を指定すると、マスターの VPC 用のプライベート RFC 1918 範囲を設定できます。
  • (省略可)enable-private-endpoint を指定すると、環境内の GKE クラスタに対してパブリック エンドポイントが有効になります。またクラスタで、パブリック エンドポイント アクセスが無効になります。

次の例では、beta 環境ラベルが指定された n1-standard-2 マシンタイプを使用する us-central1 リージョンで、サポート対象 Cloud Composer イメージの最新バージョンを実行する環境を作成します。

この環境ではプライベート IP が有効になり、192.0.2.0/28 が GKE マスターの VPC の IP 範囲になります。

gcloud beta composer environments create test-environment \
    --location us-central1 \
    --zone us-central1-f \
    --machine-type n1-standard-2 \
    --image-version composer-latest-airflow-x.y.z \
    --labels env=beta  \
    --enable-private-environment \
    --enable-private-endpoint \
    --master-ipv4-cidr 192.0.2.0/28 

API

Cloud Composer REST API を使用して新しい Cloud Composer 環境を作成するには、environments.create API リクエストを作成し、Environment リソースに構成情報を入力します。

例:

POST https://composer.googleapis.com/v1beta1/projects/test-project/locations/us-central1/environments
      {
  "config": {
    "nodeConfig": {
      "diskSizeGb": 100,
      "ipAllocationPolicy": {
        "useIpAliases": true
      },
      "network": "projects/test-project/global/networks/default",
      "subnetwork": "projects/test-project/regions/us-central1/subnetworks/default"
    },
    "softwareConfig": {
      "imageVersion": "composer-1.5.2-airflow-1.10.1"
    }
  },
  "name": "projects/test-project/locations/us-central1/environments/vpcnative-test"
}

セカンダリ範囲の構成

現在、セカンダリ範囲と IPv4 CIDR ブロックを構成するには、Cloud Composer API を使用する必要があります。

Cloud Composer REST API を使用して新しい Cloud Composer 環境を作成するには、environments.create API リクエストを作成し、Environment リソースに構成情報を入力します。

例:

POST https://composer.googleapis.com/v1beta1/projects/test-project/locations/us-central1/environments
      {
  "config": {
    "nodeConfig": {
      "diskSizeGb": 100,
      "ipAllocationPolicy": {
        "useIpAliases": true,
        "clusterIpv4CidrBlock": "10.180.0.0/20",
        "servicesIpv4CidrBlock": "10.182.0.0/20"
      },
      "network": "projects/test-project/global/networks/default",
      "subnetwork": "projects/test-project/regions/us-central1/subnetworks/default"
    },
    "softwareConfig": {
      "imageVersion": "composer-1.5.2-airflow-1.10.1"
    }
  },
  "name": "projects/test-project/locations/us-central1/environments/vpcnative-test"
}
このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...