[CloudNet@와 함께하는 AWS 네트워킹 입문] Amazon VPC 서비스

cabbage·2023년 5월 29일
0

AWS

목록 보기
7/9

인프런 강의 CloudNet@와 함께하는 AWS 네트워킹 입문 [섹션 7. Amazon VPC 서비스 소개]를 정리한 글입니다.

Amazon VPC 서비스란?

AWS 클라우드 환경에서 독립된 가상의 프라이빗 네트워크를 구성하는 서비스이다.

VPC를 사용해 사용자만의 격리된 클라우드 네트워크를 구성한다.

  • VPC에서 라우팅을 수행하는 가상 라우터가 생성된다.
    • 가상 라우터를 통해 목적지까지 통신
  • VPC 서브넷으로 부분 네트워크들을 분리할 수 있다.
    • 서브넷들은 가상 라우터에 연결되어 통신 환경 구성
    • 서브넷 내부에 인스턴스 같은 IT 자원 배치
  • 필요한 트래픽만 접근을 허용하는 보안 환경을 구성한다.
    • 서브넷 내부 IT 자원들의 보안을 위해 보안 그룹 구성
    • 서브넷 자체 보안을 위해 네트워크 ACL 구성
  • VPC 내에 인터넷 게이트웨이를 구성하여 인터넷 구간과 직접적으로 연결한다.
    • 가상 라우터에서 라우팅을 통해 외부 인터넷 구간과 통신 가능
  • 필요에 따라 NAT 게이트웨이를 구성하여 IP 주소를 변환할 수 있다.

Amazon VPC 유형

Amazon VPC에는 기본 VPC(Default VPC)와 사용자 VPC(Custom VPC)가 존재한다.

기본 VPC(Default VPC)

  • 리전별로 기본 VPC가 자동 생성된다.
  • 기본 VPC 내에는 다양한 자원들이 기본적으로 정의되어 있다.
  • 리전별로 1개씩만 존재한다.

사용자 VPC(Custom VPC)

  • 사용자가 직접 정의해 사용하는 VPC이다.
  • 사용자가 수동으로 자원을 생성한다.
  • 리전별로 최대 5개를 생성할 수 있다.

Amazon VPC 서브넷

서브넷은 전체 네트워크를 구성하는 부분 네트워크이다. VPC가 전체 네트워크라면 서브넷은 VPC를 구성하는 부분 네트워크이다. 하나의 VPC를 다수의 서브넷으로 나눌 수 있다.

  • 서브넷의 IP CIDR은 VPC IP CIDR에 속해야 한다.
    • VPC IP CIDR은 10.0.0.0/16이므로 네트워크 ID 영역이 두 번쨰 옥텟까지이다. 따라서 서브넷의 IP CIDR은 10.0.으로 시작하는 IP 대역이어야 한다.
    • 위 그림에서 모든 서브넷의 IP CIDR이 10.0.으로 시작하므로 VPC IP CIDR 내에 존재한다.
    • 각 서브넷의 네트워크 ID 영역이 24비트이고 세 번째 옥텟이 모두 다르기 때문에 서로 다른 서브넷이라는 것을 알 수 있다.
  • 서브넷은 1개의 가용 영역에 종속된다.
    • 리전에 존재하는 가용 영역은 알파벳으로 구분된다.
    • 각 서브넷은 하나의 가용 영역에 속한다.

IP CIDR: 네트워크 ID 영역의 비트 수를 표현하는 방법
리전: 클라우드 서비스 자원이 모여 있는 지리적 위치
가용 영역: 리전 내에 존재하는 데이터센터들의 집합

Amazon VPC 서브넷 종류

VPC 서브넷에는 퍼블릭 서브넷과 프라이빗 서브넷이 존재한다.

퍼블릭 서브넷

  • 외부 인터넷 구간과 직접적으로 연결되어 통신할 수 있는 공공 네트워크

