안녕하세요,

베스핀글로벌 GCP Support팀입니다.


이번 아티클에서는 주제로 "GCP Serverless 제품의 Outbound IP를 고정 IP로 사용하는 방법"을 다루고자 합니다.



Severless VPC Access Connector를 사용하여 VPC와 연동



GCP의 대표적인 Serverless 제품은 Cloud Functions, Cloud Run, App Engine이 있습니다.

이 Serverless 제품을 사용 시 보안 등의 이유로 Outbound IP를 고정 IP로 사용해야할 필요가 있을 수 있습니다.

Serverless VPC Access Connector[1]를 사용하여 이러한 Serverless 제품들을 VPC와 연동하고 해당 VPC의 NAT IP로 통신하도록 고정할 수 있습니다.

※ App Engine Flexible, Cloud Run for Anthos 환경에서는 지원되지 않습니다.





Serverless 서비스 IP 고정 방법


위 아키텍쳐를 구성하는 방법은 아래와 같습니다.


1. Serverless VPC Access Connector 리소스를 위한 Subnet을 생성합니다.

 - gcloud compute networks subnets create SUBNET_NAME \

--range=RANGE --network=NETWORK_NAME --region=REGION


2.  Serverless VPC Access Connector를 생성합니다.

 - gcloud compute networks vpc-access connectors create CONNECTOR_NAME \

  --region=REGION \

  --subnet-project=PROJECT_ID \

  --subnet=SUBNET_NAME


3. Cloud Router를 생성합니다.

 - gcloud compute routers create ROUTER_NAME \

  --network=NETWORK_NAME \

  --region=REGION


고정 IP 주소를 예약합니다.

 - gcloud compute addresses create ORIGIN_IP_NAME --region=REGION


위 고정 IP 주소와 Router를 사용하여 NAT G/W를 구성합니다.

 - gcloud compute routers nats create NAT_NAME \

  --router=ROUTER_NAME \

  --region=REGION \

  --nat-custom-subnet-ip-ranges=SUBNET_NAME \

  --nat-external-ip-pool=ORIGIN_IP_NAME


4. 이제 각 서버리스 제품에서 이그레스 트래픽을 위에 생성한 Serverless VPC Access Connector 를 통해 라우팅 하도록 변경합니다.

※ 아래 예시는 Cloud Functions에서의 설정입니다.


 - Cloud Functions > Runtime, build, connections and security settings > Connections 탭 > Egress settings > Serverless VPC Access Connector 사용



 - Egress 옵션 중 아래 옵션을 선택합니다.

  • Route all traffic through the VPC Connector : 트래픽 전달 대상이 공개 IP를 포함하는 경우 사용합니다.


5. Egress 옵션대로 NAT 고정 IP를 사용하는지 테스트 합니다.

 - Cloud Functions 호출 시 Egress IP를 응답 받는 간단한 Application을 구성하여  테스트합니다.




Serverless VPC Access Connector의 비용은 사용하는 인스턴스 타입 및 인스턴스 수에 따라 달라집니다.

비용에 대한 자세한 내용은 가격 정책 문서[2]를 참고하시기 바랍니다.



참조 링크


[1] Serverless VPC Access 개요

https://cloud.google.com/vpc/docs/serverless-vpc-access

[2] Serverless VPC Access Connector 가격 정책

https://cloud.google.com/vpc/pricing#serverless-vpc-pricing



관련 문의사항이 있으시면 Support Portal에 문의해 주시기 바랍니다.


감사합니다.