비공개 풀 만들기 및 관리

이 페이지에서는 Cloud Build 비공개 풀을 만들고, 업데이트하고, 보고, 삭제하는 방법을 설명합니다. 비공개 풀에 익숙하지 않은 경우 비공개 풀 개요를 읽어보세요.

시작하기 전에

  1. 새 Google Cloud 프로젝트를 만들거나 기존 프로젝트를 선택합니다. 이 프로젝트를 사용하여 비공개 풀을 만듭니다.

  2. Enable the Cloud Build API.

    Enable the API

  3. 이 가이드에서 명령줄 예시를 사용하려면 Google Cloud CLI를 설치하고 구성합니다.

  4. [선택사항] 빌드가 Virtual Private Cloud 네트워크에서 비공개 리소스에 액세스하려면 Virtual Private Cloud 네트워크, 그리고 비공개 풀이 있는 Virtual Private Cloud 네트워크 간에 피어링 연결을 설정해야 합니다. 자세한 내용은 비공개 풀을 만들기 위한 환경 설정을 참조하세요.

새 비공개 풀 만들기

IAM 권한: 이 태스크를 수행하려면 Cloud Build WorkerPool 소유자 역할이 필요합니다. 이 권한을 부여하는 방법은 Cloud Build 리소스에 대한 액세스 구성을 참조하세요.

리전별로 Google Cloud 프로젝트당 최대 10개의 비공개 풀을 만들 수 있습니다. 새 비공개 풀을 만들려면 다음 안내를 따르세요.

콘솔

  1. Google Cloud 콘솔에서 작업자 풀 페이지를 엽니다.

    Cloud Build 작업자 풀 페이지 열기

  2. 비공개 풀을 만들 프로젝트를 선택합니다.

  3. 작업자 풀 페이지에서 만들기를 클릭합니다.

    비공개 풀 만들기 측면 패널이 표시됩니다.

    다음 정보를 입력하여 비공개 풀을 만듭니다.

    1. 이름: 비공개 풀의 이름을 입력합니다. 이 값은 영숫자 문자 /[a-z][0-9]/ 또는 대시 -만 포함할 수 있습니다. 비공개 풀의 이름은 1~63자여야 합니다.

    2. 리전: 비공개 풀을 만들 리전을 선택합니다.

    3. 머신 유형: 비공개 풀에 사용할 Compute Engine 머신 유형을 선택합니다.

    4. 사용 가능한 디스크 크기: 비공개 풀의 디스크 크기를 입력합니다. 100 이상이고 4,000 이하인 값을 지정합니다. 제공되지 않으면 Cloud Build에서 디스크 크기 100을 사용합니다.

      네트워크 유형에서 다음 옵션 중 하나를 선택합니다.

      1. 기본 네트워크: 공개 인터넷을 통해 인스턴스에 액세스할 수 있는 경우 이 옵션을 선택합니다. 기본 네트워크 옵션을 선택하면 비공개 풀에서 서비스 프로듀서 네트워크를 사용합니다. 자세한 내용은 VPC 네트워크에서 비공개 풀을 사용하도록 환경 설정을 참조하세요.

      2. 비공개 네트워크: 인스턴스가 비공개 네트워크에서 호스팅되는 경우 이 옵션을 선택합니다.

        1. 프로젝트: Google Cloud 프로젝트 ID를 선택합니다.

        2. 네트워크: 드롭다운 메뉴에서 네트워크를 선택합니다. 네트워크를 만들지 않은 경우 네트워크를 만드는 방법을 알아보려면 VPC 네트워크 만들기 및 관리를 참조하세요.

        3. IP 범위: Cloud Build 프로듀서 네트워크가 비공개 저장소와의 연결을 유지하는 VM에 할당하는 데 사용할 수 있는 내부 IP 범위를 입력합니다.

          클래스 없는 도메인 간 라우팅(CIDR) 라우팅 표기법을 사용하여 STARTING_IP_ADDRESS/SUBNET_PREFIX_SIZE 형식으로 범위를 지정할 수 있습니다. 예를 들어 192.0.2.0/24의 프리픽스 길이는 24입니다. IP 범위의 처음 24비트는 서브넷 마스크(192.0.2.0)로 사용되고 가능한 호스트 주소 범위는 192.0.2.0에서 192.0.2.255까지입니다.

          프리픽스 길이 값은 /29 이하여야 합니다. 범위에 지정된 값이 없으면 기본값인 /24가 자동으로 할당됩니다. 프리픽스 길이에 지정된 값이 없으면 피어링된 VPC 네트워크 내에서 IP 주소가 자동으로 할당됩니다. IP 주소에 값을 지정하지 않으면 피어링된 VPC 네트워크 내의 범위가 IP 주소에 자동으로 할당됩니다.

    5. 외부 IP 할당: 이 옵션은 비공개 풀이 공개 인터넷에 액세스할 수 있도록 기본적으로 선택됩니다. 비공개 네트워크에 대한 액세스를 제한하려면 이 체크박스를 선택 해제합니다.

  4. 만들기를 클릭하여 비공개 풀을 만듭니다.