프라이빗 서브넷

  • 외부 인터넷 구간과 직접적으로 연결되지 않아 통신할 수 없는 폐쇄된 독립 네트워크
  • VPC 내부에서만 통신할 수 있는 독립 네트워크

  • VPC 내부의 가상 라우터를 통해 퍼블릭 서브넷과 프라이빗 서브넷이 연결된다.
  • 외부 인터넷 구간과 통신하기 위해 인터넷 게이트웨이가 가상 라우터에 연결된다.
  • 외부 인터넷 구간과 퍼블릭 서브넷의 통신 흐름
    • 퍼블릭 서브넷 내부의 IT 자원은 외부 인터넷 구간과 통신하기 위해 가상 라우터로 데이터를 전달한다.
    • 가상 라우터는 라우팅 테이블을 보고 인터넷 게이트웨이로 데이터를 전달한다.
  • 외부 인터넷 구간과 프라이빗 서브넷의 통신 흐름
    • 프라이빗 서브넷 내부의 IT 자원이 외부 인터넷 구간과 통신하기 위해 가상 라우터로 데이터를 전달하여도 가상 라우터에서 인터넷 게이트웨이로 라우팅을 수행하지 않는다.

Amazon VPC 가상 라우터와 라우팅 테이블

VPC를 생성하면 가상 라우터가 자동 생성된다. 가상 라우터는 라우팅 테이블을 사용해 라우팅을 수행한다.

  • 가상 라우터는 최초에 기본 라우팅 테이블을 갖는다.
  • 각각의 서브넷을 가상 라우터의 기본 라우팅 테이블에 연결(Attach)하여 라우팅을 수행한다.
  • 각각의 서브넷이 서로 다른 목적지와 통신하기 위해 서로 다른 라우팅 테이블을 가져야 한다면 별도의 라우팅 테이블을 생성할 수 있다.
    • 각각의 서브넷에 해당하는 라우팅 테이블을 생성한다.
    • 각각의 서브넷과 서브넷에 해당하는 라우팅 테이블을 개별 연결한다.

Amazon VPC 인터넷 게이트웨이와 NAT 게이트웨이

인터넷 게이트웨이

인터넷 구간과 직접 연결되어 통신을 수행하는 관문이다.

  • 인터넷 구간으로 빠져나가는 문이라고 볼 수 있다.

  • VPC 내부에 인터넷 게이트웨이를 생성한다.
  • 인터넷 게이트웨이를 VPC 내부의 가상 라우터와 연결하고 외부 인터넷 구간과 직접적으로 연결한다.
  • 퍼블릭 서브넷 A의 퍼블릭 IP 주소를 활용해 외부 인터넷 구간과 통신하기 위해 서브넷 A의 라우팅 테이블에 경로를 추가해야 한다.
    • 0.0.0.0/0은 모든 네트워크 대상을 의미한다.
    • 즉, 모든 네트워크 대상의 경로는 인터넷 게이트웨이로 향하게 한다.
  • 퍼블릭 서브넷 A와 외부 인터넷 구간의 통신 흐름
    • 서브넷 A 내부의 IT 자원이 가상 라우터에 패킷을 전달한다.
    • 가상 라우터는 서브넷 A에 해당하는 라우팅 테이블을 확인해 인터넷 게이트웨이로 패킷을 전달한다.
    • 인터넷 게이트웨이는 서브넷 A의 퍼블릭 IP 주소를 통해 외부 인터넷 구간과 통신한다.
  • 퍼블릭 서브넷은 퍼블릭 IP 주소를 사용하므로 인터넷 구간에서 출발하여 퍼블릭 서브넷으로 통신할 수 있다.

NAT 게이트웨이

IP 주소를 변환하는 접점이자 관문 역할을 수행한다.

  • NAT(Network Address Translation)은 네트워크 주소인 IP 주소를 변환하는 주소 변환 기능을 말한다.

