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ária em ambientes de IP privado para
execute comandos da CLI do Airflow(gcloud composer environments run
).
As redes de origem dessas solicitações precisam ter autorização para acessar
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 executar os comandos
kubectl
e da CLI do Airflow. De Por padrão, em ambientes de IP privado, só é possível executar esses comandos de uma 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 master_authorized_networks_config
o bloco config
controla as redes autorizadas para sua
de nuvem.
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
nos controles do bloco config
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
}
}
}