이 튜토리얼에서는 Private Service Connect를 사용하여 다른 VPC 네트워크에서 부하 분산 서비스를 사용할 수 있도록 하는 방법을 보여줍니다.
기본적으로 이전 튜토리얼에서 만든 내부 패스 스루 네트워크 부하 분산기는 자체 VPC 네트워크 내에서만 사용할 수 있습니다. Private Service Connect를 사용하면 다른 VPC 네트워크의 리소스에서 사용할 수 있도록 서비스를 게시할 수 있습니다.
이 튜토리얼은 클라우드 설계자, 네트워크 설계자, 네트워크 관리자, IT 관리자를 대상으로 합니다.
목표
- 게시된 서비스 만들기
- 게시된 서비스 트래픽의 방화벽 규칙 만들기
- 서비스 연결 URI 가져오기
비용
이 문서에서는 비용이 청구될 수 있는 Google Cloud구성요소를 사용합니다.
프로젝트 사용량을 기준으로 예상 비용을 산출하려면 가격 계산기를 사용합니다.
이 문서에 설명된 태스크를 완료했으면 만든 리소스를 삭제하여 청구가 계속되는 것을 방지할 수 있습니다. 자세한 내용은 삭제를 참조하세요.
시작하기 전에
- 이전 튜토리얼인 부하 분산 서비스 만들기의 단계를 완료합니다.
- 이전 튜토리얼에서 선택하거나 만든 서비스 생산자 프로젝트 (
PRODUCER_PROJECT)를 선택합니다. 이 가이드의 단계에 이 프로젝트를 사용합니다.
게시된 서비스 만들기
다른 VPC 네트워크에서 서비스를 사용할 수 있도록 하려면 서비스를 게시합니다. 서비스를 게시하려면 부하 분산기와 동일한 네트워크 및 리전에 다음 리소스를 만드세요.
- 생산자 네트워크와 소비자 네트워크 간의 네트워크 주소 변환 (NAT)에 IP 주소를 제공하는 Private Service Connect 서브넷
- 서비스 연결입니다.
이 안내에서는 모든 프로젝트에서 액세스할 수 있는 게시된 서비스를 만듭니다. 프로덕션 환경에서는 서비스에 액세스할 수 있는 네트워크 또는 프로젝트를 제한하는 것이 좋습니다.
콘솔
Google Cloud 콘솔에서 Private Service Connect 페이지로 이동합니다.
게시된 서비스 탭을 클릭합니다.
서비스 게시를 클릭합니다.
대상 세부정보 섹션에서 부하 분산기를 선택합니다.
내부 패스 스루 네트워크 부하 분산기를 선택합니다.
만든 내부 부하 분산기(
service-lb)를 선택합니다.서비스 이름에
published-service를 입력합니다.NAT용 Private Service Connect 서브넷을 만듭니다.
- 서브넷을 클릭한 다음 새 서브넷 예약을 클릭합니다.
- 이름에
nat-subnet를 입력합니다. - 리전에서
REGION을 선택합니다. - IPv4 범위에
10.10.20.0/22를 입력합니다. - 추가를 클릭합니다.
연결 환경설정에서 모든 연결 자동 허용을 선택합니다.
서비스 추가를 클릭합니다.
gcloud
gcloud compute networks subnets create명령어를 사용하여 Private Service Connect 서브넷을 만듭니다.gcloud compute networks subnets create nat-subnet \ --network=service-network \ --region=REGION \ --range=10.10.20.0/22 \ --purpose=PRIVATE_SERVICE_CONNECT
서비스를 게시하려면
gcloud compute service-attachments create명령어를 사용합니다.gcloud compute service-attachments create published-service \ --region=REGION \ --target-service=projects/PRODUCER_PROJECT/regions/REGION/forwardingRules/service-rule \ --connection-preference=ACCEPT_AUTOMATIC \ --nat-subnets=nat-subnet
다음을 바꿉니다.
PRODUCER_PROJECT: 프로듀서 프로젝트의 IDREGION: 서비스 연결의 리전 타겟 전달 규칙의 IP 주소와 동일한 리전이어야 합니다.
게시된 서비스 트래픽의 방화벽 규칙 만들기
Private Service Connect NAT 서브넷의 트래픽이 부하 분산기의 백엔드 VM에 도달하도록 방화벽 규칙을 만듭니다.
콘솔
Google Cloud 콘솔에서 방화벽 정책 페이지로 이동합니다.
Private Service Connect NAT 서브넷의 트래픽이 부하 분산기의 백엔드 VM에 도달하도록 하려면 방화벽 규칙 만들기를 클릭하고 다음 설정을 사용하세요.
- 이름에
fw-allow-nat를 입력합니다. - 네트워크에서
service-network를 선택합니다. - 우선순위에
1000을 입력합니다. - 트래픽 방향으로 수신을 선택합니다.
- 일치 시 작업으로 허용을 선택합니다.
- 대상으로 지정된 대상 태그를 선택합니다.
- 대상 태그에
allow-nat를 입력합니다. - 소스 필터에 대해 IPv4 범위를 선택합니다.
- 소스 IPv4 범위에
10.10.20.0/22을 입력합니다. - 프로토콜 및 포트로 모두 허용을 선택합니다.
- 이름에
만들기를 클릭합니다.
gcloud
Private Service Connect NAT 서브넷에서 VM 백엔드로의 통신을 허용하는
fw-allow-nat방화벽 규칙을 만듭니다.gcloud compute firewall-rules create fw-allow-nat \ --network=service-network \ --action=allow \ --direction=ingress \ --source-ranges=10.10.20.0/22 \ --rules=tcp,udp,icmp
서비스 연결 URI 가져오기
서비스 연결 URI는 다음 튜토리얼인 다른 VPC 네트워크에서 서비스 액세스에서 엔드포인트를 구성하는 데 사용됩니다.
콘솔
Google Cloud 콘솔에서 Private Service Connect 페이지로 이동합니다.
게시된 서비스 탭을 클릭합니다.
확인하려는 서비스를 클릭합니다.
서비스 연결 필드에는 서비스 연결 URI가 포함되어 있습니다.
gcloud
gcloud compute service-attachments describe명령어를 사용하여 게시된 서비스의 세부정보를 확인합니다.selfLink필드에는 서비스 연결 URI가 포함됩니다.gcloud compute service-attachments describe \ published-service --region=REGIONREGION을 서비스 연결이 포함된 리전으로 바꿉니다.