[AWS] 2장. VPC 기초

KIM KYUBIN·2022년 10월 16일
0

AWS

목록 보기
2/2
post-thumbnail

따라하며 배우는 AWS 네트워크 입문 - 김원일, 서종호 저

1. VPC (Virtual Private Cloud)

1.1 VPC란?

1.1.1 VPC 정의

  • VPC : 독립된 가상의 클라우드 네트워크

1.1.2 VPC 종류

구분기본 VPC사용자 VPC
생성 주체AWS사용자
AWS 리소스정해진 리소스 미리 생성수동으로 생성
리전 별 생성 수1개최대 5개 (기본값)

2. VPC 리소스 소개

2.1 서브넷 (Subnet)

2.1.1 서브넷 개념

  • 서브넷 : 네트워크 영역을 부분적으로 나눈 망

  • 서브넷의 IP 대역은 VPC의 IP 대역에 속해 있어야 한다.

  • 서브넷은 1개의 가용 영역에 종속되어야 한다.

AWS 에서 서브넷의 IP 대역마다 예약된 IP 주소

  • 첫번째 주소 : 10.0.0.0 -> 네트워크 주소

  • 두번째 주소 : 10.0.0.1 -> AWS VPC 가상 라우터 주소

  • 세번째 주소 : 10.0.0.2 -> AWS DNS 서버 주소

  • 네번째 주소 : 10.0.0.3 -> 향후 새로운 기능에 활용할 주소

  • 마지막 주소 : 10.0.0.255 -> 네트워크 브로드캐스트 주소

참고사항

  • 기본적으로 예약된 IP 주소를 고려하여 생성해야 한다.

  • VPC 내 여러 서브넷이 존재할 경우 첫번째 서브넷의 세번째 주소를 DNS 서버 주소로 사용

2.1.2 퍼블릭 서브넷과 프라이빗 서브넷

  • 퍼블릭 서브넷 : 외부 인터넷 구간과 직접적으로 통신을 할 수 있는 공공 네트워크
    -> 퍼블릭 IP를 가지고 인터넷 게이트웨이를 통해 외부 인터넷 구간의 사용자와 통신 가능

  • 프라이빗 서브넷 : 외부 인터넷 구간과 직접적인 통신을 할 수 없는 폐쇄적인 네트워크
    -> 프라이빗 IP만 가지고 있어 자체적으로 외부 인터넷 구간의 사용자와 통신 불가능

참고사항

  • 프라이빗 서브넷은 프라이빗 IP를 퍼블릭 IP로 변환해 주는 NAT 게이트웨이가 있으면 통신 가능

2.2 가상 라우터와 라우팅 테이블

  • VPC를 생성하면 자동으로 가상 라우터가 생성
    -> 가상 라우터는 라우팅 테이블을 가지고 있어 목적지 네트워크로 라우팅하여 통신

  • 가상 라우터는 최초에 기본 라우팅 테이블을 보유하고 있으며 로컬 네트워크에 대한 라우팅 경로만 잡혀 있다.
    -> 로컬 네트워크는 VPC의 자체 대역으로 VPC 내에 생성된 서브넷은 라우팅 테이블의 로컬 네트워크에 의해 통신 가능

  • 가상 라우터에서는 서브넷 별로 라우팅 테이블을 매핑시켜 줄 수 있다.

2.3 인터넷 게이트웨이

  • 인터넷 게이트웨이 : VPC와 인터넷 간의 논리적인 연결

  • 인터넷 게이트웨이는 VPC당 1개만 연결 가능

  • 인터넷 게이트웨이를 통해 외부 인터넷 구간으로 통신할 수 있는 대상은 퍼블릭 IP를 사용한 퍼블릭 서브넷 내의 자원
    -> 퍼블릭 서브넷은 자신의 라우팅 테이블에 외부 인터넷 구간으로 나가는 타깃을 인터넷 게이트웨이로 지정해 주어야 한다.

  • 인터넷 게이트웨이는 양방향으로 연결을 지원하기에 외부 인터넷 구간에서 퍼블릭 서브넷의 퍼블릭 IP로도 정상적인 통신이 가능

2.4 NAT 게이트웨이

  • NAT : IP 주소를 변환해 주는 기술
    -> 프라이빗 IP는 인터넷 구간으로 넘어올 수가 없는데, 이때 NAT 게이트웨이가 프라이빗 IP를 퍼블릭 IP로 변환하여 통신을 도와준다.

  • NAT 게이트웨이는 한쪽 방향으로만 동작한다.
    -> 프라이빗 서브넷에서 외부 인터넷으로 통신이 가능하지만 반대로 외부 인터넷에서 프라이빗 서브넷으로 통신은 불가능

