공유 VPC 구성

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

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

공유 VPC 가이드라인

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

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

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

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

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

    • pod: /21
    • 서비스: /27

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

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

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

준비

  1. 다음 프로젝트 ID와 프로젝트 번호를 찾습니다.
    • 호스트 프로젝트: 공유 VPC 네트워크가 포함된 프로젝트
    • 서비스 프로젝트: Cloud Composer 환경이 포함된 프로젝트
  2. 조직을 준비합니다.
  3. 호스트와 서비스 프로젝트에서 GKE API를 사용 설정합니다.

호스트 프로젝트 구성

  1. 다음 옵션 중 하나를 선택하여 네트워킹 리소스를 할당하고 구성합니다.

    각 옵션에 pod 및 서비스의 보조 IP 범위 이름을 지정해야 합니다.

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

    • 공유 VPC가 이미 있는 경우 서비스 프로젝트 연결 단계에서 시작합니다.
    • 프로젝트를 연결할 때 기본 VPC 네트워크 권한을 그대로 둡니다.
  3. 호스트 프로젝트에서 다음을 수행합니다.

    1. Google API 서비스 계정 SERVICE_PROJECT_NUMBER@cloudservices.gserviceaccount.com에 대해 권한을 수정합니다.

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

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

    1. GKE 서비스 계정 service-SERVICE_PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com에 대해 권한을 수정합니다.
    2. 각 서비스 계정에 대해 또 다른 역할인 compute.networkUser를 추가합니다. 이렇게 하려면 VPC 네트워크 목록으로 이동하고 대상 네트워크를 선택합니다. 이 권한은 서비스 계정이 Cloud Composer에 필요한 VPC 피어링 아키텍처를 설정하도록 허용하기 위해 네트워크 수준에서 부여되어야 합니다.
  5. 호스트 프로젝트에서 다음을 수행합니다.

    1. 서비스 프로젝트의 GKE 서비스 계정에 대해 권한을 수정합니다.
    2. 이 계정에 대해 또 다른 역할인 Host Service Agent User를 추가합니다. 그러면 서비스 프로젝트의 GKE 서비스 계정이 호스트 프로젝트의 GKE 서비스 계정을 사용하여 공유 네트워크 리소스를 구성할 수 있습니다.
  6. 호스트 프로젝트에서 다음을 수행합니다.

    1. DNS *.pkg.dev가 199.36.153.4/30으로 확인되어야 합니다. 이렇게 하려면 CNAME *.pkg.dev -> pkg.dev로 새 영역을 만듭니다. pkg.dev. -> 199.36.153.4, 199.36.153.5, 199.36.153.6, 199.36.153.7
  7. 호스트 프로젝트에서 이것이 첫 번째 Cloud Composer 환경이면 Composer Agent 서비스 계정을 프로비저닝합니다. gcloud beta services identity create --service=composer.googleapis.com.

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

    1. Composer Agent 서비스 계정 service-SERVICE_PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com에 대해 권한을 수정합니다.
    2. 이 계정에 대해 또 다른 역할을 추가합니다.
      • 비공개 IP 환경에 대해 Composer Shared VPC Agent 역할을 추가합니다.
      • 공개 IP 환경의 경우 Compute Network User 역할을 추가합니다.

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

다음 단계

Cloud SDK를 사용하여 Cloud Composer 환경을 생성하고 호스트 프로젝트의 네트워크 및 서브네트워크를 구성 매개변수로 제공합니다.