更改环境网络类型(专用或公共 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 组件无权访问 互联网。
    • 专用 IP 环境通过 private.googleapis.com 范围,允许访问 此范围支持的 Google API、服务和网域。

      如需了解详情以及可用的服务和网域列表 直到 private.googleapis.com,请参见 网络配置

除了两种网络类型之外,您还可以为任何类型的环境启用或停用对自定义 VPC 网络的访问权限。根据您配置 VPC 网络的方式,专用 IP 环境可以通过 VPC 网络访问互联网。

Cloud Composer 2 网络与 Cloud Composer 3 网络对比

在 Cloud Composer 3 中,专用 IP 环境无需配置。

以下 Cloud Composer 2 网络功能在 Cloud Composer 3 中已不再适用:

更改环境网络类型

控制台

  1. 在 Google Cloud 控制台中,前往环境页面。

    转到“环境”

  2. 在环境列表中,点击您的环境名称。环境详情页面会打开。

  3. 转到环境配置标签页。

  4. 网络配置部分中,找到网络类型项,然后点击修改

  5. Networking type 对话框中,选择:

    • 公共 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_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_environment = true

    ... other configuration parameters
  }
}

后续步骤