Cloud Composer 1 Cloud Composer 2
Auf dieser Seite wird erläutert, wie Sie autorisierte Netzwerke für Ihre Umgebung konfigurieren.
Autorisierte Netzwerke in Cloud Composer
Mit autorisierten Netzwerken können Sie CIDR-Bereiche angeben, die über HTTPS auf die Cluster-Steuerungsebene Ihrer Umgebung zugreifen können.
In Cloud Composer 1 ist dieser Zugriff auf den Cluster Ihrer Umgebung beispielsweise in privaten IP-Umgebungen erforderlich, um Airflow-Befehlszeilenbefehle auszuführen(gcloud composer environments run
). Netzwerke, aus denen solche Anfragen stammen, müssen für den Zugriff auf die Steuerungsebene des Clusters Ihrer Umgebung autorisiert werden.
Autorisierte Netzwerke in privaten und öffentlichen IP-Umgebungen
Sie können autorisierte Netzwerke sowohl für öffentliche IP-Umgebungen als auch für private IP-Umgebungen angeben.
In privaten IP-Umgebungen können Sie autorisierte Netzwerke konfigurieren, um einem bestimmten Bereich von IP-Adressen Zugriff auf die Steuerungsebene des Clusters Ihrer Umgebung zu gewähren. So können Sie beispielsweise bestimmten IP-Bereichen die Ausführung von
kubectl
- und Airflow-Befehlszeilenbefehlen erlauben. In privaten IP-Umgebungen können diese Befehle standardmäßig nur von einer VM im VPC-Subnetzwerk der privaten IP-Umgebung ausgeführt werden.In öffentlichen IP-Umgebungen können Sie autorisierte Netzwerke konfigurieren, um den Bereich der IP-Adressen einzuschränken, die auf die Steuerungsebene des Clusters Ihrer Umgebung zugreifen können. In öffentlichen IP-Umgebungen gibt es standardmäßig keine Einschränkungen für IP-Bereiche, die
kubectl
- und Airflow-Befehlszeilenbefehle ausführen können.
Hinweise
Sie können autorisierte Netzwerke nur mit
gcloud
, Terraform und der REST API angeben.Sie können autorisierte Netzwerke beim Erstellen einer Umgebung oder für eine vorhandene Umgebung angeben.
Umgebungen mit autorisierten Netzwerken erstellen
gcloud
Verwenden Sie beim Erstellen einer Umgebung das Argument --enable-master-authorized-networks
, um eine Umgebung mit autorisierten Netzwerken zu erstellen. Geben Sie dann eine durch Kommas getrennte Liste von CIDR-Bereichen im Argument --master-authorized-networks
an.
So geben Sie autorisierte Netzwerke für eine private IP-Umgebung an:
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
Ersetzen Sie:
ENVIRONMENT_NAME
durch den Namen der Umgebung.LOCATION
durch die Region, in der sich die Umgebung befindet.AUTHORIZED_NETWORKS_IP_RANGES
durch eine durch Kommas getrennte Liste von IP-Adressbereichen in der CIDR-Notation. Diese Bereiche werden als autorisierte Netzwerke für den Cluster Ihrer Umgebung hinzugefügt.
Beispiel (private IP-Umgebung):
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
Erstellen Sie eine API-Anfrage environments.create
. Geben Sie in der Umgebungsressource die Konfigurationsparameter für eine Umgebung mit autorisierten Netzwerken an.
So geben Sie autorisierte Netzwerke für eine private IP-Umgebung an:
// 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"
}
]
}
}
}
Ersetzen Sie:
ENVIRONMENT_NAME
durch den Namen der Umgebung.AUTHORIZED_NETWORK_NAME
durch den Namen des autorisierten Netzwerk-IP-Bereichs. Mit diesem Namen identifizieren Sie den Block. Dieses Feld ist optional.AUTHORIZED_NETWORK_RANGE
durch einen IP-Adressbereich in der CIDR-Notation. Dieser Bereich wird als autorisierte Netzwerke für den Cluster Ihrer Umgebung hinzugefügt.- Wenn Sie mehrere IP-Bereiche verwenden möchten, fügen Sie zusätzliche Bereiche zu
cidrBlocks
hinzu.
Beispiel (private IP-Umgebung):
// 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
Wenn Sie eine Umgebung erstellen, werden mit dem Block master_authorized_networks_config
im Block config
autorisierte Netzwerke für Ihre Umgebung gesteuert.
So geben Sie autorisierte Netzwerke für eine private IP-Umgebung an:
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"
}
}
}
}
Ersetzen Sie:
ENVIRONMENT_NAME
durch den Namen der Umgebung.LOCATION
durch die Region, in der sich die Umgebung befindet.AUTHORIZED_NETWORK_RANGE
durch einen IP-Adressbereich in der CIDR-Notation. Dieser Bereich wird als autorisierte Netzwerke für den Cluster Ihrer Umgebung hinzugefügt.AUTHORIZED_NETWORK_NAME
durch den Namen des autorisierten Netzwerk-IP-Bereichs. Mit diesem Namen identifizieren Sie den Block.- Wenn Sie mehrere IP-Bereiche verwenden möchten, fügen Sie
master_authorized_networks_config
zusätzlichecidr_blocks
-Blöcke hinzu.
Beispiel (private IP-Umgebung):
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"
}
}
}
}
Autorisierte Netzwerke für eine vorhandene Umgebung angeben
Sie können autorisierte Netzwerke für eine vorhandene Umgebung angeben.
gcloud
Verwenden Sie das Argument --enable-master-authorized-networks
, um autorisierte Netzwerke anzugeben. Geben Sie dann eine durch Kommas getrennte Liste von CIDR-Bereichen im Argument --master-authorized-networks
an.
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--enable-master-authorized-networks \
--master-authorized-networks AUTHORIZED_NETWORKS_IP_RANGES
Ersetzen Sie:
ENVIRONMENT_NAME
durch den Namen der Umgebung.LOCATION
durch die Region, in der sich die Umgebung befindet.AUTHORIZED_NETWORKS_IP_RANGES
durch eine durch Kommas getrennte Liste von IP-Adressbereichen in der CIDR-Notation. Diese Bereiche werden als autorisierte Netzwerke für den Cluster Ihrer Umgebung hinzugefügt.
Beispiel:
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
Erstellen Sie eine API-Anfrage
environments.patch
.In dieser Anfrage:
Geben Sie im
updateMask
-Parameter dieconfig.softwareConfig.masterAuthorizedNetworksConfig
-Maske an.Geben Sie im Anfragetext CIDR-Bereiche für autorisierte Netzwerke an.
"config": {
"masterAuthorizedNetworksConfig": {
"enabled": true,
"cidrBlocks": [
{
"displayName": "AUTHORIZED_NETWORK_NAME",
"cidrBlock": "AUTHORIZED_NETWORK_RANGE"
}
]
}
}
Ersetzen Sie:
AUTHORIZED_NETWORK_NAME
durch den Namen des autorisierten Netzwerk-IP-Bereichs. Mit diesem Namen identifizieren Sie den Block. Dieses Feld ist optional.AUTHORIZED_NETWORK_RANGE
durch einen IP-Adressbereich in der CIDR-Notation. Dieser Bereich wird als autorisiertes Netzwerk für den Cluster Ihrer Umgebung hinzugefügt.- Wenn Sie mehrere IP-Bereiche verwenden möchten, fügen Sie zusätzliche Bereiche zu
cidrBlocks
hinzu.
Beispiel:
// 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
Mit dem Block master_authorized_networks_config
im Block config
werden autorisierte Netzwerke für Ihre Umgebung gesteuert.
Wenn Sie autorisierte Netzwerke für eine private IP-Umgebung hinzufügen möchten, fügen Sie Ihrer Umgebungsdefinition diesen Block hinzu:
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"
}
}
}
}
Ersetzen Sie:
AUTHORIZED_NETWORK_RANGE
durch einen IP-Adressbereich in der CIDR-Notation. Dieser Bereich wird als autorisierte Netzwerke für den Cluster Ihrer Umgebung hinzugefügt.AUTHORIZED_NETWORK_NAME
durch den Namen des autorisierten Netzwerk-IP-Bereichs. Mit diesem Namen identifizieren Sie den Block.- Wenn Sie mehrere IP-Bereiche verwenden möchten, fügen Sie
master_authorized_networks_config
zusätzlichecidr_blocks
-Blöcke hinzu.
Beispiel:
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"
}
}
}
}
Autorisiertes Netzwerk deaktivieren
Sie können autorisierte Netzwerke für eine vorhandene Umgebung deaktivieren:
- Bei Umgebungen mit privaten IP-Adressen wird der Zugriff für Bereiche entfernt, die zuvor als autorisiertes Netzwerk hinzugefügt wurden.
Bei öffentlichen IP-Umgebungen werden zuvor konfigurierte Einschränkungen aufgehoben.
gcloud
Verwenden Sie das Argument --disable-master-authorized-networks
, um autorisierte Netzwerke zu deaktivieren.
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--disable-master-authorized-networks
Ersetzen Sie:
ENVIRONMENT_NAME
durch den Namen der Umgebung.LOCATION
durch die Region, in der sich die Umgebung befindet.
Beispiel:
gcloud composer environments update example-environment \
--location us-central1 \
--disable-master-authorized-networks
API
Erstellen Sie eine API-Anfrage
environments.patch
.In dieser Anfrage:
Geben Sie im
updateMask
-Parameter dieconfig.softwareConfig.masterAuthorizedNetworksConfig
-Maske an.Geben Sie im Anfragetext
false
im Feldenabled
an.
"config": {
"masterAuthorizedNetworksConfig": {
"enabled": false
}
}
Beispiel:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.softwareConfig.masterAuthorizedNetworksConfig
"config": {
"masterAuthorizedNetworksConfig": {
"enabled": false,
}
}
Terraform
Mit dem Block master_authorized_networks_config
im Block config
werden autorisierte Netzwerke für Ihre Umgebung gesteuert.
Setzen Sie zum Deaktivieren autorisierter Netzwerke das Feld enabled
im Block master_authorized_networks_config
auf false
.
Beispiel:
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
}
}
}