AWS는 수많은 서비스를 제공하고 있다. 그 중 가장 핵심이자 대표적인 서비스 중 하나인 EC2에 대해서 알아보고자 한다.
EC2는 Elastic Compute Cloud의 약자이며, AWS에서 제공하는 클라우드 컴퓨팅 시스템이다. 간단히 말하면 사용자가 AWS로부터 한대의 컴퓨터(서버)를 임대해서 사용하게끔 해주는 서비스이다.
리전(Region)
인프라를 세계 곳곳에 나누어 배포한 각각의 데이터센터를 의미한다.
즉, 데이터가 물리적으로 저장되는 위치를 의미.
EC2 세팅에 앞서서 가장 먼저 해야하는 것은 리전을 선택하는 것이다. 리전은 앞서서 정의한 내용처럼 AWS로부터 임대한 컴퓨터가 있는 위치를 의미하는데, 리전을 선택하는 것은 선택한 위치에 있는 데이터센터의 컴퓨터를 임대한다 라는 의미로 해석할 수 있다.
선택한 리전과 서비스의 요청 위치간의 거리에 따라 속도 차이가 발생하게 되는데, 여기서 주의해야할 점은 실제 배포를 하는 개발자가 있는 위치가 기준이 되는 것이 아니라 서비스를 사용하는 사용자의 위치가 기준이 되기 때문에, 지리적으로 클라이언트와 가까운 리전을 선택하는 것이 유리하다.
ex. 미국에 거주하는 개발자가 일본 유저들을 대상으로 한 서비스 제작할 경우, 리전은 아시아 태평양(도쿄) 선택

인스턴스(Instance)
EC2에서 빌리는 컴퓨터 한 대의 단위

이름 및 태그 : 해당 인스턴스의 역할을 파악할 수 있는 명칭 작성
애플리케이션 및 OS 이미지 : OS 선택 단계. 필요한 사양에 따라 OS를 선택
인스턴스 유형 : 대여할 컴퓨터의 사양을 선택
키 페어(로그인) : EC2 서버에 접근하기 위한 키 설정. 키 설정 시, .pem파일이 만들어지는데, 해당 파일을 가지고 인스턴스에 접근이 가능하기에 파일을 잘 보관해야 한다.

방화벽(보안 그룹) : 인스턴스로 접근을 통제하는 방화벽이라고 볼 수 있다. 해당 설정을 통해 보안 그룹을 설정하고 그룹 내 보안 규칙을 지정할 수 있으며, 규칙은 포트 번호와 IP 범위가 기준이 된다. 보안 규칙은 인바운드 트래픽(외부→EC2), 아웃바운드 트래픽(EC2→외부)에서 각각 어떤 트래픽만을 허용할 지 설정할 수 있다.
인바운드 규칙을 지정할 때, EC2에 원격으로 접속을 할 때 사용하는 포트인 22번과 서버의 용도에 맞는 포트를 규칙으로써 추가하면 된다. 예를 들어, 백엔드 서버라면 80(HTTP), 메일 전송 서비스를 제공한다면 25(SMTP)의 규칙을 추가하면 된다. 추가적으로 특정 IP에서만 허용하고 싶은 경우에는 소스유형을 "사용자 지정"으로 변경 후, 원본에서 허용가능한 IP를 설정할 수 있다.

EBS : EC2의 파일을 저장할 저장공간으로, 인스턴스라는 컴퓨터 내부의 하드디스크라고 생각하면 된다.


연결을 클릭하면, 설정한 OS의 cmd로부터 서버를 조작할 수 있다.
인스턴스를 생성 할 때, IP를 할당받는데 해당 IP는 임시적으로 할당받은 IP이다. 인스턴스를 중지 후 재실행 시키면 할당받은 IP가 변경되어 있는 것을 확인할 수 있다. 그 이유는 전세계적으로 IP 부족현상이 일어나고 있기 때문에, 사용하지 않는 (중지된) 인스턴스의 IP를 다른 인스턴스에 할당해주는 방식으로 관리되어지고 있다. 이로 인해, 고정된 IP를 기반으로 꾸준히 서비스를 제공하는 서버 환경을 구축하기 위해서는 인스턴스의 중지와 관계없이 고정된 IP를 할당 받을 수 있는 탄력적 IP 연결이 필요하게 된다.