본문 바로가기
CSP (Cloud Service Provider)/GCP

[GCP] VPC Connector

by BTC_금쪽이 2023. 7. 8.

베하! 안녕하세요! BTC 금쪽상담소의 오은영석사와 금쪽이 입니다!

지난 한 주, 다들 어떠셨나요! 무더운 여름을 식혀주는 하늘의 단비가 내려 조금의 더위가 식어가고 있나요?

장마철이니 만큼! 모두 창문이나 우천대비를 꼼꼼이 해서 이번 장마는 별일 없이 무탈히 지나가길 바랍니다!

 

자 그럼 이번 주는 GCP의 서비스인 VPC Connector를 알아보도록 할께요!! 룰루~~!! 

 


VPC Connector란?

Cloud Run, App Engine, Cloud Functions와 같은 서버리스 환경에서 Virtual Private Cloud(VPC) 네트워크에 직접 연결할 수 있도록 하는 GCP의 리소스 입니다.

서버리스 VPC 액세스, 즉 VPC Connector를 구성하게 되면 서버리스 환경에서 내부 DNS 및 내부 IP 주소를 사용하여 VPC 네트워크에 요청을 보낼 수 있습니다. 이러한 요청에 대한 응답도 내부 네트워크를 사용합니다.

 

서버리스 VPC 액세스를 사용하면 다음과 같은 두 가지 주요 이점이 있습니다.

  • VPC 네트워크로 전송된 요청은 절대 인터넷에 노출되지 않습니다.
  • 서버리스 VPC 액세스를 통한 통신은 인터넷에 비해 지연 시간이 짧을 수 있습니다.

서버리스 VPC 액세스는 내부 트래픽이 서버리스 VPC 액세스 커넥터를 통해 서버리스 환경에서 전송된 요청에 대한 응답인 경우에만 VPC 네트워크에서 서버리스 환경으로 내부 트래픽을 전송합니다.

 

작동방식

그렇다면 이러한 Serverless 형태의 리소스들을 우리가 구성한 VPC 내부에서, Internal IP를 이용하여 내부 통신을 하도록 하는 작동 방식은 어떻게 될까요?

 

서버리스 VPC 액세스는 커넥터라는 리소스를 토대로 합니다. 커넥터는 서버리스 환경과 VPC 네트워크 간의 트래픽을 처리합니다. Google Cloud 프로젝트에서 커넥터를 생성할 때 특정 VPC 네트워크 및 리전에 연결합니다. 그런 다음 아웃바운드 네트워크 트래픽에 커넥터를 사용하도록 서버리스 서비스를 구성할 수 있습니다.

 

IP 주소 범위

커넥터의 IP 주소 범위를 설정하는 방법은 두 가지가 있습니다.

  • 서브넷: 아직 서브넷을 사용하는 리소스가 없으면 기존 /28 서브넷을 지정할 수 있습니다.
  • CIDR 범위: 사용되지 않은 /28 CIDR 범위를 지정할 수 있습니다. 이 범위를 지정할 때는 사용 중인 CIDR 범위와 겹치지 않는지 확인하세요.

커넥터를 통해 VPC 네트워크로 전송된 트래픽은 지정된 서브넷 또는 CIDR 범위에서 시작됩니다.

방화벽 규칙

서브넷이 공유 서브넷이 아닌 경우, 우선순위가 1,000인 암묵적인 방화벽 규칙이 VPC 네트워크에 생성되어 커넥터의 서브넷이나 커스텀 IP 범위에서 네트워크의 모든 대상으로 이동하는 인그레스를 허용합니다. 묵시적인 방화벽 규칙은 Google Cloud Console에 표시되지 않으며 연결된 커넥터가 존재하는 경우에만 존재합니다.

 

처리량 및 확장

서버리스 VPC 액세스 커넥터는 커넥터 인스턴스로 구성됩니다. 커넥터 인스턴스는 여러 머신 유형 중 하나를 사용할 수 있습니다. 머신 유형이 클수록 처리량이 높습니다. Google Cloud Console 및 다음 표에서 각 머신 유형의 예상 처리량과 비용을 볼 수 있습니다.

머신 유형 Mbps의 예상 처리량 범위가격
(커넥터 인스턴스 + 네트워크 이그레스 비용)
f1-micro 100-500 f1-micro 가격
e2-micro 200-1000 e2-micro 가격
e2-standard-4 3200-16000 e2 표준 가격

커넥터에 허용되는 커넥터 인스턴스의 최소 및 최대 수를 설정할 수 있습니다. 최솟값은 2 이상이어야 합니다. 최댓값은 10 이하여야 하며 최솟값보다 커야 합니다. 커넥터의 최소 및 최대 인스턴스 수를 지정하지 않으면 기본 최솟값 2와 기본 최댓값 10이 적용됩니다.

서버리스 VPC 액세스는 트래픽이 증가함에 따라 커넥터의 인스턴스 수를 자동으로 수평 확장합니다. 추가된 인스턴스는 커넥터에 지정된 유형입니다. 커넥터는 머신 유형을 혼합할 수 없습니다. 커넥터는 축소되지 않습니다. 커넥터가 원하는 만큼 이상으로 수평 확장되지 않도록 하려면 최대 인스턴스 수를 낮게 설정합니다. 커넥터가 수평 확장되었고 더 적은 인스턴스가 필요한 경우 원하는 인스턴스 수로 커넥터를 다시 만듭니다.

 

네트워크 태그

서버리스 VPC 액세스 네트워크 태그를 사용하면 방화벽 규칙  경로에서 VPC 커넥터를 참조할 수 있습니다.

모든 서버리스 VPC 액세스 커넥터는 자동으로 다음 두 가지 네트워크 태그(인스턴스 태그라고도 함)를 수신합니다.

  • 범용 네트워크 태그(vpc-connector): 모든 기존 커넥터와 향후의 커넥터에 적용됩니다.
  • 고유 네트워크 태그(vpc-connector-REGION-CONNECTOR_NAME): REGION 리전의 CONNECTOR_NAME 커넥터에 적용됩니다.

이러한 네트워크 태그를 삭제할 수 없습니다. 새 네트워크 태그를 추가할 수 없습니다.

 


이렇게 VPC Connector를 이용하여 서버리스 서비스의 네트워크를 구성하게 되면, 다음과 같은 그림으로 구성이 가능합니다.

서버리스 VPC 액세스 예시

 

이번 시간에는 VPC Connector가 무엇인지, 어떤 방식으로 동작하는 지에 대해서 알아보았습니다!

클라우드는 앞으로 SaaS 서비스의 발달로 이뤄지고, 다양한 사용자 및 고객분들께서는 더욱더 편리한 서비스를 이용하여 맞춤 클라우드 환경을 구성할 것 입니다.

 

이러한 서비스를 이용하여 기존의 리소스 및 온프레미스 환경과 보안적으로 안전하고 관리 효율을 높게 구성하기 위해서는 정말 좋은 서비스 라고 생각 됩니다.

 

우리 모두 안전하고 활용적인 클라우드를 사용할 수 있도록, 

다음 주도 더 욱 유익한 자료를 가지고 돌아오겠습니다!

그럼~~~ 베 빠ㅏㅏㅏ!!!!!

 

 

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

댓글