VPC(Virtual Private Cloud)란 AWS 네트워크 망안의 사용자 전용의 사설 네트워크 망을 말하며 내부에 subnet 이라는 구분된 그룹을 포함하고 있습니다. VPC를 사용하면 아래와 같이 각 사용자가 논리적으로 완전히 분리된 네트워크망을 가질 수 있어 독립적인 설정이 가능합니다. EC2 생성 후 VPC는 변경이 안되기때문에 VPC를 먼저 만들고 시작하는 것이 좋습니다.

vpc 적용된 구조.png

VPC 생성하기

VPC 생성

  1. AWS Service 대쉬보드에서 Network-VPC를 클릭해서 VPC 에 VPC 생성을 클릭합니다.
  2. 이름에 원하는 VPC 이름을 설정하고 CIDR block은 10.100.0.0/16으로 설정해서 VPC를 생성합니다.
    • 이 부분은 VPC에서 사용할 사설 아이피를 설정합니다. 한번 설정된 사설 아이피 대역은 수정이 불가능합니다.

서브넷

  1. VPC 를 subnet 으로 더 잘개 쪼개서 사용할 수 있습니다. VPC 대시보드에서 서브넷을 클릭하고 서브넷 생성을 클릭합니다.
  2. 원하는 subnet 이름을 설정하고 vpc는 위에서 생성한 vpc를 선택합니다. 가용영역을 원하는 AZ(ap-northeast-2a)로 설정하고 CIDR block을 10.100.10.0/24 로 설정합니다.
    • 각 subnet은 사설 아이피 대역을 겹쳐서 사용할 수 없습니다. 또한 VPC 내부에 subnet이 있는 것이므로 VPC 에서 설정한 CIDR보다 작은 아이피 대역을 사용해야합니다.

인터넷 게이트웨이

  1. VPC와 인터넷을 연결하기 위해서는 인터넷 게이트웨이를 만들어야 합니다.VPC 메뉴에서 인터넷 게이트웨이를 선택해서 인터넷 게이트웨이 생성을 클릭합니다.
  2. 원하는 게이트웨이의 이름을 설정하고 생성합니다.
  3. 게이트웨이 목록에서 만들어진 인터넷 게이트웨이를 우클릭하고 VPC 연결을 클릭하여 위에서 생성한 VPC에 연결합니다.

라우팅 테이블

  1. 이제 라우팅 테이블을 만들어서 만들어진 VPC의 각 subnet을 라우팅 테이블에 연결해야합니다. 네트워크 트래픽이 발생하면 이 라우팅 테이블에서 만들어진 규칙에 따라 트래픽을 전달할 위치가 결정됩니다. VPC 메뉴에서 라우팅 테이블을 클릭하고 라우팅 테이블 생성을 클릭합니다.
  2. 이름 태그에 원하는 이름을 설정하고 vpc로 위에서 생성한 vpc를 선택한 후에 라우팅 테이블을 생성합니다.
  3. 만들어진 라우팅 테이블을 클릭해서 하단 메뉴에 라우팅을 선택합니다.
  4. 현재 라우팅 규칙은 10.100.0.0/16, 대상은 local로 우리가 설정한 사설 아이피로 들어오는 트래픽은 로컬로 연결하겠다는 뜻입니다. 이외의 모든 연결에 대해서는 인터넷 게이트웨이로 향하게 되어 인터넷과 연결시켜줘야 합니다. 이 라우팅 테이블은 인터넷과 연결될 퍼블릭 서브넷에서만 사용할 것입니다. 라우팅 편집을 클릭해서 라우팅 추가를 눌러줍니다. 대상에 0.0.0.0/0 즉 모든 아이피를 설정하고 destination으로 위에서 생성한 인터넷 게이트웨이를 설정하고 라우팅을 저장합니다.
  5. 라우팅 테이블의 하위 메뉴에서 서브넷 연결을 클릭합니다. 인터넷과 연결할 서브넷과 이 라우팅 테이블을 연결해줘야합니다. 서브넷 연결 편집을 클릭하고 인터넷과 연결되길 원하는 퍼블릭 서브넷을 이 라우팅 테이블에 연결합니다.

이로써 이 프로젝트에 필요한 VPC가 생성되었습니다. 다음 포스트에서 EC2를 생성하고 환경을 세팅해보도록 하겠습니다.