[AWS] VPC 이해하기

김두현·2023년 10월 3일
35

AWS

목록 보기
1/1
post-thumbnail

❕VPC란?

Virtual Private Cloud

사설 IP를 갖는 하나의 가상 네트워크이다.

왜 사용할까?

트래픽 제어, 다중 가용 영역, 비용 관리, 확장성 등 다양한 이유가 있지만, 대표적인 사용 이유는 아래와 같다.

  • 보안 : 보안 그룹 설정을 통해 데이터 및 자원을 보호할 수 있다.
  • 자원 격리 : 각 VPC는 독립적으로 관리되고, 이를 통해 외부의 간섭 없이 자원을 운영할 수 있다.

자원 격리가 장점이 되는 이유는 무엇일까?

  • 성능 예측 : 자원 격리를 통해 각 자원에 할당된 CPU, 메모리 등을 파악하여 효율적으로 제어할 수 있게된다.
  • 안정성 : 하나의 자원에 문제가 발생하더라도, 다른 자원은 영향을 받지 않는다.

VPC를 적용하지 않은 EC2 인스턴스(가상 서버)의 구조를 보자.

EC2 인스턴스가 많아질수록 복잡도가 급격히 증가하는 형태임을 알 수 있다.

아래는 VPC를 적용한 AWS 구조이다.
훨씬 간결화된 구조를 통해 트래픽을 제어할 수 있음을 알 수 있다.


❗️AWS는 모든 서비스에 대해 VPC 적용을 의무화하므로, 반드시 VPC에 대한 이해가 필요하다.
안타깝게도 VPC를 이해하기 위해선 서브넷NAT에 대한 이해가 선행되어야 하므로, 해당 개념이 생소하다면 공부하고 오길 바란다.


❕서브넷

VPC의 IP 주소를 나누어 자원이 배치되는 물리적인 주소 범위이다.

이곳에 EC2, RDS 등이 생성되며, VPC를 다시 나눈 것이므로 서브넷 마스크는 당연히 더 크다.

Public Subnet

VPC 외부, 즉 인터넷과 통신이 가능한 서브넷이다.

즉, 인바운드와 아웃바운드가 모두 가능한 서브넷이다.

Private Subnet

VPC 내부에서만 통신이 가능한 서브넷이다.

민감한 데이터 정보 등을 외부에서 접근하지 못하도록 할 때 설정한다.

라우팅 테이블

목적지에 대한 이정표를 나타낸 것으로, 각 서브넷마다 하나의 라우팅 테이블과 연결될 수 있다.

네트워크 요청이 발생하면 데이터는 라우터로 향한다. 라우터는 라우팅 테이블의 정보를 통해 데이터를 전달할 위치를 제어한다.

이때 타겟이 Local인 정보는, VPC 내부 통신을 위한 것으로 모든 라우팅 테이블에 추가되는 정보이다.

그렇다면 외부와 통신하고자 할 때는 어떻게 해야할까?


❕인터넷 게이트웨이

VPC와 인터넷(VPC 외부)을 연결해주는 관문이다.

앞서 설명했듯 외부와 연결된 서브넷을 public subnet, 외부와 연결되지 않은 서브넷을 private subnet이라 한다.

서브넷B의 라우팅 테이블을 보면, 타겟이 IGA A인 정보의 IP 범위가 0.0.0.0/0임을 알 수 있다.
이는 목적지의 주소가 172.31.0.0/16이 아니라면 모든 트래픽에 대해 인터넷 게이트웨이 A로 보내야함을 의미한다.


❕보안 그룹

트래픽을 허용하는 포트 및 프로토콜을 지정하여 방화벽 기능을 제공한다.

외부에서 내부로 접근하는 인바운드, 내부에서 외부로 접근하는 아웃바운드 규칙에 대해 지정할 수 있다.

위와 같이 보안 그룹은 인스턴스 레벨에서 적용된다.
네트워크 ACL 또한 일종의 방화벽으로, 서브넷 레벨에서 적용된다.
세부적인 차이점은 여기서 확인할 수 있다.


❕NAT 게이트웨이

지금까지 학습한 내용을 봤을 때, "private subnet의 EC2 인스턴스가 외부와 통신하고싶을수도 있잖아?"라는 의문을 가질 수 있다.

실제로도 private subnet에 인바운드를 허용할 필요는 없지만, 민감 데이터의 주기적인 업데이트를 위해 private subnet에서 아웃바운드가 필요한 경우가 있다. 이때 사용하는 것이 NAT 게이트웨이이다.

NAT 서비스로서, 사설 IP를 갖는 private subnet의 아웃바운드를 위해 공인 IP로 변환하는 기능을 제공한다.


지금까지 VPC의 역할과 구조에 대해 살펴봤다.
각 구조의 역할을 이해한다면, 실제 인스턴스를 생성하고 VPC를 구축하는 과정에서의 행동 하나하나가 매끄럽게 연결될 것이다.


참고 자료

[AWS] 📚 VPC 개념 & 사용 - 인프라 구축 [Subnet / Routing / Internet Gateway]
[AWS] 가장쉽게 VPC 개념잡기


💕오류 지적 및 피드백은 언제든 환영입니다. 복제시 출처 남겨주세요!💕
💕좋아요와 댓글은 큰 힘이 됩니다.💕
profile
I AM WHO I AM

4개의 댓글

comment-user-thumbnail
2023년 10월 4일

오 aws vpc 정리 항상 필요했는데 도움 많이 됐엉!!

1개의 답글
comment-user-thumbnail
2023년 10월 4일

와! 제 VPC 인생이 달라 졌어요!

1개의 답글