본문 바로가기

⭐ AWS/AWS VPC

VPC에 새로운 Public, Private Subnet 추가하기

# 생성된 VPC에 서브넷을 추가해 보자.

- 현재 상황은 public서브넷 2개 , 프라이빗 서브넷 2개 이렇게 생성이 되어있다고 가정하자.

여기서 az는 각각 a와 b로 설정되어 있고, 리전은 서울 리전이다.

- 여기에 서브넷을 추가로 2개를 생성해 보자.

az는 c영역으로 설정할 예정이고 프라이빗과 퍼블릭 서브넷 각각의 생성을 진행한다.

리전은 서울리전이다.

- 작업이 완료되면 public 3개, private 3개 이렇게 총 6개의 서브넷이 생성되어 있을 것이다.

- 최종 생성된 서브넷의 모습은 아래와 같다.

- 그렇다면 세부 작업에 대해서 알아보자.

1. 서브넷 ip 설정하기

- vpc가 현재 어떤 ip 영역대로 생성이 되어 있고, 몇 개의 ip를 사용할 수 있으며, 그에 따른 서브넷을 몇 개를 생성할 수 있는지 확인하는 작업이 필요하다.

- 일단 vpc의 ip 영역대는 아래와 같이 10.0.0.0/16 대로 설정이 되어 있다.

- 10.0.0.0/16 대역에서 ip를 생성할 수 있는 개수는 아래의 링크에서 확인이 가능하다.

https://www.dan.me.uk/ipsubnets?csrfmiddlewaretoken=MTY3NzIwMTUwMA%3D%3D&ip=10.0.0.0 

 

IP Subnet Calculator

IP Subnet Calculator This page will calculate all valid subnets and ranges from an IP you give. All subnets for 10.0.0.0 are:   CIDR block     IP range (network - broadcast)     Subnet Mask     IP Quantity     10.0.0.0/32     10.0.0.0 - 10.0.0.0

www.dan.me.uk

- 확인을 해보면 65536 개의 ip 개수를 할당받아 사용이 가능하다. (물론 비트수를 조정하면 그 이상의 ip 개수를 사용할 수 있다.)

2. 현재 서브넷 생성정보 확인하기

- 아래는 현재의 서브넷 생성 정보 내용이다. 20비트로 쪼개져 있으며, 각 서브넷당 사용가능한 ip 개수를 확인할 수 있다.

- 서브넷 계산기는 아래의 링크를 추천한다.

https://ko.rakko.tools/tools/27/

 

IPv4 / IPv6 CIDR 계산기 | RAKKOTOOLS🔧

IPv4 / IPv6 CIDR 주소를 기반으로 IP 주소 범위를 계산하십시오.서브넷 마스크 범위의 첫 번째 및 마지막 IP 주소, CIDR 표기법의 IP 주소 수, 서브넷 마스크 / 와일드 카드 마스크 (IPv4 CIDR), Ipv6 약자 /

ko.rakko.tools

3. 서브넷 추가하기

- 자 그렇다면 위의 정보를 기반으로 서브넷을 추가해 보자.

일단 10.0.0.0 대역대로 검색을 해보면 아래의 리스트를 확인할 수 있고 /20비트로 쪼갤경우 ip range를 확인할 수 있다.

ip range는 서브넷 1개당의 범위기 때문에 여러 개로 나눌경우 해당 range 영역을 피해서 생성을 해야 한다.(자세한 건 아래서 설명)

- 자 그러면 일단 가장 최초로 생성될 ip range의 서브넷 범위는 위의 캡처 화면럼 설정될 것이다.

10.0.0.0/20  	  10.0.0.0 - 10.0.15.255  	  255.255.240.0  	  4096

그럼 두 번째 서브넷의 ip range는 어떻게 될까?

10.0.0.0 - 10.0.15.255 이 4096개의 ip를 할당할 수 있는 1개의 서브넷이라면 다음 추가로 생성될 서브넷의 범위는

10.0.16.0 - 10.0.31.255 이 될 것이다.

그래서 현재 생성된 서브넷의 ip range를 보게 되면 이해가 좀 더 쉽다.

0, 16, 32, 48, 순으로 생성이 된 것을 확인할 수 있다. 만약에 추가로 서브넷을 생성하고자 한다면 해당 패턴을 기억하고 추가로 생성을 해주면 된다.

- 마지막으로 10.0.48.0/20 다음의 서브넷을 생성

- 조회를 하면 아래와 같은 정보를 확인할 수 있다.

마지막 ip를 확인하면 10.0.63.255로 다음 서브넷의 ip는 10.0.64.0/20 이 될 것이다.

4. 신규로 추가된 퍼블릭 서브넷의 라우팅 테이블 수정

- 신규로 생성한 서브넷에 ec2를 연결하여 정상적으로 통신이 되는지 확인해 보자.

- 일단 첫 번째로 확인할 것은 퍼블릭 서브넷과 프라이빗 서브넷의 구분이 되어야 한다.

퍼블릭 서브넷과 프라이빗 서브넷의 구분은 인터넷 게이트웨이 연결 부분과 NAT 게이트웨이의 연결 부분이 되겠다.

