이 페이지에서는 VPC 네트워크에서 비공개 풀을 사용하도록 네트워크 환경을 설정하는 방법을 설명합니다. 비공개 풀에 익숙하지 않은 경우 비공개 풀 개요를 읽어보세요.
네트워크 구성 옵션 이해
비공개 풀은 서비스 프로듀서 네트워크라고 하는 Google 소유의 Virtual Private Cloud 네트워크에서 호스팅됩니다. 비공개 풀을 설정할 때 서비스 프로듀서 네트워크를 사용하거나 리소스가 포함된 VPC 네트워크 간에 서비스 프로듀서 네트워크를 설정할 수 있습니다.
조직의 니즈에 따라 다음 네트워크 구성 체계 중 하나를 선택합니다.
서비스 프로듀서 네트워크만 사용: 다음과 같은 경우 이 옵션을 사용합니다.
- 비공개 네트워크 내부의 리소스에 액세스할 빌드가 필요하지 않은 경우
- 구성 가능한 머신 유형 및 크기가 필요한 경우
이는 비공개 풀을 만들기 위한 기본 네트워크 옵션이며 네트워크를 설정할 필요가 없습니다. 이 옵션에 관심이 있다면 비공개 풀 만들기를 계속 진행합니다.
서비스 프로듀서 네트워크와 VPC 네트워크 간 비공개 연결 설정: 비공개 연결을 사용하면 VPC 네트워크의 VM 인스턴스와 비공개 풀의 VM 인스턴스가 내부 IP를 사용하여 독점적으로 통신할 수 있습니다. 다음과 같은 경우 이 옵션을 사용합니다.
- VPC 네트워크의 리소스에 액세스할 빌드가 필요한 경우
- 구성 가능한 머신 유형 및 크기가 필요한 경우
VPC 네트워크와 서비스 프로듀서 네트워크 간의 비공개 연결 설정
서비스 프로듀서 네트워크에 연결하는 데 사용할 기존 VPC 네트워크가 있어야 합니다.
이 가이드에서 명령줄 예시를 사용하려면 Google Cloud CLI를 설치하고 구성합니다.
API 사용 설정:
콘솔
Enable the Cloud Build and the Service Networking APIs.
gcloud
Cloud Build 및 Service Networking API를 사용 설정합니다.
gcloud services enable cloudbuild.googleapis.com servicenetworking.googleapis.com
-
비공개 연결을 설정하는 데 필요한 권한을 얻으려면 관리자에게 VPC 네트워크가 있는 Google Cloud 프로젝트에 대한 Compute Engine 네트워크 관리자(
roles/compute.networkAdmin
) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요. VPC 네트워크에서 이름이 지정된 내부 IP 범위를 할당합니다.
여기에서 지정하는 IP 범위에는 VPC 네트워크에 정의된 방화벽 규칙이 적용됩니다.
Cloud Build는 Docker 브리지 네트워크의 IP 범위
192.168.10.0/24
및172.17.0.0/16
을 예약합니다. 프로젝트 리소스의 IP 범위를 할당할 때 Cloud Build 빌더가 이러한 리소스에 액세스하는 경우192.168.10.0/24
및172.17.0.0/16
외부의 범위를 선택하는 것이 좋습니다.예를 들어 중복으로 인해 Cloud Build
gke-deploy
빌더에서는 Google Kubernetes Engine 컨트롤 플레인 IP 주소 범위192.168.10.96/28
에 액세스할 수 없습니다.콘솔
Google Cloud 콘솔에서 VPC 네트워크 페이지로 이동합니다.
비공개 풀의 VPC 네트워크에 연결할 VPC 네트워크를 선택합니다.
비공개 서비스 액세스 탭을 선택합니다.
비공개 서비스 액세스 탭에서 서비스에 할당된 IP 범위 탭을 선택합니다.
IP 범위 할당을 클릭합니다.
할당된 범위의 이름과 설명을 입력합니다.
할당의 IP 범위를 지정합니다.
- IP 주소 범위를 지정하려면 커스텀을 선택한 다음 CIDR 블록을 입력합니다.
- 프리픽스 길이를 지정하고 Google에서 사용 가능한 범위를 자동으로 선택하도록 하려면 자동을 선택한 다음 프리픽스 길이를 입력합니다. 프리픽스 길이는
/24
이하여야 합니다(예:/22
,/21
등).
할당을 클릭하여 할당된 범위를 만듭니다.
gcloud
주소 범위와 프리픽스 길이(서브넷 마스크)를 지정하려면
addresses
및prefix-length
플래그를 사용합니다. 프리픽스 길이는 /24 이하여야 합니다(예: /22, /21). 예를 들어 CIDR 블록192.168.0.0/16
을 할당하려면 주소에192.168.0.0
, 프리픽스 길이에16
을 지정합니다.gcloud compute addresses create RESERVED_RANGE_NAME \ --global \ --purpose=VPC_PEERING \ --addresses=192.168.0.0 \ --prefix-length=16 \ --description=DESCRIPTION \ --network=VPC_NETWORK
프리픽스 길이(서브넷 마스크)만 지정하려면
prefix-length
플래그만 사용합니다. 주소 범위를 생략하면 VPC 네트워크에서 사용되지 않는 주소 범위를 Google Cloud가 자동으로 선택합니다. 다음 예시에서는 프리픽스 길이가16
비트인 사용되지 않는 IP 주소 범위를 선택합니다.gcloud compute addresses create RESERVED_RANGE_NAME \ --global \ --purpose=VPC_PEERING \ --prefix-length=16 \ --description=DESCRIPTION \ --network=VPC_NETWORK
명령어의 자리 표시자 값을 다음으로 바꿉니다.
RESERVED_RANGE_NAME
은 할당된 범위의 이름입니다(예:my-allocated-range
).DESCRIPTION
: 범위에 대한 설명입니다(예:allocated for my-service
).VPC_NETWORK
: VPC 네트워크의 이름입니다(예:my-vpc-network
).
서비스 프로듀서 네트워크와 사용자의 VPC 네트워크 간에 비공개 연결을 만듭니다.
콘솔
Google Cloud 콘솔에서 VPC 네트워크 페이지로 이동합니다.
비공개 풀의 VPC 네트워크에 연결할 VPC 네트워크를 선택합니다.
비공개 서비스 액세스 탭을 선택합니다.
비공개 서비스 액세스 탭에서 서비스에 대한 비공개 연결 탭을 선택합니다.
연결 만들기를 클릭하여 네트워크와 서비스 프로듀서 네트워크 간에 비공개 연결을 만듭니다.
지정된 할당에는 이전 단계에서 만든 할당 범위를 선택합니다.
연결을 클릭하여 연결을 만듭니다.
gcloud
비공개 연결을 만듭니다.
gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --ranges=ALLOCATED_RANGE_NAME \ --network=VPC_NETWORK \ --project=PROJECT_ID
명령어의 자리 표시자 값을 다음으로 바꿉니다.
ALLOCATED_RANGE_NAME
: 이전 단계에서 만든 이름 할당 범위입니다.VPC_NETWORK
: VPC 네트워크의 이름입니다.PROJECT_ID
: VPC 네트워크가 포함된 프로젝트의 ID입니다.
이 명령은 장기 실행 작업을 시작하고 작업 이름을 반환합니다.
작업이 성공했는지 확인하고
OPERATION_NAME
을 이전 단계에서 반환된 작업 이름으로 바꿉니다.gcloud services vpc-peerings operations describe \ --name=OPERATION_NAME
[선택사항: 공유 VPC 시나리오]. 공유 VPC를 사용하는 경우 호스트 프로젝트에서 할당된 IP 범위와 비공개 연결을 만듭니다. 이러한 작업은 일반적으로 호스트 프로젝트의 네트워크 관리자가 수행해야 합니다. 호스트 프로젝트가 비공개 연결로 설정되면 서비스 프로젝트의 VM 인스턴스가 서비스 프로듀서 네트워크에 비공개 연결을 사용할 수 있습니다. VPC 연결을 호스팅하는 프로젝트와 비공개 풀이 포함된 프로젝트가 동일한 조직에 속해야 합니다.
[선택사항: 방화벽 규칙 사용]. VPC 네트워크에서 인그레스 방화벽 규칙을 만드는 경우 소스 필터에서 인그레스 규칙으로 할당한 것과 동일한 IP 범위를 지정합니다.
다음 단계
- 비공개 풀 만들기 및 관리 방법 알아보기