GCP
Cloud Functions 에서 VPC 내부 리소스 접근
misankim
2023. 5. 12. 23:17
Cloud Functions 에서 VPC 내부 리소스 접근
작동 방식
https://cloud.google.com/vpc/docs/serverless-vpc-access?hl=ko
가이드 - 공유 VPC 네트워크에 연결 - 구성 방법 비교
가이드 - 공유 VPC 호스트 프로젝트에서 커넥터 구성
https://cloud.google.com/functions/docs/networking/shared-vpc-host-project?hl=ko
1. 호스트 프로젝트에 서버리스 vpc 커넥터 생성
gcloud 업데이트
gcloud components update
Serverless VPC Access API 활성화
gcloud services enable vpcaccess.googleapis.com
gcloud compute networks vpc-access connectors create my-serverless-conn \
--region=asia-northeast3 \
--network=test-network \
--range=10.0.0.32/28 \
--subnet-project=my-project
2. gcf 서비스 에이전트에게 서버리스 vpc 커넥터 권한 부여
권한을 부여할 대상
service-[프로젝트 넘버]@gcf-admin-robot.iam.gserviceaccount.com
부여할 권한
서버리스 VPC 액세스 사용자(roles/vpcaccess.user)
gcf 서비스 활성화
gcloud services enable cloudfunctions.googleapis.com --project=my-project
프로젝트 넘버 확인
gcloud projects describe my-project
gcloud projects add-iam-policy-binding my-project \
--member=serviceAccount:service-123412341234@gcf-admin-robot.iam.gserviceaccount.com \
--role=roles/vpcaccess.user
3. gcf 를 배포할 사용자에게 서버리스 vpc 커넥터 권한 부여
gcloud projects add-iam-policy-binding my-project \
--member=group:test@example.com \
--role=roles/vpcaccess.viewer
4. 서버리스 vpc 커넥터를 사용하도록 설정하여 새 함수를 배포하거나 기존 함수를 수정
CONNECTOR_NAME="projects/my-project/locations/asia-northeast3/connectors/my-serverless-conn"
gcloud functions deploy [함수 이름] --vpc-connector=${CONNECTOR_NAME} --추가로 필요한 플래그...