gcloud

비공개 풀 구성 파일을 gcloud 명령어로 전달하거나 구성 옵션을 직접 gcloud 명령어로 전달하는 두 가지 방법으로 gcloud를 사용하여 새 비공개 풀을 만들 수 있습니다.

비공개 풀 구성 파일을 gcloud 명령어에 전달합니다.

  1. 비공개 풀 구성 파일을 YAML 또는 JSON 형식으로 만듭니다.

  2. 다음 gcloud 명령어를 실행합니다. 여기서 PRIVATEPOOL_ID는 비공개 풀의 고유 식별자이고, PRIVATEPOOL_CONFIG_FILE은 비공개 풀 구성 파일 이름이며, REGION은 비공개 풀을 만들 리전입니다.

    gcloud builds worker-pools create PRIVATEPOOL_ID --config-from-file PRIVATEPOOL_CONFIG_FILE --region REGION
    

    다음과 비슷한 출력이 표시됩니다.

    Created [https://cloudbuild.googleapis.com/v1/projects/gcb-docs-project/locations/us-central1/workerPools/private-pool].
    NAME                 CREATE_TIME                STATUS
    private-pool  2018-11-19T16:08:24+00:00  RUNNING
    

구성 옵션을 gcloud 명령어에 직접 전달:

다음 gcloud 명령어를 실행합니다.

    gcloud builds worker-pools create PRIVATEPOOL_ID \
        --project=PRIVATEPOOL_PROJECT_ID \
        --region=REGION \
        --peered-network=PEERED_NETWORK \
        --worker-machine-type=PRIVATEPOOL_MACHINE_TYPE \
        --worker-disk-size=PRIVATEPOOL_DISK_SIZE_GB \
        --no-public-egress

위 명령어의 자리표시자 값을 다음으로 바꿉니다.

  • PRIVATEPOOL_ID: 비공개 풀의 고유 식별자입니다. 이 값은 1~63자(영문 기준)여야 하며 유효한 문자는 [a-zA-Z0-9_-]+입니다.
  • PRIVATEPOOL_PROJECT_ID: 비공개 풀을 만들려는 Google Cloud 프로젝트의 ID입니다.
  • REGION: 지원되는 리전 중 하나입니다.
  • PEERED_NETWORK: 서비스 제작자 네트워크에 피어링된 네트워크의 네트워크 리소스 URL입니다. PEERED_NETWORKprojects/NETWORK_PROJECT_ID/global/networks/NETWORK_NAME 형식이어야 합니다. 여기서 NETWORK_PROJECT_ID는 VPC 네트워크를 보유한 Google Cloud 프로젝트의 프로젝트 ID이고 NETWORK_NAME은 VPC 네트워크의 이름입니다. 값을 지정하지 않으면 Cloud Build가 서비스 제공업체 네트워크를 사용합니다.
  • PRIVATEPOOL_DISK_SIZE_GB: 비공개 풀에 연결된 디스크의 크기입니다. 100 이상이고 4,000 이하인 값을 지정합니다. 제공되지 않으면 Cloud Build에서 디스크 크기 100을 사용합니다. gcloud builds submit 중에 --disk-size를 사용하여 다른 디스크 크기를 지정하면 --worker-disk-size가 재정의됩니다.
  • PRIVATEPOOL_MACHINE_TYPE: 작업자의 머신 유형입니다. 비워 두면 Cloud Build에서 e2-standard-2의 기본값을 사용합니다. 지원되는 머신 유형 목록은 비공개 풀 구성 파일 스키마를 참조하세요. gcloud builds submit 중에 --machine-type을 사용하여 다른 머신 유형을 지정하면 --worker-machine-type이 재정의됩니다.
  • --no-public-egress: 이 플래그가 설정되면 외부 IP 주소 없이 비공개 풀이 생성됩니다. VPC 서비스 제어 경계 내에 비공개 풀을 만드는 경우 이 플래그를 설정합니다.

API

  1. 이름이 workerpool.json비공개 풀 구성 파일을 만듭니다.

  2. cURL을 사용하여 Cloud Build API를 호출합니다.

        curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)"
            -H "Content-Type: application/json" \
            https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/?workerPoolId=PRIVATEPOOL_ID -d @workerpool.json
    

    위의 명령어에서 자리표시자 값을 다음으로 바꿉니다.

    • PRIVATEPOOL_PROJECT_ID: 비공개 풀을 만들려는 Google Cloud 프로젝트의 ID입니다.
    • PRIVATEPOOL_ID: 비공개 풀의 ID입니다. 이 값은 1~63자(영문 기준)여야 하며 유효한 문자는 [a-zA-Z0-9_-]+입니다.
    • REGION: 비공개 풀을 만들기 위한 지원되는 리전 중 하나입니다.

