1. 소개
Private Service Connect 인터페이스는 프로듀서 가상 프라이빗 클라우드 (VPC) 네트워크가 소비자 VPC 네트워크의 다양한 대상에 연결을 시작할 수 있게 해주는 리소스입니다. 프로듀서 및 소비자 네트워크는 다른 프로젝트 및 조직에 포함될 수 있습니다.
네트워크 연결이 Private Service Connect 인터페이스의 연결을 수락하면 Google Cloud는 네트워크 연결에 지정된 소비자 서브넷의 IP 주소를 인터페이스에 할당합니다. 소비자 및 프로듀서 네트워크는 내부 IP 주소를 사용하여 연결되고 통신할 수 있습니다.
네트워크 연결과 Private Service Connect 인터페이스 간의 연결은 Private Service Connect 엔드포인트와 서비스 연결 간의 연결과 유사하지만 여기에는 두 가지 주요 차이점이 있습니다.
- 네트워크 연결을 사용하면 프로듀서 네트워크가 소비자 네트워크 (관리형 서비스 이그레스)로의 연결을 시작할 수 있고, 엔드포인트를 사용하면 소비자 네트워크가 프로듀서 네트워크 (관리형 서비스 인그레스)에 대한 연결을 시작할 수 있습니다.
- Private Service Connect 인터페이스 연결은 전환됩니다. 즉, 프로듀서 네트워크는 소비자 네트워크에 연결된 다른 네트워크와 통신할 수 있습니다.
Vertex AI PSC 인터페이스 도달 가능성 고려사항
- PSC 인터페이스는 RFC1918 주소 블록 내의 VPC 또는 온프레미스 기반 대상으로 트래픽을 라우팅할 수 있습니다.
- 비 RFC-1918 주소 블록을 타겟팅하는 PSC 인터페이스에는 RFC-1918 주소를 사용하여 소비자의 VPC에 배포된 명시적 프록시가 필요합니다. Vertex AI 배포 내에서 프록시는 대상 엔드포인트의 FQDN과 함께 정의되어야 합니다.
- PSC 인터페이스만 사용하여 배포를 구성하면 기본 인터넷 액세스가 유지됩니다. 이 아웃바운드 트래픽은 안전한 Google 관리 테넌트 네트워크에서 직접 나갑니다.
Vertex AI PSC-Interface VPC-SC 고려사항
- 프로젝트가 VPC 서비스 제어 경계에 속하는 경우 데이터 무단 반출이 방지되도록 경계에서 Google 관리 테넌트 기본 인터넷 액세스를 차단합니다.
- 이 시나리오에서 배포가 공용 인터넷에 액세스하도록 허용하려면 트래픽이 VPC를 경유하도록 보안 이그레스 경로를 명시적으로 구성해야 합니다.
- 이를 달성하기 위한 권장 방법은 RFC1918 주소를 사용하여 VPC 경계 내에 프록시 서버를 설정하고 프록시 VM이 인터넷에 액세스할 수 있도록 Cloud NAT 게이트웨이를 만드는 것입니다.
자세한 내용은 다음 리소스를 참고하세요.
에이전트 배포 | Vertex AI의 생성형 AI | Google Cloud
Vertex AI 리소스에 대한 Private Service Connect 인터페이스 설정 | Google Cloud
빌드할 항목
이 튜토리얼에서는 Private Service Connect (PSC) 인터페이스로 배포된 포괄적인 에이전트 엔진을 빌드하여 RFC1918 주소로 소비자의 VPC에 배포된 프록시 VM을 통해 공개 사이트 (https://api.frankfurter.app/)에 연결할 수 있도록 합니다. 이 예시 배포는 VPC-SC 지원 프로젝트 또는 테넌트 VPC 대신 고객 네트워크를 통해 인터넷 이그레스가 필요한 관리자에게 적용됩니다.
그림 1

DNS 피어링을 활용하여 에이전트 엔진을 호스팅하는 테넌트 프로젝트에서 소비자 네트워크 proxy-vm을 확인하는 소비자 VPC에 단일 psc-network-attachment를 만들어 다음과 같은 사용 사례를 만듭니다.
명시적 프록시 역할을 하도록 에이전트 엔진을 배포하고 프록시 VM을 구성하여 공개 URL https://api.frankfurter.app에 도달할 수 있도록 합니다.
학습할 내용
- 네트워크 연결을 만드는 방법
- 프로듀서가 네트워크 연결을 사용하여 PSC 인터페이스를 만드는 방법
- DNS 피어링을 사용하여 공급자에서 소비자로 통신을 설정하는 방법
- 인터넷 이그레스를 위한 프록시 VM을 배포하고 사용하는 방법
필요한 항목
Google Cloud 프로젝트
IAM 권한
- Compute 네트워크 관리자 (roles/compute.networkAdmin)
- Compute 인스턴스 관리자 (roles/compute.instanceAdmin)
- Compute 보안 관리자 (roles/compute.securityAdmin)
- DNS 관리자 (roles/dns.admin)
- IAP 보안 터널 사용자 (roles/iap.tunnelResourceAccessor)
- 로깅 관리자 (roles/logging.admin)
- Notebooks 관리자 (roles/notebooks.admin)
- 프로젝트 IAM 관리자 (roles/resourcemanager.projectIamAdmin)
- 서비스 계정 관리자 (roles/iam.serviceAccountAdmin)
- 서비스 사용량 관리자 (roles/serviceusage.serviceUsageAdmin)
2. 시작하기 전에
튜토리얼을 지원하도록 프로젝트 업데이트
이 튜토리얼에서는 Cloud Shell에서 gcloud 구성 구현을 지원하기 위해 $variables를 사용합니다.
Cloud Shell 내에서 다음을 실행합니다.
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectid=YOUR-PROJECT-NAME
echo $projectid
API 사용 설정
Cloud Shell 내에서 다음을 실행합니다.
gcloud services enable "compute.googleapis.com"
gcloud services enable "aiplatform.googleapis.com"
gcloud services enable "dns.googleapis.com"
gcloud services enable "notebooks.googleapis.com"
gcloud services enable "storage.googleapis.com"
gcloud services enable "iap.googleapis.com"
API가 사용 설정되었는지 확인
gcloud services list --enabled
3. 소비자 설정
소비자 VPC 만들기
이 VPC는 고객 프로젝트에 있습니다. 다음 리소스가 이 VPC에 생성됩니다.
- 컨슈머 서브넷
- 네트워크 연결 서브넷
- Cloud Router (Cloud NAT에 필요)
- Cloud NAT
Cloud Shell 내에서 다음을 실행합니다.
gcloud compute networks create consumer-vpc --project=$projectid --subnet-mode=custom
소비자 서브넷 만들기
Cloud Shell 내에서 프록시 VM의 서브넷을 만듭니다.
gcloud compute networks subnets create rfc1918-subnet1 --project=$projectid --