본문 바로가기

Cloud/AWS

AWS - VPC : Part 3 [VPC 생성 및 테스트:마법사]

Today Keys : VPC, 마법사, 생성, subnet, 게이트웨이, IGW, 라우팅테이블, Route tables, EIP, Elastic, Create



기존 포스팅 : AWS - VPC : Part 1  , AWS - VPC : Part 2


Last Updated : 2018.11.30

이번 포스팅에서는 AWS VPC를 마법사를 통해서 생성하여 간단하게 VPC와 관련된 컴포넌트를 구성하고, 

통신 테스트를 진행합니다.


 

먼저 VPC 대시보드로 들어가면, VPC에서 사용하는 다양한 컴포넌트가 있습니다.

'상단에 VPC 만들기'라는 파란 버튼을 클릭하면,

 

 

다음과 같이 VPC를 손쉽게 구성할 수 있도록 마법사 형태로 제공합니다.

VPC 구성 형태에 따라서 4가지 방식을 제공하는 데,

1. 단일 퍼블릭 서브넷이 있는 VPC

2. 퍼블릭 및 프라이빗 서브넷이 있는 VPC

3. 퍼블릭 및 프라이빗 서브넷이 있고 하드웨어 VPN 액세스를 제공하는 VPC

4. 프라이빗 서브넷만 있꼬 하드웨어 VPN 액세스를 제공하는 VPC

 

이 포스팅에서는 AWS에서 일반 인터넷과의 통신만 하는 간단한 네트워크 구조를 만들기 떄문에 별도의 VPN 액세스 제공하는 3,4번 대신에 1,2번 중의 Private과 Public이 함께 있는 2번째 마법사를 선택해서 진행합니다.

 

우선 마법사를 본격적으로 진행하기 전에 탄력적 IP(Elastic IP:EIP)를 먼저 생성합니다.

마법사로 Private 서브넷을 생성하게 될 경우에 NAT 게이트웨이도 함께 생성하는 데, NAT 게이트웨이에 할당 할 EIP가 필요합니다.

 

 

새 주소 할당에서 바로 '할당'을 클릭하면

다음과 같이 새로운 Elastic IP 주소가 생성됩니다.

 

이제 VPC 마법사를 이용해서 VPC 생성에 필요한 값을 입력합니다.

VPC 내에서 사용할 CIDR 블록을 먼저 지정합니다.

VPC 의 CIDR은 생성 이후 변경이 불가하기 때문에 VPC를 얼마나 확장성 있게 설계할 것인지에 따라서 크기를 잡아야 합니다.

다음은 Public과 Private 서브넷에 대한 CIDR을 지정하는 데, 여기서 사용되는 CIDR은 VPC CIDR 블록 내에 속해야 합니다.

예제에서는 Public 은 10.0.0.0/24, Private는 10.0.4.0/24로 선언합니다.

서브넷 생성 시에는 어떤 가용영역(AZ)에 속할지도 함께 선택합니다.

마법사 이용 시에는 각각 1개의 서브넷을 생성하지만, VPC 생성이 완료된 이후에 추가로 생성이 가능합니다.

서브넷 다음에는 Private 서브넷이 외부와 통신하기 위한 NAT 게이트웨이의 Elastic IP를 선택하는 데, 앞에서 만든 EIP를 지정합니다.

필요한 정보를 입력한 이후에 생성 버튼을 누르면, 몇 분 이내에 생성이 완료됩니다.

 

VPC 생성이 끝나면 다음과 같이 정상적으로 생성되었다고 나옵니다.

 

마법사를 이용해서 VPC를 생성하고 나면, VPC의 다양한 컴포넌트들이 생긴 것을 알 수 있습니다.

왼쪽은 기본 VPC 상태였고, 오른쪽이 VPC 마법사를 이용해서 VPC를 만든 이후의 컴포넌트입니다.

'서브넷 2개(Public/Private), 라우팅 테이블 2개, 인터넷 게이트웨이 1개, NAT 게이트웨이 1개, 네트워크 ACL 1개, 보안그룹 1개 '

가 추가로 생성된 것을 확인할 수 있습니다.

 

이제 새롭게 만든 VPC와 서브넷을 이용해서 EC2를 만듭니다.

EC2 생성 시에 Default VPC 대신에 새롭게 만든 Public/Private 서브넷을 가진 EC2를 생성합니다.

Public 서브넷을 가진 EC2를 생성할 때 Public IP를 자동할당 받을 수 있도록 설정합니다.

 

Private 서브넷을 가진 EC2를 생성할 때는 Public IP를 받을 필요가 없으며, 실제 생성하더라도 해당 IP로 접속이 불가합니다.
(물론 설정을 변경하면 가능하나, 설정을 변경하는 경우에는 실제 Private 서브넷이 아니라 Public 서브넷으로 동작합니다.)

 

Public 서브넷을 가진 EC2가 자동으로 할당받은 IP는 13.124.63.40 입니다.

13.124.63.40으로 EC2에 접속해서 IP 주소를 확인해보면, 10.0.0.247인 것을 확인할 수 있습니다.

앞서 Public 서브넷을 10.0.0.0/24으로 선언하였고, 해당 네트워크 대역에 속하는 인스턴스입니다.

 

Private 서브넷에 속한 EC2의 경우에는 직접 접근이 불가능하지만, Public 서브넷을 통해서 접근이 가능합니다.

VPC의 CIDR에 속한 모든 인스턴스는 상호 간의 모두 별도의 설정없이 통신이 가능합니다.

(라우팅 테이블에서 VPC의 CIDR이 Local 영역으로 설정)

Private 서브넷의 EC2도 외부(8.8.8.8)와 통신이 가능합니다.

왜냐면 Private 서브넷이 외부와 통신할 수 있도록 NAT 게이트웨이가 있기 때문입니다.

실제 확인을 위해서 자신의 공인 IP 확인을 위해서 ifconfig.me를 통해서 Private 서브넷 EC2의 공인 IP를 확인합니다.

 

ifconfig.me를 통해 확인한 공인 IP가 실제로 NAT 게이트웨이에 할당된 Elastic IP 주소인 13.125.4.205인 것을 확인할 수 있습니다.

 

마지막으로 Public과 Private 서브넷에 지정된 2개의 라우팅 테이블을 확인합니다.

Private 서브넷이 포함된 라우팅 테이블은 VPC CIDR이 Local로 선언되어 있고, Default 라우팅은 NAT 게이트웨이를 향합니다.

 

 

Public 서브넷이 포함된 라우팅 테이블은 Private 서브넷이 포함된 라우팅 테이블과 마찬가지로 VPC CIDR이 Local로 선언되어 있지만,

디폴트라우팅은 인터넷 게이트웨이(IGW)인 것을 확인 할 수 있습니다.

이상으로 VPC 마법사를 이용한 기본 VPC 생성 및 VPC를 이용한 인스턴스를 만들어서 통신하는 과정을 보았습니다.

이후에는 마법사 대신에 개별 컴포넌트 별로 생성하면서 어떻게 연결이 되는지 알아보도록 하겠습니다.

 

다음은 본 예제에 대한 구성입니다.