Managed Airflow (terza generazione) | Managed Airflow (seconda generazione) | Managed Airflow (prima generazione legacy)
Questa pagina spiega come configurare le reti autorizzate per il tuo ambiente.
Informazioni sulle reti autorizzate in Managed Airflow
Le reti autorizzate ti consentono di specificare gli intervalli CIDR che possono accedere al control plane del cluster del tuo ambiente utilizzando HTTPS.
Ad esempio, in Managed Airflow (prima generazione legacy), questo accesso al cluster del tuo ambiente
è necessario negli ambienti IP privati per
eseguire i comandi dell'interfaccia a riga di comando di Airflow(gcloud composer environments run).
Le reti da cui provengono queste richieste devono essere autorizzate ad accedere
al control plane del cluster del tuo ambiente.
Reti autorizzate negli ambienti IP privati e pubblici
Puoi specificare le reti autorizzate sia per gli ambienti IP pubblici che per quelli IP privati.
Negli ambienti IP privati puoi configurare le reti autorizzate per consentire a un determinato intervallo di indirizzi IP di accedere al control plane del cluster del tuo ambiente. Ad esempio, per consentire a determinati intervalli IP di eseguire i comandi
kubectle dell'interfaccia a riga di comando di Airflow. Per impostazione predefinita, negli ambienti IP privati puoi eseguire questi comandi solo da una VM nella subnet VPC dell'ambiente IP privato.Negli ambienti IP pubblici, puoi configurare le reti autorizzate per limitare l'intervallo di indirizzi IP che possono accedere al control plane del cluster del tuo ambiente. Per impostazione predefinita, negli ambienti IP pubblici non esistono limitazioni sugli intervalli IP che possono eseguire i comandi
kubectle dell'interfaccia a riga di comando di Airflow.
Prima di iniziare
Puoi specificare le reti autorizzate solo utilizzando
gcloud, Terraform e l'API REST.Puoi specificare le reti autorizzate quando crei un ambiente o per un ambiente esistente.
Creare ambienti con reti autorizzate
gcloud
Per creare un ambiente con reti autorizzate, utilizza l'argomento --enable-master-authorized-networks quando crei un ambiente. Poi fornisci un elenco separato da virgole di intervalli CIDR nell'argomento --master-authorized-networks.
Per specificare le reti autorizzate per un ambiente IP privato:
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
Sostituisci:
ENVIRONMENT_NAMEcon il nome dell'ambiente.LOCATIONcon la regione in cui si trova l'ambiente.AUTHORIZED_NETWORKS_IP_RANGEScon un elenco separato da virgole di intervalli di indirizzi IP nella notazione CIDR. Questi intervalli vengono aggiunti come reti autorizzate per il cluster del tuo ambiente.
Esempio (ambiente IP privato):
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
Crea
una environments.create richiesta API. Nella
risorsa Environment, specifica i
parametri di configurazione per un ambiente con reti autorizzate.
Per specificare le reti autorizzate per un ambiente IP privato:
// 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"
}
]
}
}
}
Sostituisci:
ENVIRONMENT_NAMEcon il nome dell'ambiente.AUTHORIZED_NETWORK_NAMEcon il nome dell'intervallo IP della rete autorizzata. Utilizza questo nome per identificare questo blocco. Questo campo è facoltativo.AUTHORIZED_NETWORK_RANGEcon un intervallo di indirizzi IP nella notazione CIDR. Questo intervallo viene aggiunto come reti autorizzate per il cluster del tuo ambiente.- Se vuoi utilizzare più intervalli IP, aggiungi intervalli aggiuntivi a
cidrBlocks.
Esempio (ambiente IP privato):
// 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 crei un ambiente, il master_authorized_networks_config
blocco nel config blocco controlla le reti autorizzate per il tuo
ambiente.
Per specificare le reti autorizzate per un ambiente IP privato:
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"
}
}
}
}
Sostituisci:
ENVIRONMENT_NAMEcon il nome dell'ambiente.LOCATIONcon la regione in cui si trova l'ambiente.AUTHORIZED_NETWORK_RANGEcon un intervallo di indirizzi IP nella notazione CIDR. Questo intervallo viene aggiunto come reti autorizzate per il cluster del tuo ambiente.AUTHORIZED_NETWORK_NAMEcon il nome dell'intervallo IP della rete autorizzata. Utilizza questo nome per identificare questo blocco.- Se vuoi utilizzare più intervalli IP, aggiungi blocchi
cidr_blocksaggiuntivi amaster_authorized_networks_config.
Esempio (ambiente IP privato):
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"
}
}
}
}
Specificare le reti autorizzate per un ambiente esistente
Puoi specificare le reti autorizzate per un ambiente esistente.
gcloud
Per specificare le reti autorizzate, utilizza l'argomento --enable-master-authorized-networks. Poi fornisci un elenco separato da virgole di intervalli CIDR nell'argomento --master-authorized-networks.
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--enable-master-authorized-networks \
--master-authorized-networks AUTHORIZED_NETWORKS_IP_RANGES
Sostituisci:
ENVIRONMENT_NAMEcon il nome dell'ambiente.LOCATIONcon la regione in cui si trova l'ambiente.AUTHORIZED_NETWORKS_IP_RANGEScon un elenco separato da virgole di intervalli di indirizzi IP nella notazione CIDR. Questi intervalli vengono aggiunti come reti autorizzate per il cluster del tuo ambiente.
Esempio:
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
Crea una richiesta API
environments.patch.In questa richiesta:
Nel parametro
updateMask, specifica la mascheraconfig.softwareConfig.masterAuthorizedNetworksConfig.Nel corpo della richiesta, specifica gli intervalli CIDR per le reti autorizzate.
"config": {
"masterAuthorizedNetworksConfig": {
"enabled": true,
"cidrBlocks": [
{
"displayName": "AUTHORIZED_NETWORK_NAME",
"cidrBlock": "AUTHORIZED_NETWORK_RANGE"
}
]
}
}
Sostituisci:
AUTHORIZED_NETWORK_NAMEcon il nome dell'intervallo IP della rete autorizzata. Utilizza questo nome per identificare questo blocco. Questo campo è facoltativo.AUTHORIZED_NETWORK_RANGEcon un intervallo di indirizzi IP nella notazione CIDR. Questo intervallo viene aggiunto come rete autorizzata per il cluster del tuo ambiente.- Se vuoi utilizzare più intervalli IP, aggiungi intervalli aggiuntivi a
cidrBlocks.
Esempio:
// 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
Il blocco master_authorized_networks_config nel blocco config controlla
le reti autorizzate per il tuo ambiente.
Per aggiungere reti autorizzate per un ambiente IP privato, aggiungi questo blocco alla definizione dell'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"
}
}
}
}
Sostituisci:
AUTHORIZED_NETWORK_RANGEcon un intervallo di indirizzi IP nella notazione CIDR. Questo intervallo viene aggiunto come reti autorizzate per il cluster del tuo ambiente.AUTHORIZED_NETWORK_NAMEcon il nome dell'intervallo IP della rete autorizzata. Utilizza questo nome per identificare questo blocco.- Se vuoi utilizzare più intervalli IP, aggiungi blocchi
cidr_blocksaggiuntivi amaster_authorized_networks_config.
Esempio:
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"
}
}
}
}
Disabilitare le reti autorizzate
Puoi disabilitare le reti autorizzate per un ambiente esistente:
- Per gli ambienti IP privati, questa operazione rimuove l'accesso per gli intervalli aggiunti in precedenza come rete autorizzata.
Per gli ambienti IP pubblici, questa operazione rimuove le limitazioni configurate in precedenza.
gcloud
Per disabilitare le reti autorizzate, utilizza l'argomento --disable-master-authorized-networks.
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--disable-master-authorized-networks
Sostituisci:
ENVIRONMENT_NAMEcon il nome dell'ambiente.LOCATIONcon la regione in cui si trova l'ambiente.
Esempio:
gcloud composer environments update example-environment \
--location us-central1 \
--disable-master-authorized-networks
API
Crea una richiesta API
environments.patch.In questa richiesta:
Nel parametro
updateMask, specifica la mascheraconfig.softwareConfig.masterAuthorizedNetworksConfig.Nel corpo della richiesta, specifica
falsenel campoenabled.
"config": {
"masterAuthorizedNetworksConfig": {
"enabled": false
}
}
Esempio:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.softwareConfig.masterAuthorizedNetworksConfig
"config": {
"masterAuthorizedNetworksConfig": {
"enabled": false,
}
}
Terraform
Il blocco master_authorized_networks_config nel blocco config controlla
le reti autorizzate per il tuo ambiente.
Per disabilitare le reti autorizzate, imposta il campo enabled nel blocco master_authorized_networks_config su false.
Esempio:
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
}
}
}