TIL

01. AWS의 인터넷 연결

1.1 AWS의 인터넷 연결 소개

AWS VPC 내부에서 외부 인터넷으로 연결하는 방법이다.

1.1.1 인터넷 연결을 위한 4가지 조건

1.1.2 NAT 동작

1.1.3 인터넷 연결을 위한 3가지 방안 비교

특징 인터넷 게이트웨이 NAT 디바이스 Proxy 인스턴스
동작 Layer3 Layer4 Layer7
주소 변환 프라이빗 IP를 퍼블릭 혹은 탄력적 IP로 1:1 변환 IP 주소와 포트 번호 변환 IP 주소와 포트 번호 변환(TCP 신규 연결)
특징 1개 프라이빗 IP마다 1개 공인 IP 매칭 여러 프라이빗 IP가 1개의 공인 IP 사용 가능 애플리케이션 수준 제어 가능

1.2 인터넷 게이트웨이

1.2.1 인터넷 게이트웨이 (Internet Gateway) 소개

인터넷 게이트웨이는 VPC와 인터넷 간에 통신할 수 있게 해주는 VPC 구성 요소다.

1.2.2 인터넷 게이트웨이를 통한 외부 접속

인터넷 게이트웨이는 퍼블릭 혹은 탄력적 IP에 대해 1:1 NAT를 수행한다.

  1. 내부 인스턴스(10.0.0.10)에서 외부 웹서버(60.1.1.1)로 HTTP 접속을 시도
    1. 출발지 IP를 10.0.0.10으로 하여 트래픽을 생성
  2. 인터넷 게이트웨이는 출발지 IP를 확인하고 자신의 NAT 정보에 의해 출발지 IP를 50.1.1.1로 변경
    1. NAT 정보 예시
원본 IP (NAT) 변경 IP
10.0.0.10 50.1.1.1
  1. 외부 웹서버에서 요청을 처리하고 응답 트래픽을 보낸다. (50.1.1.1로)
  2. 인터넷 게이트웨이는 NAT 정보를 보고 50.1.1.110.0.0.10로 변경한 뒤 VPC 내부로 전달한다.

1.2.3 인터넷 게이트웨이 제약 사항

1.3 NAT 디바이스 (NAT 인스턴스 & NAT 게이트웨이)

1.3.1 NAT 디바이스 소개

1.3.2 NAT 게이트웨이와 NAT 인스턴스의 비교

속성 NAT 게이트웨이 NAT 인스턴스
유지 관리 AWS에서 관리 사용자가 직접 관리
가용성 가용 영역에 각기 NAT 게이트웨이를 만들어 고가용성 제공 직접 스크립트를 작성하여 인스턴스 간 장애 조치 관리
네트워크 대역폭 최대 45Gbps까지 확장 가능 인스턴스 유형 대역폭에 따라 다름
비용 사용하는 게이트웨이 수, 사용 기간, 데이터 양에 따라 요금이 청구됨 인스턴스 수, 사용 기간, 인스턴스 유형에 따라 요금 청구됨
유형 및 크기 균일하게 제공됨 예상 워크로드에 따라 적절한 유형과 크기를 선택해야 함
퍼블릭 IP 주소 생성 시 NAT 게이트웨이와 연결한 탄력적 IP 주소를 선택한다. (변경 불가) 탄력적 IP 또는 퍼블릭 IP를 사용하고 언제든 탄력적 IP는 변경할 수 있다.
프라이빗 IP 주소 서브넷의 IP 주소 범위 내에 자동으로 선택됨 서브넷의 IP 주소 범위 내에 특정 프라이빗 IP 주소를 할당
보안 그룹 보안 그룹을 연결할 수 없음 보안 그룹을 연결할 수 있음
플로우 로그 플로우 로그로 트래픽을 캡쳐 플로우 로그를 사용하여 트래픽을 캡쳐
접속 서버 NAT 게이트웨이로 접속(ssh)을 지원하지 않음 NAT 인스턴스로 접속하여 SSH 접속 서버로 사용 가능

1.3.3 NAT 인스턴스를 통한 외부 접속

NAT 게이트웨이와 NAT 인스턴스 외부 접속 동작은 유사하다.

NAT 인스턴스IP masquerading 기능을 통해 내부 인스턴스 IP와 포트를 NAT 인스턴스의 IP와 포트로 변환한다.

  1. 프라이빗 서브넷에 연결된 내부 인스턴스에서 외부 인터넷에 접속을 시도
    1. ‘프라이빗 서브넷 라우팅 테이블’에 따라 NAT 인스턴스로 트래픽을 보내게 된다.
  2. NAT 인스턴스는 IP masquerading 기능을 통해 출발지 IP와 포트 번호를 NAT 인스턴스의 IP와 포트로 변환하고 정보를 기록한다.
    1. 이후 ‘퍼블릭 서브넷 라우팅 테이블’에 따라 인터넷 게이트웨이로 트래픽을 보내게 된다.
  3. 인터넷 게이트웨이는 NAT 인스턴스의 프라이빗 IP를 미리 매핑된 탄력적 IP로 1:1 NAT하여 외부 인터넷으로 전송한다.
  4. 외부 웹서버에서 요청을 처리하고 응답 트래픽을 보낸다.
    • 결과적으로 IP 변환이 두 번 이루어지게 된다.
    • 다수의 인스턴스가 외부 인터넷 접속 시 NAT 인스턴스에 연결된 1개의 탄력적 IP를 공유하여 사용한다.
    • 때문에 포트 번호 정보를 기준으로 내부 인스턴스 트래픽을 구분할 수 있다. (PAT)

1.3.4 NAT 게이트웨이 제약 사항

1.4 Proxy 인스턴스

1.4.1 Proxy 인스턴스 소개

1.4.2 Proxy 인스턴스를 통한 외부 접속