EC2(인스턴스)
: AWS에서 비용, 성능, 용량 면에서 탄력적인 클라우드 컴퓨터를 제공하는 서비스이다.
클라우드 컴퓨팅
: 인터넷(클라우드)을 통해 서버, 스토리지, DB 등을 제공하는 서비스
사용한 만큼비용을 지불 / 필요에 따라 성능, 용량을 자유롭게 조절 가능
- 구성하는 데 필요한 시간이 짧다
- EC2에서는
AMI
라는 다양한 템플릿을 제공하고 있어서, 필요에 따라 소프트웨어 구성 (운영체제/CPU/RAM/용량 등)을 손쉽게 선택하고 구성할 수 있다.
AMI
: 소프트웨어 구성이 기재된 템플릿
이미지(Image)의 종류
로는 단순히 운영체제만 깔려있는 템플릿, 특정 런타임이 설치되어 있는 템플릿 등 여러 템플릿이 제공되며, 직접 AMI를 구성할 수도 있다.
-> EC2 인스턴스를 생성한다는 것은 AMI를 토대로 운영체제, CPU, RAM 혹은 런타임 등이 구성된 컴퓨터를 빌리는 것이다.
인터넷 공간에 데이터를 저장하는 저장소로써, 컴퓨터의 하드디스크의 역할을 하는 서비스이다. ex) Google Drive 등
AWS에서 제공하는 클라우드 스토리지 서비스
높은 확장성
S3에서는 용량을 무한히 확장할 수 있으며, 사용한 만큼만 비용을 지불한다.
높은 내구성
저장된 파일을 유실할 가능성이 매우 낮다
높은 가용성
스토리지에 저장된 파일들을 정상적으로 사용할 수 있는 시간이 길어진다.
AWS가 이러한
높은 성능을 보장할 수 있는 이유
는,
세계 곳곳에 AWS의 물리적인 서버와 데이터센터가 존재하기 때문이다.특정 지역에서 사고로 인해 서버 가동이 불가능해지더라도, 다른 지역에 백업해놓은 데이터를 활용하여 서버가 문제없이 가동되도록 한다.
예를 들어, S3 사용자들이 대표적으로 많이 선택하는 스토리지 클래스로는
Standard
클래스와Glacier
클래스가 있다.
S3에 저장되는 객체
는 '파일' 과 '메타데이터' 로 구성된다.
파일
파일은 키-값 페어 형식으로 데이터를 저장한다.
키는 각각의 객체의 식별자 역할을 하며, 파일의 값에는 실제 데이터를 저장한다.
S3 객체의 값으로써 저장될 수 있는 데이터의 최대 크기는 5TB이다.
메타데이터
모든 객체는 고유한 URL 주소를 가지고 있다.
URL 주소는 http://[버킷의 이름].S3.amazonaws.com/[객체의 키]
의 형태를 띠고, 키 뿐만 아니라 URL 주소를 통해서도 원하는 데이터에 접근할 수 있다.
AWS에서 제공하는 관계형 데이터베이스 서비스
EC2 인스턴스에 DB를 설치
하여 사용하는 경우
DB 엔진의 설치와 버전 관리, 데이터 백업 등 DB 관련 작업들을 개발자가 직접 한다
또한 가용성과 내구성이 확보되지 않기 때문에 DB에 저장된 데이터가 유실되거나 정상적으로 사용하지 못할 확률이 상대적으로 크며, 후에 필요에 따라 DB의 규모를 확장하기 어렵다
RDS
를 사용하는 경우
DB 유지 보수와 관련된 일들을 RDS에서 자동으로 관리해준다
-> 사용자가 해야 할 일은 초기 설정을 제외하고 DB에 저장된 데이터를 다루는 일 밖에 없다
다양한 데이터베이스 엔진 선택지를 제공한다