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

Managed Airflow(第 3 世代) | Managed Airflow(第 2 世代) | Managed Airflow(以前の第 1 世代)

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

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

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

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

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

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

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

    • パブリック IP 環境では、パブリック IP 範囲へのすべての送信トラフィックは、デフォルトのインターネット ゲートウェイ経由でルーティングされます。この制限には、パブリック IP 範囲と重複するため、GKE で使用されるプライベートで使用されるパブリック IP(PUPI)が含まれます。その結果、PUPI アドレス宛てのトラフィックはプライベート GKE アドレスに到達せず、公共のインターネットに転送されます。PUPI 範囲への接続を有効にするには、環境をプライベート IP ネットワーキングに切り替えVPC ネットワークに接続することをおすすめします。

    • パブリック IP 環境の Airflow コンポーネントは、自動的に割り振られたパブリック IP アドレスとポートからアウトバウンド接続を確立します。パブリック IP 環境で事前定義された IP アドレスとポートを使用する場合は、環境に VPC ネットワークを接続し、プライベート IP に切り替えることでこれを行えます。この場合、Managed Airflow は 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 ネットワークに転送されます。このアプローチでは、トラフィックが公共のインターネットに送信されるのではなく、VPC ネットワーク経由でルーティングされるため、Airflow コンポーネントを GKE のプライベートで使用されるパブリック IP(PUPI)に接続できます。

Managed Airflow(第 2 世代)のネットワーキングと Managed Airflow(第 3 世代)のネットワーキングの比較

Managed Airflow(第 3 世代)では、プライベート IP 環境の構成は必要ありません。

次の Managed Airflow(第 2 世代)ネットワーキング機能は、Managed Airflow(第 3 世代)では無効になりました。

  • プライベート IP ネットワークの構成。IP 範囲やネットワークを指定する必要も、接続やファイアウォール ルールを構成する必要もありません。

  • Private Service Connect の構成。Managed Airflow(第 3 世代)では、Private Service Connect の範囲を設定する必要はありません。

  • プライベートで使用されるパブリック IP 範囲の使用。この機能は、使用可能な IP 範囲を拡張するために提供されていましたが、これは Managed Airflow(第 3 世代)では不要です。

  • IP マスカレード エージェントの使用。Managed Airflow(第 3 世代)では、クラスタ接続を構成する必要はありません。

  • 承認済みネットワークの構成。Managed Airflow(第 3 世代)では、環境のクラスタにアクセスできません。

Managed Airflow(第 3 世代)では、次の DNS 構成はサポートされていません。

  • Managed Airflow(第 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 ドメインのリスト、環境のクラスタ Compute Engine メタデータ サーバーの IP アドレス、localhost に設定されているため、プロキシから除外されます。

.google.com,.googleapis.com,metadata.google.internal,169.254.169.254,localhost

この構成により、プロキシが Google サービスへのトラフィックを処理するように構成されていない場合に、http_proxyhttps_proxy の環境変数を使用して環境を作成できます。

次のステップ