본문 바로가기

- 우당탕탕 Cloud 구축과 운영/지식 동산

[AWS 지식 동산] AWS EC2란?

반응형

- AWS에서 사용되는 가상 서버

 EC2(Elastic Compute Cloud)는 Onpremise에서의 서버를 의미한다. VMWARE에서 VM을 가상으로 띄우는 것과 같이 EC2를 생성하면 AWS에서 VM을 생성하여 사용자에게 제공해준다. 생성된 EC2를 접속하는 방법은 다음과 같다.

 - AWS 콘솔 포털에서 Serial Console을 통해 접속(Linux만 가능)  AWS포털에서 Serial Console을 통해 접근이 가능하다. Serial Console은 원격으로 포트 접속하는 것이 아니고, Onpremise에서 서버로 Serial Port를 통해서 접속하는 것과 같아. 직접 연결하는 것이다. 서버 Hang 등으로 원격 접속이 안될 경우에, 접속하기 용이하다. 다만 IAM계정에 Serial Console 권한이 필요하다. - 외부 환경에서 SG를 열고 SSH포트 혹은 RDP 포트등으로 EC2에 접속할 수 있다. SG만 열면 간단하게 접속할 수 있는 방식이고, Private Key혹은 패스워드로 접근하게 된다. SSH접근을 위해 포털에서 접속할 자원을 체크하고 "연결"을 누르면 접근 방법을 친절하게 안내해 준다.

- EC2의 과금 구조

 자원을 얼마나 사용하느냐는 EC2 과금에서는 중요하지않다. CPU 사용량,  Memory 사용량이 얼마나 되던 EC2는 켜져 있는 시간만큼만 청구된다. EC2는 성능기준으로 Nano, Micro, Small, Large, xlarge로 나뉘어 있는데, 좋은 성능일수록 가격이 굉장히 크게 증가한다.  AWS의 입장에서 생각해보면 각 물리 Host별 자원을 나누어야 하는데 성능이 큰 장비일수록 Host 내 VM분배가 어려워지니 당연히 큰 자원을 쓸수록 비용이 크게 증가할 수밖에 없을 것이다.(냉장고 사이즈를 100이라고 두었을 때 80짜리 김치통을 넣으면 나머지 공간에 20밖에 못 넣는 것이랑 동일하다. 30, 40짜리 반찬통도 넣을 수 없으니 관리가 힘들어질 것이다.) 그래서 반드시 큰 서버 한대보다 작은 서버 여러대로 분산하는 작업이 필요하다. 혹은 Autoscale을 사용하여 트래픽이 증가할 경우, EC2가 자동으로 추가되도록 세팅할 수 있다.  EC2생성, EC2를 LB에 추가, EC2내 Application 가동 등 모두 API로 제공되기 때문에 부담 없이 사용이 가능하다. 그래도 고용량 EC2 사용이 필요하다면, 필요할 때만 잠깐씩 생성했다가 완료 후 제거하는 것을 추천한다. 아니면 저렴한 EC2로 생성하고 고성능이 필요시에만 EC2사이즈를 늘릴 수도 있다.(Host에 따라 EC2를 변경할 수 있는 사이즈가 한정되어있을 수도 있다.)

 EC2 트래픽 비용 또한 EC2 사이즈와 동일하게 사용량이 커질 수록 비용이 커진다. 인터넷 구간 기준 1GB는 무료, GB당 0.09달러로 책정되어있어서, 대용량 데이터를 오가야 하는 작업 시 신중하게 서비스를 선택해야 한다.

 DB등에 대용량 데이터 이동시에는 Import, Export snowball을 사용하거나 Static 한 콘텐츠일 경우에는 S3와 Cloud Front를 사용하는 것을 추천한다.

- EC2의 인스턴스 형태

 Ondemand Instance, Spot Instance, Reserved Instance로 나눌 수 있다.

 - Ondemand Instance

  일반 적인 Instance이다. 사용한 만큼 과금이 되며, 다만 Onpremise에서는 잠깐 사용하더라도 1개월이나 1년 치 비용을 지불해야 하는 반면, EC2는 사용한 분단위로만 청구된다. (다만 1분 기준이라 1초 사용해도 1분 치가 청구된다.)

 Instance를 사용한 분당 청구이므로, 미사용시에는 꼭 Stop해놓도록 하자. Stop 해놓는 다고 청구가 아예 되지 않는 것은 아니다. 연결된 EBS는 Stop 되더라도 청구되므로, 앞으로 쓸 일이 없을 경우에는 Terminate 하도록 하자.

 - Spot Instance

  현재 미사용중인 인스턴스 자원을 경매로 낙찰받아 사용 가능하다. 비용은 온디맨드 비용보다 저렴하다. 다만 서버가 언제든 내려갈 수 있다. 랜덤 서비스로 가치가 없는 서비스 같지만 보통 Spot Instance를 사용할 때는 작업 결과를 S3에 쌓아서 사용한다. 귀찮긴 해도, 중요하지 않는 서비스는 저렴한 Spot Instance를 고려할만하다.

 - Reserved Instance

  1년 혹은 3년 사용량을 예약하고 미리 비용을 지불하여 할인을 받는 방식이다. All Upfront / Partial Upfront / No Upfront로 지불방식이 나뉘어 있다.

 All upfront는 1년 혹은 3년 금액을 모두 일괄로 사전에 지불한다. 그리고 가장 저렴하다. Partial Upfront는 일부를 선불하고 1년, 3년 동안 매월 지불하는 옵션이다. 그리고 No Upfront는 RI기간 동안 매월 지불하게 되며, 온디맨드보다는 30%가량 저렴하다. 다만 옵션은 1년만 가능하다.

 다만 Reserved Instance는 꺼놓더라도 매월 월 정액요금은 빠져나가게 되는 점을 고려해야 한다. 

- EC2의 인스턴스 종류

 보통 인스턴스 이름은 t3.nano 이렇게 이름이 지어져 있다. 이중 제일 앞의 문자의 의미는 다음과 같다.  (뒤의 숫자는 세대이다.)

 . t : 가장 저렴하여 많이 쓰인다. 4세대 뒤부터는 AArch64 기반으로 -g가 붙는다. 

. c : Memory에 비해 CPU수량이 많다. 6세대부터는 AArch64기반으로 -g가 붙는다. 

. m : Memory가 CPU수량에 비해 많다. 6세대부터는 AArch64기반으로 -g가 붙는다. 

. r :   Memory가 CPU수량에 비해 많다.(m에 비해 훨씬 많다.) 6세대부터는 AArch64기반으로 -g가 붙는다. 

뒤의 추가 옵션은 다음과 같다. 

. -d : Intel Xeon 사용. -d는 별도 NVMe스토리지가 붙어있다. 

. -a, -ad : AMD EPYC 사용. Xeon에 비해 저렴하고 -ad는 NVMe스토리지가 붙어있다. .

-g, -gd : ARM Neoverse 사용. 제일 저렴하다. 다만 AArch64다 보니 Application에서 AArch64를 지원하는지 고려해봐야 한다. -gd는 NVMe스토리지가 부텅 있다. 

마지막 옵션은 성능이 작은 순으로 nano, micro, small, medium, large, xlarge, 2 xlarge으로 되어있고, small은 t에서만 사용 가능하다. metal의 경우에는 베어 메탈 인스턴스로, 비 가상화된 통 Host를 사용할 수 있다.

반응형