이전 글에서 VPC(Virtual Private Cloud) 내의 네트워크 트래픽을 제어하는 NACL(Network Access Control List)과 보안그룹(Security Group)에 이어 이번엔 VPC와 VPC 간 트래픽을 제어할 수 있는 VPC Peering과 VPC와 AWS 서비스 간의 트래픽을 제어하는 VPC Enpoints에 대해 알아보고자 합니다.

 

# VPC Peering

VPC 피어링이란 프라이빗 주소를 사용하여 두 VPC 간에 트래픽을 라우팅할 수 있도록 하기 위한 두 VPC 사이의 네트워킹 연결입니다. VPC 피어링은 동일한 네트워크에 속하는 경우뿐만 아니라, 다른 AWS 계정 또는 다른 리전에 있을 경우에도 VPC 피어링을 맺을 수 있습니다.

 

그림 1. VPC Peering (출처 : AWS)

 

VPC Peering은 중요 데이터를 송/수신 할 경우 EC2 인스턴스, RDS 데이터베이스, Lambda와 같은 VPC 리소스를 게이트웨이 또는 별도의 VPN 연결 등을 사용하지 않고 프라이빗하게 전달 할 수 있습니다. 해당 트래픽은 암호화되며, 절대 퍼블릭 인터넷을 통과하지 않아 일반적인 취약점 공격과 DDoS 공격 등의 위협을 감소시킬 수 있습니다.

 

 

# VPC Endpoints

VPC 엔드포인트는 VPC와 AWS 서비스 간의 프라이빗 연결을 지원하는 기능입니다. VPC 엔드포인트를 사용하면 IGW, VPN, NAT, 프록시 등을 사용할 필요 없이 퍼블릭으로 해당 서비스를 노출시키지 않고 프라이빗하게 연동할 수 있습니다.

ex) VPC 내의 프라이빗 EC2와 S3를 연동할때 S3를 퍼블릭으로 연결하지 않고, VPC 엔드 포인트를 활용하여 프라이빗하게 연결 할 수있습니다. 이 경우 인터넷망을 거치지 않고 데이터가 암호화된 통로를 통해 전달되기 때문에 보다 안전한 서비스 운용이 가능합니다.

 

EC2 인스턴스와 S3 엔트포인트 연결

> 인터페이스 엔드포인트 방식 : 프라이빗 인터페이스가 추가되어 통신하는 방식

                                                [지원 서비스] CloudWatch Logs, EC2 API, ELB API, AWS KMS, SNS 등

 

> 게이트웨이 엔드포인트 방식 : 라우팅 테이블에 등록하여 엔트포인트를 지정하는 방식

                                                [지원 서비스] S3, DynamoDB 등

 

 

#VPC Peering 과 VPC Endpoints의 차이

구분 VPC Peering VPC Endpoints
security ECS, LB와 같은 VPC 내의 모든 리소스에 액세스 할 수 있습니다. 특정 서비스 또는 어플리케이션에 대한 액세스를 허용합니다.
CIDR 중복 두개의 VPC 내에 중복되는 서브넷이 있을 경우 VPC 피어링 연결이 동작하지 않습니다. 엔드포인트를 사용하여 두개의 VPC를 연결하는 경우 서브넷이 중복되어도 동작합니다.
통신 모드 피어링 연결을 통해 연결된 VPC는 서로 통신할 수 있습니다. 요청은 VPC 엔드포인트에서 서비스로만 동작할 수 있습니다.

VPC는 VPC 간의 프라이빗 연결을 지원하며, VPC Endpoints는 VPC 와 AWS 서비스 간의 프라이빗 연결을 지원합니다.

중요정보를 송/수신하는 인스턴스의 경우 퍼블릭망을 통해 통신하지 않도록 VPC Peering, VPC Endpoints 등의 기능을 활용할 수 있습니다. 인스턴스 또는 서비스 간의 프라이빗한 통신 기능 구축을 통해 데이터를 안전하게 운용할 수있도록 설계 하는 것을 권장합니다 :)

 

복사했습니다!