처음 만난 AWS 문서


3.1 EC2

앞에서 말한 것처럼, AWS에는 3대장이라고 불리는 대표적인 서비스 세 가지가 있습니다.
그것은 바로 아래 그림에 나와있는 EC2, RDS, S3 입니다.

Top3 AWS Service

이번 장에서는 이 중 첫 번째로 등장하는 EC2에 대해서 배워보도록 하겠습니다.

EC2라는 이름의 뜻은 뭘까요?
EC2는 Elastic Compute Cloud를 줄여서 부르는 이름입니다.
알파벳 E가 한 번 나오고 C가 연속으로 2번 나오기 때문에 EC2라고 이름을 지은 것입니다.
AWS 초창기에 나왔던 서비스들의 이름 중에는 이런 형태로 알파벳과 숫자를 섞어서 지은 것들이 꽤 있습니다.
뒤에서 배우게 될 S3의 이름도 이에 해당하는 것이라고 할 수 있습니다.

어찌됐든 Elastic Compute Cloud라는 이름에서 우리가 알 수 있는 것은
컴퓨팅 자원을 클라우드로 제공하는 서비스라는 것입니다.

다시 말하면, EC2라는 서비스는 클라우드에서 탄력적으로 컴퓨팅 자원을 제공해주는 서비스라고 할 수 있습니다.

EC2

앞에서 클라우드 컴퓨팅의 탄생 배경에 대해 배울 때 나온 것처럼, EC2는 Virtual Machine을 인터넷을 통해 제공해주는 서비스입니다.
그래서 EC2를 가상 서버 서비스라고 부릅니다.

EC2는 컴퓨팅 리소스를 재구성이 가능하다는 특징을 갖고 있는데, 이 말은 인스턴스가 생성 된 이후에도 성능을 올리거나 내릴 수 있다는 뜻입니다.
그래서 쉽게 컴퓨팅 용량을 확장하거나 축소할 수 있습니다.

그리고 EC2는 용도에 따른 다양한 인스턴스 타입을 제공합니다.
참고로 여기서 인스턴스라는 단어는 EC2의 수량을 뜻하는 단위라고 보면 됩니다.
우리가 서버 숫자를 셀 때 한 대, 두 대라고 하는 것처럼 EC2는 인스턴스 한 개, 인스턴스 두 개 이런식으로 표현합니다.
그리고 여기서 하나의 인스턴스는 가상 머신 하나를 의미한다고 보면 됩니다.

EC2의 마지막 특징은 사용한 만큼만 과금된다는 점입니다.
이 점은 다른 클라우드 서비스들도 마찬가지이며, 앞에서 클라우드의 장점에 대해서 배울 때 나왔던 초기 비용이 없다는 점에 해당하는 부분입니다.


EC2는 다양한 인스턴스 타입을 지원한다고 했는데,
인스턴스 타입에는 어떤 종류가 있는지 한 번 볼까요?

EC2 instance family

먼저 컴퓨팅, 메모리, 네트워크 리소스를 균형적으로 사용할 수 있는 범용 인스턴스 타입인 M패밀리가 있습니다.
그리고 최고 성능의 프로세서를 제공하는 C패밀리와 메모리 용량이 많이 필요한 애플리케이션을 위한 R패밀리가 있습니다.

다음으로는 성능을 순간적으로 확장할 수 있는 T패밀리가 있는데, 이 T패밀리가 바로 프리티어에서 제공되는 타입입니다.
그래서 AWS 계정을 생성하고 12개월 동안은 프리티어로 t2.micro 또는 t3.micro를 무료로 사용할 수 있습니다.

그리고 GPU 자원이 많이 필요한 애플리케이션을 위한 G패밀리P패밀리가 있으며, 높은 I/O를 제공하는 I패밀리, 그리고 높은 디스크 처리량을 위한 D패밀리가 있습니다.

이처럼 EC2에서는 용도에 맞게 다양한 인스턴스 타입을 제공하는데, 모든 인스턴스 타입을 다 외울 필요는 없고 필요할 때마다 맞는 타입을 찾아서 사용하면 됩니다.


그렇다면 EC2 인스턴스는 어떻게 구분해야 할까요?
EC2에서는 인스턴스의 이름을 아래와 같이 표기합니다.

EC2 instance naming

여기서 처음으로 나오는 알파벳은 앞에서 배운 인스턴스 패밀리를 의미합니다.
내가 사용할 용도에 따라서 선택하면 되겠죠.

그리고 다음으로 나오는 숫자는 인스턴스의 세대를 의미합니다.
이 경우에는 t패밀리의 3세대라는 뜻이 되겠죠.
이 인스턴스 세대는 숫자가 높을수록 최신 세대를 의미하고, 최신일수록 비용대비 성능이 우수하다는 특징이 있습니다.

