본문 바로가기

문돌이 존버/AWS 스터디

AWS EC2 인스턴스 생성 튜토리얼(차근차근)

반응형

AWS는 워낙 공식 문서가 잘 되어 있어 따로 블로그에 작성할 필요는 없다고 생각했지만 매번 순서를 잊어버리는 자기 자신을 보며 정리해야겠다고 마음 먹었습니다.

본 글은 AWS에서 EC2 인스턴스를 생성하는 전체 과정을 순서대로 정리한 것이고, 간결하게만 소개하므로 자세한 내용은 반드시 공식 문서를 참고하시기 바랍니다.

1. VPC 생성

VPC는 Virtual Private Cloud의 약자로 자기만의 가상 네트워크를 구축하는 것입니다. 좀 더 자세한 내용은 제 다른 글을 읽어보시면 좋을 듯 합니다. "VPC 생성" 버튼을 누르면 아래 화면이 등장할 것이고 여기서 IPv4 CIDR 블록을 정해주면 됩니다. 이름 태그는 선택 사항이지만 알기 쉽게 정하면 이후에 검색할 때 아무래도 좋겠죠.

IPv4 CIDR 블록 형식은 공식 문서를 참고하시고, 아래 10, 172, 192로 시작하는 IP를 각각 A, B, C 클래스로 분류하는 듯 합니다. 저는 그냥 10.0.0.0/16으로 설정해주었습니다.

<출처: AWS 공식 문서>

2. 서브넷 생성

VPC를 생성했다면 서브넷을 생성할 차례입니다. 서브넷은 VPC 안에 위치한 가용 공간(availability zone)이라 생각하면 되고, 다른 리전에 문제가 발생할 시 다른 서브넷에서 대신 제공할 수 있는 장점을 지니고 있죠. 즉 현재 기준으로 서울에 AWS 가용 리전이 4개가 있는데, 만약 1개밖에 없을 경우 그 리전에 장애가 발생하면 서비스 공급이 원활하지 않을 수 있다는 것입니다.

VPC와 마찬가지로 "서브넷 생성" 버튼을 클릭하면 아래 화면이 나타날 것입니다. VPC를 잘 만들었다면 아래 VPC ID 란에서 확인할 수 있습니다.

VPC를 선택하면 아래와 같이 구체적인 사항을 설정하는 화면이 나옵니다. 여기서 IPv4 CIDR 블록을 VPC와 다르게 설정하는데, 저는 2개의 서브넷을 사용했기 때문에 각각 10.0.1.0/24, 10.0.2.0/24로 할당했습니다. 가용 영역은 선택 사항으로 굳이 선택하지 않아도 Amazon이 자동으로 선택합니다.

VPC의 IPv4 CIDR과 서브넷의 IPv4 CIDR의 마스킹 방식이 같지 않아도 된다. 공식 문서상에도 VPC를 16 bit 마스킹으로, 서브넷을 24 bit 마스킹으로 설정했으며, 이는 AWS의 공식적인 "VPC 서브넷 권고사항"이다.

3. 인터넷 게이트웨이 생성

다음으로 인터넷 게이트웨이를 생성할 차례입니다. "인터넷 게이트웨이 생성" 버튼을 클릭하면 아래 화면이 나옵니다.

이름 태그만 설정하면 인터넷 게이트웨이 구성은 완료됩니다.

4. 라우팅 테이블 생성

라우팅 테이블 역시 "라우팅 테이블 생성" 버튼을 클릭하면 아래 화면이 나옵니다. 이때 VPC만 잘 선택해주면 문제 없습니다.

이후 라우팅 테이블이 만들어졌다면 해당 라우팅 테이블을 선택합니다. 그리고 "서브넷 연결"이란 탭을 클릭하면 아래 화면이 나오는데요.

여기서 "서브넷 연결 편집"을 누르고 방금 만든 서브넷 2개를 선택하여 저장해줍니다.

(추가) "라우팅" 탭을 선택하면 아마 아래와 같이 표시될 것입니다.

이는 Local Routing이 지정된 것으로 서브넷 간에 연결을 보장하는 장치입니다. AWS 설명서를 보면 모든 라우팅 테이블에는 VPC 내부 통신을 위한 로컬 라우팅이 포함되어 있다고 합니다. 여기서 추가해야 할 것이 인터넷 게이트웨이와의 연결입니다.

첫 번째 "대상"에서 0.0.0.0/0을 입력하고, 두 번째 "대상"에서는 인터넷 게이트웨이를 선택하면 위에서 만든 id가 보일 것입니다. 이를 설정해주어야 서브넷 내 자원(EC2 등)이 외부 인터넷과 통신이 가능해지는 것입니다. 물론, 이때 라우팅 테이블을 추가하여 공인 인터넷과 통신 가능한 Public Subnet, 공인 인터넷이 차단된 사설 IP만 할당된 Private Subnet으로 분류할 수도 있습니다.

관련 내용은 해당 블로그를 참고하시면 되겠습니다.

5. 보안 그룹 생성

이제 마지막으로 보안 관련 설정을 할 차례로, "보안 그룹 생성"이란 버튼을 클릭합니다. 이때 보안 그룹 이름이나 설명은 자유롭게 작성하시고, 인바운드 규칙에 주의하시길 바랍니다.

인바운드 규칙은 해당 IP로 외부 접속을 가능하게 하는 것을 가리키는데, SSH, HTTP(S), TCP 등 본인이 필요한 프로그램에 따라 허용을 해주어야 나중에 만들 EC2 인스턴스에 접근이 가능합니다.

예를 들면, SSH(포트 22) 규칙을 설정해주어야 나중에 pem 키로 EC2 인스턴스에 접속할 수 있고, HTTP(포트 80) 규칙을 설정해야 웹으로 해당 서버에 접속할 수 있게 됩니다.


6. EC2 인스턴스 생성

이제 본격적으로 EC2 인스턴스를 생성하면 됩니다. 본인이 원하는 혹은 필요한 OS를 선택하고 메모리 공간도 적절히 조절하면 되겠습니다. 특히 시간 당 얼마의 비용이 드는지 잘 보고 결정해야겠죠^^

그리고 EC2 인스턴스 IP는 고정되지 않고 항상 바뀌는 성질이 있습니다. 따라서 이를 고정적으로 바꾸려면 탄력적 IP 라는 기능을 사용하면 됩니다. "탄력적 IP 할당" 버튼을 클릭하면 아래 화면이 나타납니다.

위의 설정 그대로 할당을 하면 새로운 탄력적 IP가 생성되고, "작업" 드롭다운 메뉴에서 "탄력적 IP 주소 연결"을 클릭하면 완성입니다. 그러면 이제 고정 IP가 부여되어 이후에 접속할 때마다 IP 주소가 바뀌는 번거로운 상황은 발생하지 않을 것입니다.

하나하나 자세히 설명은 드리지 못했고, 빠르게 튜토리얼 형식으로 살펴봤습니다. 서두에서도 말씀드렸듯이 좀 더 구체적으로 알고 싶다면 공식 문서를 참고하시거나 다른 분들의 친절한 설명을 보시면 되겠습니다.

728x90
반응형