[aws] AWS VPC와 서브넷 생성 (라우팅테이블 : NAT게이트웨이)

2024. 1. 5. 07:01cloud/aws

 AWS VPC생성 및 서브넷 생성

 

아래는 최종적으로 구축한 예시이자 결과물이다.
vpc, 서브넷, 라우팅테이블, 인터넷게이트웨이, NAT게이트웨이 등이 사용되었다.

 

VPC 서브넷 구축완료 예시
VPC 서브넷 구축완료 예시

 

 

통상적으로 VPC나 서브넷의 경우 디폴트로 설정할경우 알아서 설정하여 준다. 하지만 시스템이 늘어날수록 지저분해 보이고 여러가지측면에서 직접 구축하는것을 권장한다. 

이번에 다룰 주요 내용은 VPC, 서브넷, 라우팅테이블, NAT게이트웨이 등이있으며 이것들의 개념을 먼저 살펴보도록 하자.

VPC
독립적인 가상의 네트워크 공간 으로 사용자의 설정에 따라 자유롭게 구성할 수 있는 공간을 의미한다.. 따라서 사용자는 서브넷 생성, 라우팅 테이블, 네트워크 게이트웨이 구성 등 네트워킹 환경을 사용자가 원하는 대로 완벽하게 제어할 수 있습니다.
서브넷
서브넷은 인터넷에서의 접근성을 기준으로 퍼블릭 서브넷과 프라이빗 서브넷으로 분류될 수 있습니다. 퍼블릭 서브넷의 인스턴스는 인터넷과 직접 통신할 수 있지만 프라이빗 서브넷의 인스턴스는 그렇지 않습니다. 일반적으로 웹 서버와 같은 리소스는 퍼블릭 서브넷에 배치되고 데이터베이스 또는 애플리케이션 서버는 프라이빗 서브넷에 배치됩니다.
라우팅테이
VPC의 각 서브넷은 서브넷에서 나가는 트래픽을 제어하는 ​​라우팅 테이블과 연결되어야 합니다. 라우팅 테이블은 트래픽 대상(로컬, 인터넷 등) 및 라우팅 위치와 같은 규칙을 정의합니다.
NAT 게이트웨이
프라이빗 서브넷의 인스턴스를 인터넷 또는 기타 AWS 서비스에 연결하는 한편, 인터넷에서 해당 인스턴스와의 연결을 시작하지 못하게 할 수 있습니다.

 


 

VPC와 서브넷 구조예시
VPC와 서브넷 구조예시

 

1. VPC생성

  • VPC관련 항목을 입력한다.
  • VPC역할은 AWS에서 논리적으로 격리된 네트워크 공간을 제공하여 프로비저닝하여 가상 네트워크에서 AWS 리소스를 만드는데 사용된다.
  • 이름태그-선택사항의 경우 본인이 식별할수 있는 값으로 입력한다.
  • 본인은 "프로젝트명-vpc" 으로 구분하기 쉽게 프로젝트 명을 우선기입한다.

AWS VPC생성
AWS VPC생성

 

2. 서브넷생성

  • 서브넷은 인터넷에서의 접근성을 기준으로 퍼블릭 서브넷과 프라이빗 서브넷으로 분류된다.
  • 서브넷의 역할은 네트워크 상에 존재하는 여러 인스턴스를 서로 격리하는 역할을 한다.
  • public 영역과  private 영역으로 두가지 타입의 서브넷을 생성해보자.
  • 아래와 같이 서브넷을 등록한다.
  • 마찬가지로 [새 서브넷 추가] 버튼을 클릭하여 public영역과 private 영역 총 6가지 서브넷을 생성한다.

aws 서브넷 생성
AWS 서브넷 생성

 

서브넷이름 : btrace-public-subnet-a
가용영역 : 아시아 태평양(서울) / ap-northeast-2a
IPv4 VPC CIDR block : 디폴트로 선택된다.
IPv4 subnet CIDR block : 10.1.1.0/26

서브넷이름 : btrace-public-subnet-b
가용영역 : 아시아 태평양(서울) / ap-northeast-2b
IPv4 VPC CIDR block : 디폴트로 선택된다.
IPv4 subnet CIDR block : 10.1.1.64/26

서브넷이름 : btrace-private-subnet-sys-a
가용영역 : 아시아 태평양(서울) / ap-northeast-2a
IPv4 VPC CIDR block : 디폴트로 선택된다.
IPv4 subnet CIDR block : 10.1.1.128/27

서브넷이름 : btrace-private-subnet-sys-b
가용영역 : 아시아 태평양(서울) / ap-northeast-2b
IPv4 VPC CIDR block : 디폴트로 선택된다.
IPv4 subnet CIDR block : 10.1.1.160/27

서브넷이름 : btrace-private-subnet-db-a
가용영역 : 아시아 태평양(서울) / ap-northeast-2a
IPv4 VPC CIDR block : 디폴트로 선택된다.
IPv4 subnet CIDR block : 10.1.1.192/27

