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 で無効になりました。
プライベート IP ネットワークの構成。IP 範囲やネットワークを指定する必要も、接続やファイアウォール ルールを構成する必要もありません。
Private Service Connect の構成。Cloud Composer 3 では、Private Service Connect の範囲を設定する必要はありません。
プライベートで使用されるパブリック IP 範囲の使用。この機能は、使用可能な IP 範囲を拡張するために提供されていましたが、これは Cloud Composer 3 では不要です。
IP マスカレード エージェントの使用。Cloud Composer 3 では、クラスタ接続を構成する必要はありません。
承認済みネットワークの構成。Cloud Composer 3 では、環境のクラスタにアクセスできません。
Cloud Composer 3 では、次の DNS 構成はサポートされていません。
- Cloud Composer 3 は、ユーザー定義の
.internalDNS ゾーンをサポートしていません。.internalの DNS ゾーンを作成しても、そのゾーンにアクセスすることはできません。
環境のネットワーキング タイプを変更する
コンソール
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 ドメインと localhost のリストに設定されているため、プロキシ .google.com,.googleapis.com,metadata.google.internal,localhost から除外されます。この構成により、プロキシが Google サービスへのトラフィックを処理するように構成されていない場合に、http_proxy と https_proxy の環境変数を使用して環境を作成できます。