Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
VPC 서비스 제어를 사용하면 조직에서Google Cloud 리소스 주위에 경계를 정의하여 데이터 무단 반출 위험을 완화할 수 있습니다.
Cloud Composer 환경은 서비스 경계 내에 배포될 수 있습니다. VPC 서비스 제어로 환경을 구성하면 Cloud Composer의 완전 관리형 워크플로 조정 기능을 활용하면서 민감한 정보를 비공개로 유지할 수 있습니다.
Cloud Composer에 대한 VPC 서비스 제어 지원은 다음을 의미합니다.
- 이제 VPC 서비스 제어 경계 내에서 보안 서비스로 Cloud Composer를 선택할 수 있습니다.
- Cloud Composer에서 사용하는 모든 기본 리소스는 VPC 서비스 제어 아키텍처를 지원하고 해당 규칙을 따르도록 구성됩니다.
VPC 서비스 제어를 사용하여 Cloud Composer 환경을 배포하면 다음 이점을 얻을 수 있습니다.
- 데이터 무단 반출 위험 감소
- 잘못 구성된 액세스 제어로 인한 데이터 노출 방지
- 악의적인 사용자가 승인되지 않은Google Cloud 리소스에 데이터를 복사하거나 인터넷에서Google Cloud 리소스에 액세스하는 외부 공격자의 위험을 줄입니다.
Cloud Composer의 VPC 서비스 제어 정보
- 모든 VPC 서비스 제어 네트워크 제약조건은 Cloud Composer 환경에도 적용됩니다. 자세한 내용은 VPC 서비스 제어 문서를 참조하세요.
Cloud Composer 환경이 경계로 보호되는 경우 공개 PyPI 저장소에 대한 액세스가 제한됩니다. 자세한 내용은 VPC 서비스 제어에서 PyPI 패키지 설치를 참고하세요.
환경에 비공개 IP 네트워킹이 사용될 경우 비공개 Google 액세스를 통해 비공개 IP 환경에서 사용할 수 있는 Google API, 서비스, 도메인에 대한 트래픽을 제외한 모든 내부 트래픽이 VPC 네트워크로 라우팅됩니다.
VPC 네트워크 구성 방법에 따라 비공개 IP 환경은 VPC 네트워크를 통해 인터넷에 액세스할 수 있습니다.
VPC 서비스 제어 모드에서 웹 서버에 대한 액세스는 경계로 보호되며 경계 외부의 액세스가 차단됩니다. 서비스 경계 외부에서 액세스할 수 있도록 하려면 필요에 따라 액세스 수준 또는 인그레스 및 이그레스 규칙을 구성합니다. 또한 웹 서버에 대한 액세스를 특정 IP 범위로 제한할 수 있습니다.
VPC 서비스 제어의 Google API 및 서비스 연결 정보
Cloud Composer 3는 restricted.googleapis.com
를 통해 Google 서비스로 트래픽을 라우팅하며, 이 범위에서 지원되는 Google API, 서비스, 도메인에 액세스할 수 있습니다.
restricted.googleapis.com
을 통해 사용할 수 있는 서비스 및 도메인에 관한 자세한 내용과 목록은 가상 프라이빗 클라우드 문서의 네트워크 구성을 참고하세요.
Cloud Composer 3는 필수 API 및 서비스 목록에 없는 Google API, 서비스, 도메인에 대한 호출을 차단합니다. DAG에서 API를 호출하려면 다음을 실행해야 합니다.
- 제한된 서비스에 서비스 추가
- VPC 액세스 가능 서비스에 서비스 추가
예를 들어 VertexAI Operator를 사용하는 경우 제한된 서비스와 VPC 액세스 가능 서비스 모두에 aiplatform.googleapis.com
를 추가합니다.
자세한 내용은 VPC 서비스 제어 문서의 서비스 경계 관리를 참고하세요.
서비스 경계 만들기
서비스 경계를 만들고 구성하는 방법은 서비스 경계 만들기를 참조하세요. 경계 내에 보호되는 서비스 중 하나로 Cloud Composer를 선택해야 합니다.
경계에서 환경 만들기
경계 내에 Cloud Composer를 배포하려면 다음 단계를 따르세요.
프로젝트에 Access Context Manager API 및 Cloud Composer API를 사용 설정합니다. 자세한 내용은 API 사용 설정을 참조하세요.
서비스 경계에 다음 VPC 액세스 가능 Google 서비스가 있는지 확인합니다. 없으면 환경을 만들 수 없습니다.
- Cloud Composer API(composer.googleapis.com)
- Artifact Registry API(artifactregistry.googleapis.com)
- Compute Engine API(compute.googleapis.com)
- Kubernetes Engine API(container.googleapis.com)
- Container File System API (containerfilesystem.googleapis.com)
- Cloud DNS API (dns.googleapis.com)
- Service Account Credentials API (iamcredentials.googleapis.com)
- Cloud Logging API(logging.googleapis.com)
- Cloud Monitoring API(monitoring.googleapis.com)
- Cloud Pub/Sub API(pubsub.googleapis.com)
- Cloud SQL Admin API(sqladmin.googleapis.com)
- Cloud Storage API(storage.googleapis.com)
새 Cloud Composer 환경을 만듭니다.
- Google Cloud CLI를 사용하여 환경을 만듭니다.
--enable-private-environment
인수를 사용하여 비공개 IP를 사용 설정합니다.--web-server-allow-all
,--web-server-allow-ip
또는--web-server-deny-all
인수를 사용하여 웹 서버의 액세스 매개변수를 지정합니다. 이러한 인수 사용에 관한 자세한 내용은 환경 만들기를 참고하세요. 보호를 강화하려면 특정 IP 범위에서만 웹 서버 액세스를 허용합니다.--enable-private-builds-only
인수를 사용하여 공개 인터넷 저장소의 패키지 설치를 허용하지 않습니다.예:
gcloud composer environments create example-environment \ --location us-central1 \ --enable-private-environment \ --web-server-allow-all \ --enable-private-builds-only
기본적으로 Airflow UI 및 API에 대한 액세스는 보안 경계 내에서만 허용됩니다. 보안 경계 외부에서 사용할 수 있게 하려면 액세스 수준 또는 인그레스 및 이그레스 규칙을 구성합니다.
기존 환경을 경계에 추가
환경에서 비공개 IP를 사용하고 공개 저장소에서 PyPI 패키지 설치가 사용 중지된 경우 환경이 포함된 프로젝트를 경계에 추가할 수 있습니다.
기존 Cloud Composer 3 환경을 이 구성으로 업데이트하려면 다음 단계를 따르세요.
- 이전 섹션에 설명된 대로 이미 경계를 만들었거나 구성했는지 확인합니다.
- Google Cloud CLI를 사용하여 환경을 업데이트합니다.
--enable-private-environment
인수를 사용하여 비공개 IP를 사용 설정합니다.--enable-private-builds-only
인수를 사용하여 공개 인터넷 저장소의 패키지 설치를 허용하지 않습니다.- 필요한 경우 Airflow 웹 서버에 대한 액세스를 구성합니다. 보호를 강화하려면 특정 IP 범위에서만 웹 서버 액세스를 허용합니다.
예:
gcloud composer environments update example-environment \
--location us-central1 \
--enable-private-environment \
--enable-private-builds-only
VPC 서비스 제어에서 PyPI 패키지 설치
기본 VPC 서비스 제어 구성에서 Cloud Composer는 VPC 네트워크의 내부 IP 주소 공간에서 연결할 수 있는 비공개 저장소의 PyPI 패키지 설치만 지원합니다.
VPC 서비스 제어 경계 내의 모든 Cloud Composer 환경은 기본적으로 공개 PyPI 저장소에 액세스할 수 없습니다.
비공개 저장소에서 설치
권장 구성은 비공개 PyPI 저장소를 설정하는 것입니다.
조직에서 사용하는 검증된 패키지로 채운 다음 비공개 저장소에서 Python 종속 항목을 설치하도록 Cloud Composer를 구성합니다.
공개 저장소에서 설치
외부 저장소에서 PyPI 패키지를 설치하려면 다음 안내를 따르세요.
- Artifact Registry 원격 저장소를 만듭니다.
- 이 저장소에 업스트림 소스에 대한 액세스 권한을 부여합니다.
- Artifact Registry 저장소에서 패키지를 설치하도록 Airflow를 구성합니다.
VPC 서비스 제어 로그
환경 만들기 문제를 해결할 때 VPC 서비스 제어로 생성된 감사 로그를 분석할 수 있습니다.
다른 로그 메시지 외에도 로그에서 해당 환경의 구성요소를 구성하는 cloud-airflow-prod@system.gserviceaccount.com
및 service-PROJECT_ID@cloudcomposer-accounts.iam.gserviceaccount.com
서비스 계정 관련 정보를 확인할 수 있습니다.
Cloud Composer 서비스는 cloud-airflow-prod@system.gserviceaccount.com
서비스 계정을 사용하여 해당 환경의 테넌트 프로젝트 구성요소를 관리합니다.
Composer 서비스 에이전트 서비스 계정이라고도 하는 service-PROJECT_ID@cloudcomposer-accounts.iam.gserviceaccount.com
서비스 계정은 서비스 및 호스트 프로젝트에서 환경 구성요소를 관리합니다.