Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Nesta página, você verá como configurar redes autorizadas no seu ambiente.
Sobre redes autorizadas no Cloud Composer
As redes autorizadas permitem especificar intervalos CIDR que podem acessar o plano de controle do cluster do seu ambiente usando HTTPS.
Por exemplo, no Cloud Composer 1, esse acesso ao cluster do ambiente é necessário em ambientes de IP particular para executar comandos da CLI do Airflow (gcloud composer environments run
). As redes de origem dessas solicitações precisam ser autorizadas a acessar o plano de controle do cluster do ambiente.
Redes autorizadas em ambientes de IP privado e público
É possível especificar redes autorizadas para ambientes de IP público e IP privado.
Em ambientes de IP privado, é possível configurar redes autorizadas para permitir que um determinado intervalo de endereços IP acesse o plano de controle do cluster do seu ambiente. Por exemplo, para permitir que determinados intervalos de IP executem comandos
kubectl
e da CLI do Airflow. De Por padrão, em ambientes de IP privado, só é possível executar esses comandos de um VM na sub-rede VPC do ambiente de IP privado.Em ambientes de IP público, é possível configurar redes autorizadas para restringir o intervalo de endereços IP que podem acessar o plano de controle do cluster do ambiente. Por padrão, em ambientes de IP público restrições em intervalos de IP que podem executar
kubectl
e comandos da CLI do Airflow.
Antes de começar
Só é possível especificar redes autorizadas usando
gcloud
, Terraform e a API REST.Você pode especificar redes autorizadas ao criar um ambiente ou para um ambiente existente.
Criar ambientes com redes autorizadas
gcloud
Para criar um ambiente com redes autorizadas, use o argumento --enable-master-authorized-networks
ao criar um ambiente. Em seguida, forneça uma lista separada por vírgulas de intervalos CIDR no argumento --master-authorized-networks
.
Para especificar redes autorizadas para um ambiente de IP privado:
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
Substitua:
ENVIRONMENT_NAME
pelo nome do ambiente;LOCATION
pela região em que o ambiente está localizado;AUTHORIZED_NETWORKS_IP_RANGES
por uma lista separada por vírgulas de intervalos de endereços IP na notação CIDR. Esses intervalos são adicionados como redes autorizadas para o cluster do ambiente.
Exemplo (ambiente de IP particular):
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
Crie
uma solicitação de API environments.create
. No
recurso Ambiente, especifique os
parâmetros de configuração de um ambiente com redes autorizadas.
Para especificar redes autorizadas para um ambiente de IP privado:
// 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"
}
]
}
}
}
Substitua:
ENVIRONMENT_NAME
pelo nome do ambiente;AUTHORIZED_NETWORK_NAME
pelo nome do intervalo de IP da rede autorizado; Use esse nome para identificar esse bloco. Este campo é opcional.AUTHORIZED_NETWORK_RANGE
por um intervalo de endereços IP na notação CIDR. Esse intervalo é adicionado como redes autorizadas para o cluster do ambiente.- Se você quiser usar vários intervalos de IP, adicione intervalos extras a
cidrBlocks
.
Exemplo (ambiente de IP particular):
// 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
Quando você cria um ambiente, o bloco master_authorized_networks_config
no bloco config
controla as redes autorizadas para o
ambiente.
Para especificar redes autorizadas para um ambiente de IP privado:
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"
}
}
}
}
Substitua:
ENVIRONMENT_NAME
pelo nome do ambiente;LOCATION
pela região em que o ambiente está localizado;AUTHORIZED_NETWORK_RANGE
por um intervalo de endereços IP na notação CIDR. Esse intervalo é adicionado como redes autorizadas para o cluster do ambiente.AUTHORIZED_NETWORK_NAME
pelo nome do intervalo de IP da rede autorizado; Use esse nome para identificar esse bloco.- Se você quiser usar vários intervalos de IP, adicione mais blocos
cidr_blocks
a paramaster_authorized_networks_config
.
Exemplo (ambiente de IP particular):
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 um ambiente existente
É possível especificar redes autorizadas para um ambiente existente
gcloud
Para especificar redes autorizadas, use o argumento
--enable-master-authorized-networks
. Em seguida, forneça uma lista separada por vírgulas de intervalos CIDR no argumento --master-authorized-networks
.
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--enable-master-authorized-networks \
--master-authorized-networks AUTHORIZED_NETWORKS_IP_RANGES
Substitua:
ENVIRONMENT_NAME
pelo nome do ambiente;LOCATION
pela região em que o ambiente está localizado;AUTHORIZED_NETWORKS_IP_RANGES
por uma lista separada por vírgulas de intervalos de endereços IP na notação CIDR. Esses intervalos são adicionados como redes autorizadas para o cluster do ambiente.
Exemplo:
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
Crie uma solicitação de API
environments.patch
.Nesta solicitação:
No parâmetro
updateMask
, especifique a máscaraconfig.softwareConfig.masterAuthorizedNetworksConfig
.No corpo da solicitação, especifique intervalos CIDR para redes autorizadas.
"config": {
"masterAuthorizedNetworksConfig": {
"enabled": true,
"cidrBlocks": [
{
"displayName": "AUTHORIZED_NETWORK_NAME",
"cidrBlock": "AUTHORIZED_NETWORK_RANGE"
}
]
}
}
Substitua:
AUTHORIZED_NETWORK_NAME
pelo nome do intervalo de IP da rede autorizado; Use esse nome para identificar esse bloco. Este campo é opcional.AUTHORIZED_NETWORK_RANGE
por um intervalo de endereços IP na notação CIDR. Esse intervalo é adicionado como uma rede autorizada para o cluster do ambiente.- Se você quiser usar vários intervalos de IP, adicione intervalos extras a
cidrBlocks
.
Exemplo:
// 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
O bloco master_authorized_networks_config
no bloco config
controla
as redes autorizadas do seu ambiente.
Para adicionar redes autorizadas a um ambiente de IP privado, adicione este bloco a a definição do ambiente:
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"
}
}
}
}
Substitua:
AUTHORIZED_NETWORK_RANGE
por um intervalo de endereços IP na notação CIDR. Esse intervalo é adicionado como redes autorizadas para o cluster do ambiente.AUTHORIZED_NETWORK_NAME
pelo nome do intervalo de IP da rede autorizado; Use esse nome para identificar esse bloco.- Se você quiser usar vários intervalos de IP, adicione mais blocos
cidr_blocks
a paramaster_authorized_networks_config
.
Exemplo:
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"
}
}
}
}
Desativar redes autorizadas
É possível desativar redes autorizadas em um ambiente atual:
- Para ambientes de IP privado, isso remove o acesso de intervalos que foram adicionados anteriormente como rede autorizada.
Em ambientes de IP público, isso remove as restrições configuradas anteriormente.
gcloud
Para desativar redes autorizadas, use o argumento --disable-master-authorized-networks
.
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--disable-master-authorized-networks
Substitua:
ENVIRONMENT_NAME
pelo nome do ambiente;LOCATION
pela região em que o ambiente está localizado;
Exemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--disable-master-authorized-networks
API
Crie uma solicitação de API
environments.patch
.Nesta solicitação:
No parâmetro
updateMask
, especifique a máscaraconfig.softwareConfig.masterAuthorizedNetworksConfig
.No corpo da solicitação, especifique
false
no campoenabled
.
"config": {
"masterAuthorizedNetworksConfig": {
"enabled": false
}
}
Exemplo:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.softwareConfig.masterAuthorizedNetworksConfig
"config": {
"masterAuthorizedNetworksConfig": {
"enabled": false,
}
}
Terraform
O bloco master_authorized_networks_config
nos controles do bloco config
autorizadas do seu ambiente.
Para desativar redes autorizadas, defina o campo enabled
em
bloco master_authorized_networks_config
para false
.
Exemplo:
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
}
}
}