본문 바로가기
Develop/AWS

[AWS] AWS VPC와 EC2 설정 및 사용 (1)

by J0DEV 2021. 12. 28.
반응형
본 글은 AWS에서 제공하는 AWS Documentation (user guides, developer guides, API references, tutorials, etc)를 참고하여 작성하였습니다.
https://docs.aws.amazon.com/

이번 단락에서는 외부 인터넷 연결이 가능한 EC2 인스턴스를 생성하는 모든 과정을 소개합니다.

 

1. VPC

VPC(Virtual Private Cloud)는 논리적으로 분리된 가상 네트워크입니다.

(기존 금융/공공 기관은 물리적으로 분리된 환경의 네트워크만 사용 가능했으나, 클라우드 도입/사용 활성화를 위해 해당 규제는 완화되었습니다. 자세한 내용은 별도로 찾아보시면 됩니다.)

AWS Console 내에 VPC 서비스에서 VPC 생성/수정/삭제 할 수 있습니다.

(또한, AWS에서 제공하는 EC2와 같은 서비스들을 사용하기 위해서는 하나 이상의 VPC가 필요합니다.)

 

VPC는 쉽게 생각하면 네트워크 대역이라고 생각하면됩니다.

 

AWS를 처음 사용하는 계정의 경우 기본적으로 인터넷과 연결된(인터넷게이트웨이와 연결된) 라우팅 테이블을 가진 VPC 1개와 Subnet 3개가 생성/설정 되어 있습니다.

 

(본 글에서는 기본적으로 생성된 VPC와 서브넷을 사용하지 않습니다.)

 

2. 목표 구성

2.1. VPC 생성

VPC 서비스 화면에서 [VPC 생성] 버튼을 클릭합니다.

각 input에 필요로하는 값을 입력하면됩니다.

본 예제에서는 Name과 IPv4 CIDR만 입력해주고 나머지는 기본값으로 설정했습니다.

(이미 사용중인 10.30.0.0/16 이 있기 때문에 10.31.0.0/16으로 설정해줍니다.)

 

 

 

VPC가 생성되면 생성된 VPC와 연결된 라우팅 테이블이 생성됩니다.

 

 

생성된 라우팅 테이블의 VPC 항목을 보면 JODEV-BLOG-TEST (생성한 VPC)로 설정되어 있는 것을 확인할 수 있습니다.

 

좀 더 가시적으로 확인하기 쉽게 Name Tag 항목을 수정해줍니다.

 

2.2. Gateway

AWS에서는 다양한 기능을 하는 게이트웨이를 제공합니다.

사용 용도와 기능, 환경에 따라 필요한 게이트웨이를 선택하여 연결/설정하면 됩니다.

여기서는 단순히 인터넷에 연결하는 것이 목적이기 때문에 인터넷 게이트웨이를 사용할 것입니다.

인터넷 게이트웨이 항목을 클릭한 후, [인터넷 게이트웨이 생성] 버튼을 클릭합니다.

 

생성하고자하는 인터넷 게이트웨이의 이름을 입력해줍니다.

별도의 태그를 더 추가해주면 좋습니다.

필요한 정보를 입력한 후 인터넷 게이트웨이 생성을 클릭하면 인터넷 게이트웨이가 생성됩니다.

 

현재 생성된 게이트웨이는 어떠한 VPC에도 연결되지 않은 상태입니다.

 

 

생성된 인터네 게이트웨이를 클릭하고 [작업] 탭에 [VPC에 연결] 을 클릭합니다.

 

 

연결하고자 하는 VPC를 선택해주고 [인터넷 게이트웨이 연결]을 클릭합니다.

 

이후, 다시 라우팅 테이블로 다시 이동합니다.

 

 

라우팅 테이블 서비스에서 방금 전 생성된 라우팅테이블을 클릭한 후, [라우팅] 탭의 [라우팅 편집] 버튼을 클릭해줍니다.

 

 

라우팅 편집 화면에서 [라우팅 추가] 버튼을 클릭합니다.

 

 

대상은 "0.0.0.0/0"으로 설정한 후, 인터넷 게이트웨이를 선택합니다. 그 후, VPC에 연결된 인터넷 게이트웨이를 선택한 후 저장합니다.

 

2.3. Subnet

서브넷은 VPC의 IP 주소 범위입니다. 

AWS에서 제공하는 가용 영역별로 하나 이상의 서브넷을 생성할 수 있으며 생성 시, 해당 서브넷에 대한 IPv4 CIDR 블록을 지정해야합니다. (이는 VPC CIDR 블록의 서브넷입니다.)

 

우리가 흔히 말하는 Public Subnet, Private Subnet은 외부 접근의 가능 여부에 따라 결정됩니다.

쉽게 표현하면 인터넷 게이트웨이와 연결되어 외부 접근이 가능하게 설정된 서브넷은 퍼블릭 서브넷이라고 할 수 있습니다.

(반대의 경우, 프라이빗 서브넷이라고 할 수 있습니다.)

 

 

 

서브넷 서비스 화면에서 [서브넷 생성] 버튼을 클릭한 후, 생성하고자 하는 서브넷의 대상 VPC를 선택합니다.

 

서브넷 이름과, 가용영역, 그리고 IPv4 CIDR 블록을 설정합니다.

본 예제에서는 각각 "JODEV-PUBLIC-SUBNET-01", "ap-northeast-2c", "10.31.0.0/20" 로 설정했습니다.

 

그 후, 라우팅 테이블로로 이동하여 생성한 라우팅 테이블을 클릭하고 명시적으로 서브넷을 연결해줍니다.

(명시적 연결이 없는 서브넷은 기본 라우팅 테이블과 자동으로 연결됩니다.)

 

 

 

여기까지 기본적인 VPC 설정입니다.

 

추가적으로 VPC와 서브넷을 생성한 후, 네트워크 ACL을 확인해보면 

 

생성한 VPC내의 서브넷이 자동으로 생성된 네트워크 ACL에 연결되어 있는 것을 확인할 수 있습니다.

(이때 인바운드오 아웃바운드 규칙은 any any allow로 설정되어 있습니다.)

 

네트워크 ACL과 보안그룹은 추후 다른 포스트에서 다룰 예정입니다.

 

2.4. Private Subnet

프라이빗 서브넷의 경우 인터넷 게이트웨이가 연결되지 않은 라우팅 테이블에 연결해주어야 합니다.
따라서 라우팅 테이블을 하나 생성하고(게이트웨이 연결되지 않은 라우팅 테이블), 서브넷을 생성한 후 해당 라우팅 테이블에 연결해주면 됩니다.

 

 

반응형