2.5 보안 그룹과 네트워크 ACL

  • VPC는 인스턴스 레벨과 서브넷 레벨 상에서 대상을 필터링 할 수 있는 보안 기술을 사용 가능

  • 보안 그룹 : 인스턴스 레벨에서의 보안 기술

  • 네트워크 ACL : 서브넷 레벨에서의 보안 기술

  • 이러한 보안 기술들은 인바운드 및 아웃바운드되는 데이터에 대해 허용 규칙과 거부 규칙을 수립하여, 원하는 데이터만 수용할 수 있게 필터링 가능

3. 퍼블릭 서브넷 VPC 구성

3.1 퍼블릭 서브넷 VPC 생성

3.1.1 VPC 생성

  • 서비스 -> VPC -> 가상 프라이빗 클라우드 -> VPC

  • VPC -> VPC 생성

2.1.2 퍼블릭 서브넷 생성

  • 서비스 -> VPC -> 가상 프라이빗 클라우드 -> 서브넷

  • 서브넷 -> 서브넷 생성

3.1.3 인터넷 게이트웨이 생성 및 VPC 연결

  • 서비스 -> VPC -> 가상 프라이빗 클라우드 -> 인터넷 게이트웨이

  • 인터넷 게이트웨이 -> 인터넷 게이트웨이 생성 -> 작업 -> VPC에 연결

3.1.4 퍼블릭 라우팅 테이블 생성 및 서브넷 연결

  • 서비스 -> VPC -> 가상 프라이빗 클라우드 -> 라우팅 테이블

  • 라우팅 테이블 -> 라우팅 테이블 생성 -> 서브넷 연결 -> 서브넷 연결 편집

3.1.5 퍼블릭 라우팅 테이블 경로 추가

  • 서비스 -> VPC -> 가상 프라이빗 클라우드 -> 라우팅 테이블

  • 퍼블릭 라우팅 테이블 선택 -> 라우팅 탭 진입 -> 라우팅 편집 클릭

4. 프라이빗 서브넷 VPC 구성

4.1 프라이빗 서브넷 추가

4.1.1 프라이빗 서브넷 생성

  • 서비스 -> VPC -> 가상 프라이빗 클라우드 -> 서브넷

  • 서브넷 -> 서브넷 생성

4.1.2 NAT 게이트웨이 생성

  • 서비스 -> VPC -> 가상 프라이빗 클라우드 -> NAT 게이트웨이

  • NAT 게이트웨이 -> NAT 게이트웨이 생성 -> 퍼블릭 서브넷으로 지정 -> 탄력적 IP 할당 -> 키 / 값 설정

4.1.3 프라이빗 라우팅 테이블 생성 및 서브넷 연결

  • 서비스 -> VPC -> 가상 프라이빗 클라우드 -> 라우팅 테이블

  • 라우팅 테이블 -> 라우팅 테이블 생성 -> 서브넷 연결 -> 서브넷 연결 편집 -> 프라이빗 서브넷 선택

4.1.4 프라이빗 라우팅 테이블 경로 추가

  • 라우팅 탭 진입 -> 라우팅 편집 -> 라우팅 추가 -> 0.0.0.0/0 지정 -> 생성한 NAT 게이트웨이 지정

5. 통신 흐름

5.1 퍼블릭 서브넷 통신 흐름

  1. 퍼블릭 서브넷의 퍼블릭 EC2 인스턴스가 외부 인터넷 구간과 통신하기 위해 데이터를 가상 라우터로 전달

  2. 가상 라우터는 퍼블릭 라우팅 테이블을 참고하여 인터넷 게이트웨이로 향하는 라우팅 경로를 확인

  3. 가상 라우터는 인터넷 게이트웨이로 데이터를 전달하고 인터넷 구간으로 넘어간다.

  4. 인터넷 구간을 통해 사용자에게 전달

5.2 프라이빗 서브넷 통신 흐름

  1. 프라이빗 서브넷의 프라이빗 EC2 인스턴스가 외부 인터넷 구간과 통신하기 위해 데이터를 가상 라우터로 전달

  2. 가상 라우터는 프라이빗 라우팅 테이블을 참고하여 NAT 게이트웨이로 향하는 라우팅 경로를 확인

  3. 가상 라우터는 NAT 게이트웨이로 데이터를 전달하고, NAT 게이트웨이에서 프라이빗 IP를 퍼블릭 IP로 전환

  4. NAT 게이트웨이에서 인터넷 구간을 넘어가기 위해 인터넷 게이트웨이를 거쳐 사용자에게 전달
    -> 이때 사용자는 NAT 게이트웨이에서 변환한 퍼블릭 IP로 전달받는다.

profile
상상을 현실로 만들기 위해 노력하는 개발자

0개의 댓글