티스토리 뷰

6장 가상 네트워크 서비스 Amazon VPC

6.1 Amazon VPC란: AWS에 생성하는 가상 네트워크

- AWS 상에 네트워크를 구축하기 위해 사용되는 것이 Amazon VIrtual Private Cloud(Amazon VPC)이다.

- EC2나 RDS의 경우 VPC를 선택하지 않으면 서버를 생성할 수 없기 때문에 리소스를 사용하기 위해서는 반드시 필요한 서비스이다.

- VPC는 네트워크와 서브넷 범위, 라우팅 테이블, 네트워크 게이트웨이 등과 같은 가상 네트워킹 환경을 설정할 수 있다.

- VPC의 주요 기능

  • CIDR 블록
  • 서브넷 마스크
  • 가용 영역 (서브넷이 구축된 물리적 장소)
  • 인터넷 게이트웨이
  • 라우팅
  • 라우팅 테이블
  • 보안 그룹
  • 네트워크 ACL

- VPC 네트워크의 특징

  • 소프트웨어가 라우팅한다. 라우터는 IP 주소를 갖지 않는다.
  • 라우팅 테이블 한 개에 서브넷 여러 개를 설정할 수 없다.
  • VPC 한 개에 인터넷 게이트웨이는 한 개만 설정할 수 있고, IP 주소를 갖지 않는다.
  • 서브넷 사이의 통신은 라우터 없이 직접 통신할 수 없다.

- 요약

  • 서비스명 : Amazon VPC
  • 사용빈도 : ★★★★
  • 요금 : AWS 사이트 간 VPC + Client VPC + 데이터 송신 + 옵션
  • 매니지드 서비스 : X
  • 서울 리전 : O
  • VPC : O

 

6.2 VPC의 사용 절차: 가상 네트워크를 사용하자

- 인터넷 연결 여부와 오토 스케일링이 설계의 중요 포인트이다.

- 인터넷에 연결해야 한다면 인터넷 게이트웨이를 설정해야 하고, 오토 스케일링을 설정해야 한다면 서버가 자동으로 늘어나기 때문에 IP 주소를 많이 확보해 두어야 한다.

- 서브넷을 설정해야 한다.

- 어떻게 해야 할지 잘 모를 때는 기본 VPC를 사용하기를 권장한다.

 

6.3 기본 VPC: AWS가 제공하는 기본 VPC

- AWS는 네트워크 지식이 없어도 VPC를 사용할 수 있도록 리전별로 기본 VPC를 제공한다.

- 특별한 요건이 없는 이상, 기본 VPC를 사용하는 편이 좋다.

- 기본 VPC는 서브넷과 인터넷 게이트웨이가 기본적으로 구성되어 있다.

- 기본 서브넷은 가용 영역별로 한 개씩 생성되어 있다. 서울 리전의 경우 총 4군데가 있다. (2021년 3월 기준)

- 인터넷 게이트웨이도 구성되어 있으므로 인터넷에 접속할 수 있다.

- 인터넷에 접속하고 싶지 않다면 별도의 VPC를 생성해야 한다.

 

6.4 서브넷과 DHCP: 사용할 범위 선택

- 서브넷이란 커다란 네트워크를 작게 나눈 네트워크를 말한다.

- 네트워크를 분할해 직접 통신할 수 있는 범위를 좁히고, 방화벽을 설정해 보안을 강화하는 것을 목적으로 한다.

- 네트워크를 분할하려면 CIDR 표기를 사용한다.

- 네트워크는 클래스를 가지고 있다.

서브넷을 나눠서 서브넷별로 역할을 다르게 할 수 있다

 

6.5 라우팅과 NAT: 공인 IP 주소와 사설 IP 주소 변환

- 네트워크 간 데이터를 주고받으려면 라우팅이나 NAT(네트워크 주소 변환) 방식을 사용해야 한다. AWS를 사용할 때 이와 같은 네트워크 기초 지식이 부족하면 서비스를 구축하기 어려우므로 네트워크 기초 지식에 대한 공부가 필요하다.

