공유 VPC 구성

Cloud Composer 1 | Cloud Composer 2

이 페이지에서는 Cloud Composer의 공유 VPC 네트워크 및 호스트 프로젝트 요구사항을 설명합니다.

조직에서는 공유 VPC를 사용하여 프로젝트 수준에서 예산 및 액세스 제어 경계를 설정하고, 비공개 IP를 사용하여 안전하고 효율적인 경계 간 통신을 수행할 수 있습니다. 공유 VPC 구성에서 Cloud Composer는 서비스를 공개 인터넷에 노출하지 않고도 동일한 조직의 다른 Google Cloud 프로젝트에서 호스팅되는 서비스를 호출할 수 있습니다.

공유 VPC 가이드라인

Cloud Composer용 서비스 및 호스트 프로젝트
그림 1. Cloud Composer용 서비스 및 호스트 프로젝트
  • 공유 VPC를 사용하려면 네트워크와 서브네트워크가 속한 호스트 프로젝트와 호스트 프로젝트에 연결된 서비스 프로젝트를 지정해야 합니다. Cloud Composer가 공유 VPC에 참여하면 Cloud Composer 환경이 서비스 프로젝트에 포함됩니다.

  • 공유 VPC를 설정하려면 호스트 프로젝트에서 다음 IP 범위를 선택합니다.

    • Cloud Composer가 Compute Engine 레이어로 사용하는 GKE 노드에서 사용하는 서브넷의 기본 IP 범위
    • GKE 서비스의 보조 IP 범위
    • GKE 포드의 보조 IP 범위
  • 보조 IP 범위는 이 VPC의 다른 보조 범위와 겹칠 수 없습니다.

  • 보조 범위의 크기는 클러스터의 크기와 예상되는 클러스터 증가량을 수용할 만큼 커야 합니다.

    보조 범위의 네트워크 프리픽스는 다음 값을 초과하여 늘릴 수 없습니다. 이 값보다 작거나 같은 네트워크 프리픽스를 지정하세요. 더 낮은 값을 지정할수록 CIDR 범위가 더 커집니다.

    - Pods: `/21`
    - Services: `/27`
    

    포드의 보조 범위서비스 구성에 대한 가이드라인은 VPC 기반 클러스터 만들기를 참조하세요.

  • 서브넷의 기본 주소 범위는 예상되는 증가량을 수용할 만큼 커야 하고, 예약된 IP 주소를 고려해야 합니다.

    서브넷 기본 주소 범위의 네트워크 프리픽스는 /29를 초과할 수 없습니다. 이 값보다 작거나 같은 네트워크 프리픽스를 지정하세요. 더 낮은 값을 지정할수록 CIDR 범위가 더 커집니다.

준비

  1. 다음 프로젝트 ID와 프로젝트 번호를 찾습니다.

    • 호스트 프로젝트: 공유 VPC 네트워크가 포함된 프로젝트
    • 서비스 프로젝트: Cloud Composer 환경이 포함된 프로젝트
  2. 조직을 준비합니다.

  3. 호스트와 서비스 프로젝트에서 GKE API를 사용 설정합니다.

호스트 프로젝트 구성

추가로 설명된 것처럼 호스트 프로젝트를 구성합니다.

네트워킹 리소스 구성

다음 옵션 중 하나를 선택하여 네트워킹 리소스를 할당하고 구성합니다. 각 옵션에서 포드와 서비스의 보조 IP 범위 이름을 지정해야 합니다.

공유 VPC 설정 및 서비스 프로젝트 연결

  1. 아직 수행하지 않은 경우 공유 VPC를 설정합니다. 공유 VPC를 이미 설정한 경우 다음 단계로 건너뜁니다.

  2. Cloud Composer 환경을 호스팅하는 데 사용할 서비스 프로젝트를 연결합니다.

    프로젝트를 연결할 때 기본 VPC 네트워크 권한을 그대로 둡니다.

Google API 서비스 계정 권한 수정

호스트 프로젝트에서 Google API 서비스 계정 SERVICE_PROJECT_NUMBER@cloudservices.gserviceaccount.com에 대한 권한을 수정합니다.

이 계정에 대해 프로젝트 수준에서 다른 역할 compute.networkUser를 추가합니다. 이 유형의 서비스 계정이 인스턴스 만들기와 같은 태스크를 수행하기 때문에 이는 공유 VPC에 사용되는 관리형 인스턴스 그룹의 요구사항입니다.

GKE 서비스 계정 권한 수정

호스트 프로젝트에서 GKE 서비스 계정 service-SERVICE_PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com에 대한 권한을 수정합니다.

서비스 계정마다 다른 역할 compute.networkUser를 추가합니다.

서비스 계정이 Cloud Composer에 필요한 VPC 피어링을 설정할 수 있도록 하려면 서브넷 수준에서 이 권한을 부여해야 합니다.

서비스 프로젝트의 GKE 서비스 계정 권한 수정

호스트 프로젝트에서 서비스 프로젝트의 GKE 서비스 계정에 대한 권한을 수정합니다.

이 계정에 대해 다른 역할 Host Service Agent User를 추가합니다.

그러면 서비스 프로젝트의 GKE 서비스 계정이 호스트 프로젝트의 GKE 서비스 계정을 사용하여 공유 네트워크 리소스를 구성할 수 있습니다.

*.pkg.dev에 대한 연결 구성

호스트 프로젝트에서 DNS *.pkg.dev199.36.153.4/30으로 확인되는지 확인합니다.

이렇게 하려면 CNAME *.pkg.dev -> pkg.dev. A pkg.dev. -> 199.36.153.4, 199.36.153.5, 199.36.153.6, 199.36.153.7과 같이 새 영역을 만듭니다.

Composer Agent 서비스 계정 권한 수정

  1. 호스트 프로젝트에서 이것이 첫 번째 Cloud Composer 환경이면 Composer Agent 서비스 계정을 프로비저닝합니다. gcloud beta services identity create --service=composer.googleapis.com.

  2. 호스트 프로젝트에서 다음을 수행합니다.

    1. Composer Agent 서비스 계정 service-SERVICE_PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com에 대해 권한을 수정합니다.

    2. 이 계정에 대해 다른 역할을 추가합니다.

      • 비공개 IP 환경의 경우 Composer Shared VPC Agent 역할을 추가합니다.

      • 공개 IP 환경의 경우 Compute Network User 역할을 추가합니다.

호스트 프로젝트에 대한 공유 VPC 네트워크 구성을 완료했습니다.

다음 단계