Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Cette page explique comment configurer des réseaux autorisés pour votre environnement.
À propos des réseaux autorisés dans Cloud Composer
Les réseaux autorisés vous permettent de spécifier des plages CIDR pouvant accéder au plan de contrôle des clusters de votre environnement à l'aide du protocole HTTPS.
Par exemple, dans Cloud Composer 1, un tel accès au cluster de votre environnement
est requis dans les environnements IP privés pour
exécuter les commandes de CLI Airflow(gcloud composer environments run
).
Les réseaux à l'origine de ces requêtes doivent être autorisés à accéder
le plan de contrôle du cluster de votre environnement.
Réseaux autorisés dans les environnements d'adresses IP privées et publiques
Vous pouvez spécifier des réseaux autorisés pour les adresses IP publiques et privées.
Dans les environnements d'adresse IP privée, vous pouvez configurer des réseaux autorisés pour autoriser une certaine plage d'adresses IP à accéder au plan de contrôle du cluster de votre environnement. Par exemple, pour autoriser certaines plages d'adresses IP exécuter les commandes
kubectl
et de CLI Airflow. Par défaut, dans les environnements d'adresse IP privée, vous ne pouvez exécuter ces commandes qu'à partir d'une VM du sous-réseau VPC de l'environnement d'adresse IP privée.Dans les environnements d'adresse IP publique, vous pouvez configurer des réseaux autorisés pour restreindre la plage d'adresses IP pouvant accéder au plan de contrôle du cluster de votre environnement. Par défaut, dans les environnements d'adresse IP publique, aucune restriction n'est imposée sur les plages d'adresses IP pouvant exécuter
kubectl
et les commandes de CLI Airflow.
Avant de commencer
Vous ne pouvez spécifier des réseaux autorisés qu'à l'aide de
gcloud
, de Terraform et de l'API REST.Vous pouvez spécifier des réseaux autorisés lorsque vous créez un environnement ou pour un environnement existant.
Créer des environnements avec des réseaux autorisés
gcloud
Pour créer un environnement contenant des réseaux autorisés, utilisez l'argument --enable-master-authorized-networks
lorsque vous créez un environnement. Fournissez ensuite une liste de plages CIDR séparées par une virgule dans l'argument --master-authorized-networks
.
Pour spécifier des réseaux autorisés pour un environnement d'adresse IP privée, procédez comme suit :
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
Remplacez :
ENVIRONMENT_NAME
par le nom de l'environnement.LOCATION
par la région dans laquelle se trouve l'environnement.AUTHORIZED_NETWORKS_IP_RANGES
par la liste des plages d'adresses IP au format CIDR, séparées par une virgule. Ces plages sont ajoutées en tant que réseaux autorisés pour le cluster de votre environnement.
Exemple (environnement d'adresse IP privée) :
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
Rédigez une requête API environments.create
. Dans la ressource Environnement, spécifiez les paramètres de configuration d'un environnement avec des réseaux autorisés.
Pour spécifier des réseaux autorisés pour un environnement d'adresse IP privée, procédez comme suit :
// 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"
}
]
}
}
}
Remplacez :
ENVIRONMENT_NAME
par le nom de l'environnement.AUTHORIZED_NETWORK_NAME
par le nom de la plage d'adresses IP du réseau autorisé. Ce nom vous permet d'identifier ce bloc. Ce champ est facultatif.AUTHORIZED_NETWORK_RANGE
par une plage d'adresses IP au format CIDR. Cette plage est ajoutée en tant que réseau autorisé pour le cluster de votre environnement.- Si vous souhaitez utiliser plusieurs plages d'adresses IP, ajoutez des plages supplémentaires à
cidrBlocks
.
Exemple (environnement d'adresse IP privée) :
// 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
Lorsque vous créez un environnement, la classe master_authorized_networks_config
le bloc config
contrôle les réseaux autorisés pour votre
environnement.
Pour spécifier des réseaux autorisés pour un environnement d'adresse IP privée, procédez comme suit :
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"
}
}
}
}
Remplacez :
ENVIRONMENT_NAME
par le nom de l'environnement.LOCATION
par la région dans laquelle se trouve l'environnement.AUTHORIZED_NETWORK_RANGE
par une plage d'adresses IP au format CIDR. Cette plage est ajoutée en tant que réseau autorisé pour le cluster de votre environnement.AUTHORIZED_NETWORK_NAME
par le nom de la plage d'adresses IP du réseau autorisé. Ce nom vous permet d'identifier ce bloc.- Si vous souhaitez utiliser plusieurs plages d'adresses IP, ajoutez des blocs
cidr_blocks
supplémentaires à àmaster_authorized_networks_config
.
Exemple (environnement d'adresse IP privée) :
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"
}
}
}
}
Spécifier des réseaux autorisés pour un environnement existant
Vous pouvez spécifier des réseaux autorisés pour un environnement existant.
gcloud
Pour spécifier des réseaux autorisés, utilisez l'argument --enable-master-authorized-networks
. Fournissez ensuite une liste de plages CIDR séparées par une virgule dans l'argument --master-authorized-networks
.
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--enable-master-authorized-networks \
--master-authorized-networks AUTHORIZED_NETWORKS_IP_RANGES
Remplacez :
ENVIRONMENT_NAME
par le nom de l'environnement.LOCATION
par la région dans laquelle se trouve l'environnement.AUTHORIZED_NETWORKS_IP_RANGES
par la liste des plages d'adresses IP au format CIDR, séparées par une virgule. Ces plages sont ajoutées en tant que réseaux autorisés pour le cluster de votre environnement.
Exemple :
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
Rédigez une requête API
environments.patch
.Dans cette requête :
Dans le paramètre
updateMask
, spécifiez le masqueconfig.softwareConfig.masterAuthorizedNetworksConfig
.Dans le corps de la requête, spécifiez des plages CIDR pour les réseaux autorisés.
"config": {
"masterAuthorizedNetworksConfig": {
"enabled": true,
"cidrBlocks": [
{
"displayName": "AUTHORIZED_NETWORK_NAME",
"cidrBlock": "AUTHORIZED_NETWORK_RANGE"
}
]
}
}
Remplacez :
AUTHORIZED_NETWORK_NAME
par le nom de la plage d'adresses IP du réseau autorisé. Ce nom vous permet d'identifier ce bloc. Ce champ est facultatif.AUTHORIZED_NETWORK_RANGE
par une plage d'adresses IP au format CIDR. Cette plage est ajoutée en tant que réseau autorisé pour le cluster de votre environnement.- Si vous souhaitez utiliser plusieurs plages d'adresses IP, ajoutez des plages supplémentaires à
cidrBlocks
.
Exemple :
// 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
Le bloc master_authorized_networks_config
du bloc config
contrôle les réseaux autorisés pour votre environnement.
Pour ajouter des réseaux autorisés à un environnement IP privé, ajoutez ce bloc à la définition de votre environnement:
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"
}
}
}
}
Remplacez :
AUTHORIZED_NETWORK_RANGE
par une plage d'adresses IP au format CIDR. Cette plage est ajoutée en tant que réseau autorisé pour le cluster de votre environnement.AUTHORIZED_NETWORK_NAME
par le nom de la plage d'adresses IP du réseau autorisé. Ce nom vous permet d'identifier ce bloc.- Si vous souhaitez utiliser plusieurs plages d'adresses IP, ajoutez des blocs
cidr_blocks
supplémentaires àmaster_authorized_networks_config
.
Exemple :
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"
}
}
}
}
Désactiver les réseaux autorisés
Vous pouvez désactiver les réseaux autorisés pour un environnement existant :
- Pour les environnements d'adresse IP privée, cela supprime l'accès des plages précédemment ajoutées en tant que réseaux autorisés.
Pour les environnements d'adresses IP publiques, cela supprime les restrictions précédemment configurées.
gcloud
Pour désactiver les réseaux autorisés, utilisez l'argument --disable-master-authorized-networks
.
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--disable-master-authorized-networks
Remplacez :
ENVIRONMENT_NAME
par le nom de l'environnement.LOCATION
par la région dans laquelle se trouve l'environnement.
Exemple :
gcloud composer environments update example-environment \
--location us-central1 \
--disable-master-authorized-networks
API
Rédigez une requête API
environments.patch
.Dans cette requête :
Dans le paramètre
updateMask
, spécifiez le masqueconfig.softwareConfig.masterAuthorizedNetworksConfig
.Dans le corps de la requête, spécifiez
false
dans le champenabled
.
"config": {
"masterAuthorizedNetworksConfig": {
"enabled": false
}
}
Exemple :
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.softwareConfig.masterAuthorizedNetworksConfig
"config": {
"masterAuthorizedNetworksConfig": {
"enabled": false,
}
}
Terraform
Le bloc master_authorized_networks_config
dans les commandes de bloc config
autorisés pour votre environnement.
Pour désactiver les réseaux autorisés, définissez le champ enabled
dans
le bloc master_authorized_networks_config
à false
.
Exemple :
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
}
}
}
Étape suivante
- Configurer des environnements d'adresse IP privée.
- Créer des environnements
- À propos des environnements d'adresse IP privée