- 라우팅은 라우터에서 목적지까지 데이터를 송신하는 방법이다.

- IP 주소는 목적지이다.

- LAN 내부의 출입구가 되는 것이 게이트웨이다.

- IP 마스커레이드는 일대다이며 공인 IP 주소와 사설 IP 주소를 변환한다.

- NAT는 다대다이며 공인 IP 주소와 사설 IP 주소를 변환한다.

- IP 마스커레이드는 포트를 변환할 수 있지만 NAT는 할 수 없다.

 

6.6 인터넷 게이트웨이와 NAT 게이트웨이: VPC에서 인터넷으로 접속

- 인터넷 게이트웨이는 EC2 인스턴스와 인터넷을 연결한다.  (인터넷 -> EC2)

- NAT 게이트웨이는 EC2 인스턴스와 인터넷을 연결한다. 인터넷에서 서브넷으로 접속하지 못하게 할 수 있다.  (EC2-> 인터넷)

 

6.7 보안 그룹과 네트워크 ACL: 보안 설정

- VPC의 가상 방화벽으로 보안 그룹과 네트워크 ACL이 있다.

- 보안 그룹은 인스턴스에 네트워크 ACL은 서브넷에 설정하는 가상 방화벽이다.

- 인바운드 트래픽(데이터가 유입되는 것)과 아웃바운드 트래픽(데이터가 유출되는 것)을 제어하는데 반드시 양쪽 모두 설정해야 하며 명시적으로 설정하지 않으면 기본 설정이 적용된다.

항목 보안 그룹 네트워크 ACL
설정 범위 인스턴스에 대해 설정한다(보안 그룹을 최대 5개 할당할 수 있다) 서브넷에 설정한다.
규칙 규칙 허용만 가능하다. 규칙 허용과 거부가 가능하다.
설정 스테이트풀(stateful)
(규칙과 상관없이 반환된 트래픽을 자동으로 허용한다)
스테이트리스(stateless)
(반환된 트래픽을 규칙에 따라 명시적으로 허용한다)
규칙의 적용 순서 모든 규칙을 확인하여 트래픽의 허가 여부를 정한다. 순서대로 규칙을 처리하면서 트래픽의 허가 여부를 결정한다.

 

 

6.8 VPC 엔드포인트: 다른 AWS 서비스 및 엔드포인트 서비스와 연결

- VPC 엔드포인트란 VPC 내부에서 VPC 외부로 접속하기 위한 연결점을 제공하는 서비스이다.

- AWS의 모든 서비스가 VPC 내에 설치되어 있는 건 아니다. VPC를 사용하지 않는 대표적인 서비스로 S3와 DynamoDB가 있다. AWS 안에서는 전부 통신할 수 있을 거라 생각하는데, 일부러 인터넷 회선을 통해서 외부로 연결해야 한다면 작업도 번거롭고 보안 면에서도 불안할 것이다.

- 이러한 단점을 보완하기 위해 인터넷 게이트웨이를 통하지 않고, S3와 같은 VPC 외부에 있는 서비스와 VPC를 직접 연결해주는 것이 엔드포인트 서비스이다. VPC의 출입구로 엔드포인트를 설정하면 S3와 직접 연결할 수 있다.

- 인터페이스 엔드포인트 : 네트워크 인터페이스(ENI)로 구축하는 유형 (AWS PrivateLink 방식)

- 게이트웨이 엔드포인트 : 라우팅 테이블에 설정된 내용을 라우팅하는 유형

 

6.9 VPC 연결: VPC와 VPC의 연결과 VPC와 VPN의 연결

- AWS Direct Connect는 AWS 네트워크에 전용선을 물리적으로 연결하는 방법이다. (전용선 회선 공사, 라우터 설치가 필요하며 월 비용도 많이 발생한다)

- AWS VPN은 AWS 네트워크에 가상으로 전용선을 연결한다.

- 전송 게이트웨이는 VPC나 온프레미스 네트워크를 하나로 묶어서 서로 연결하는 연결점을 제공한다.

 

댓글