비공개 서비스 액세스는 Google Cloud Virtual Private Cloud(VPC) 네트워크와 Google 관리 또는 타사 서비스 간의 안전한 비공개 연결입니다. VPC 네트워크의 VM 인스턴스가 공개 인터넷에 트래픽을 노출하지 않고도 내부 IP 주소를 사용하여 이러한 서비스와 통신할 수 있습니다.
시작하기 전에
비공개 연결을 설정하려면 먼저 다음 기본 요건을 완료해야 합니다.
- 서비스 프로듀서의 네트워크에 연결하는 데 사용할 수 있는 기존 VPC 네트워크가 있어야 합니다. VM 인스턴스는 이 VPC 네트워크를 사용하여 비공개 연결을 통해 서비스에 연결해야 합니다.
- Live Stream API 시작하기 전에 페이지의 단계에 따라 올바르게 구성된 Google Cloud 프로젝트를 만들거나 기존 프로젝트를 선택합니다.
Live Stream API에 비공개 서비스 액세스 사용 설정
비공개 서비스 액세스를 구성하는 일반적인 절차는 가상 프라이빗 클라우드 문서에 설명되어 있습니다. 이 페이지에서는 이 프로세스를 Live Stream API에 맞게 조정합니다.
Service Networking API를 사용 설정합니다.
다음 명령어를 실행합니다.
Linux, macOS 또는 Cloud Shell
gcloud services enable servicenetworking.googleapis.com
Windows(PowerShell)
gcloud services enable servicenetworking.googleapis.com
Windows(cmd.exe)
gcloud services enable servicenetworking.googleapis.com
비공개 연결을 설정하는 데 필요한 권한을 얻으려면 관리자에게 VPC 네트워크가 있는 Google Cloud 프로젝트에 대한 Compute Engine 네트워크 관리자(
roles/compute.networkAdmin
) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 액세스 관리를 참조하세요.VPC 네트워크에서 다음 예시와 같이
addresses create
명령어를 사용하여 이름이 지정된 IP 범위를 할당합니다.주소 범위와 프리픽스 길이(서브넷 마스크)를 지정하려면
addresses
및prefix-length
플래그를 사용합니다. 예를 들어 CIDR 블록 192.168.0.0/13을 할당하려면 주소에192.168.0.0
을 지정하고 프리픽스 길이에13
을 지정합니다.아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.
RESERVED_RANGE_NAME
: 할당된 범위의 이름입니다(예:my-allocated-range
).DESCRIPTION
: 범위에 대한 설명입니다(예:allocated for my-service
).VPC_NETWORK
: VPC 네트워크의 이름입니다(예:my-vpc-network
).
다음 명령어를 실행합니다.
Linux, macOS 또는 Cloud Shell
gcloud compute addresses create RESERVED_RANGE_NAME \ --global \ --purpose=VPC_PEERING \ --addresses=192.168.0.0 \ --prefix-length=13 \ --description="DESCRIPTION" \ --network=VPC_NETWORK
Windows(PowerShell)
gcloud compute addresses create RESERVED_RANGE_NAME ` --global ` --purpose=VPC_PEERING ` --addresses=192.168.0.0 ` --prefix-length=13 ` --description="DESCRIPTION" ` --network=VPC_NETWORK
Windows(cmd.exe)
gcloud compute addresses create RESERVED_RANGE_NAME ^ --global ^ --purpose=VPC_PEERING ^ --addresses=192.168.0.0 ^ --prefix-length=13 ^ --description="DESCRIPTION" ^ --network=VPC_NETWORK
다음과 비슷한 응답이 표시됩니다.
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses/RESERVED_RANGE_NAME].
프리픽스 길이만 지정하려면
prefix-length
플래그를 사용합니다. 주소 범위를 생략하면 VPC 네트워크에서 사용되지 않는 주소 범위를 Google Cloud가 자동으로 선택합니다. 다음 예시에서는 프리픽스 길이가 13비트인 사용되지 않는 IP 주소 범위를 선택합니다.아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.
RESERVED_RANGE_NAME
: 할당된 범위의 이름입니다(예:my-allocated-range
).DESCRIPTION
: 범위에 대한 설명입니다(예:allocated for my-service
).VPC_NETWORK
: VPC 네트워크의 이름입니다(예:my-vpc-network
).
다음 명령어를 실행합니다.
Linux, macOS 또는 Cloud Shell
gcloud compute addresses create RESERVED_RANGE_NAME \ --global \ --purpose=VPC_PEERING \ --prefix-length=13 \ --description="DESCRIPTION" \ --network=VPC_NETWORK
Windows(PowerShell)
gcloud compute addresses create RESERVED_RANGE_NAME ` --global ` --purpose=VPC_PEERING ` --prefix-length=13 ` --description="DESCRIPTION" ` --network=VPC_NETWORK
Windows(cmd.exe)
gcloud compute addresses create RESERVED_RANGE_NAME ^ --global ^ --purpose=VPC_PEERING ^ --prefix-length=13 ^ --description="DESCRIPTION" ^ --network=VPC_NETWORK
다음과 비슷한 응답이 표시됩니다.
Created [https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses/RESERVED_RANGE_NAME].
앞의 예시에서는 제공된 VPC 네트워크(예:
my-vpc-network
)의 VM 인스턴스가 비공개 서비스 액세스를 사용하여 이를 지원하는 Google 서비스에 문의할 수 있도록 Google에 대한 비공개 연결을 만듭니다.Live Stream API에는 CIDR/13 블록을 리전당 하나씩 할당해야 합니다. 여러 리전에서 Live Stream API를 사용할 계획이라면 더 큰 블록을 할당하세요. 다음 표에는 리전 수에 따라 할당하는 데 권장되는 블록 크기가 나와 있습니다.
리전 수 prefix-length
플래그 값1 13 2 12 3-4 11 5-8 10 7-16 9 서비스 제작자 네트워크와 사용자의 VPC 네트워크 간에 비공개 연결을 만듭니다.
비공개 연결을 만듭니다.
아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.
RESERVED_RANGE_NAME
: 이전 단계에서 만든 할당 범위의 이름VPC_NETWORK
: VPC 네트워크의 이름입니다.PROJECT_ID
: VPC 네트워크가 포함된 프로젝트의 Google Cloud 프로젝트 ID입니다.
다음 명령어를 실행합니다.
Linux, macOS 또는 Cloud Shell
gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --ranges=RESERVED_RANGE_NAME \ --network=VPC_NETWORK \ --project=PROJECT_ID
Windows(PowerShell)
gcloud services vpc-peerings connect ` --service=servicenetworking.googleapis.com ` --ranges=RESERVED_RANGE_NAME ` --network=VPC_NETWORK ` --project=PROJECT_ID
Windows(cmd.exe)
gcloud services vpc-peerings connect ^ --service=servicenetworking.googleapis.com ^ --ranges=RESERVED_RANGE_NAME ^ --network=VPC_NETWORK ^ --project=PROJECT_ID
다음과 비슷한 응답이 표시됩니다.
Operation "operations/OPERATION_ID" finished successfully.
이 명령어는 장기 실행 작업(LRO)을 만듭니다.
명령어가 성공하면 다음 단계로 건너뜁니다. 그렇지 않으면 작업 상태를 확인합니다.
아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.
OPERATION_ID
: 이전 단계에서 반환된 작업의 ID입니다.
다음 명령어를 실행합니다.
Linux, macOS 또는 Cloud Shell
gcloud services vpc-peerings operations describe \ --name=operations/OPERATION_ID
Windows(PowerShell)
gcloud services vpc-peerings operations describe ` --name=operations/OPERATION_ID
Windows(cmd.exe)
gcloud services vpc-peerings operations describe ^ --name=operations/OPERATION_ID
다음과 비슷한 응답이 표시됩니다.
Operation "operations/OPERATION_ID" finished successfully.
(선택사항) VPC 서비스 제어를 사용하는 경우 방금 만든 비공개 연결에 VPC-SC를 사용 설정해야 합니다.
아래의 명령어 데이터를 사용하기 전에 다음을 바꿉니다.
VPC_NETWORK
: VPC 네트워크의 이름입니다.
다음 명령어를 실행합니다.
Linux, macOS 또는 Cloud Shell
gcloud services vpc-peerings enable-vpc-service-controls \ --service=servicenetworking.googleapis.com \ --network=VPC_NETWORK
Windows(PowerShell)
gcloud services vpc-peerings enable-vpc-service-controls ` --service=servicenetworking.googleapis.com ` --network=VPC_NETWORK
Windows(cmd.exe)
gcloud services vpc-peerings enable-vpc-service-controls ^ --service=servicenetworking.googleapis.com ^ --network=VPC_NETWORK
다음과 비슷한 응답이 표시됩니다.
Operation "operations/OPERATION_ID" finished successfully.
(선택사항) VPC에 온프레미스 네트워크가 연결된 경우에는 온프레미스 호스트가 서비스 제작자의 네트워크와 통신할 수 있도록 피어링 연결을 구성할 수 있습니다. 자세한 내용은 온프레미스 호스트 문제 해결을 참고하세요.