Managed Airflow(Gen 3) | Managed Airflow(Gen 2) | Managed Airflow(レガシー Gen 1)
このページでは、Managed Airflow(Gen 3)のプライベート IP 環境のネットワーキング タイプとパブリック IP 環境のネットワーキング タイプの違いについて説明し、環境のネットワーキング タイプを切り替える手順を示します。
PyPI パッケージのインストール時にのみインターネット アクセスを無効または有効にする場合は、 PyPI パッケージのインストール時にインターネット アクセスを構成するをご覧ください。
環境から VPC ネットワークへのアクセスを有効にする場合は、環境を VPC ネットワークに接続するをご覧ください。
環境ネットワーキング タイプについて
Managed Airflow(Gen 3)では、次の 2 つの環境ネットワーキング タイプが使用されます。
パブリック IP ネットワーキング __:
環境の Airflow コンポーネントはインターネットにアクセスできます。これはデフォルトのネットワーク タイプです。
-
パブリック 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 ネットワークに転送されます。
Managed Airflow(第 2 世代)のネットワーキングと Managed Airflow(第 3 世代)の比較
マネージド Airflow(Gen 3)では、プライベート IP 環境の構成は必要ありません。
次の Managed Airflow(第 2 世代)のネットワーキング機能は、Managed Airflow(第 3 世代)では使用されなくなりました。
プライベート IP ネットワークの構成。IP 範囲やネットワークを指定する必要も、接続やファイアウォール ルールを構成する必要もありません。
Private Service Connect の構成。 マネージド Airflow(第 3 世代)では、Private Service Connect の範囲を設定する必要はありません。
プライベートで使用されるパブリック IP 範囲の使用。この機能は、使用可能な IP 範囲を拡張するために提供されていましたが、これは Managed Airflow(Gen 3)では不要です。
IP マスカレード エージェントの使用。Managed Airflow(Gen 3)では、クラスタ接続を構成する必要はありません。
承認済みネットワークの構成。マネージド Airflow(Gen 3)では、環境のクラスタにアクセスできません。
マネージド Airflow(第 3 世代)では、次の DNS 構成はサポートされていません。
- Managed Airflow(Gen 3)は、ユーザー定義の
.internalDNS ゾーンをサポートしていません。.internalの DNS ゾーンを作成しても、そのゾーンに到達することはできません。
環境のネットワーキング タイプを変更する
コンソール
コンソールで、[Environments] ページに移動します。 Google Cloud
環境のリストで、ご利用の環境の名前をクリックします。[環境の詳細] ページが開きます。
[環境の設定] タブに移動します。
[ネットワーク構成] セクションで、[ネットワーキング タイプ] の項目を探して [編集] をクリックします。
[ネットワーキング タイプ] ダイアログで、次の項目を選択します。
- パブリック IP ネットワーキングの [パブリック IP 環境(デフォルト)]。
- プライベート IP ネットワーキングの [プライベート IP 環境]。
[保存] をクリックします。
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
environments.patchAPI リクエストを作成します。このリクエストで次のように操作します。
updateMaskパラメータで、config.private_environment_config.enable_private_environmentマスクを指定します。リクエスト本文の
enablePrivateEnvironmentフィールドに、次を指定します。- プライベート IP ネットワーキングに変更するには、
trueを指定します。 - パブリック IP ネットワーキングに変更するには、
falseを指定します(デフォルト)。
- プライベート IP ネットワーキングに変更するには、
例(プライベート 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_proxy と https_proxy 環境変数
を設定できます。これらの標準 Linux 変数は、環境のクラスタのコンテナで実行されるウェブ クライアントによって使用され、指定されたプロキシを介してトラフィックをルーティングします。
NO_PROXY 変数は、デフォルトで Google ドメインのリスト、環境のクラスタ Compute Engine メタデータ サーバーの IP アドレス、localhost に設定されているため、プロキシから除外されます。
.google.com,.googleapis.com,metadata.google.internal,169.254.169.254,localhost
この構成により、プロキシが Google サービスへのトラフィックを処理するように構成されていない場合に、http_proxy と https_proxy の環境変数を使用して環境を作成できます。