Cloud Composer 1 | Cloud Composer 2
En esta página, se explica cómo configurar redes autorizadas para tu entorno.
Acerca de las redes autorizadas en Cloud Composer
Las redes autorizadas te permiten especificar rangos de CIDR que pueden acceder al plano de control del clúster de tu entorno mediante HTTPS.
Por ejemplo, en Cloud Composer 1, este acceso al clúster de tu entorno es obligatorio en los entornos de IP privada para ejecutar comandos de la CLI de Airflow(gcloud composer environments run
). Las redes desde las que se originan esas solicitudes deben tener autorización para acceder al plano de control del clúster de tu entorno.
Redes autorizadas en entornos de IP privada y pública
Puedes especificar redes autorizadas para entornos de IP pública y de IP privada.
En los entornos de IP privada, puedes configurar redes autorizadas para permitir que un cierto rango de direcciones IP acceda al plano de control del clúster de tu entorno. Por ejemplo, para permitir que ciertos rangos de IP ejecuten comandos de
kubectl
y de la CLI de Airflow. De forma predeterminada, en los entornos de IP privada, puedes ejecutar estos comandos solo desde una VM en la subred de VPC del entorno de IP privada.En los entornos de IP pública, puedes configurar redes autorizadas para restringir el rango de direcciones IP que pueden acceder al plano de control del clúster de tu entorno. De forma predeterminada, en los entornos de IP pública no hay restricciones para los rangos de IP que puedan ejecutar comandos de la CLI de
kubectl
y Airflow.
Antes de comenzar
Solo puedes especificar redes autorizadas con
gcloud
, Terraform y la API de REST.Puedes especificar redes autorizadas cuando creas un entorno o para un entorno existente.
Crear entornos con redes autorizadas
gcloud
Para crear un entorno con redes autorizadas, usa el argumento --enable-master-authorized-networks
cuando crees un entorno. Luego, proporciona una lista separada por comas de los rangos de CIDR en el argumento --master-authorized-networks
.
Si quieres especificar redes autorizadas para un entorno de IP privada, sigue estos pasos:
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--image-version composer-1.20.12-airflow-1.10.15 \
--enable-ip-alias \
--enable-private-environment \
--enable-master-authorized-networks \
--master-authorized-networks AUTHORIZED_NETWORKS_IP_RANGES
Reemplaza lo siguiente:
ENVIRONMENT_NAME
por el nombre del entorno.LOCATION
por la región en la que se encuentra el entornoAUTHORIZED_NETWORKS_IP_RANGES
por una lista separada por comas de rangos de direcciones IP en la notación CIDR. Estos rangos se agregan como redes autorizadas para el clúster de tu entorno.
Ejemplo (entorno de IP privada):
gcloud composer environments create example-environment \
--location us-central1 \
--image-version composer-1.20.12-airflow-1.10.15 \
--enable-ip-alias \
--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
Realiza una solicitud a la API de environments.create
. En el recurso Entorno, especifica los parámetros de configuración para un entorno con redes autorizadas.
Si quieres especificar redes autorizadas para un entorno de IP privada, sigue estos pasos:
// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments
{
"name": "ENVIRONMENT_NAME",
"config": {
"nodeConfig": {
"ipAllocationPolicy": {
"useIpAliases": true,
}
},
"privateEnvironmentConfig": {
"enablePrivateEnvironment": true,
},
"masterAuthorizedNetworksConfig": {
"enabled": true,
"cidrBlocks": [
{
"displayName": "AUTHORIZED_NETWORK_NAME",
"cidrBlock": "AUTHORIZED_NETWORK_RANGE"
}
]
}
}
}
Reemplaza lo siguiente:
ENVIRONMENT_NAME
por el nombre del entorno.AUTHORIZED_NETWORK_NAME
por el nombre del rango de IP de la red autorizada. Usa este nombre para identificar este bloque. Este campo es opcional.AUTHORIZED_NETWORK_RANGE
por un rango de direcciones IP en la notación CIDR Este rango se agrega como redes autorizadas para el clúster de tu entorno.- Si quieres usar varios rangos de IP, agrega rangos adicionales a
cidrBlocks
.
Ejemplo (entorno de IP privada):
// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments
{
"name": "example-environment",
"config": {
"nodeConfig": {
"ipAllocationPolicy": {
"useIpAliases": true,
}
},
"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
Cuando creas un entorno, el bloque master_authorized_networks_config
del bloque config
controla las redes autorizadas para tu entorno.
Si quieres especificar redes autorizadas para un entorno de IP privada, sigue estos pasos:
resource "google_composer_environment" "example_environment" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
node_config {
ip_allocation_policy = [{
use_ip_aliases = true
}]
}
private_environment_config {
// Private environment parameters
}
master_authorized_networks_config {
enabled = true
cidr_blocks {
cidr_block = "AUTHORIZED_NETWORK_RANGE"
display_name = "AUTHORIZED_NETWORK_NAME"
}
}
}
}
Reemplaza lo siguiente:
ENVIRONMENT_NAME
por el nombre del entorno.LOCATION
por la región en la que se encuentra el entornoAUTHORIZED_NETWORK_RANGE
por un rango de direcciones IP en la notación CIDR Este rango se agrega como redes autorizadas para el clúster de tu entorno.AUTHORIZED_NETWORK_NAME
por el nombre del rango de IP de la red autorizada. Usa este nombre para identificar este bloque.- Si deseas usar varios rangos de IP, agrega bloques
cidr_blocks
adicionales amaster_authorized_networks_config
.
Ejemplo (entorno de IP privada):
resource "google_composer_environment" "example_environment" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
node_config {
// Specify your network and subnetwork
network = google_compute_network.example_network.id
subnetwork = google_compute_subnetwork.example_subnet.id
ip_allocation_policy = [{
use_ip_aliases = true
}]
}
private_environment_config {
// Private environment parameters
}
master_authorized_networks_config {
enabled = true
cidr_blocks {
cidr_block = "192.0.2.0/23"
display_name = "example_range_1"
}
cidr_blocks {
cidr_block = "192.0.4.0/23"
display_name = "example_range_2"
}
}
}
}
Especificar redes autorizadas para un entorno existente
Puedes especificar redes autorizadas para un entorno existente.
gcloud
Para especificar redes autorizadas, usa el argumento --enable-master-authorized-networks
. Luego, proporciona una lista separada por comas de los rangos de CIDR en el argumento --master-authorized-networks
.
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--enable-master-authorized-networks \
--master-authorized-networks AUTHORIZED_NETWORKS_IP_RANGES
Reemplaza lo siguiente:
ENVIRONMENT_NAME
por el nombre del entorno.LOCATION
por la región en la que se encuentra el entornoAUTHORIZED_NETWORKS_IP_RANGES
por una lista separada por comas de rangos de direcciones IP en la notación CIDR. Estos rangos se agregan como redes autorizadas para el clúster de tu entorno.
Ejemplo:
gcloud 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
Realiza una solicitud a la API de
environments.patch
.En esta solicitud, realiza lo siguiente:
En el parámetro
updateMask
, especifica la máscaraconfig.softwareConfig.masterAuthorizedNetworksConfig
.En el cuerpo de la solicitud, especifica los rangos CIDR para las redes autorizadas.
"config": {
"masterAuthorizedNetworksConfig": {
"enabled": true,
"cidrBlocks": [
{
"displayName": "AUTHORIZED_NETWORK_NAME",
"cidrBlock": "AUTHORIZED_NETWORK_RANGE"
}
]
}
}
Reemplaza lo siguiente:
AUTHORIZED_NETWORK_NAME
por el nombre del rango de IP de la red autorizada. Usa este nombre para identificar este bloque. Este campo es opcional.AUTHORIZED_NETWORK_RANGE
por un rango de direcciones IP en la notación CIDR Este rango se agrega como una red autorizada para el clúster de tu entorno.- Si quieres usar varios rangos de IP, agrega rangos adicionales a
cidrBlocks
.
Ejemplo:
// PATCH https://composer.googleapis.com/v1/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
El bloque master_authorized_networks_config
del bloque config
controla las redes autorizadas para tu entorno.
Para agregar redes autorizadas a un entorno de IP privada, agrega este bloque a la definición de tu entorno:
resource "google_composer_environment" "example_environment" {
provider = google-beta
name = "example_environment"
region = "us-central1"
config {
// Other environment parameters
master_authorized_networks_config {
enabled = true
cidr_blocks {
cidr_block = "AUTHORIZED_NETWORK_RANGE"
display_name = "AUTHORIZED_NETWORK_NAME"
}
}
}
}
Reemplaza lo siguiente:
AUTHORIZED_NETWORK_RANGE
por un rango de direcciones IP en la notación CIDR Este rango se agrega como redes autorizadas para el clúster de tu entorno.AUTHORIZED_NETWORK_NAME
por el nombre del rango de IP de la red autorizada. Usa este nombre para identificar este bloque.- Si deseas usar varios rangos de IP, agrega bloques
cidr_blocks
adicionales amaster_authorized_networks_config
.
Ejemplo:
resource "google_composer_environment" "example_environment" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
// Other environment parameters
master_authorized_networks_config {
enabled = true
cidr_blocks {
cidr_block = "192.0.2.0/23"
display_name = "example_range_1"
}
cidr_blocks {
cidr_block = "192.0.4.0/23"
display_name = "example_range_2"
}
}
}
}
Inhabilita las redes autorizadas
Puedes inhabilitar las redes autorizadas de un entorno existente:
- En el caso de los entornos de IP privada, esto quita el acceso para los rangos que se agregaron antes como redes autorizadas.
En los entornos de IP pública, esto quita las restricciones configuradas previamente.
gcloud
Para inhabilitar las redes autorizadas, usa el argumento --disable-master-authorized-networks
.
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--disable-master-authorized-networks
Reemplaza lo siguiente:
ENVIRONMENT_NAME
por el nombre del entorno.LOCATION
por la región en la que se encuentra el entorno
Ejemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--disable-master-authorized-networks
API
Realiza una solicitud a la API de
environments.patch
.En esta solicitud, realiza lo siguiente:
En el parámetro
updateMask
, especifica la máscaraconfig.softwareConfig.masterAuthorizedNetworksConfig
.En el cuerpo de la solicitud, especifica
false
en el campoenabled
.
"config": {
"masterAuthorizedNetworksConfig": {
"enabled": false
}
}
Ejemplo:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.softwareConfig.masterAuthorizedNetworksConfig
"config": {
"masterAuthorizedNetworksConfig": {
"enabled": false,
}
}
Terraform
El bloque master_authorized_networks_config
del bloque config
controla las redes autorizadas para tu entorno.
Para inhabilitar las redes autorizadas, establece el campo enabled
en el bloque master_authorized_networks_config
en false
.
Ejemplo:
resource "google_composer_environment" "example_environment" {
provider = google-beta
name = "example_environment"
region = "us-central1"
config {
// Other environment parameters
master_authorized_networks_config {
enabled = false
}
}
}