[왕초보 탈출 AWS 매뉴얼(2)] Private Subnet 생성

2021. 8. 15. 17:22✅ STUDY/AWS

안녕하세요 :)

해당 매뉴얼을 끝까지 따라오시면, 아래와 같은 네트워크 구성과 리소스들을 생성하실 수 있습니다.

 

위의 아키텍쳐 중, 오늘은 매뉴얼1에 이어, private subnet을 생성하고 필요한 라우팅 테이블 설정을 해줄 것입니다.

이 글에서 다룰 아키텍쳐 부분

최대한 쉽게 사진과 함께 가져왔으니 천천히 따라와주세요 :)


VPC에 private subnet을 구축하기 위해서는
프라이빗 서브넷 생성 - 프라이빗 라우팅 테이블 생성 및 설정 순으로 진행해야합니다!


Private subnet 생성

Subnet 이란 ❓

VPC를 나누는 데 사용됩니다. 보통 VPC를 IP로 구분해 나눈 후, 다중 AZ(가용영역)에 걸쳐 서브넷을 구성합니다.
서브넷은 퍼블릭 서브넷 or 프라이빗 서브넷으로 분류됩니다.
  • 퍼블릭 서브넷: 인터넷에 직접 엑세스 가능한 서브넷
    인터넷 게이트웨이를 VPC에 연결하고, 퍼블릭 서브넷의 라우팅 테이블을 업데이트하여 로컬이 아닌 트래픽을 인터넷 게이트웨이로 보내면, 퍼블릭 서브넷처럼 사용할 수 있습니다!
    누구나 '인터넷'을 통해 접근할 수 있음을 뜻합니다.
  • 프라이빗 서브넷: 인터넷에 직접 액세스 불가능한 서브넷

    보통 회사의 내부 서버나 프로그램들을 프라이빗 서브넷에 위치시킵니다. 그렇기 때문에, 인터넷을 통해 아무나 접근할 수 없습니다.

 

AWS 콘솔에서 [서브넷]에 들어가 서브넷 생성 버튼을 클릭합니다.

프라이빗 서브넷 역할을 하는 서브넷을 각각 a, c 가용영역에 만들어볼게요!
총 2개의 서브넷을 만들게 되겠죠?

서브넷은 VPC안에 나누어진 부분 네트워크라고 했죠?
그렇기 때문에, 어떤 VPC에 속할 것인지 선해주어야 합니다. 아까 만들었던 VPC를 선택해주세요!

서브넷 이름은 주로, 이름-private-subnet-가용영역으로 해줘서 누가 어떤 리전, 어떤 가용영역에 무엇을 만들었는지 직관적으로 볼 수 있도록 해주세요!
이후, 어떤 가용영역에 서브넷을 생성할 것인지 선택해주고, IPv4 CIDR 블록에 생성할 서브넷의 IP대역대를 입력해줍니다.


Private 전용 라우팅 테이블 생성

Routing Table 이란 ❓

• IP주소에 트래픽 라우팅 경로를 정의하여 Subnet 안팎으로 나가는 트래픽에 대한 라우팅 경로 설정 기능을 수행

인터넷을 통해 사용자에게 요청이 들어왔을 때, 어디로 가야할지 이정표를 알려주지 않으면 모르기 때문에 통신을 할 수 없습니다.
이 때 사용하는 것이 라우팅 테이블입니다.
라우팅 테이블은 IP 주소에 트래픽 라우팅 경로를 정의하여 Subnet 안팎으로 나가는 트래픽에 대한 라우팅 경로 설정기능 수행합니다. 쉽게 말해, 어떤 요청이 들어왔을 때 사용하는 경로안내 이정표(표지판) 정도로 생각하시면 됩니다.

이제 프라이빗 서브넷 전용 라우팅 테이블을 생성해봅시다.

AWS 콘솔에서 [라우팅 테이블] - 라우팅 테이블 생성 버튼을 클릭해줍니다.

라우팅 테이블의 이름과 어떤 VPC에 사용되는 라우팅 테이블인지 설정해줍니다.
이름 형식은 이름-private-route 로 설정해주고, VPC는 오늘 만든 VPC를 선택해줍니다.
그리고 생성 버튼을 클릭해줍니다.

라우팅 테이블을 생성했으면, 해당 라우팅 테이블은 어떤 서브넷이 사용할건지 연결해줘야 합니다.
라우팅 테이블 목록에서, 라우팅 테이블 체크를 해주시고 하단에 서브넷 연결 메뉴의 서브넷 연결 편집 버튼을 클릭합니다.


서브넷 연결 편집이란 해당 라우팅 테이블이 어떤 서브넷에 적용이 되는건지 설정해주는 곳입니다.
그렇기 때문에 프라이빗 서브넷 역할을 할 수 있도록 프라이빗 역할을 하게될 서브넷들만 선택해주면 됩니다.


이젠, 어떤 라우팅을 해줄 것인지 설정해야합니다.
결론을 먼저 말하자면, 프라이빗 라우팅 테이블에는 NAT gateway 또는 NAT 인스턴스를 연결해야 합니다.

본 챕터에서는 라우팅 테이블 추가 과정은 건너 뛰고,
다음 챕터인 NAT 인스턴스를 생성한 후에, 라우팅 테이블에 추가하는 과정을 진행할 예정입니다.

NAT gateway와 Nat 인스턴스의 차이를 짧게 말하자면
NAT gateway는 AWS의 관리형 리소스 이기 때문에, 생성 및 관리는 쉽지만 비용이 비쌉니다.
반대로 NAT 인스턴스는 구축은 어려울지도 모르지만, t2.micro 타입의 EC2 비용이 소요되기 때문에 저렴합니다.

이 매뉴얼에는 NAT 인스턴스를 구축해 NAT를 사용할 것입니다.

그렇다면, NAT가 왜 필요한 걸까요?
프라이빗 서브넷에 위치하게 될 리소스들은 private IP만 가지기 때문에, 내부가 아닌 외부의 리소스들과 어떻게 통신하면 될까요?

이에 대한 답이 바로 NAT 입니다 !

private IP를 public IP로 변환해 private IP는 감추고, 통신을 할 수 있도록 해주는 것이 바로 NAT입니다.
다음 챕터에서는 NAT역할을 할 NAT instance를 생성할 것이며 NAT로 라우팅을 할 수 있도록 프라이빗 라우팅 테이블에 NAT instance를 추가할 것입니다.


이렇게 해서, VPC에 public subnet 및 private subnet 구축이 완료되었습니다.
아래 아키텍쳐 사진만큼 구축하신 겁니다!

이 글에서 다룰 아키텍쳐 부분



다음 편에서는 이어서, nat instance 생성을 하겠습니다.

안녕 😜