NAT 수행 상황

  • 일반적으로 프라이빗 IP 주소를 퍼블릭 IP 주소로 변환하기 위해 사용한다.
  • 프라이빗 IP 주소로 외부 인터넷 구간과 통신이 필요할 때 NAT를 수행한다.
    • 공유기 예시
    • 퍼블릭 IP 주소를 공유기에 할당하고 프라이빗 IP 주소를 공유기에 연결된 단말들에 할당한다.
    • 공유기에 연결된 단말들이 인터넷 구간과 통신하는 경우 공유기는 NAT를 수행해 프라이빗 IP 주소를 퍼블릭 IP 주소로 변환한다.

  • NAT 게이트웨이는 퍼블릭 서브넷 상에 위치해야 한다.
  • 프라이빗 서브넷 B 내부의 자원들은 오직 프라이빗 IP 주소만 사용한다.
  • 프라이빗 서브넷에서 인터넷 구간으로 통신하려면 프라이빗 서브넷의 라우팅 테이블에 경로를 추가해야 한다.
    • 프라이빗 서브넷은 인터넷 구간과 직접적으로 연결하지 않는다. 따라서 인터넷 구간과 직접적으로 연결된 인터넷 게이트웨이로 라우팅을 추가하면 안 된다.
    • 퍼블릭 서브넷에 위치한 NAT 게이트웨이로 우회하여 프라이빗 IP 주소를 퍼블릭 IP 주소로 변경한 후 인터넷 구간과 통신해야 한다.
    • 따라서 프라이빗 서브넷의 라우팅 테이블에서 모든 네트워크 대역의 경로는 NAT 게이트웨이로 향해야 한다.
  • 프라이빗 서브넷부터 인터넷 구간으로의 통신 흐름
    • 프라이빗 서브넷 내부의 IT 자원이 가상 라우터에 패킷을 전달한다.
    • 가상 라우터는 라우팅 테이블을 확인해 퍼블릭 서브넷에 위치한 NAT 게이트웨이로 패킷을 전달한다.
    • NAT 게이트웨이는 프라이빗 IP 주소를 퍼블릭 IP 주소로 변환한다.
    • NAT 게이트웨이는 다시 가상 라우터로 패킷을 전달한다.
    • 가상 라우터는 라우팅 테이블을 확인해 인터넷 게이트웨이로 패킷을 전달한다.
    • 인터넷 게이트웨이는 퍼블릭 IP 주소로 인터넷 구간과 통신한다.
  • 인터넷 구간으로부터 프라이빗 서브넷으로의 통신은 불가능하다.
    • 프라이빗 서브넷은 오직 프라이빗 IP 주소만 사용하기 때문이다.
    • 프라이빗 서브넷의 목표는 서브넷 내부의 자원들이 외부로 노출되지 않는 보안성 강화에 있다.

보안 그룹과 네트워크 ACL

보안 그룹과 네트워크 ACL(Access Control List)은 트래픽 접근 제어라는 공통 목적을 갖는다. VPC 내부의 서브넷과 서브넷 내부의 IT 자원을 보호하는 가상 방화벽 기능을 수행한다.

보안 그룹과 네트워크 ACL은 보호 대상이 다르다는 차이가 있다.

보안 그룹

  • 서브넷 내에 존재하는 IT 자원들을 보호하기 위해 IT 자원 앞단에 위치하여 트래픽 접근 제어를 수행한다.

네트워크 ACL

  • 서브넷 자체를 보호하기 위해 서브넷 앞단에 위치하여 트래픽 접근 제어를 수행한다.

  • 서브넷 B에 있는 인스턴스 B1으로의 통신 흐름
    • 가상 라우터에서 목적지인 서브넷 B로 트래픽이 전달된다.
    • 네트워크 ACL이 접근 제어를 수행한다.
    • 접근 허용 대상이라면 서브넷 B 내부의 인스턴스 B1으로 트래픽이 전달된다.
    • 보안 그룹이 접근 제어를 수행한다.
    • 접근 허용 대상이라면 목적지인 인스턴스 B1으로 트래픽이 최종 전달된다.
profile
캐비지 개발 블로그입니다. :)

0개의 댓글

관련 채용 정보