서브넷이름 : btrace-private-subnet-db-b
가용영역 : 아시아 태평양(서울) / ap-northeast-2b
IPv4 VPC CIDR block : 디폴트로 선택된다.
IPv4 subnet CIDR block : 10.1.1.224/27

 

 

위와같이 6가지 서브넷을 샘플로 등록하면 아래와 같이 목록에 정상적으로 표현된다.

aws 서브넷 생성예시
aws 서브넷 생성예시

 

 

3. 인터넷 게이트웨이 생성

  • 인터넷 게이트웨이를 생성한다.
  • 인터넷 게이트웨이의 역할은 VPC와 인터넷이 통신할 수 있도록 도와주는 VPC 컴포넌트이다.
  • 명칭은 본인의 취향에 맞게 생성힌다.

인터넷 게이트웨이 생성
인터넷 게이트웨이 생성

 

 

4. 생성된 인터넷 게이트웨이 VPC와 연결

  • 게이트웨이를 생성하면 VPC와 연결하는 작업을 해야한다.
  • 생성완료되면 아래와 같이 목록 화면이 제공된다.
  • 작업버튼을 클릭하여 VPC연결항목을 선택한다.

인터넷 게이트웨이 VPC와 연결
인터넷 게이트웨이 VPC와 연결

 

  • 사용가능한 VPC에서 앞서 생성한 VPC를 선택하고 "인터넷 게이트웨이 연결" 버튼을 클릭한다.

인터넷 게이트웨이 vpc연결
인터넷 게이트웨이 vpc연결

 

5. 라우팅테이블 생성

  • public 라우팅 테이블과 private 라우팅 테이블 두개를 생성한다.
  • 아래는 public에대한 라우팅 테이블을 생성하는 화면이고 마찬가지로 private도 생성해준다.

라우팅테이블 생성
라우팅테이블 생성

 

  • 생성이 완료되면 목록에 아래와 같이 표시된다.

라우팅테이블 생성완

 

6. 라우팅테이블 (public 라우팅 편집)

  • private 라우팅 테이블의 경우 NAT 게이트웨이를 등록하여 연동해준다.
  • public 테이블은 아래와 같이 작업한다.
  • 빨간색 표시를 따라 클릭하여 라우팅 편집을 한다.

 

 

  • 아래와 같이 대상항목에 "0.0.0.0/0" 을 입력하고 옆에 콤보박스에는 인터넷 게이트웨이 항목을 선택하면 앞서 등록한 인터넷 게이트웨이 정보가 보여진다. 선택후 "변경사항저장" 버튼을 클릭한다.

라우팅테이블 라우팅 편집
라우팅테이블 라우팅 편집

 

6. 라우팅테이블 (private 라우팅 편집)

  • private 라우팅 테이블의 경우 NAT 게이트웨이를 등록하여 연동하여야 한다.
  • 이름의 경우 선택사항이며 서브넷의 경우 앞에 등록한 "btrace-public=subnet-a"를 선택한다.
  • 연결유형은 퍼블릭이다.
  • "탄력적 IP할당" 버튼을 클릭하면 영문숫자 조합의 키값이 자동으로 생성된다.
  • 이후 "NAT 게이트웨이 생성" 버튼을 클릭하여 생성한다.

NAT 게이트웨이 생성
NAT 게이트웨이 생성

 

  • private 라우팅테이블의 경우 앞에서 등록한 NAT 게이트웨이를 적용시켜준다.

private 라우팅편집
private 라우팅편집

 

 

7. 라우팅테이블에 서브넷 연결하기

  • 라우팅 테이블메뉴에서 public 항목을 선택하고 서브넷 연결선택 그리고 서브넷 연결 편집 버튼을 클릭한다.
  • 그러면 다음페이지에서 앞에 생성한 서브넷 항목들이 제공될것이며 public 항목위주로 선택한다.

라우팅 테이블에 서브넷 연결
라우팅 테이블에 서브넷 연결

 

 

  • 아래와 같이 public으로 생성한 서브넷을 선택하고 "연결 저장" 버튼을 클릭하여 저장한다.

public 서브넷 연결편집
public 서브넷 연결편집

 

 

  • 이쯤되면 private 라우팅 테이블도 동일한 방법으로 등록하면 된다는 것을 캣치하길 바란다.
  • 아래와 같이 private 항목을 선택하여 "연결 저장" 버튼을 클릭한다.

private 서브넷 연결편집
private 서브넷 연결편집

 

8. VPC 생성 완료

  • vpc, 서브넷, 라우팅테이블, 인터넷게이트웨이, NAT게이트웨이 등이 사용되었다.
  • 디폴트로 생성해주기는 하나 시스템이 방대해지거나, 시스템 종류가 많아질것에 대비하여 미리미리 영역을분리하고 관리하는것은 권장한다.
  • 추후 EC2, ELB, RDS를 사용하여 어플리케이션구축시 위 VPC기반으로 구축하는 포스팅을 진행된다.