다음과 같은 Vertex AI의 특정 리소스에 직접 연결하기 위해 Virtual Private Cloud(VPC)와 피어링하도록 Vertex AI를 구성할 수 있습니다.
이 가이드에서는 VPC 네트워크 피어링을 설정하여 Vertex AI 리소스와 네트워크를 피어링하는 방법을 보여줍니다. 이 가이드는 이미 Google Cloud 네트워킹 개념에 익숙한 네트워킹 관리자에게 권장됩니다.
개요
이 가이드에서는 다음 작업을 설명합니다.
- VPC의 비공개 서비스 액세스를 구성합니다. 이렇게 하면 VPC와 Google의 공유 VPC 네트워크 간에 피어링 연결이 설정됩니다.
- Vertex AI를 위해 예약해야 하는 IP 범위를 고려하세요.
- 해당되는 경우 Vertex AI가 가져올 수 있도록 커스텀 경로를 내보냅니다.
시작하기 전에
- Vertex AI 리소스와 피어링할 VPC를 선택합니다.
- Vertex AI에 사용할 Google Cloud 프로젝트를 선택하거나 만듭니다.
-
Enable the Compute Engine API, Vertex AI API, and Service Networking APIs.
- 필요한 경우 공유 VPC를 사용할 수 있습니다. 공유 VPC를 사용하는 경우 일반적으로 VPC 호스트 프로젝트와 별도의 Google Cloud 프로젝트에서 Vertex AI를 사용합니다. 두 프로젝트 모두에서 Compute Engine API와 Service Networking API를 사용 설정합니다. 공유 VPC 프로비저닝 방법을 알아보세요.
- 이 가이드의
gcloud
예시를 실행하려면 gcloud CLI를 설치합니다.
필요한 역할
프로젝트 소유자나 편집자가 아닌 경우 네트워킹 리소스를 관리하는 데 필요한 역할이 포함된 Compute 네트워크 관리자 역할(roles/compute.networkAdmin
)이 있어야 합니다.
온프레미스 네트워크와 피어링
온프레미스 네트워크와의 VPC 네트워크 피어링의 경우 추가 단계가 있습니다.
- 온프레미스 네트워크를 VPC에 연결합니다. VPN 터널 또는 상호 연결을 사용할 수 있습니다.
- VPC에서 온프레미스 네트워크까지 커스텀 경로를 설정합니다.
- Vertex AI가 가져올 수 있도록 커스텀 경로를 내보냅니다.
VPC의 비공개 서비스 액세스 설정
비공개 서비스 액세스를 설정하면 네트워크와 Google 또는 타사 서비스(서비스 제작자) 소유 네트워크 간에 비공개 연결이 설정됩니다. 이 경우 Vertex AI가 서비스 제작자입니다. 비공개 서비스 액세스를 설정하려면 서비스 제작자를 위한 IP 범위를 예약한 다음 Vertex AI와의 피어링 연결을 만듭니다.
이미 비공개 서비스 액세스가 구성된 VPC가 있으면 커스텀 경로 내보내기로 이동합니다.
- 프로젝트 ID, 예약된 범위 이름, 네트워크 이름의 환경 변수를 설정합니다. 공유 VPC를 사용하는 경우 VPC 호스트 프로젝트의 프로젝트 ID를 사용합니다. 그렇지 않으면 Vertex AI에 사용하는 Google Cloud 프로젝트의 프로젝트 ID를 사용합니다.
- 필요한 API를 사용 설정합니다. 공유 VPC를 사용하는 경우 Vertex AI에서 공유 VPC 사용을 참조하세요.
gcloud compute addresses create
를 사용하여 예약된 범위를 설정합니다.gcloud services vpc-peerings connect
를 사용하여 VPC 호스트 프로젝트와 Google 서비스 네트워킹 간의 피어링 연결을 설정합니다.비공개 예측 엔드포인트의 경우 모델을 호스팅할 수 있도록 서브넷에 최소한
/21
블록을 예약하는 것이 좋습니다. 작은 블록을 예약하면 IP 주소가 부족해 배포 오류가 발생할 수 있습니다. 배포에 RFC 1918 이외의 주소를 사용할 수 있습니다.PROJECT_ID=YOUR_PROJECT_ID gcloud config set project $PROJECT_ID # This is for display only; you can name the range anything. PEERING_RANGE_NAME=google-reserved-range NETWORK=YOUR_NETWORK_NAME # NOTE: `prefix-length=16` means a CIDR block with mask /16 will be # reserved for use by Google services, such as Vertex AI. gcloud compute addresses create $PEERING_RANGE_NAME \ --global \ --prefix-length=16 \ --description="peering range for Google service" \ --network=$NETWORK \ --purpose=VPC_PEERING # Create the VPC connection. gcloud services vpc-peerings connect \ --service=servicenetworking.googleapis.com \ --network=$NETWORK \ --ranges=$PEERING_RANGE_NAME \ --project=$PROJECT_ID
비공개 서비스 액세스에 대해 자세히 알아보세요.
Vertex AI에서 공유 VPC 사용
프로젝트에서 공유 VPC를 사용하는 경우 공유 VPC를 프로비저닝하는 방법을 참조하고 다음 단계를 완료해야 합니다.
호스트 및 서비스 프로젝트에서 Compute Engine API 및 Service Networking API를 사용 설정합니다. 서비스 프로젝트에 Vertex AI API를 사용 설정해야 합니다.
호스트 프로젝트 내에서 VPC와 Google 서비스 사이에 VPC 네트워크 피어링 연결을 만듭니다.
Vertex AI 생성 중에 Vertex AI가 공유 VPC에 액세스할 수 있도록 하려는 네트워크의 이름을 지정해야 합니다.
사용된 서비스 또는 사용자 계정에 Compute 네트워크 사용자 역할(
roles/compute.networkUser
) 역할이 있는지 확인합니다.
Vertex AI의 IP 범위 예약
서비스 제작자를 위해 예약한 IP 범위는 Vertex AI 및 기타 서비스에서 사용할 수 있습니다. 동일한 범위를 사용하여 여러 서비스 제작자에 연결하는 경우 IP 소진을 방지하기 위해 더 큰 범위를 할당하세요.
다양한 유형의 커스텀 학습 작업에 비공개 IP 사용을 위해 예약할 예상 IP 범위에 대해 알아보세요.
아래 매개변수를 사용하여 작업을 시작하면 VPC 및 다른 연결된 네트워크와 피어링되는 Google 관리형 네트워크에서 시작됩니다.
--network = "projects/${host_project}/global/networks/${network}"
네트워크에 액세스할 필요가 없는 작업은 이 선언 없이 시작할 수 있으므로 IP 할당이 보존됩니다.
커스텀 경로 내보내기
커스텀 경로를 사용하는 경우 Vertex AI가 가져올 수 있도록 내보내야 합니다. 커스텀 경로를 사용하지 않는 경우 이 섹션을 건너뛰세요.
커스텀 경로를 내보내려면 VPC에서 피어링 연결을 업데이트합니다. 커스텀 경로를 내보내면 온프레미스 네트워크 경로 등 VPC 네트워크에 있는 모든 적격 정적 및 동적 경로가 서비스 제작자 네트워크(이 경우 Vertex AI)로 전송됩니다. 이렇게 하면 필요한 연결이 설정되고 학습 작업이 온프레미스 네트워크로 트래픽을 다시 보낼 수 있습니다.
온프레미스 네트워크가 Vertex AI에 할당된 IP 주소 범위로 다시 라우팅되어 응답이 다시 Vertex AI로 올바르게 라우팅되는지 확인합니다. 예를 들어 Vertex AI IP 주소 범위가 포함된 Cloud Router 커스텀 경로 공지를 사용합니다.
온프레미스 네트워크와의 비공개 연결에 대해 자세히 알아보세요.
콘솔
- Google Cloud 콘솔에서 VPC 네트워크 피어링 페이지로 이동합니다.
VPC 네트워크 피어링 페이지로 이동 - 업데이트할 피어링 연결을 선택합니다.
- 수정을 클릭합니다.
- 커스텀 경로 내보내기를 선택합니다.
gcloud
업데이트할 피어링 연결의 이름을 찾습니다. 여러 피어링 연결이 있는 경우
--format
플래그를 생략합니다.gcloud services vpc-peerings list \ --network=$NETWORK \ --service=servicenetworking.googleapis.com \ --project=$PROJECT_ID \ --format "value(peering)"
커스텀 경로를 내보내도록 피어링 연결을 업데이트합니다.
gcloud compute networks peerings update PEERING-NAME \ --network=$NETWORK \ --export-custom-routes \ --project=$PROJECT_ID
피어링 연결 상태 확인
피어링 연결이 활성 상태인지 확인하려면 다음 명령어를 사용하여 피어링 연결을 나열할 수 있습니다.
gcloud compute networks peerings list --network $NETWORK
방금 만든 피어링의 상태가 ACTIVE
로 표시되어야 합니다.
활성 피어링 연결에 대해 자세히 알아보세요.
문제 해결
이 섹션에는 Vertex AI를 사용하여 VPC 네트워크 피어링을 구성할 때 발생하는 일반적인 문제가 나와 있습니다.
공유 VPC 네트워크를 사용하도록 Vertex AI를 구성할 때는 다음과 같은 방법으로 네트워크 URI를 지정합니다.
"projects/YOUR_SHARED_VPC_HOST_PROJECT/global/networks/YOUR_SHARED_VPC_NETWORK"
Vertex AI에서 사용할 공유 VPC 네트워크를 지정하는 경우 서비스 프로젝트의 Vertex AI에 대한 사용자나 서비스 계정 행위자에게 호스트 프로젝트에서 부여된
compute.networkUser
역할이 있는지 확인합니다.Vertex AI를 포함하여 네트워크가 연결되는 모든 서비스 제작자에게 충분한 IP 범위를 할당했는지 확인합니다.
IP_SPACE_EXHAUSTED
,RANGES_EXHAUSTED
또는PEERING_RANGE_EXHAUSTED
오류 메시지가 표시되면 네트워크에서servicenetworking
예약에 사용할 수 있는 IP 주소의 양을 늘려야 합니다. 기존 VPC 네트워크 피어링 구성에 새 범위를 추가하거나 일부 Vertex AI 리소스를 삭제하여 할당된 IP 주소를 해제하면 됩니다.연결 제한 시간: 커스텀 경로를 내보낸 후 Vertex AI에서의 연결이 다른 네트워크의 엔드포인트에 도달하도록 네트워크를 통해 라우팅됩니다. 하지만 이러한 엔드포인트는 네트워크를 통해 라우팅되지 않아 Vertex AI로 다시 응답을 보낼 수 없습니다. 또한 Vertex AI 할당 IP 범위에 대한 반환 경로의 네트워크에 정적 경로나 동적 경로를 추가해야 합니다.
연결 제한 시간/호스트에 연결할 수 없음 오류: 전환 피어링이 지원되지 않으므로 '커스텀 경로 내보내기'를 사용 설정하더라도 Vertex AI에서의 연결이 네트워크에 직접 피어링된 다른 네트워크의 엔드포인트에 도달할 수 없습니다. 네트워크 관리자와 협력하여 네트워크를 직접 피어링된 네트워크에서 다른 네트워크로 네트워크를 직접 라우팅하려는 시도가 없는지 확인합니다. 필요한 경우 이러한 피어링 홉 중 하나를 정적 경로나 동적 경로를 지원하는 솔루션으로 바꿀 수 있습니다.
연결할 수 없는 DNS 호스팅 오류: Vertex AI 작업이 VPC의 호스트 이름을 변환해야 하는 경우 서비스 프로듀서와 비공개 DNS 영역을 공유하도록 구성을 완료했는지 확인합니다.
추가 문제 해결 정보는 VPC 네트워크 피어링 문제 해결 가이드를 참조하세요.
다음 단계
- 커스텀 학습에 비공개 IP를 사용하는 방법 알아보기
- 예측을 위해 비공개 엔드포인트를 사용하는 방법 알아보기
- VPC 네트워크 피어링 자세히 알아보기
- VPC 설계를 위한 참조 아키텍처 및 권장 사항 참조