Print
카테고리: [ Amazon Web Services ]
조회수: 13945

1. 개요

VPC는 AWS 서비스 중 네트워크 영역에 속하는 서비스이다.


2. VPC는 무엇이며 왜 필요할까?

모든 리전에서 사용 가능한 AWS 내에 사설 네트워크를 구축하는 개념으로 여러 보안 정책. 세분화된 접근 제어, 하나의 EC2에 여러 IP나 여러 NIC를 할당하고 싶을 때 사용한다.

또한 기존 온프레미스 환경과 연결하여 하이브리드 형태로 사용할 수 있다.


3. AWS가 제공하는 IP 종류


일단 VPC를 생성하면 크기와 주소 변경이 불가능하다. 주의하라.

각 Subnet은 라우팅 테이블을 가지고 있는데 이 설정을 변경하여 통신 경로를 제어할 수 있다.

Private Subnet에서 인터넷 접근이 필요하다면 NAT(Network Address Translation)를 사용한다. NAT 인스턴스를 사용하면 Global IP 없이도 인터넷에 접근할 수 있다.


4. 보안

VPC 환경에서는 인바운드뿐 아니라 아웃바운드 트래픽의 제어도 가능하다.


5. NACL (Network Access Control)

개별 Subnet 별로 접근 제어가 가능하다.

NACL과 Security Group(이하 SG)은 차이가 있다.


6. DNS


7. Elastic Network Interfaces

VPC에서 여러 NIC을 사용할 수 있는 기능입니다. ENI에서는 다음의 리소스를 연결할 수 있다.

인스턴스에 따라 할당 가능한 수는 다릅니다.


8. VPN (Virtual Private Network)

온프레미스와 AWS VPC를 연결하세요!

BGP, 정적라우팅을 지원하며 VPN 라우터를 통해 연결할 수 있습니다.


9. VPC Peering

여러 VPC를 서로 Peering 할 수 있는데 동일 계정 내 VPC 뿐 아니라 다른 계정의 VPC도 연결할 수 있다.

내부 VPC간 연결은 VPC Peering을 이용한다. 단 Peering은 1:1만 가능하다. N:N, 1:N, N:1 통신은 안된다.

Transit Gateway와 비교하면 VPN이나 별도 하드웨어에 의존하지 않는 점, SPoF가 없는 점, 대역폭 병목 현상이 없는 점 등이 장점이다.

다만 VPC Peering 연결 관련 limit이 존재하다.

요즘은 Peering 연결된 VPC가 동일 리전인지 아닌지에 따라 상이하다. 


10. VPC 아키텍처 패턴

10.1. 단일 VPC

기존 단일 데이터센터를 VPC로 구현한 것이라고 보면 된다. 여러 조직이 VPC를 사용함에 따라 보안적인 측면 등 복잡도가 높다. 또 VPC가 제공하는 각 리소스의 limit에 걸릴 확률도 높아진다.

10.2. 보안 수준별 VPC 분리

보안적인 데이터 분류에 따라 VPC를 분리한다. 여전히 여러 조직이 사용하며, 여전히 개발/운영 환경은 분리되어 있지 않다. 

10.3. 애플리케이션별 VPC 분리

새로운 애플리케이션이 추가될 때마다 VPC를 추가한다. 따라서 변경 작업시 영향도가 줄어든다. 다만 피어링 복잡도가 증가할 수 있다.

10.4. 운영 환경별 VPC 분리

개발, 운영 등 환경에 따라 분리한다. 환경에 따른 보안 통제가 가능하다는 점이 장점이다. 단일 VPC를 여러 조직이 사용하게 됨에 따른 보안적 고려 사항이 발생하고, VPC가 제공하는 각 리소스의 limit에 걸릴 확률도 높아지는 등의 문제도 존재한다. 

10.5. 멀티 어카운트 & 애플리케이션별 VPC 분리

10.3에 어카운트에 분리가 적용된 것이다.