본문 바로가기
GCP

Cloud Functions 에서 VPC 내부 리소스 접근

by misankim 2023. 5. 12.

Cloud Functions 에서 VPC 내부 리소스 접근

 

 

작동 방식

https://cloud.google.com/vpc/docs/serverless-vpc-access?hl=ko

 

가이드 - 공유 VPC 네트워크에 연결 - 구성 방법 비교

https://cloud.google.com/functions/docs/networking/connecting-shared-vpc?hl=ko#comparison_of_configuration_methods

 

가이드 - 공유 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} --추가로 필요한 플래그...

 

'GCP' 카테고리의 다른 글

gcsfuse  (0) 2023.05.12
GCS(Google Cloud Storage)  (0) 2023.05.12
GCE Alias IP address  (0) 2023.05.06
GCE(Google Compute Engine) Windows OS 라이센스 인증  (0) 2023.05.06
Cloud CDN 으로 GCS(Google Cloud Storage) 오브젝트 호스팅  (0) 2023.05.02