Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
이 페이지에서는 해당 환경에 대해 승인된 네트워크를 구성하는 방법을 설명합니다.
Cloud Composer의 승인된 네트워크 정보
승인된 네트워크를 사용하면 HTTPS를 사용하여 해당 환경의 클러스터 제어 영역에 액세스할 수 있는 CIDR 범위를 지정할 수 있습니다.
예를 들어 Cloud Composer 1에서 Airflow CLI 명령어를 실행(gcloud composer environments run
)하려면 비공개 IP 환경에 환경 클러스터에 대한 액세스 권한이 필요합니다. 이러한 요청이 시작되는 네트워크는 환경 클러스터의 제어 영역에 액세스할 수 있는 권한이 있어야 합니다.
비공개 및 공개 IP 환경의 승인된 네트워크
공개 IP 및 비공개 IP 환경 모두 승인된 네트워크를 지정할 수 있습니다.
비공개 IP 환경에서는 특정 IP 주소 범위가 해당 환경의 클러스터의 제어 영역에 액세스할 수 있도록 승인된 네트워크를 구성할 수 있습니다. 예를 들어 특정 IP 범위를 허용하려면
kubectl
및 Airflow CLI 명령어를 실행합니다. 기본적으로 비공개 IP 환경에서는 비공개 IP 환경의 VPC 서브네트워크에 있는 VM에서만 이러한 명령어를 실행할 수 있습니다.공개 IP 환경에서는 승인된 네트워크를 구성하여 해당 환경의 클러스터의 제어 영역에 액세스할 수 있는 IP 주소 범위를 제한할 수 있습니다. 기본적으로 공개 IP 환경에서는
kubectl
및 Airflow CLI 명령어를 실행할 수 있는 IP 범위에 대한 제한사항이 없습니다.
시작하기 전에
승인된 네트워크로 환경 만들기
gcloud
승인된 네트워크로 환경을 만들려면 환경을 만들 때 --enable-master-authorized-networks
인수를 사용합니다. 그런 후 --master-authorized-networks
인수에 쉼표로 구분된 CIDR 범위 목록을 제공합니다.
비공개 IP 환경에 대해 승인된 네트워크를 지정하려면 다음 안내를 따르세요.
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
다음과 같이 바꿉니다.
ENVIRONMENT_NAME
을 환경 이름으로 바꿉니다.LOCATION
을 환경이 위치한 리전으로 바꿉니다.AUTHORIZED_NETWORKS_IP_RANGES
를 CIDR 표기법으로 표시된 쉼표로 구분된 IP 주소 범위 목록으로 바꿉니다. 이러한 범위는 해당 환경의 클러스터에 대해 승인된 네트워크로 추가됩니다.
예시(비공개 IP 환경):
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
environments.create
API 요청을 생성합니다. 환경 리소스에서 승인된 네트워크가 있는 환경에 대해 구성 매개변수를 지정합니다.
비공개 IP 환경에 대해 승인된 네트워크를 지정하려면 다음 안내를 따르세요.
// 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"
}
]
}
}
}
다음과 같이 바꿉니다.
ENVIRONMENT_NAME
을 환경 이름으로 바꿉니다.AUTHORIZED_NETWORK_NAME
을 승인된 네트워크 IP 범위의 이름으로 바꿉니다. 이 이름을 사용하여 이 블록을 식별합니다. 이 필드는 선택사항입니다.AUTHORIZED_NETWORK_RANGE
를 CIDR 표기법으로 표시된 IP 주소 범위로 바꿉니다. 이 범위는 해당 환경의 클러스터에 대해 승인된 네트워크로 추가됩니다.- 여러 IP 범위를 사용하려면 추가 범위를
cidrBlocks
에 추가합니다.
예시(비공개 IP 환경):
// 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
환경을 만들 때 config
블록의 master_authorized_networks_config
블록은 환경에 대해 승인된 네트워크를 제어합니다.
비공개 IP 환경에 대해 승인된 네트워크를 지정하려면 다음 안내를 따르세요.
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"
}
}
}
}
다음과 같이 바꿉니다.
ENVIRONMENT_NAME
을 환경 이름으로 바꿉니다.LOCATION
을 환경이 위치한 리전으로 바꿉니다.AUTHORIZED_NETWORK_RANGE
를 CIDR 표기법으로 표시된 IP 주소 범위로 바꿉니다. 이 범위는 해당 환경의 클러스터에 대해 승인된 네트워크로 추가됩니다.AUTHORIZED_NETWORK_NAME
을 승인된 네트워크 IP 범위의 이름으로 바꿉니다. 이 이름을 사용하여 이 블록을 식별합니다.- 여러 IP 범위를 사용하려면
master_authorized_networks_config
에cidr_blocks
블록을 더 추가합니다.
예시(비공개 IP 환경):
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"
}
}
}
}
기존 환경에 대해 승인된 네트워크 지정
기존 환경에 대해 승인된 네트워크를 지정할 수 있습니다.
gcloud
승인된 네트워크를 지정하려면 --enable-master-authorized-networks
인수를 사용합니다. 그런 후 --master-authorized-networks
인수에 쉼표로 구분된 CIDR 범위 목록을 제공합니다.
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--enable-master-authorized-networks \
--master-authorized-networks AUTHORIZED_NETWORKS_IP_RANGES
다음과 같이 바꿉니다.
ENVIRONMENT_NAME
을 환경 이름으로 바꿉니다.LOCATION
을 환경이 위치한 리전으로 바꿉니다.AUTHORIZED_NETWORKS_IP_RANGES
를 CIDR 표기법으로 표시된 쉼표로 구분된 IP 주소 범위 목록으로 바꿉니다. 이러한 범위는 해당 환경의 클러스터에 대해 승인된 네트워크로 추가됩니다.
예를 들면 다음과 같습니다.
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
environments.patch
API 요청을 생성합니다.이 요청의 작성 방법:
updateMask
매개변수에서config.softwareConfig.masterAuthorizedNetworksConfig
마스크를 지정합니다.요청 본문에서 승인된 네트워크에 대해 CIDR 범위를 지정합니다.
"config": {
"masterAuthorizedNetworksConfig": {
"enabled": true,
"cidrBlocks": [
{
"displayName": "AUTHORIZED_NETWORK_NAME",
"cidrBlock": "AUTHORIZED_NETWORK_RANGE"
}
]
}
}
다음과 같이 바꿉니다.
AUTHORIZED_NETWORK_NAME
을 승인된 네트워크 IP 범위의 이름으로 바꿉니다. 이 이름을 사용하여 이 블록을 식별합니다. 이 필드는 선택사항입니다.AUTHORIZED_NETWORK_RANGE
를 CIDR 표기법으로 표시된 IP 주소 범위로 바꿉니다. 이 범위는 해당 환경의 클러스터에 대해 승인된 네트워크로 추가됩니다.- 여러 IP 범위를 사용하려면 추가 범위를
cidrBlocks
에 추가합니다.
예를 들면 다음과 같습니다.
// 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
config
블록의 master_authorized_networks_config
블록은 환경의 승인된 네트워크를 제어합니다.
비공개 IP 환경의 승인된 네트워크를 추가하려면 환경 정의에 이 블록을 추가합니다.
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"
}
}
}
}
다음과 같이 바꿉니다.
AUTHORIZED_NETWORK_RANGE
를 CIDR 표기법으로 표시된 IP 주소 범위로 바꿉니다. 이 범위는 해당 환경의 클러스터에 대해 승인된 네트워크로 추가됩니다.AUTHORIZED_NETWORK_NAME
을 승인된 네트워크 IP 범위의 이름으로 바꿉니다. 이 이름을 사용하여 이 블록을 식별합니다.- 여러 IP 범위를 사용하려면
master_authorized_networks_config
에cidr_blocks
블록을 더 추가합니다.
예를 들면 다음과 같습니다.
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"
}
}
}
}
승인된 네트워크 사용 중지
기존 환경에 대해 승인된 네트워크를 사용 중지할 수 있습니다.
- 비공개 IP 주소의 경우, 이렇게 하면 이전에 승인된 네트워크로 추가되었던 범위에 대해 액세스가 삭제됩니다.
공개 IP 주소의 경우, 이렇게 하면 이전에 구성된 제한사항이 삭제됩니다.
gcloud
승인된 네트워크를 사용 중지하려면 --disable-master-authorized-networks
인수를 사용합니다.
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--disable-master-authorized-networks
다음과 같이 바꿉니다.
ENVIRONMENT_NAME
을 환경 이름으로 바꿉니다.LOCATION
을 환경이 위치한 리전으로 바꿉니다.
예를 들면 다음과 같습니다.
gcloud composer environments update example-environment \
--location us-central1 \
--disable-master-authorized-networks
API
environments.patch
API 요청을 생성합니다.이 요청의 작성 방법:
updateMask
매개변수에서config.softwareConfig.masterAuthorizedNetworksConfig
마스크를 지정합니다.요청 본문에서
enabled
필드에false
를 지정합니다.
"config": {
"masterAuthorizedNetworksConfig": {
"enabled": false
}
}
예를 들면 다음과 같습니다.
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.softwareConfig.masterAuthorizedNetworksConfig
"config": {
"masterAuthorizedNetworksConfig": {
"enabled": false,
}
}
Terraform
config
블록의 master_authorized_networks_config
블록은 환경의 승인된 네트워크를 제어합니다.
승인된 네트워크를 중지하려면 master_authorized_networks_config
블록의 enabled
필드를 false
로 설정합니다.
예를 들면 다음과 같습니다.
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
}
}
}