- 퍼블릭서브넷과 프라이빗서브넷의 구분 → 퍼블릭 클라우드의 서브넷정보 중 라우팅 테이블을 보면 아래와 같이 local 영역과 igw- 로 시작하는 인터넷 게이트 영역이 연결되어 있다. 여기서 local 영역은 VPC 내부의 트래픽을 담당하는 영역이 될 것이고 igw- 로 시작하는 영역은 외부로 나가는 트래픽에 대한 경로를 담고 있다.

- 그렇다면 신규로 생성한 서브넷에 해당 라우팅 정보를 넣어 줘야 한다. 퍼블릭 서브넷은 라우팅 테이블에 igw- 즉 인터넷 게이트웨이로 라우팅 되게끔 설정해야 한다.

- igw- 즉 인터넷 게이트웨이에 대한 연결은 vpc 서비스에서 라우팅 테이블에서 설정해 줄 수 있다.

VPC → 라우팅 테이블 → 서브넷에 연결할 라우팅 테이블 편집 (퍼블릭, 프라이빗) → 서브넷 연결 메뉴에서 서브넷 연결 편집을 클릭하여 해당 서브넷을 추가한다. 간략한 설명은 아래와 같다.

- 신규로 생성한 서브넷열 연결해 준다. (해당 작업은 기존의 라우팅 테이블이 존재할 경우의 서브넷을 추가하는 작업 이므로 만약 라우팅 테이블을 신규로 생성 한가면 라우팅 테이블을 신규로 생성 후 위의 절차에 맞게 준행해 주면 된다.)

5. 신규로 생성된 프라이빗 서브넷의 라우팅 테이블을 수정

- 위에서는 퍼블릭 환경에 대한 라우팅 테이블 작업을 진행하였다.

다음은 신규로 생성한 프리이빗 환경에 대한 라우팅 테이블 작업을 진행한다.

일단 프라이빗 환경에 대한 라우팅 정보는 아래와 같다.

- 위의 퍼블릭 서브넷의 연결과 같이 프라이빗 환경의 연결도 설정을 동일하다. VPC → 라우팅 테이블 → 서브넷에 연결할 라우팅 테이블 편집 (퍼블릭, 프라이빗) → 서브넷 연결 메뉴에서 서브넷 연결 편집을 클릭하여 해당 서브넷을 추가한다.

- 편집 내용은 위의 퍼블릭 서브넷을 추가하는 방법과 동일하다.

6. 생성한 신규 서브넷을 기반으로 ec2 인스턴스를 연결하고 정상적으로 접근이 되는지 확인한다.

- ec2 인스턴스 생성하기 (아래 url에서 신규로 생성한 서브넷만 연결하여 생성)

- 첫 번째로 퍼블릭 서브넷의 연결된 ec2 인스턴스 생성

2021.10.24 - [⭐ AWS/EC2] - EC2 생성

 

EC2 생성

EC2 인스턴스 생성 1. 인스턴스 시작을 클릭하여 EC2 생성을 시작합니다. 2. 설치할 OS를 확인하고 선택을 클릭합니다. 3. 원하는 스펙을 선택하고 다음으로 넘어 갑니다. 4. 네트워크를 구성 후 다음

may9noy.tistory.com

- 생성한 ec2 인스턴스에 apache 웹서버를 띄워서 테스트를 해보자.

2021.08.29 - [Applications/Apache & Tomcat] - EC2 인스턴스에 Apache 웹서버를 띄워보자

 

EC2 인스턴스에 Apache 웹서버를 띄워보자

1. 해당 인스턴스에 아파치를 설치 후 Apache Main 화면을 띄워보자. - SSH 툴을 이용해서 내 서버(인스턴스)로 접속한다. - 우선 명령어 sudo apt-get update 를 날려 설치 가능한 리스트를 업데이트 한다. -

may9noy.tistory.com

- 아래와 같이 아파치 웹서버가 정상적으로 접속된 것을 확인할 수 있다. 해당 아파치 웹서버는 신규로 생성한 서브넷에 연결된 ec2 인스턴스이다.

- 다음은 프라이빗 ec2를 프라이빗 서브넷에 연결 후 정상적으로 통신이 되는지 확인한다.

- 일단 프라이빗 ec2는 외부의 퍼블릭 망으로 연결이 되어 있지 않기 때문에 내부의 트래픽이 정상적으로 흘러가는지의 여부로 확인이 가능하다.

- 일단 private 환경의 ec2 인스턴스에서 정상적으로 퍼블릭 망으로 통신이 가능한지 확인하는 방법은 여러 가지가 있겠지만 여기서는 ping test를 통해서 확인을 해보자.

첫 번째로 public 환경의 보안그룹을 ICMP-IPV4를 열어 줘야 한다.

두 번째로 프라이빗 EC2 환경에서 ping {퍼블릭 ip 주소}로 트래픽을 보낸다.

세 번째 결과하면은 아래와 같다.

- 여기까지 하나의 VPC에서 새로운 서브넷을 생성하고 생성된 서브넷을 퍼블릭과 프라이빗 환경의 EC2인스턴스를 생성하여 정상적으로 동작하는지 확인을 해봤다.

- 구현된 아키텍처는 아래와 같다. (참고)

Subnet 추가.drawio
0.00MB