AWS 서브넷 설정 – 아마존 웹/API 서버 구축

AWS 서브넷 무엇일까요? VPC에서 빼놓을 수 없는 요소입니다. 우선 이전 포스팅 내용인 VPC 설정을 참고하시기 바랍니다.

목표

AWS 서브넷 설정하는 방법에 대해 알아보겠습니다.

AWS 서브넷 정의

말 그대로 하나의 네트워크 안의 한 부분을 차지하는 다른 네트워크입니다.

AWS 서브넷 역할


그럼 왜 굳이 네트워크를 이렇게 또 나누는 걸까요?

아래 설명을 하겠지만 첫번째 이유로는 공개 영역과 비공개 영역을 분리할 수 있습니다.
공개 AWS 서브넷 내에 설정된 리소스는 우리가 흔히 사용하는 외부 네트워크와 상호 통신할 수 있습니다.
그리고 비공개 AWS Subnet 내에 설정된 리소스는 내부에서만 상호 통신하므로 외부의 공격을 방어할 수 있습니다.
가령, 서비스에 중요요소인 데이타베이스는 비공개 Subnet에 설정하면 됩니다.

그리고 죽지 않는 서비스를 위해 가용영역을 물리적으로 두 곳을 설정할 수 있습니다. 이것을 이중화라고 합니다.
한 곳이 서비스 불능이면 자동적으로 다른 한 곳으로 서비스가 가능하도록 구축하는 것입니다.

AWS 서브넷 설정 구조도

subnet

첫번째로 외부서브넷과 내부서브넷 총 두가지 서브넷으로 구성되어 있습니다.
두번쨰는 동일한 물리적인 구성을 다른 지역에 설정할 수 있습니다. 즉 가용영역을 두개로 구성한 것을 이중화라 합니다. 그래서 각각 2개씩 설정하였습니다. 위에 잠깐 언급했듯이 이중화는 무중단 서비스를 위해 서버를 ap-northeast-1a(서울)와 ap-northeast-1-c(대전)로 구성합니다. 그럼 서울 리전 서버가 죽었을 때 대전 리전으로 서비스가 가능해집니다.

설정 정보

대상항목설명
외부서브넷 1VPC IDprod-vpc서브넷을 생성할 VPC
서브넷 이름prod-subnet-public01서브넷별 이름
가용 영역ap-northeast-2a제공되는 가용 영역
IPv4 CIDR 블록10.0.0.0/20VPC의 IP 범위에 포함되는 범위
외부서브넷 2VPC IDprod-vpc서브넷을 생성할 VPC
서브넷 이름prod-subnet-public02서브넷별 이름
가용 영역ap-northeast-2c제공되는 가용 영역
IPv4 CIDR 블록10.0.16.0/20VPC의 IP 범위에 포함되는 범위
내부 서브넷 1VPC IDprod-vpc서브넷을 생성할 VPC
서브넷 이름prod-subnet-private01서브넷별 이름
가용 영역ap-northeast-2a제공되는 가용 영역
IPv4 CIDR 블록10.0.64.0/20VPC의 IP 범위에 포함되는 범위
내부 서브넷 2VPC IDprod-vpc서브넷을 생성할 VPC
서브넷 이름prod-subnet-private02서브넷별 이름
가용 영역ap-northeast-2c제공되는 가용 영역
IPv4 CIDR 블록10.0.80.0/20VPC의 IP 범위에 포함되는 범위
위 표는 설정 정보들을 정리한 내용입니다.
외부, 이중화로 각각 2개씩 구성되어 있습니다.

각 서브넷마다 이미 설정한 VPC를 선택합니다. 그리고 서브넷 이름을 기입합니다.
명명규칙은 아래와 같습니다.

“서비스명-AWS 리소스 종류-가용범위”

그리고 가용 영역을 설정하시면 됩니다.

CIDR 설명

IPv4 CIDR 블록은 좀 복잡한 내용입니다. 최대한 쉽게 설명해보도록 하겠습니다.

“Classless Inter-Domain Routing(CIDR)은 인터넷상의 데이터 라우팅 효율성을 향상시키는 IP 주소 할당 방법입니다.”

아마존 공식 사이트에 있는 CIDR의 정의입니다.
쉽게 말하면 위 주소 형식을 바꾸어주면 VPC 내에서 설정할 수 있는 서브넷의 개수, IP의 개수가 달라집니다.

위 설정에 있는 10.0.16.0/20 를 풀어보겠습니다. 이것을 이진수로 바꾸면 아래와 같습니다.

00001010.00000000.0001XXXX.XXXXXXXX

첫 16비트는 VPC를 의미합니다. 그 다음 4비트는 서브넷을 의미합니다. /20은 VPC의 16과 서브넷 4을 합친 수입니다.

그럼 나머지 32-20 = 12 의 마지막 X 의 12개의 Bit들은 IP를 4091개 설정할 수 있다는 것입니다. 2의 12승이 4096이기 때문입니다. 근데 왜 숫자가 5개 적을까요? 이유는 AWS는 미리 예약한 리소스 수 5개를 미리 선점합니다. 그래서 4091개 입니다.
정리하자면 서브넷은 4비트만 사용하니까 16개 생성이 가능하고 IP는 4091개 즉, 리소스를 4091개 생성할 수 있습니다.

더 예를 들어보겠습니다.

/20을 /24로 변경하겠습니다. 이건 VPC 16Bit, 서브넷인 8Bit라는 뜻입니다.

그러면 서브넷은 8Bit(=24-16), IP은 8Bit(=32-24)입니다. 그렇다면 서브넷은 256개, IP는 251개 설정할 수 있습니다.

설정 화면

subnet-setting
  1. 이전에 설정한 VPC를 선택합니다.
  2. 서브넷 설정을 진행합니다.

그럼 서브넷 설정 작업을 마치겠습니다.

다음은 외부망과 통신을 연결해주는 인터넷 게이트웨이를 설정해보도록 하겠습니다.

참고

AWS 서브넷 공식 사이트

https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/configure-subnets.html

AWS CIDR 공식 사이트

https://aws.amazon.com/ko/what-is/cidr/

Back to top