VPC 서비스 제어를 사용하면 Gemini Enterprise Agent Platform에서 데이터 무단 반출 위험을 완화할 수 있습니다. VPC 서비스 제어를 사용하여 지정한 리소스 및 데이터를 보호하는 서비스 경계 를 만듭니다. 예를 들어 VPC 서비스 제어를 사용하여 Agent Platform을 보호하면 다음 아티팩트는 서비스 경계를 벗어날 수 없습니다.
- AutoML 모델 또는 커스텀 모델의 학습 데이터
- 사용자가 만든 모델
- Agent Platform 신경망 아키텍처 검색을 사용하여 검색한 모델
- 온라인 추론 요청
- 일괄 추론 요청의 결과
- Gemini 모델
Google API에 대한 액세스 제어
온프레미스 및 멀티클라우드에서 Gemini Enterprise 에이전트 플랫폼 액세스에 설명된 대로 Agent Platform API는 공개 인터넷, Google API용 Private Service Connect, 비공개 Google 액세스를 비롯한 다양한 접근성 옵션을 포함합니다.
공개 액세스
기본적으로 이러한 공개 API는 인터넷에서 연결할 수 있지만 사용하려면 IAM 권한이 필요합니다. Google API용 Private Service Connect 및 비공개 Google 액세스와 같은 기능은 하이브리드 네트워크 아키텍처를 통한 비공개 통신을 지원하지만 Agent Platform API의 공개 인터넷 액세스 가능성을 없애지는 않습니다.
API 액세스를 세부적으로 제어하고 공개 인터넷 노출을 명시적으로 제한하려면 VPC 서비스 제어를 구현하는 것이 필수적입니다. VPC 서비스 제어 (VPC-SC) 경계를 설정하고 보호되는 서비스에 Gemini Enterprise를 포함하면 Agent Platform 인스턴스에 대한 모든 공개 인터넷 액세스가 자동으로 차단됩니다. 따라서 허용 목록에 포함되지 않은 사용자는 프로그래매틱 방식으로 또는 Google Google Cloud console을 사용하여 Agent Platform 서비스에 액세스할 수 없습니다.
경계 외부의 승인된 소스에 대한 액세스 (예: 회사 사무실의 사용자)를 복원하려면 VPC 서비스 제어 경계 외부에서 보호된 리소스에 대한 공개 엔드포인트 액세스 허용에서 배포 안내를 참조하세요.
비공개 액세스
공개 Google API를 비공개 액세스로 제한해야 하는 조직은 Google API용 Private Service Connect(VPC 서비스 제어 번들) 또는 비공개 Google 액세스와 함께 VPC 서비스 제어를 사용하면 됩니다. 하이브리드 네트워킹을 통해 Google Cloud내에 배포된 경우 두 옵션 모두 온프레미스에서 Google API에 비공개로 액세스할 수 있습니다. 하지만 Google API용 Private Service Connect는 커스텀 IP 주소와 DNS 엔드포인트 이름을 정의하는 유연성도 제공합니다.
인터넷에 요청을 노출하지 않고도 Google Cloud 서비스를 요청하기 위한 비공개 네트워크 경로를 제공하려면 Google API용 Private Service Connect 또는 비공개 Google 액세스와 함께 제한된 가상 IP(VIP)를 사용하는 것이 좋습니다. 제한된 VIP는 온프레미스 및 VPC 네트워크를 고려해야 하는 VPC 서비스 제어가 보호할 수 있는 모든 API를 지원합니다. 예를 들면 다음과 같습니다.
- VPC 서비스 제어 경계 외부의 비공개 엔드포인트에서 보호된 리소스에 대한 멀티클라우드 액세스 허용
- 고객 PSC Google API 엔드포인트 사용 방법 알아보기 (VPC 네트워크 예시)
- 온프레미스 네트워크 예시
비공개 서비스 액세스를 통한 API 액세스 제어
비공개 서비스 액세스로 배포된 다음 Agent Platform API는 VPC 서비스 제어로 보호되는 환경에서 구현될 때 추가 네트워킹 구성이 필요합니다.
- 벡터 검색 (색인 쿼리)
- 커스텀 학습 (데이터 영역)
- Agent Platform Pipelines
- 비공개 온라인 예측 엔드포인트
예를 들어 Agent Platform Pipelines는 단일 테넌트 프로젝트 및 VPC 네트워크에 배포되고 소비자 요구사항에 따라 지원되는 서비스를 확장할 수 있는 Google 관리형 (프로듀서) 서비스입니다. 프로듀서 네트워크를 통해 라우팅되는 인터넷 이그레스를 제외하고 프로듀서 네트워크와 소비자 네트워크 간의 통신은 VPC 네트워크 피어링으로 설정됩니다.
프로듀서 네트워크에는 Google API에 대한 무제한 액세스 외에도 인터넷 이그레스를 허용하는 기본 경로가 있습니다. 제한된 VIP를 지원하도록 프로듀서 네트워크를 업데이트하려면 피어링에 VPC 서비스 제어를 사용 설정해야 합니다. 그러면 서비스 네트워킹 프로듀서 네트워크에 배포된 모든 지원되는 서비스에서 다음 작업이 실행됩니다.
- IPv4 기본 경로(대상
0.0.0.0/0, 다음 홉 기본 인터넷 게이트웨이)를 삭제합니다. - Cloud DNS 관리형 비공개 영역을 만들고 서비스 프로듀서 VPC 네트워크에 대해 이러한 영역을 승인합니다. 이 영역에는 VPC 서비스 제어와 호환되는 Google API 및 서비스에 대한
googleapis.com,pkg.dev,gcr.io및 필요한 기타 도메인 또는 호스트 이름이 포함됩니다. - 영역에 데이터를 기록하면 모든 호스트 이름이
199.36.153.4,199.36.153.5,199.36.153.6,199.36.153.7로 변환됩니다.
기존 Google 관리형 서비스에 영향을 주지 않고 프로듀서 네트워크에서 기본 경로를 삭제하는 다른 방법은 다음 단계로 구성된 Cloud Interconnect를 통한 HA VPN을 사용하는 것입니다.
- HA VPN과 함께 서비스 VPC 네트워크를 소비자 VPC 네트워크에 배포합니다.
- 서비스 VPC 네트워크에 Google 관리형 서비스를 배포합니다.
- 피어링에 VPC 서비스 제어를 사용 설정합니다.
- 관리형 서비스에 온프레미스 연결 가능성이 필요한 경우 Cloud Router에서 비공개 서비스 액세스 서브넷을 커스텀 경로 공지로 공지합니다.
- 커스텀 경로 내보내기 옵션으로 서비스 네트워킹 VPC 네트워크 피어링을 업데이트합니다.
생성형 AI 조정 파이프라인을 위한 VPC 서비스 제어 지원
VPC 서비스 제어 지원은 다음 모델의 조정 파이프라인에서 제공됩니다.
text-bison for PaLM 2BERTT5textembedding-gecko모델의 계열
Gemini Enterprise 에이전트 플랫폼 Pipelines에서 VPC 서비스 제어 사용
서비스 경계는 Agent Platform에서 인터넷의 서드 파티 API 및 서비스로의 액세스를 차단합니다. Agent Platform Pipelines에서 사용할 Google Cloud 파이프라인 구성요소를 만들거나 자체 커스텀 파이프라인 구성요소를 사용하는 경우 공개 Python 패키지 색인 (PyPI) 레지스트리에서 PyPI 종속 항목을 설치할 수 없습니다. 대신 다음 중 하나를 실행해야 합니다.
커스텀 컨테이너 사용
프로덕션 소프트웨어 권장사항으로 구성요소 작성자는 컨테이너화된 Python 구성요소를 사용하고 종속 항목을 컨테이너 이미지에 빌드해야 하므로 파이프라인 실행 중에 실시간 설치가 필요하지 않습니다. 이 작업을 실행하는 방법 중 하나는 다음과 같습니다.
- Kubeflow Pipelines SDK 및 기타 패키지가 사전 설치된 자체 컨테이너 이미지를 빌드합니다. 예를 들어
us-docker.pkg.dev/vertex-ai/training/tf-cpu.2-17:latest를 이미지의 기본 레이어로 사용하고 컨테이너 빌드 시에 패키지를 설치하는 추가 레이어를 추가할 수 있습니다. 구성요소 정의 코드를 업데이트하여
base_image경로와install_kfp_package플래그를False로 설정합니다. 이 플래그는 Kubeflow Pipelines SDK 패키지가 이미지에 이미 설치되어 있으므로 KFP 컴파일러가 pip install kfp 명령어를 컨테이너 명령줄에 삽입하지 않도록 지시합니다. 예를 들면 다음과 같습니다.@component( base_image='gcr.io/deeplearning-platform-release/tf-cpu.2-17', install_kfp_package=False, ) def my_component(...): ...
Artifact Registry 저장소에서 패키지 설치
또는 프로젝트에서 Artifact Registry 저장소를 만들고, 여기에 Python 패키지를 저장하고, 이 섹션에 설명된 대로 Agent Platform 환경을 구성하여 이 저장소에서 설치할 수 있습니다. 자세한 내용은 Python 패키지 관리를 참조하세요.
역할 및 권한 구성
- Agent Platform 환경의 서비스 계정에는
iam.serviceAccountUser역할이 있어야 합니다. - 프로젝트 네트워크의 저장소에서 커스텀 PyPI 패키지를 설치하며 이 저장소에 공개 IP 주소가 없는 경우:
- 환경의 서비스 계정에 이 저장소에 대한 액세스 권한을 할당합니다.
- 이 저장소에 대한 연결이 프로젝트에 구성되어 있는지 확인합니다.
저장소 만들기
- 프로젝트에서 VPC 모드로 Artifact Registry 저장소를 만듭니다.
- 저장소에 필요한 Python 패키지를 저장합니다.
저장소에서 설치하도록 Agent Platform 환경 구성
하나 이상의 Artifact Registry 저장소에서 커스텀 PyPI 패키지를 설치하려면 @dsl.component에 다음과 유사한 호출을 수행합니다.
@dsl.component(packages_to_install=["tensorflow"],
pip_index_urls=['https://us-central1-python.pkg.dev/mygcpproject1/pypi-repo1/simple', 'https://us-central1-python.pkg.dev/mygcpproject2/pypi-repo2/simple'],)
def hello_world(text: str) -> str:
import my_package
import tensorflow
return my_package.hello_world(text)
PSC 인터페이스와 함께 VPC 서비스 제어 사용
비공개 서비스 연결 인터페이스로 배포된 다음 Agent Platform API는 VPC 서비스 제어로 보호되는 환경에서 구현될 때 추가 네트워킹 구성이 필요합니다.
- 커스텀 학습 (데이터 영역)
- Agent Platform Pipelines
- 비공개 온라인 추론 엔드포인트
- 에이전트 런타임
공개 인터넷에 액세스하는 Agent Platform 프로듀서의 서비스 기능은 프로젝트의 보안 구성, 특히 VPC 서비스 제어 사용 여부에 따라 달라집니다.
VPC 서비스 제어를 사용하지 않는 경우: Agent Platform을 호스팅하는 Google 관리 테넌트는 기본 인터넷 액세스를 유지합니다. 이 아웃바운드 트래픽은 프로듀서 서비스가 실행되는 Google 관리 보안 환경에서 직접 송출됩니다. 단, 예외적으로 Agent Runtime은 인터넷 이그레스를 제공하지 않습니다. 대신 인터넷 이그레스를 위해 RFC 1918 주소를 가진 프록시 VM을 배포해야 합니다.
VPC 서비스 제어를 사용하는 경우: 프로젝트가 VPC 서비스 제어 (VPC-SC) 경계에 포함된 경우 Agent Platform을 호스팅하는 Google 관리 환경의 기본 인터넷 액세스가 차단됩니다. 이 제한사항은 데이터 무단 반출을 방지하기 위해 설계된 보안 조치입니다. 이 시나리오에서 Agent Platform이 공개 인터넷에 액세스하도록 허용하려면 트래픽이 VPC 네트워크를 경유하도록 보안 이그레스 경로를 명시적으로 구성해야 합니다.
권장되는 방법은 다음과 같습니다.
- RFC 1918 서브넷 내의 VPC 경계 내에 프록시 서버를 배포합니다.
- 프록시 VM이 인터넷에 연결할 수 있도록 Cloud NAT 게이트웨이를 만듭니다.
- 런타임 환경에서 프록시 서버(IP 주소 또는 FQDN)를 정의합니다.
이 작업에 지정되었거나 선호되는 네트워크 프록시는 없습니다. 적절한 솔루션을 사용할 수 있습니다. 예를 들면: Squid 프록시, HAProxy, Envoy, 그리고 TinyProxy가 있습니다.
서비스 경계 만들기
서비스 경계 만들기에 대한 개요는 VPC 서비스 제어 문서의 서비스 경계 만들기를 참조하세요.
경계에 제한된 서비스 추가
서비스 경계를 설정할 때는 보안 권장사항으로 제한된 서비스를 모두 포함하는 것이 좋습니다. 이 포괄적인 접근방식은 잠재적인 취약점과 무단 액세스를 최소화하는 데 도움이 됩니다. 하지만 조직에 Gemini Enterprise 에이전트 플랫폼과 상호 연결된 API를 보호하는 데 중점을 둔 특정 요구사항이 있는 시나리오가 있을 수 있습니다. 이러한 경우 작업에 필수적인 특정 Agent Platform API만 선택하여 포함할 수 있는 유연성이 지원됩니다.
서비스 경계에 통합할 수 있는 Agent Platform API는 다음과 같습니다.
- Gemini Enterprise
는 다음 서비스 및 기능을 지원합니다.
- 일괄 추론
- 데이터 세트
- Agent Platform Feature Store (Bigtable 온라인 서빙)
- Agent Platform Feature Store (최적화된 온라인 서빙) (지원 중단됨)
- Gemini Enterprise Agent Platform의 생성형 AI (Gemini)
- Model Registry
- 온라인 추론
- 개방형 모델 조정
- 벡터 검색(색인 생성)
- 벡터 검색(색인 쿼리)
- 커스텀 학습(컨트롤 플레인)
- 커스텀 학습 (데이터 영역)
- Agent Platform Pipelines
- 비공개 온라인 추론 엔드포인트
- Colab Enterprise
- 에이전트 런타임
- 관리형 학습 클러스터
- Notebooks API
는 다음 서비스를 지원합니다.
- Vertex AI Workbench
제한사항
VPC 서비스 제어를 사용할 때는 다음과 같은 제한사항이 적용됩니다.
- 데이터 라벨 지정의 경우 레이블러의 IP 주소를 액세스 수준에 추가해야 합니다.
- 파이프라인 구성요소의 경우, 구성요소는 기본 이미지에서 모든 요구사항을 확인하는 컨테이너를 실행합니다. Google Cloud
KFP 패키지와
packages_to_install인수에 나열된 모든 패키지는 컨테이너의 요구사항입니다. 지정된 요구사항이 (제공된 또는 커스텀) 기본 이미지에 아직 없는 경우 구성요소는 Python 패키지 색인 (PyPI)에서 다운로드하려고 시도합니다. 서비스 경계는 Gemini Enterprise Agent Platform에서 인터넷의 서드 파티 API 및 서비스로의 액세스를 차단하므로 다운로드가 실패하며Connection to pypi.org timed out이 반환됩니다. 이 오류를 방지하는 방법은 Agent Platform Pipelines에서 VPC 서비스 제어 사용을 참조하세요. - Agent Platform Workbench에서 커스텀 커널과 함께 VPC 서비스 제어를 사용하는 경우 대신
*.notebooks.googleusercontent.com에 대한 요청을 서브넷 199.36.153.4/30(restricted.googleapis.com) 대신 199.36.153.8/30 (private.googleapis.com)으로 전송하도록 DNS 피어링을 구성해야 합니다. - Vertex AI Inference과 함께 VPC 서비스 제어를 사용하는 경우 프로젝트가 서비스 경계에 추가된 후에 엔드포인트를 만들어야 합니다. 엔드포인트가 서비스 경계에 속하지 않는 프로젝트에서 생성된 후 해당 프로젝트가 서비스 경계에 추가되면 해당 엔드포인트에 모델을 배포하려는 시도가 실패합니다. 엔드포인트가 공유 공개 엔드포인트인 경우 엔드포인트에 요청을 전송하는 것도 실패합니다. 마찬가지로 엔드포인트가 서비스 경계에 속한 프로젝트에서 생성된 후 프로젝트가 삭제되면 엔드포인트에 모델을 배포하려는 시도가 실패합니다.
- Agent Runtime과 함께 VPC 서비스 제어를 사용하는 경우 에이전트를 배포하기 전에 프로젝트가 서비스 경계에 속해야 합니다. 프로젝트가 경계에 추가되기 전에 에이전트가 배포되면 에이전트는 VPC 서비스 제어로 보호되지 않으며 공개 인터넷에 계속 액세스할 수 있습니다.
- VPC-SC 환경에서는 Model Garden 원클릭 공개(전용 엔드포인트) 배포가 지원되지 않습니다. 대신 VPC 서비스 제어를 지원하는 비공개 엔드포인트를 사용하세요. 자세한 내용은 비공개 엔드포인트에 모델 배포를 참고하세요.
- 요청 및 응답 로깅 은 VPC 서비스 제어에서 사용할 수 없습니다.
다음 단계
- VPC 서비스 제어: 공유 VPC에서 클라우드 프로젝트를 분할하는 방법 동영상 보기
- VPC 서비스 제어에서 테스트 실행 모드를 사용하는 방법 동영상 보기
- VPC 서비스 제어: 세부적인 액세스 제어를 만들기 위한 비공개 IP 지원 동영상 보기
- VPC 서비스 제어 자세히 알아보기
- VPC 서비스 제어에 필요한 역할 자세히 알아보기
- VPC 서비스 제어 문제 해결 알아보기
- 고객의 VPC에서 인터넷에 액세스하기 위해 프록시 VM을 배포하는 방법 알아보기