본문 바로가기
Cloud/AWS

[AWS 기초] #2 Amazon Web Services 소개

by wrynn 2021. 5. 29.

Amazon Elastic Compute Cloud(Amazon EC2)

 EC2는 AWS에서 제공하는 가상 머신으로 사용자가 원하는 CPU, 메모리, 운영체제 옵션을 선택하여 생성할 수 있습니다. EC2는 방화벽처럼 IP와 포트를 기반으로 접근을 제어하기 위해 보안 그룹을 사용합니다. 생성된 EC2 인스턴스는 웹 콘솔이나 SSH를 통해 접속이 가능합니다. EC2에도 스토리지 할당이 가능하지만 인스턴스를 중지했다가 다시 실행하는 경우 해당 스토리지에 보관한 데이터를 보존하지 않으므로 필요한 경우 외부 볼륨을 사용해야 합니다. (#5 스토리지 및 데이터베이스 참고) 

 

Amazon EC2 인스턴스 패밀리

 EC2 인스턴스는 특정 유형의 작업에 최적화된 패밀리로 그룹화 되어있습니다.

  • 범용: 균형잡힌 자원을 제공하여, 애플리케이션 서버 용도에 적합
  • 컴퓨팅 최적화: 고성능 프로세서를 활용하는 컴퓨팅 집약적인 애플리케이션에 주로 사용
  • 메모리 최적화: 메모리에서 대규모 데이터를 처리하기에 용이하게 설계된 인스턴스
  • 스토리지 최적화: 로컬 스토리지의 대규모 데이터에 대한 읽기 및 쓰기가 많이 필요한 경우에 사용
  • 엑셀러레이티드 컴퓨팅: 그래픽 연산과 같이 CPU 보다 GPU를 활용하여 효율적으로 연산이 가능할 때 적합

 

Amazon EC2 요금

 Amazon EC2의 요금은 사용 사례에 따라 결제 방식을 다르게 선택할 수 있습니다. 기본적으로 사용한 기간에 비례하여 지불하지만, 일정한 사용 기간을 약정하거나 AWS의 유휴 자원을 활용하면 요금을 할인받을 수 있습니다.

유형 설명
온디맨드 선결제나 약정 없이 인스턴스가 실행된 시간에 비례하여 비용이 청구된다. 
인스턴스를 임의로 중단하거나 실행하는 테스트나 개발 환경에 적합하다.
Savings Plans 1년 혹은 3년간 일정한 컴퓨팅 사용량을 약정하여 할인을 받을 수 있는 할인 제도. 
2019년애 새로 출시되었으며, 기존의 예약 인스턴스를 대체할 수단으로 떠올랐다.
주어진 사용량을 초과하는 경우 일반 온디맨드 요금이 부과된다. 
예약 인스턴스 (RI) 1년 혹은 3년간 특정 인스턴스 그룹에 대해 약정하여 할인을 받을 수 있다.
인스턴스 그룹은 인스턴스 유형, 가용 영역, 테넌시 등에 따라 나뉜다.
약정 기간이 끝나면 일반 온디맨드 요금이 부과된다.
꾸준히 사용하며, 예측 가능한 사용량의 인스턴스를 사용할 때 사용한다.
스팟 인스턴스 가장 저렴하게 사용할 수 있는 옵션. AWS에서 유휴 자원이 생기는 경우 이를 사용하는 방식이다.
AWS에서 임의로 자원을 회수하여 인스턴스를 중단시킬 수 있으며, 2분의 유예기간이 주어진다.
중단을 허용하는 배치성 작업에 적합한 인스턴스.
전용 호스트 가장 비싸게 사용할 수 있는 옵션. 비용 측면에서는 비효율적이나 VM의 일부 자원만 떼어내서 EC2로 사용하는 다른 유형과 달리, 한 대의 물리적 서버를 온전히 한 사용자가 사용할 수 있게 해 준다.

 

Amazon EC2 Auto Scaling

 예측할 수 없는 사용자 요청량에 대비하여 Auto Scaling 그룹을 생성하여 애플리케이션이 실행 될 EC2 인스턴스의 수를 정할 수 있습니다. EC2 Auto Scaling을 사용할 때 최소 용량을 지정하게 되는데 이 숫자는 항상 일정한 수 이상의 인스턴스가 실행되는 것을 보장해 줍니다. 그 다음 Cloud Watch 경보 등의 조건에 따라 추가 인스턴스가 실행될 수 있으며 지정해 둔 최대 용량까지 늘어날 수 있습니다. 이후 사용자가 설정한 희망 용량 만큼의 인스턴스 수를 유지하기 위해 Auto Scaling 그룹이 인스턴스 수를 조정합니다.

 

Elastic Load Balancing(ELB)

 EC2 인스턴스가 Auto Scaling으로 늘어나거나 줄어든다면, 각 인스턴스에 트래픽을 적절하게 분산하는 로드밸런서 또한 필요합니다. ELB는 EC2 Auto Scaling 그룹으로 들어오는 모든 트래픽의 단일 접점 역할을 하는 로드밸런서입니다.  이 로드밸런서는 AWS에서 관리하는 Managed 서비스이며 고가용성을 보장합니다. 트래픽 분산은 리전 수준에서 이루어집니다. 외부에서 들어오는 트래픽 뿐만 아니라 내부 WEB 서버와 애플리케이션 서버 사이에도 ELB가 사용될 수 있습니다.

 


그 외 컴퓨팅 서비스

AWS Lambda

 Lambda는 AWS의 서버리스 컴퓨팅 서비스로, 미리 실행될 코드를 Lambda 함수의 형태로 작성해둔 다음 특정한 조건이 충족되었을 때에만 잠깐 동안 코드가 실행되는 서버를 사용합니다. Lambda의 비용은 코드가 실행된 시간에 비례하여 지불합니다. 

 

컨테이너 서비스

 AWS ECS와 EKS(Elastic Container[Kubernetes] Service)는 컨테이너가 실행되는 클러스터를 관리하는 완전관리형 컨테이너 오케스트레이션 서비스입니다. ECS는 AWS 자체 클라우드 오케스트레이션 도구를 사용하는 서비스이고, EKS는 Kubernetes를 사용하며 관리형 컨트롤 플레인과 쿠버네티스 버전 업데이트 서비스를 제공합니다.

 

AWS Fargate

 ECS 혹은 EKS를 사용할 때에도 컨테이너가 실행되는 환경인 EC2 인스턴스가 별도로 필요합니다. AWS Fargate는 이런 상황에서 EC2를 관리할 필요가 없게 해 주는 컨테이너형 서버리스 서비스입니다. 

 

* 본문의 내용은 AWS Cloud Practitioner Essentials (Korean) 강의 내용을 정리한 글입니다.

댓글