VPC 서비스 제어 경계 내에 비공개 풀 만들기

VPC 서비스 제어 경계 내에 비공개 풀을 만드는 경우 VPC 서비스 제어 사용을 참조하세요.

비공개 풀 업데이트

IAM 권한: 이 태스크를 수행하려면 Cloud Build WorkerPool 편집자 역할이 필요합니다. 역할 부여에 대한 안내는 Cloud Build 리소스에 대한 액세스 구성을 참조하세요.

기존 비공개 풀의 디스크 크기 및 머신 유형을 업데이트할 수 있습니다. 비공개 풀을 업데이트하려면 다음 안내를 따르세요.

콘솔

  1. Google Cloud 콘솔에서 작업자 풀 페이지를 엽니다.

    Cloud Build 작업자 풀 페이지 열기

  2. 비공개 풀을 만든 프로젝트를 선택합니다.

  3. 비공개 풀 이름을 클릭합니다.

  4. 비공개 풀 수정 측면 패널에서 머신 유형 또는 디스크 크기를 업데이트합니다.

  5. 저장을 클릭합니다.

gcloud

비공개 풀 구성 파일 업데이트:

  1. 비공개 풀 구성 파일에서 변경할 필드를 업데이트합니다.

  2. 다음 명령어를 실행합니다. 여기서 PRIVATEPOOL_ID는 비공개 풀의 고유 식별자이고 REGION은 비공개 풀이 있는 리전입니다. PRIVATEPOOL_CONFIG_FILE은 비공개 풀 구성 파일의 이름입니다.

    gcloud builds worker-pools update PRIVATEPOOL_ID \
        --region=REGION \
        --config-from-file=PRIVATEPOOL_CONFIG_FILE
    

업데이트할 값을 gcloud builds worker-pools update 명령어에 직접 전달:

   gcloud builds worker-pools update PRIVATEPOOL_ID  \
       --region=REGION \
       --worker-disk-size=PRIVATEPOOL_DISK_SIZE \
       --worker-machine-type=PRIVATEPOOL_MACHINE_TYPE

위 명령어의 자리표시자 값을 다음으로 바꿉니다.

  • PRIVATEPOOL_ID: 기존 비공개 풀의 ID입니다. 이 값은 업데이트할 수 없습니다. 기존 비공개 풀 ID를 지정해야 합니다.
  • REGION: 비공개 풀을 만든 리전입니다.
  • PRIVATEPOOL_DISK_SIZE: 업데이트된 디스크 크기입니다.
  • PRIVATEPOOL_MACHINE_TYPE: 업데이트된 머신 유형입니다.

API

  1. 비공개 풀 구성 파일에서 디스크 크기 및 머신 유형을 업데이트합니다.

  2. cURL을 사용하여 Cloud Build API를 호출합니다. 여기에서 변수를 적절한 값으로 바꿉니다.

    curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        -H "Content-Type: application/json" \
        https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/PRIVATEPOOL_ID \
        -d @workerpool.json
    

    위의 명령어에서 자리표시자 값을 다음으로 바꿉니다.

    • PRIVATEPOOL_ID: 비공개 풀의 ID입니다.
    • PRIVATEPOOL_PROJECT_ID: 비공개 풀이 포함된 Google Cloud 프로젝트의 ID입니다.
    • REGION: 비공개 풀을 만든 리전입니다.

비공개 풀의 세부정보 보기

IAM 권한: 이 태스크를 수행하려면 Cloud Build WorkerPool 뷰어 역할이 필요합니다. 역할 부여에 대한 안내는 Cloud Build 리소스에 대한 액세스 구성을 참조하세요.

비공개 풀의 세부정보를 보려면 다음 안내를 따르세요.

