코딩 쏙쏙

[AWS] AWS 클라우드 핵심 서비스 소개: 컴퓨팅, 스토리지 (1) 본문

[AWS]

[AWS] AWS 클라우드 핵심 서비스 소개: 컴퓨팅, 스토리지 (1)

두두만두 2023. 6. 23. 19:11

Amazon Elastic Compute Cloud(Amazon EC2)

Amazon EC2는 사용자가 원하는 형태로 구성할 수 있다. 웹서버 또는 애플리케이션 서버, 데이터베이스 서버 등 어떤 형태로든지 활용 가능하다. 또한 AWS 관리 콘솔, AWS 명령줄 인터페이스 AWS 소프트웨어 개발키트, 또는 자동화 도구와 인프라 오케스트레이션 서비스를 통해 Amazon EC2 인스턴스를 만들고 관리할 수 있다.

 

Amazon EC2의 이점

  • 하나 이상의 Amazon EC2 인스턴스를 몇 분 만에 프로비저닝하고 시작할 수 있다.
  • 워크로드 실행을 마치면 Amazon EC2 인스턴스를 중지 또는 종료할 수 있다.
  • 인스턴스를 실행할 때 사용하는 컴퓨팅 시간에 대해서만 비용을 지불할 수 있다.

 

Amazon EC2 Amazon Machine Images(AMI)

Amazon EC2는 AMI라고 부르는 이미지를 기반으로 구성할 수 있다.

Amazon EC2 Amazon Machine Images(AMI)를 이용하여 AWS Marketplace를 통해 사용 가능한 엄선된 하드웨어 및 소프트웨어를 종량과금제를 통해 폭넓게 제공한다. 해당  AMI는 스토리지 볼륨, 시작 권한, 블록 디바이스 매핑 등의 정보가 있다.

 

그런데 Amazon EC2를 활용할 때 애플리케이션에 대한 설치를 따로 하고 싶지 않을 때는 어떻게 할까?

예를 들어, ‘워드프레스 애플리케이션을 활용한다.’ 라고 생각하면 이 경우, 일종의 앱스토어처럼 생각할 수 있는 Marketplace를 활용해 볼 수 있다. Marketplace에서 워드프레스가 설치되어 있는 AMI를 구입하면 되는 것이다.

400가지가 넘는 Amazon EC2 인스턴스 유형 중에서 클라우드로 이동하는 애플리케이션을 실행할 인스턴스를 선택할 수 있다. 각 인스턴스 유형의 크기와 할당되는 가상 CPU 및 메모리는 서로 다르다. 인스턴스를 효율적으로 사용하려면 적절한 인스턴스 유형과 크기를 선택해야 한다.

 

Amazon EC2 요금

온디맨드

  • 온디맨드 인스턴스를 사용하면 장기 약정 없이 컴퓨팅 용량비용을 초나 시간 단위로 지불할 수 있다.
  • 온디맨드 인스턴스는 중단할 수 없는 불규칙한 단기 워크로드가 있는 애플리케이션에 가장 적합하다.

예약형 인스턴스

  • 특정 기간 동안 특정 가격으로 인스턴스를 이용하겠다는 약정에 따라 제공된다.

Savings Plan

  • Savings Plan은 정해진 기간 동안 시간당 일정한 금액을 지출하겠다는 약정에 기반을 두고 있다.
  • Compute Savings Plans은 최대 유연성을 제공한다. 온디맨드 요금의 최대 66% 할인 혜택을 받을 수 있다.
  • 이러한 요금제는 인스턴스 패밀리, 크기, 리전, OS 또는 테넌시에 관계없이 EC2 인스턴스 사용량에 자동 적용된다.
    그리고 Fargate 및 Lambda 사용량에도 적용된다. 

스팟 인스턴스

  • 스팟 인스턴스는 여분의 EC2 호스트 용량을 사용하는 인스턴스이다.
  • 스팟 인스턴스 사용 시에는 비용을 온디맨드 인스턴스 요금 대비 최대 90%까지 절약할 수 있다.
  • 스팟 인스턴스에서는 대폭 할인된 가격으로 미사용 EC2 인스턴스를 요청할 수 있으므로 유동적으로 수행할 수 있는 워크로드에서 Amazon EC2 비용을 절약할 수 있다.

비관리형 서비스와 관리형 서비스 비교

비관리형은 크기 조정, 내결함성 및 가용성을 우리가 직접 관리하는 것이며, 관리형은 서비스의 해당 기능이 내장된 것을 말한다. 어떠한 서비스가 우리에게 적합한지 판단 후 적용하는 것이 필요하다.

 

서버리스 컴퓨팅이란?

서버를 관리하지 않고 애플리케이션과 서비스를 구축하고 실행하는 것이다.

실제 사용하는 양은 적지만 24시간의 비용을 지불해야 한다면 비용 관점에서 서버리스 컴퓨팅을 하면 조금 비용을 절약할 있다.

외에도 관리할 서버가 없고 사용량에 따른 확장 가용성을 내장하기 때문에 관리에 드는 시간을 최소화할 있다.

 

서버리스 애플리케이션 사용 사례

서버리스 애플리케이션은 다양한 태스크에 사용 가능한 비용 효율적인 솔루션이다.

 

AWS Lambda

Lambda는 서버리스처럼 여러 다양한 시나리오에서 사용 가능하고 쉽게 사용하기 시작하며 최소한의 운영 비용으로 실행할 수 있다. 

일정에 따라, 또는 이벤트에 대응하여 코드 실행

 

Lambda 인기가 높은 이유 하나는 유연성 때문이며 개발자와 클라우드 아키텍트는 Lambda AWS 플랫폼에서 일종의맥가이버 처럼 사용할 있다

 

Amazon Elastic Container Service(Amazon ECS)

컨테이너는 VM보다 더 빨리 가동 및 중지할 수 있고 휴대성과 확장성이 우수한 반복 가능한 독립형 환경이다.

컨테이너는 애플리케이션의 코드와 종속성을 패키징할 수 있는 표준 단위이며, 모든 운영 체제(OS)에서 실행 가능하다.

컨테이너를 사용하면 애플리케이션이 어떤 컴퓨터에서든 똑같이 실행될 수 있으며 호환성 문제가 발생하지 않고 예측 가능한 방법으로 동작하고 더 효율적인 유지 관리 및 배포가 가능하다. Docker 엔진은 컨테이너화 플랫폼의 예이다. 

Docker 사용하여 컨테이너를 만들고 패키지하고 배포하고 실행할 있다. Docker 애플리케이션을 배포하기 위해 사용하는 소프트웨어 개발 플랫폼이다. 하지만 일반적으로 우리는 분산 컴퓨팅 환경에서 작업하기 때문에 컨테이너의 관리가 시간이 수록 복잡해진다. 해당 관리를 대신해줄 서비스가 필요한데 ECS라는 서비스가 컨테이너 관리의 복잡성을 줄여준다. 

 

컴퓨팅 서비스 핵심 사항

EC2 인스턴스 ( 서버가 클라우드에)

  • 종량 과금제
  • 필요에 따라 자동으로 규모 확대/축소
  • 워크로드에 적합한 여러가지 인스턴스 유형(하드웨어)

Amazon ECS

  • 컨테이너 배포 오케스트레이션

서버리스

  • 코드를 직접 작성하면 AWS가 기본 컴퓨팅 관리
  • Lambda-온디맨드 방식으로 요청별로 과금되는 코드 실행 요금