更改环境网络类型(专用或公共 IP)

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 网络

更改环境网络类型

控制台

  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 字段中:

      • 指定 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_STATUStrue 表示专用 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
  }
}

后续步骤