環境のネットワーキング タイプ(プライベートまたはパブリック IP)を変更する。

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

このページでは、Cloud Composer 3 のプライベート IP 環境のネットワーキング タイプとパブリック IP 環境のネットワーキング タイプの違いについて説明し、環境のネットワーキング タイプを切り替える手順を示します。

PyPI パッケージのインストール時にのみインターネット アクセスを無効または有効にする場合は、PyPI パッケージのインストール時にインターネット アクセスを構成するをご覧ください。

環境から VPC ネットワークへのアクセスを有効にする場合は、環境を VPC ネットワークに接続するをご覧ください。

環境ネットワーキング タイプについて

Cloud Composer 3 では、次の 2 つの環境ネットワーキング タイプが使用されます。

  • パブリック IP ネットワーキング:

    • 環境の Airflow コンポーネントはインターネットにアクセスできます。これはデフォルトのネットワーク タイプです。

    • パブリック IP 環境の Airflow コンポーネントは、自動的に割り振られたパブリック IP アドレスとポートからアウトバウンド接続を確立します。パブリック IP 環境で事前定義された IP アドレスとポートを使用する場合は、環境に VPC ネットワークを接続し、プライベート IP に切り替えることでこれを行えます。この場合、Cloud Composer は Google サービスへのトラフィックを除くすべてのトラフィックをこのネットワーク経由で転送します。

  • プライベート IP ネットワーキング

    • プライベート IP ネットワークは、パブリック IP ネットワークよりも安全なオプションです。

    • 環境の Airflow コンポーネントはインターネットにアクセスできません。VPC ネットワークに接続されている環境の場合、ネットワーク構成によってインターネット アクセスが制御されます。

    • プライベート IP 環境では、private.googleapis.com 範囲を介したプライベート Google アクセスを構成します。これにより、この範囲でサポートされている Google API、サービス、ドメインにアクセスできるようになります。

      詳細と、private.googleapis.com で使用可能なサービスとドメインの一覧については、Virtual Private Cloud ドキュメントのネットワーク構成をご覧ください。

    • VPC Service Controls を使用したプライベート IP 環境では、restricted.googleapis.com 範囲を介したプライベート Google アクセスを構成します。この範囲でサポートされている Google API、サービス、ドメインにアクセスできるようになります。

      詳細と、restricted.googleapis.com で使用可能なサービスとドメインの一覧については、Virtual Private Cloud ドキュメントのネットワーク構成をご覧ください。

    • プライベート IP 環境がカスタム VPC ネットワークに接続されている場合、限定公開の Google アクセスを介してプライベート IP 環境で使用できる Google API、サービス、ドメインへのトラフィックを除き、すべての内部トラフィックが VPC ネットワークに転送されます。

Cloud Composer 2 ネットワーキングと Cloud Composer 3 ネットワーキングの比較

Cloud Composer 3 では、プライベート IP 環境の構成は必要ありません。

次の Cloud Composer 2 ネットワーキング機能は、Cloud Composer 3 で無効になりました。

Cloud Composer 3 では、次の DNS 構成はサポートされていません。

  • Cloud Composer 3 は、ユーザー定義の .internal DNS ゾーンをサポートしていません。.internal の DNS ゾーンを作成しても、そのゾーンにアクセスすることはできません。

環境のネットワーキング タイプを変更する

コンソール

  1. Google Cloud コンソールで、[環境] ページに移動します。

    [環境] に移動

  2. 環境のリストで、ご利用の環境の名前をクリックします。[環境の詳細] ページが開きます。

  3. [環境の設定] タブに移動します。

  4. [ネットワーク構成] セクションで、[ネットワーキング タイプ] の項目を探して [編集] をクリックします。

  5. [ネットワーキング タイプ] ダイアログで、次の項目を選択します。

    • パブリック IP ネットワーキングの [パブリック IP 環境(デフォルト)]。
    • プライベート IP ネットワーキングの [プライベート IP 環境]。
  6. [保存] をクリックします。

gcloud

環境のネットワーキング タイプを変更するには、次の Google Cloud CLI 引数を使用します。

  • --enable-private-environment: プライベート IP ネットワーキングに変更します。
  • --disable-private-environment: パブリック IP ネットワーキングに変更します(デフォルト)。

プライベート IP ネットワーキングに変更します。

gcloud beta composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --enable-private-environment

パブリック IP ネットワーキングに変更します。

gcloud beta composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --disable-private-environment

以下を置き換えます。

  • ENVIRONMENT_NAME: 環境の名前。
  • LOCATION: 環境が配置されているリージョン。

例(プライベート IP):

gcloud beta composer environments update example-environment \
  --location us-central1 \
  --enable-private-environment

例(パブリック IP):

gcloud beta composer environments update example-environment \
  --location us-central1 \
  --disable-private-environment

API

  1. environments.patch API リクエストを作成します。

  2. このリクエストで次のように操作します。

    1. updateMask パラメータで、config.private_environment_config.enable_private_environment マスクを指定します。

    2. リクエスト本文の enablePrivateEnvironment フィールドに、次を指定します。

      • プライベート IP ネットワーキングに変更するには、true を指定します。
      • パブリック IP ネットワーキングに変更するには、false を指定します(デフォルト)。

例(プライベート IP):

// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.private_environment_config.enable_private_environment

"config": {
  "privateEnvironmentConfig": {
    "enablePrivateEnvironment": true
  }
}

Terraform

config ブロックの enable_private_environment フィールドは、環境のネットワーキング タイプを指定します。

  • true: プライベート IP ネットワーキング。
  • false または省略: パブリック IP ネットワーキング(デフォルト)。
resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    enable_private_environment = PRIVATE_IP_STATUS

  }
}

以下を置き換えます。

  • ENVIRONMENT_NAME: 環境の名前。
  • LOCATION: 環境が配置されているリージョン。
  • PRIVATE_IP_STATUS: プライベート IP の場合は true、パブリック IP の場合は false

例(プライベート IP):

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    enable_private_environment = true

    ... other configuration parameters
  }
}

プロキシ サーバーの変数を構成する

環境内で http_proxyhttps_proxy環境変数を設定できます。これらの標準 Linux 変数は、環境のクラスタのコンテナで実行されるウェブ クライアントによって使用され、指定されたプロキシを介してトラフィックをルーティングします。

NO_PROXY 変数は、デフォルトで Google ドメインと localhost のリストに設定されているため、プロキシ .google.com,.googleapis.com,metadata.google.internal,localhost から除外されます。この構成により、プロキシが Google サービスへのトラフィックを処理するように構成されていない場合に、http_proxyhttps_proxy の環境変数を使用して環境を作成できます。

次のステップ