Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
本页面介绍了 Cloud Composer 3 中专用 IP 环境和公共 IP 环境网络类型之间的区别,并说明了如何切换环境网络类型。
如果您希望仅在安装 PyPI 软件包时停用或启用互联网访问权限,请参阅安装 PyPI 软件包时配置互联网访问权限。
如要允许从您的环境访问 VPC 网络,请参阅将环境连接到 VPC 网络。
关于环境网络类型
Cloud Composer 3 使用两种环境网络类型:
公共 IP:环境的 Airflow 组件可以访问互联网。这是默认网络类型。
专用 IP:环境的 Airflow 组件无法访问互联网。
无论网络类型如何,始终可以访问 Google 服务 API。
除了两种网络类型之外,您可以为任何类型的环境启用或停用对 VPC 网络的访问权限。根据您配置 VPC 网络的方式,专用 IP 环境可以通过您的 VPC 网络访问互联网。
如需详细了解 VPC 网络访问,请参阅将环境连接到 VPC 网络。
更改环境网络类型
控制台
在 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.patch
API 请求。在此请求中:
在
updateMask
参数中,指定config.private_environment_config.enable_private_environment
掩码。在请求正文的
enablePrivateEnvironment
字段中:- 指定
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_ip_environment = PRIVATE_IP_STATUS
}
}
请替换以下内容:
ENVIRONMENT_NAME
:您的环境的名称。LOCATION
:环境所在的区域。PRIVATE_IP_STATUS
:true
表示专用 IP,false
表示公共 IP
示例(专用 IP):
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
enable_private_ip_environment = true
... other configuration parameters
}
}