AWS 기본 용어 정리: S3, EC2, RDS, AMI란?

DevOps · 2021. 11. 1. 22:01

EC2(Elastic Compute Cloud)

  • EC2란 아마존 웹 서비스에서 제공하는 클라우드 컴퓨팅 서비스
    • 클라우드 컴퓨팅은 인터넷(클라우드)을 통해 서버, 스토리지, 데이터베이스 등의 컴퓨팅 서비스를 제공하는 서비스
  • aws에서 원격으로 제어할 수 있는 가상의 컴퓨터 한 대를 빌리는 것. 이때 빌리는 컴퓨터는 instance라고 한다.

이점

  1. 구성하는 데 시간이 짧다
  2. 다양한 운영체제, CPU, RAM 선택이 가능하다(AMI를 통해)
  3. 사용한 만큼만 비용을 지불하면 되기 때문에 유연하다

AMI(Amazon Machine Image)

  • 인스턴스를 생성하는 데 필요한 소프트웨어 구성(운영 체제, 애플리케이션 서버, 애플리케이션)이 포함된 템플릿
  • 단순히 운영체제(윈도우, 우분투 리눅스 등)만 깔려있는 템플릿을 선택할 수도 있고, 아예 특정 런타임이 설치되어있는 템플릿이 제공되는 경우도 있다. (우분투 + node.js, 윈도우 + JVM 등)
  • AWS EC2 인스턴스를 생성한다는 것은 AMI를 토대로 운영체제, CPU, RAM 혹은 런타임 등이 구성된 컴퓨터를 빌리는 것

RDS

  • RDS는 Relational Database Service의 약자로 AWS에서 제공하는 관계형 데이터베이스 서비스
  • EC2 인스턴스에 관계형 데이터베이스 엔진을 설치해서 데이터를 관리하면, 데이터베이스와 관련해서 자동으로 관리를 담당하는 부분이 매우 적기에, 사용자가 일일이 시간을 투자하여 데이터베이스 엔진의 설치와 버전 관리, 데이터 백업을 해야 한다.
  • 게다가 가용성과 내구성이 확보되지 않기에 데이터베이스에 저장된 데이터가 유실되거나 정상적으로 사용하지 못할 확률이 커지며, 후에 필요에 따라 데이터베이스의 규모를 확장하기 어렵다.

이점

  1. RDS를 이용하면 데이터베이스 유지보수와 관련된 일들을 RDS에서 전적으로 자동 관리하므로 사용자가 해야할 일은 초기 설정을 제외하고 데이터베이스에 저장된 데이터를 관리하는 일밖에 없다.
  2. 다양한 데이터베이스 엔진 선택지를 제공한다. 데이터베이스 엔진마다 제공하는 기능이 조금씩 다르기에 필요와 목적에 맞게 데이터베이스 엔진을 선택하여 효율성을 높일 수 있다.

S3(Simple Storage Service)

  • 클라우드 스토리지란 쉽게 말해서 인터넷 공간에 데이터를 저장하는 저장소
  • S3는 Simple Storage Service의 약자로 AWS에서 제공하는 클라우드 스토리지 서비스

이점

  1. 높은 확장성으로 많은 시간과 수고를 들이지 않고 스토리지 규모를 확장/축소할 수 있다. S3에서는 스토리지의 용량을 무한히 확장할 수 있다.
  2. 사용한 만큼만 비용을 지불하면 되기 때문에 비용적인 측면에서 매우 효율적이다.
  3. 스토리지의 내구성이 높아 저장된 파일을 유실할 가능성이 적어진다. S3는 99.999999999%의 내구성을 보장한다.
  4. 가용성이 높아 스토리지에 저장된 파일들을 정상적으로 사용할 수 있는 시간이 길어진다. S3는 연간 99.99%의 스토리지 가용성을 보장하도록 설계가 되어 있다.
  5. 다양한 스토리지 클래스를 제공. 저장소를 어떤 목적으로 활용할지에 따라 효율적으로 선택할 수 있는 스토리지 클래스가 달라진다.
  6. 버킷이라는 저장 공간에 정적 파일을 업로드하고 버킷을 정적 웹 사이트 호스팅 용도로 구성하면 정적 웹 사이트를 배포할 수 있다.
    • 정적 파일은 서버의 개입 없이 생성된 파일. 반대로 클라이언트가 서버에 요청을 보내면, 서버가 요청에 맞추어 그 자리에서 생성한 파일을 '동적' 파일이라고 부른다.