마지막으로 나오는 크기를 나타내는 단어는 인스턴스의 사이즈를 의미합니다.
micro, small, medium, large 등으로 나타내는데, 이 사이즈가 한 단계 커질때마다 용량 및 가격이 두 배씩 증가하게 됩니다.
그래서 사이즈를 한 단계씩 올릴 때마다 비용이 두 배로 증가한다는 점을 꼭 기억하고, 요금이 많이 나오지 않도록 적절한 용량을 선택해서 사용하는 것이 중요합니다.

EC2 인스턴스는 생성 이후에도 인스턴스 타입, 세대, 사이즈 등의 사양을 변경할 수 있습니다.

EC2 instance type change

그래서 만약 EC2 인스턴스 사양을 변경하고 싶다면, 먼저 인스턴스를 중지한 이후에 위 화면과 같이 인스턴스 유형 변경 메뉴를 통해 사양을 변경할 수 있습니다.


클라우드 서비스를 사용할 때 가장 중요한 부분중 하나는 바로 요금입니다.
EC2에는 다양한 과금 옵션이 있는데 하나씩 살펴보겠습니다.

EC2 Pricing

먼저 첫 번째 요금 옵션은 On-Demand 입니다.
On-Demand 요금 옵션은 가장 기본적인 요금제로 약정없이 쓴 만큼만 지불하는 요금제입니다.
신규 서비스의 경우에는 초기에 트래픽이 어느정도 나올지 예측하기 어렵기 때문에, 이 On-Demand 요금제를 사용하는 경우가 많습니다.

그리고 두 번째 요금 옵션은 **Reserved Instance(RI)**입니다.
Reserved Instance의 앞글자를 따서 RI라고 부르는데, 단어의 뜻 그대로 인스턴스를 예약해서 사용하는 것입니다.
쉽게 말해서 약정 할인이라고 보면 됩니다.
우리가 인터넷을 쓸 때도 1년 혹은 3년 약정을 하면 요금을 할인해주는 것과 같다고 생각하면 됩니다.
RI를 사용하면 1년 혹은 3년 약정을 하고 40~70%까지 할인을 받을 수 있습니다.
그래서 할인폭이 굉장히 크기 때문에, 적어도 인스턴스를 1년 이상 유지할 계획이라면 무조건 RI를 사용하는 것이 비용 측면에서 좋습니다.

마지막 세 번째 요금 옵션은 Spot Instance입니다.
Spot Instance는 AWS에서 남는 자원을 경매 방식으로 입찰받아서 아주 싼 값에 사용할 수 있게 해주는 요금제입니다.
할인율이 거의 80~90%로 굉장히 높지만, 경매 방식을 사용하기 때문에 낙찰받지 못하면 사용할 수 없습니다.
그래서 인스턴스가 꼭 필요한 경우에는 On-Demand나 Reserved Instance 요금제를 사용해야 하고, 가끔씩 있는 작업을 위해서는 Spot Instance를 사용하는 것이 좋습니다.

EC2 Pricing Comparison

위 차트는 만약 t3.large 인스턴스를 사용한다고 할 때, EC2의 과금 옵션에 따라 비용이 어떻게 달라지는지를 나타낸 것입니다.

먼저 On-Demand의 경우 한 달에 약 60.74$. 한화로 8만원 정도가 나오게 됩니다.
결코 저렴한 금액은 아니죠.

하지만, RI라고 부르는 Reserved Instance를 사용하게 되면, 1년 약정하고 모두 한 번에 선결제 할 경우에는 약 41% 저렴하고, 3년 약정하고 모두 한 번에 선결제 할 경우에는 약 62% 저렴합니다.
Reserved Instance를 사용하면 굉장히 할인이 많이 되는 것을 알 수 있습니다.
그래서 최소 1년 이상 인스턴스를 계속 사용해야 할 경우에는 무조건 Reserved Instance를 사용하는 것이 좋습니다.

그리고 마지막 Spot Instance 요금제를 사용할 경우에는 평균적으로 약 70% 저렴하게 이용할 수 있습니다.
하지만 Spot Instance는 경매 방식으로 낙찰 받아서 사용하는 방식이기 때문에, 무조건 낙찰받을 수 없다는 점과 매번 가격이 달라질 수 있다는 단점이 있습니다.

https://youtu.be/TsRBftzZsQo

위 링크는 유튜브에 있는 EC2 공식 소개 영상 링크입니다.
관심 있는 분들은 접속해서 영상을 한 번 보기 바랍니다.


마지막 업데이트: 2023년 11월 10일 00시 00분

이 문서의 저작권은 이인제(소플)에 있습니다. 무단 전재와 무단 복제를 금합니다.