AWS VPC

양승현·2022년 7월 31일
0

aws

목록 보기
2/12

VPC(Virtual Private Cloud)

  • 사용자가 정의하는 가상 네트워크이다.
  • 사용자가 원하는대로 IP 주소 범위 선택, 서브넷 생성, 라우팅 테이블 및 네트워크 게이트웨이 구성 등 가상 네트워크 환경을 구성해 VPC 생성이 가능하다.
  • VPC는 독립된 하나의 네트워크 구성을 위한 가장 큰 단위이다.
  • VPC는 사설(Private) IP 대역에 맞게 설계해야 하며 사설(Private) IP 대역은 다음과 같다.
10.0.0.0 ~ 10.255.255.255
172.16.0.0 ~ 172.31.255.255
192.168.0.0 ~ 192.168.255.255

Subnet

  • IP의 주소를 나누어 리소스가 배치되는 물리적인 주소 범위를 의미한다.
  • VPC를 잘게 나눠서 쪼갠것이 서브넷이기 때문에 VPC보다 대역폭이 낮으며 하나의 가용영역(Availability Zone)에 하나의 서브넷이 연결되기 때문에 region의 AZ수가 맞아야한다.
  • 서브넷은 Public Subnet, Private subnet으로 나뉜다.
    Public Subnet - 인터넷과 연결되어 있는 서브넷, 인터넷과 연결되어 인, 아웃 바운드 트래픽을 주고 받을 수 있다.
    Private subnet - 인터넷과 연결되어 있지 않은 서브넷, 외부에 노출되어 있지 않기 때문에 접근 할수 없다.

Route

  • VPC 안에서 발생하는 네트워크 요청을 처리하기 위해 어느쪽으로 트래픽을 전송해야하는지 길을 알려주는 표지판의 역할을 수행한다.
  • 각각의 서브넷은 네트워크 트래픽 전달 규칙에 해당하는 라우팅 테이블을 가지고 있으며 요청 발생시 가장 먼저 라우터로 트래픽을 전송하게 된다.

Route Table

  • 라우터란 목적지이고 라우팅테이블은 각 목적지에 대한 이정표이다.
  • 데이터는 라우터로 향하게되며 네트워크 요청은 각각 정의된 라우팅테이블에 따라 작동한다.
  • 만약 VPC의 IP 대역이 172.16.0.0/16이고 서브넷 A가 172.16.1.0/20, 서브넷 B가 172.16.2.0/20 일때 서브넷 A의 라우팅 테이블은 172.16.0.0/16 즉 VPC안의 네트워크 192.16.0.0/16 대역의 서브넷은 트래픽을 처리할 수 있다.
  • 하지만 그 이외 외부로 통하는 트래픽은 처리할 수 없으며, 이때 internet gateway를 사용한다

ACL(Network ACL) / 보안그룹(Security Group)

  • 네트워크 ACL과 보안그룹은 방화벽과 같은 역활을 하며 인바운드 트래픽과 아웃바운드 트래픽 보안정책을 설정할 수 있다. 먼저

ACL

  • Stateless하게 작동하며 모든 트래픽을 기본 설정되어 있기 때문에 불필요한 트래픽을 막도록 적용해야한다.
  • 서브넷 단위로 적용되며 리소스별로는 설정할 수 없습니다.
  • 네트워크ACL과 보안그룹이 충돌한다면 보안그룹이 더 높은 우선순위를 갖습니다.

Security Group

  • Stateful한 방식으로 동작하는 보안그룹은 모든 허용을 차단하도록 기본설정 되어있으며 필요한 설정은 허용 해주어야 한다.
  • 또한 네트워크ACL과 다르게 각각의 보안그룹별로도 별도의 트래픽을 설정할 수 있으며 서브넷에도 설정할 수 있지만 각각의 EC2 인스턴스에도 적용할 수 있다.

Internet Gateway

  • Internet Gateway는 VPC 리소스와 인터넷 간의 통신을 활성화하기 위해 사용한다, 즉 외부 인터넷으로 나가기 위한 통로이다.
    (public IP/Elastic IP 를 가진 인스턴스들에 대해 NAT(Network Address Translate) 역할을 담당)
  • public subnet만이 외부와 통신해야 하므로 public subnet의 라우팅 테이블에만 인터넷 게이트웨이로 향하는 규칙을 포함한다.
  • Internet Gateway는 IP 주소를 변환해 리소스의 내부 IP 주소로 해당 요청을 전송한다.
    서브넷 내부에 있는 리소스가 VPC 밖에 있는 서비스에 요청을 전송할 때, 응답 주소는 해당 리소스의 Public IP/Elastic IP로 변환한다.
  • 라우팅 규칙을 설정하여 네트워크 요청이 발생하면 목적지의 IP 주소가 맞게 해당하는지를 확인하고 해당하지 않는 모든 트래픽은 게이트웨이를 통해 외부로 전송되어 목적지를 찾아간다.

NAT Gateway

  • pubilc subnet은 인터넷 게이트 웨이를 통해 외부와 트래픽을 주고 받을수 있다. 그렇다면 private subnet의 트래픽은 VPC 내부에서만 처리되는가? 그렇지 않다.
  • private subnet도 인터넷과 통신할 수 있다. 하지만 직접적으로는 불가능하므로 NAT gateway를 이용해야한다.
  • NAT Gateway는 트래픽을 public subnet에 속한 인스턴스에 전송하여 인터넷과 통신할 수 있게하는 역할을 수행한다.
  • private subnet에서 발생하는 네트워크 요청의 목적지가 VPC 내부가 아니라 외부라면 public subnet은 NAT로 트래픽을 전송한다.
  • 트래픽을 받은 NAT는 라우팅 규칙에 따라 처리함으로 private subnet은 인터넷과 통신이 가능하다.
  • VPC 엔드포인트는 인터넷 게이트웨이나 NAT 게이트웨이와 같은 다른 게이트웨이 없이 AWS 서비스와 연결하여 통신할 수 있는 private connection을 제공하는 서비스이다.
  • Private link를 통해 AWS 서비스와 연결함으로써 데이터를 인터넷에 노출하지 않고 바로 접근할 수 있다. 또한 연결하는 서비스의 IP 주소를 바꾸는 등 네트워크 정보의 변경 등의 작업에서 불필요하게 발생하는 비용을 줄일 수 있다.

용어 정리

  • instance - 하나의 가상 컴퓨터

0개의 댓글