콘솔

  1. Google Cloud 콘솔에서 작업자 풀 페이지를 엽니다.

    Cloud Build 작업자 풀 페이지 열기

  2. 비공개 풀을 만든 프로젝트를 선택합니다.

  3. 비공개 풀 이름을 클릭합니다.

비공개 풀의 세부정보가 있는 비공개 풀 수정 측면 패널이 표시됩니다.

gcloud

비공개 풀의 ID를 모르는 경우 다음 명령어를 실행하여 비공개 풀의 세부정보를 나열합니다.

gcloud builds worker-pools list --project=PRIVATEPOOL_PROJECT_ID

여기서 PRIVATEPOOL_PROJECT_ID는 비공개 풀이 포함된 Google Cloud 프로젝트의 ID입니다.

다음과 비슷한 출력이 표시됩니다.

NAME                                                                  CREATE_TIME                STATUS
projects/[PRIVATEPOOL_PROJECT_ID]/locations/us-central1/workerPools/[PRIVATEPOOL_ID]      2018-11-19T16:08:24+00:00  RUNNING

비공개 풀 ID를 알고 있는 경우 다음 명령어를 실행하여 비공개 풀에 대한 세부정보를 확인합니다.

gcloud builds worker-pools describe PRIVATEPOOL_ID \
    --region=REGION \
    --project=PRIVATEPOOL_PROJECT_ID

위의 명령어에서 자리표시자 값을 다음으로 바꿉니다.

  • PRIVATEPOOL_ID: 비공개 풀의 ID입니다.
  • REGION: 비공개 풀을 만든 리전입니다.
  • PRIVATEPOOL_PROJECT_ID: 비공개 풀이 포함된 Google Cloud 프로젝트의 ID입니다.

API

비공개 풀의 ID를 모르는 경우 다음 cURL 명령어를 실행하여 비공개 풀의 세부정보를 나열합니다. 여기서 PRIVATEPOOL_PROJECT_ID는 비공개 풀이 포함된 Google Cloud 프로젝트의 ID입니다.

    curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools

비공개 풀 ID를 알고 있다면 다음 cURL 명령어를 실행하여 비공개 풀의 세부정보를 가져옵니다.

    curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
        https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/PRIVATEPOOL_ID

위 명령어의 자리표시자 값을 다음으로 바꿉니다.

  • PRIVATEPOOL_ID: 비공개 풀의 ID입니다.
  • PRIVATEPOOL_PROJECT_ID: 비공개 풀이 포함된 Google Cloud 프로젝트의 ID입니다.
  • REGION: 비공개 풀을 만든 리전입니다.

비공개 풀 삭제

IAM 권한: 이 태스크를 수행하려면 Cloud Build WorkerPool 소유자 역할이 필요합니다. 역할 부여에 대한 안내는 Cloud Build 리소스에 대한 액세스 구성을 참조하세요.

비공개 풀을 삭제하려면 다음 안내를 따르세요.

콘솔

  1. Google Cloud 콘솔에서 작업자 풀 페이지를 엽니다.

    Cloud Build 작업자 풀 페이지 열기

  2. 비공개 풀이 있는 행에서 휴지통 아이콘을 클릭합니다.

gcloud

비공개 풀을 삭제하려면 gcloud builds worker-pools delete 명령어를 실행합니다.

 gcloud builds worker-pools delete PRIVATEPOOL_ID \
     --region=REGION \
     --project=PRIVATEPOOL_PROJECT_ID

위의 명령어에서 자리표시자 값을 다음으로 바꿉니다.

  • PRIVATEPOOL_ID: 비공개 풀의 ID입니다.
  • PRIVATEPOOL_PROJECT_ID: 비공개 풀이 포함된 Google Cloud 프로젝트의 ID입니다.
  • REGION: 비공개 풀을 만든 리전입니다.

비공개 풀이 삭제되면 다음과 비슷한 출력이 표시됩니다.

 Deleted [https://cloudbuild.googleapis.com/v1/projects/gcb-docs-project/locations/us-central1/workerPools/[PRIVATEPOOL_ID].

API

cURL을 사용하여 Cloud Build API를 호출합니다.

  curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      https://cloudbuild.googleapis.com/v1/projects/PRIVATEPOOL_PROJECT_ID/locations/REGION/workerPools/PRIVATEPOOL_ID

위 명령어의 자리표시자 값을 다음으로 바꿉니다.

  • PRIVATEPOOL_ID: 비공개 풀의 ID입니다.
  • PRIVATEPOOL_PROJECT_ID: 비공개 풀이 포함된 Google Cloud 프로젝트의 ID입니다.
  • REGION: 비공개 풀을 만든 리전입니다.

다음 단계