Cloud/GCP

GCP PSC(Priave Service Connect) 에서 VPC-SC 사용하여 Gemini API 보호

달빛궁전- 2026. 5. 11. 10:00
Gemini API사용시 PSC를 사용하여 보안성을 높이고, VPC-SC로 상세 보안을 더한 부분을 설명합니다.

 

 

 

 

  • VPC - SC 생성

 

 

  • 보호할 리소스

 

  • 보호서비스 선택

 

  • PSA 여부

 

  • 허용 IP

 

  • 테스트코드
# 1. 변수 설정
PROJECT_ID="shared-vpc-test-2-"
LOCATION="us-central1"
MODEL_ID="gemini-2.5-flash"

# 2. 토큰 갱신
ACCESS_TOKEN=$(gcloud auth print-access-token)

# 3. Gemini API 호출 (진짜 명령어)
curl -X POST \
  "https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/${MODEL_ID}:generateContent" \
  --resolve ${LOCATION}-aiplatform.googleapis.com:443:100.100.100.10 \
  -H "Authorization: Bearer ${ACCESS_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{
      "role": "user",
      "parts": [{ "text": "Hello, Gemini! If you receive this, answer with: PSC Connection Successful!" }]
    }]
  }'

 

  • 서비스 차단시 
    PERMISSION_DENIED으로 실행할 수 없으며, 사유(Type)는 VPC_SERVICE_CONTROLS 때문이다.

 

  • VPN IP 허용시
    Access Contex Manager로 이동
    → 액세스 수준 생성


조건 작성방법
IP 서브네트워크 → 비공개 IP → VPC에 HostNetwork VPC 추가
VPN을 통해 들어오는 패킷들이 HostNetwork VPC로 왔기에 허용됨

  • 보안을 더 세밀하게 설정시

    액세스 수준대신
    인그레스 정책에서 ID + 소스 + 타켓을 설정하여 더 좁혀서 설정

 

네트워크 보안 관점

Access Manager Context 서비스와 같이 VPC SC를 사용하면 위치정보, IP, 기기정보(유료) 외부에서 오는 네트워크와 내부 VPC 트래픽으로 오는 것을 네트워크적으로 (외부IP → Vertex AI (Gemini Model API) 로 허용, 차단 하는 것은 가능합니다.


다만 VPC SC는 VPN으로 들어오는 On-presmise/VPN IP의 네트워크단 제어를 지원하지를 않음

 

On-premise → GCP (Host VPC)로 들어오기에 해당 VPC를 허용하면, 해당 VPC의 트래픽은 허용처리가 가능함

즉 VPN을 통해 들어오는 패킷들이 HostNetwork VPC로 왔기에 허용할 수 있는 있으며

이는 해당 VPC 에서 VM을 만든다면, 해당 VM에서 호출이 가능할 수 있습니다. 
(물론 SA에 Vertex API 권한이 있어야하지만, 호출될 가능성이 있다는 점입니다.)

네트워크 IP와 Port로 제어를 원하신다면, Azure측에서 → GCP (PSC IP)에 대해 Egress 를 차단하는 정책을 두는 것이 방법이라 생각됩니다.

네트워크 외 다른 방안은 인그레스 정책 방안이 있습니다.
 
VPC-SC는 다양한 조건 조합이 가능하고 고객사마다 지향하는 보안 요건이 상이하므로, 특정 방식만이 '유일한 정답'이라고 정의하기는 어려우며, VPC-SC 에 대해 상세하게 확인하고 싶다면 “VPC SC 관련 정리” 문서 참조

https://seonggi.kr/315

 

GCP VPC-SC(VPC Service Controls) 정리

정의: IAM(ID 기반 보안)과는 독립적으로, 컨텍스트 기반의 경계 보안을 제공하는 추가 보안 계층 목적: 데이터 무단 반출 방지: 권한이 있는 내부자가 데이터를 외부 버킷으로 복사하거나 유출하

seonggi.kr

 

참조 :

https://cloud.google.com/blog/ko/products/ai-machine-learning/ai-private-service-connect-vpc-service-controls-gemini-api

 

Google Cloud PSC(Private Service Connect)를 사용하여 Vertex AI Gemini 비공개 접근 구성하기 | Google Cloud 블로

긴 여정을 정리하면 PSC와 VPC-SC가 서로 다른 역할을 수행하면서 안전한 비공개 구성을 구현하였습니다. PSC는 '통신 경로'를 공개 인터넷에서 비공개로 전환하여 공개 인터넷에 노출되지 않는 통

cloud.google.com