📚 기초 지식

[AWS] EC2, RDS, S3

Mia_ 2023. 2. 2. 10:35

Amazon EC2(Elastic Computer Cloud)

- 아마존 웹 서비스에서 제공하는 클라우드 컴퓨팅 서비스 

- 인터넷(클라우드)을 통해 서버, 스토리지, 데이터베이스 등의 컴퓨팅 서비스를 제공하는 서비스

- 쉽게 말해 아마존에서 가상의 컴퓨터를 한 대 빌리는 것

 

- EC2의 E는 Elastic은 '탄력적인, 유연한'을 의미하는데 EC2 서비스가 후불제 PC방 처럼 사용한 만큼의 비용을 지불하고, 이런 비용적인 부분 외에도 성능, 용량에 따라 탄력적으로 조절할 수 있다는 뜻을 내포하고 있음

- EC2 서비스는 AWS에서 비용, 성능, 용량 면에서 탄력적인 클라우드 컴퓨터를 제공하는 서비스

 

 

EC2 사용의 이점

- 구성하는데 필요한 시간이 짧다

→ PC를 구매한다면 구매해서 배송받기까지의 시간이 필요하지만 EC2 서비스는 클릭만으로 PC를 구성할 수 있음

 

- AMI를 통해서 필요한 용도에 따라 다양한 운영체제 선택이 가능하다

→ AMI라는 다양한 템플릿을 제공하고 있어 손쉽게 운영체제를 선택하고 구성할 수 있음

→ 운영체제 뿐 아니라 CPU, RAM 용량까지도 손쉽게 구성할 수 있음 

 

 

EC2 인스턴스 생성의 의미

: AWS EC2 인스턴스를 생성한다는 것은 → AMI를 토대로 운영체제, CPU, RAM 혹은 런터임 등이 구성된 컴퓨터를 빌리는 것

 

- 인스턴스는 1대의 컴퓨터를 의미하는 단위이고 AWX에서 컴퓨터를 빌리는 것을 인스턴스를 생성한다고 함

- AMI(Amazon Machine Image) : 소프트웨어로 구성이 기재된 템플릿

→ 이미지 종류로는 단순히 운영체제만 깔려있는 템플릿을 선택할 수도 있고, 아예 특정 런타임이 설치되어 있는 템플릿이 제공되는 경우도 있음

→ AWS에서 빌릴 PC는 사용용도에 맞게 Setting을 선택할 수 있다는 뜻


RDS(Relational Database Service)

- AWS에서 제공하는 관계형 데이터베이스 서비스

 

RDS 사용의 이점

- 데이터베이스의 유지 보수와 관련된 일들을 RDS에서 전적으로 자동 관리함

- 사용자가 해야 할 일은 초기 설정을 제외하고 데이터베이스에 저장된 데이터를 관리하는 일 뿐이므로 편의성 증대

- 직접 데이터베이스를 관리한다면 엔진 설치와 버전 관리 및 데이터 백업을 직접 해야 함

- RDS를 이용 시 다양한 데이터베이스 엔진 선택지를 제공 받을 수 있음 

- 데이터베이스 엔진마다 제공하는 기능이 조금씩 다르기 때문에 필요와 목적에 맞게 엔진을 선택해 효율성을 높일 수 있음


S3(Simple Storage Service)

- AWS에서 제공하는 클라우드 스토리지 서비스

 

클라우드 스토리지

: 인터넷 공간에 데이터를 저장하는 저장소 

 

S3 사용의 이점 

- 확장성이 높음 → 확장성이 높으면 적은 수고로 스토리지 규모를 확장 및 축소할 수 있음

- 사용한 만큼만 비용을 기불하면 되므로 비용적인 측면에서 효율적임 

- 강력한 내구성 → 저장된 파일이 유실될 가능성이 매우 적음

- 높은 가용성 → 가용성이 높으면 스토리지에 저장된 파일들을 정상적으로 사용할 수 있는 시간이 길어짐

- 다양한 스토리지 클래스를 제공, 저장소를 어떤 목적으로 활용할지에 따라 효율적으로 선택해서 사용하면 됨(대표적으로 Standard, Glacier가 있음)

 

- 정적 웹 사이트 호스팅이 가능

→ 정적 파일 : 서버의 개입 없이 클라이언트에 제공될 수 있는 파일

→ 웹 호스팅 : 서버의 한 공간을 빌려주어 웹 사이트에 배포, 운영이 가능하게 만들어 주는 서비스

→ S3에서는 버킷이 사용자들이 정적 웹 사이트를 배포할 수 있는 공간을 제공함 → 버킷이라는 저장 공간에 정적 파일을 업로드하고 버킷을 정적 웹 사이트 호스팅 용도로 구성하면 정적 웹 사이트를 배포할 수 있음

 

버킷?

- S3에 저장되는 파일들이 담기는 바구니

- 파일을 저장하는 최상위 디렉터리

- S3에 저장되는 모든 파일은 버킷 안에 저장되어야 하고, 버킷은 무한한 양의 파일을 저장 할 수 있음

- 각각의 버킷은 이름을 가지고 있으는데, 버킷 이름은 버킷이 속해 있는 각 리전(버킷이 생성된 지역)에서 유일해야 함

- 버킷 정책을 생성하여 해당 버킷에 대한 다른 유저의 접근 권한을 수정할 수 있음

 

객체?

- S3에서 버킷에 담기는 파일을 객체라고 부름

- S3에서 저장소에 데이터를 저장할 때 키-값 페어 형식으로 데이터를 저장하기 때문

- S3에 저장되는 객체는 파일과 메타데이터로 구성됨

→ 파일 : 키-값 페어 형식으로 데이터를 저장함

→ 파일의 키는 각각의 객체를 고유하게 해주는 식별자 역할을 하며, 파일의 키를 이용하여 원하는 객체를 찾을 수 있음

→ 파일의 값에는 실제 데이터를 저장함. S3 객체의 값으로 저장될 수 있는 데이터의 최대 크기는 5TB임

→ 메타 데이터는 객체의 생성일, 크기, 유형과 같은 객체에 대한 정보가 담긴 데이터. 객체를 설명하는 데이터

→ 모든 객체는 고유한 URL 주소를 가지고 있음

→ URL 주소는 http://[버킷의 이름].S3.amaxonaws.com/[객체의 키]형태를 띄고, URL 주소를 통해 원하는 데이터에 접근할 수 있음