비공개 풀 구성 파일 스키마

비공개 풀 구성 파일(비공개 풀 구성 파일)에는 사양에 따라 비공개 풀을 만드는 Cloud Build 지침이 포함됩니다. 비공개 풀 구성 파일에는 비공개 풀에 사용할 디스크 크기 및 머신 유형과 같은 정보가 포함되어 있습니다. gcloud 도구 또는 Cloud Build API를 사용하여 비공개 풀을 만들고 관리하는 경우 비공개 풀 구성 파일이 필요합니다.

비공개 풀 구성 파일의 구조

YAML 또는 JSON 구문을 사용하여 비공개 풀 구성 파일을 작성할 수 있습니다. curl을 사용하여 비공개 풀을 만들고 관리하려면 비공개 풀 구성 파일을 JSON 형식으로 작성합니다. gcloud 도구를 사용하여 비공개 풀을 만들고 관리하려면 YAML 또는 JSON 형식으로 비공개 풀 구성 파일을 작성하세요.

비공개 풀 구성 파일의 구조는 다음과 같습니다.

YAML

privatePoolV1Config:
  networkConfig:
    egressOption: NO_PUBLIC_EGRESS
    peeredNetwork: 'PEERED_NETWORK'
    peeredNetworkIpRange: 'PEERED_NETWORK_IP_RANGE'
  workerConfig:
    diskSizeGb: 'PRIVATE_POOL_DISK_SIZE'
    machineType: PRIVATE_POOL_MACHINE_TYPE

JSON

{
  "privatePoolV1Config": {
    "networkConfig": {
      "egressOption": "NO_PUBLIC_EGRESS",
      "peeredNetwork": "PEERED_NETWORK",
      "peeredNetworkIpRange": "PEERED_NETWORK_IP_RANGE"
    },
    "workerConfig": {
      "diskSizeGb": "PRIVATE_POOL_DISK_SIZE",
      "machineType": "PRIVATE_POOL_MACHINE_TYPE"
    }
  }
}

비공개 풀 구성 파일의 필드는 아래에 설명되어 있습니다.

networkConfig

이 필드는 선택 사항입니다. 서비스 프로듀서 네트워크와 VPC 네트워크를 피어링하는 경우에만 networkConfig를 지정합니다.

egressOption

이 필드는 선택 사항입니다. VPC 서비스 제어 경계 내에 비공개 풀을 만드는 경우 이 필드의 값을 NO_PUBLIC_EGRESS로 설정합니다. 비공개 풀 구성 파일에 이 필드를 포함하지 않으면 공개 이그레스가 사용 설정됩니다. 비공개 풀의 VPC 서비스 제어 설정에 대한 자세한 내용은 VPC 서비스 제어 사용을 참조하세요.

peeredNetwork

비공개 풀 구성 파일에 networkConfig 필드가 포함된 경우 필수 필드입니다. 이 필드의 값을 서비스 제작자 네트워크와 피어링된 VPC 네트워크의 네트워크 리소스 URL로 설정합니다. 네트워크 리소스 URL은 projects/NETWORK_PROJECT_ID/global/networks/NETWORK_NAME 형식이어야 합니다. 여기서 NETWORK_PROJECT_ID는 VPC 네트워크를 보유한 Google Cloud 프로젝트의 프로젝트 ID이고 NETWORK_NAME은 VPC 네트워크의 이름입니다. 값을 지정하지 않으면 Cloud Build는 기본적으로 서비스 프로듀서 네트워크를 사용합니다.

peeredNetworkIpRange

이 필드는 선택 사항입니다. 이 필드의 값을 설정하여 피어링된 네트워크의 할당된 범위 내에 VM을 할당할 수 있는 내부 IP 범위를 지정합니다. 크기 제한 또는 잘못된 시작 IP 등으로 인해 비공개 연결 범위 내에서 지정된 IP 범위를 할당할 수 없는 경우 비공개 풀을 만들 수 없습니다.

peeredNetworkIpRange'STARTING_IP/SUBNET_PREFIX_SIZE' 형식의 클래스 없는 도메인 간 라우팅(CIDR) 표기법을 사용하여 지정됩니다. 이 필드를 사용하는 경우 SUBNET_PREFIX_SIZE를 지정해야 합니다. SUBNET_PREFIX_SIZE는 IP 범위의 크기를 결정합니다. 슬래시(/)로 시작해야 하며 값은 29 이하여야 합니다. STARTING_IP 부분은 선택사항이며 범위의 시작 주소를 지정합니다. STARTING_IP를 지정하지 않으면 시작 주소가 비공개 연결 범위 내에서 자동으로 할당됩니다. peeredNetworkIpRange에 값을 지정하지 않으면 기본값 /24가 사용되며 256개 IP 범위의 시작 IP가 자동으로 할당됩니다.

SUBNET_PREFIX_SIZE 값은 29를 초과하지 않아야 합니다. 숫자가 클수록 더 큰 서브넷 프리픽스가 지정되므로 가능한 IP 수가 줄어들고 IP 범위가 더 작아집니다. IP 주소가 32비트이므로 프리픽스 크기가 /24이면 범위에 256개의 가능한 IP(8비트)가 허용되고 프리픽스 크기가 /29이면 가능한 IP(3비트)가 8개로 줄어듭니다. 최대 빌더 VM 수는 범위의 가용 IP 수(해당 범위의 총 가능한 IP 수에서 2를 뺀 값)로 제한됩니다.

peeredNetworkIpRange 필드의 예시는 다음을 참조하세요.

  • 192.168.0.0/24는 192.168.0.0으로 시작하고 서브넷 프리픽스 크기가 24인 IP 범위를 지정합니다(256개 IP, 254개 가용 IP 포함).
  • /29는 시작 IP가 자동으로 결정되고 서브넷 프리픽스 크기가 29인 범위를 지정합니다(8개 IP, 6개 가용 IP 포함).

workerConfig

필수 필드입니다. 여기에는 비공개 풀의 구성 옵션이 포함되어 있습니다.

diskSizeGb

이 필드는 선택 사항입니다. 이 필드를 사용하여 비공개 풀 인스턴스의 디스크 크기를 GB 단위로 지정합니다. 100 이상이고 2,000 이하인 값을 지정합니다. 비공개 풀 구성 파일에 이 필드를 포함하지 않거나 0을 이 필드의 값으로 지정하면 Cloud Build가 기본값 100을 사용합니다.

machineType

이 필드는 선택 사항입니다. 이 필드를 사용하여 비공개 풀 인스턴스의 Compute Engine 머신 유형을 지정합니다. 다음 머신 유형 중 하나를 지정합니다.

  • e2-medium
  • e2-standard-2
  • e2-standard-4
  • e2-standard-8
  • e2-standard-16
  • e2-standard-32
  • e2-highmem-2
  • e2-highmem-4
  • e2-highmem-8
  • e2-highmem-16
  • e2-highcpu-2
  • e2-highcpu-4
  • e2-highcpu-8
  • e2-highcpu-16
  • e2-highcpu-32

값을 지정하지 않으면 Cloud Build는 기본값인 e2-medium을 사용합니다.

다음 단계