# 생성된 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
- 확인을 해보면 65536 개의 ip 개수를 할당받아 사용이 가능하다. (물론 비트수를 조정하면 그 이상의 ip 개수를 사용할 수 있다.)
2. 현재 서브넷 생성정보 확인하기
- 아래는 현재의 서브넷 생성 정보 내용이다. 20비트로 쪼개져 있으며, 각 서브넷당 사용가능한 ip 개수를 확인할 수 있다.
- 서브넷 계산기는 아래의 링크를 추천한다.
https://ko.rakko.tools/tools/27/
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 인스턴스에 apache 웹서버를 띄워서 테스트를 해보자.
2021.08.29 - [Applications/Apache & Tomcat] - EC2 인스턴스에 Apache 웹서버를 띄워보자
- 아래와 같이 아파치 웹서버가 정상적으로 접속된 것을 확인할 수 있다. 해당 아파치 웹서버는 신규로 생성한 서브넷에 연결된 ec2 인스턴스이다.
- 다음은 프라이빗 ec2를 프라이빗 서브넷에 연결 후 정상적으로 통신이 되는지 확인한다.
- 일단 프라이빗 ec2는 외부의 퍼블릭 망으로 연결이 되어 있지 않기 때문에 내부의 트래픽이 정상적으로 흘러가는지의 여부로 확인이 가능하다.
- 일단 private 환경의 ec2 인스턴스에서 정상적으로 퍼블릭 망으로 통신이 가능한지 확인하는 방법은 여러 가지가 있겠지만 여기서는 ping test를 통해서 확인을 해보자.
첫 번째로 public 환경의 보안그룹을 ICMP-IPV4를 열어 줘야 한다.
두 번째로 프라이빗 EC2 환경에서 ping {퍼블릭 ip 주소}로 트래픽을 보낸다.
세 번째 결과하면은 아래와 같다.
- 여기까지 하나의 VPC에서 새로운 서브넷을 생성하고 생성된 서브넷을 퍼블릭과 프라이빗 환경의 EC2인스턴스를 생성하여 정상적으로 동작하는지 확인을 해봤다.
- 구현된 아키텍처는 아래와 같다. (참고)
'⭐ AWS > AWS VPC' 카테고리의 다른 글
기본 네트워킹 구성하기 (0) | 2023.02.20 |
---|---|
VPC FlowLogs 생성하여 네트워크 흐름 파악하기 (0) | 2023.01.30 |
VPC 통신 & 내부 통신 (0) | 2022.12.07 |
private subnet에 public ip를 활성화 할 경우 (0) | 2022.03.18 |
VPC, Private Subnet, Pubilc Subnet (0) | 2022.03.04 |