Cloud Composer 1 | Cloud Composer 2
このページでは、環境に承認済みネットワークを構成する方法について説明します。
Cloud Composer の承認済みネットワークについて
承認済みネットワークでは、HTTPS を使用して環境のクラスタ コントロール プレーンにアクセスできる CIDR 範囲を指定できます。
たとえば、プライベート IP 環境で Airflow CLI コマンド(gcloud composer environments run
)を実行するには、環境のクラスタへのそのようなアクセスが必要です。このリクエストの送信元となるネットワークは、環境クラスタのコントロール プレーンへのアクセスが承認されている必要があります。
プライベート IP 環境とパブリック IP 環境における承認済みネットワーク
承認済みネットワークは、パブリック IP 環境とプライベート IP 環境の両方で指定できます。
プライベート IP 環境では、特定の範囲の IP アドレスが環境のクラスタのコントロール プレーンにアクセスできるように承認済みネットワークを構成できます。たとえば、特定の IP 範囲で Airflow CLI コマンドを実行できるようにします。デフォルトの場合、プライベート IP 環境では、プライベート IP 環境の VPC サブネットワーク内の VM からのみ Airflow CLI コマンドを実行できます。
パブリック IP 環境では、環境のクラスタのコントロール プレーンにアクセスできる IP アドレスの範囲を制限する承認済みネットワークを構成できます。デフォルトの場合、パブリック IP 環境では、Airflow CLI コマンドを実行できる IP 範囲に制限はありません。
始める前に
承認済みネットワークがある環境を作成する
gcloud
承認済みネットワークがある環境を作成するには、環境の作成時に --enable-master-authorized-networks
引数を使用します。次に、--master-authorized-networks
引数で CIDR 範囲のカンマ区切りリストを指定します。
プライベート IP 環境で承認済みネットワークを指定するには、次の内容で実行します。
gcloud beta composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--enable-private-environment \
--enable-master-authorized-networks \
--master-authorized-networks AUTHORIZED_NETWORKS_IP_RANGES
次のように置き換えます。
ENVIRONMENT_NAME
を環境の名前にする。LOCATION
は、環境が配置されているリージョン。AUTHORIZED_NETWORKS_IP_RANGES
は、CIDR 表記の IP アドレス範囲のカンマ区切りリスト。これらの範囲は、環境のクラスタの承認済みネットワークとして追加されます。
例(プライベート IP 環境):
gcloud beta composer environments create example-environment \
--location us-central1 \
--enable-private-environment \
--enable-privately-used-public-ips \
--enable-master-authorized-networks \
--master-authorized-networks 192.0.2.0/23,192.0.4.0/23
API
environments.create
API リクエストを作成します。Environment リソースで、承認済みネットワークがある環境の構成パラメータを指定します。
プライベート IP 環境で承認済みネットワークを指定するには、次の内容で実行します。
// POST https://composer.googleapis.com/v1beta1/{parent=projects/*/locations/*}/environments
{
"name": "ENVIRONMENT_NAME",
"config": {
"privateEnvironmentConfig": {
"enablePrivateEnvironment": true,
},
"masterAuthorizedNetworksConfig": {
"enabled": true,
"cidrBlocks": [
{
"displayName": "AUTHORIZED_NETWORK_NAME",
"cidrBlock": "AUTHORIZED_NETWORK_RANGE"
}
]
}
}
}
次のように置き換えます。
ENVIRONMENT_NAME
を環境の名前にする。AUTHORIZED_NETWORK_NAME
は、承認済みネットワークの IP 範囲の名前。この名前を使用して、このブロックを識別します。このフィールドは省略可能です。AUTHORIZED_NETWORK_RANGE
は、CIDR 表記の IP アドレス範囲。この範囲は、環境のクラスタの承認済みネットワークとして追加されます。- 複数の IP 範囲を使用する場合は、
cidrBlocks
に範囲を追加します。
例(プライベート IP 環境):
// POST https://composer.googleapis.comv1beta1/{parent=projects/*/locations/*}/environments
{
"name": "example-environment",
"config": {
"privateEnvironmentConfig": {
"enablePrivateEnvironment": true,
},
"masterAuthorizedNetworksConfig": {
"enabled": true,
"cidrBlocks": [
{
"displayName": "example_range_1",
"cidrBlock": "192.0.2.0/23"
},
{
"displayName": "example_range_2",
"cidrBlock": "192.0.4.0/23"
}
]
}
}
}
Terraform
プレビューでは、Terraform で承認済みネットワークを指定できません。
既存の環境に承認済みネットワークを指定する
承認済みネットワークは、既存の環境に指定できます。
gcloud
承認済みネットワークを指定するには、--enable-master-authorized-networks
引数を使用します。次に、--master-authorized-networks
引数で CIDR 範囲のカンマ区切りリストを指定します。
gcloud beta composer composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--enable-master-authorized-networks \
--master-authorized-networks AUTHORIZED_NETWORKS_IP_RANGES
次のように置き換えます。
ENVIRONMENT_NAME
を環境の名前にする。LOCATION
は、環境が配置されているリージョン。AUTHORIZED_NETWORKS_IP_RANGES
は、CIDR 表記の IP アドレス範囲のカンマ区切りリスト。これらの範囲は、環境のクラスタの承認済みネットワークとして追加されます。
例:
gcloud beta composer composer environments update example-environment \
--location us-central1 \
--enable-master-authorized-networks \
--master-authorized-networks 192.0.2.0/23,192.0.4.0/23
API
environments.patch
API リクエストを作成します。このリクエストで次のように操作します。
updateMask
パラメータで、config.softwareConfig.masterAuthorizedNetworksConfig
マスクを指定します。リクエストの本文で、承認済みネットワークの CIDR 範囲を指定します。
"config": {
"masterAuthorizedNetworksConfig": {
"enabled": true,
"cidrBlocks": [
{
"displayName": "AUTHORIZED_NETWORK_NAME",
"cidrBlock": "AUTHORIZED_NETWORK_RANGE"
}
]
}
}
次のように置き換えます。
AUTHORIZED_NETWORK_NAME
は、承認済みネットワークの IP 範囲の名前。この名前を使用して、このブロックを識別します。このフィールドは省略可能です。AUTHORIZED_NETWORK_RANGE
は、CIDR 表記の IP アドレス範囲。この範囲は、環境のクラスタの承認済みネットワークとして追加されます。- 複数の IP 範囲を使用する場合は、
cidrBlocks
に範囲を追加します。
例:
// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.softwareConfig.masterAuthorizedNetworksConfig
"config": {
"masterAuthorizedNetworksConfig": {
"enabled": true,
"cidrBlocks": [
{
"displayName": "example_range_1",
"cidrBlock": "192.0.2.0/23"
},
{
"displayName": "example_range_2",
"cidrBlock": "192.0.4.0/23"
}
]
}
}
Terraform
プレビューでは、Terraform で承認済みネットワークを指定できません。
承認済みネットワークの無効化
既存の環境の承認済みネットワークを無効にできます。
- プライベート IP 環境では、これによって、以前に承認済みネットワークとして追加した範囲へのアクセスが削除されます。
パブリック IP 環境の場合は、以前に構成した制限がなくなります。
gcloud
承認済みネットワークを無効にするには、--disable-master-authorized-networks
引数を使用します。
gcloud beta composer composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--disable-master-authorized-networks
次のように置き換えます。
ENVIRONMENT_NAME
を環境の名前にする。LOCATION
は、環境が配置されているリージョン。
例:
gcloud beta composer composer environments update example-environment \
--location us-central1 \
--disable-master-authorized-networks
API
environments.patch
API リクエストを作成します。このリクエストで次のように操作します。
updateMask
パラメータで、config.softwareConfig.masterAuthorizedNetworksConfig
マスクを指定します。リクエストの本文で、
enabled
フィールドにfalse
を指定します。
"config": {
"masterAuthorizedNetworksConfig": {
"enabled": false
}
}
例:
// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.softwareConfig.masterAuthorizedNetworksConfig
"config": {
"masterAuthorizedNetworksConfig": {
"enabled": false,
}
}
Terraform
プレビューでは、Terraform で承認済みネットワークを指定できません。