AWS
- Amazon Web Service
- Cloud Computing Platform
- 장점
- 손쉽게 클라우드 구축 가능
- 개발자가 신경써야 할 부분 ↓
EC2
- Elastic Computed Cloud
- 독립된 컴퓨터를 임대해주는 클라우드 서비스
- 컴퓨팅 요구사항의 변화에 따라 컴퓨팅 자원을 조절할 수 있음
- 클릭 몇 번만으로 컴퓨터 한 대를 구성할 수 있음
- 사용한 만큼 요금을 책정
RDS
- Relational Database Service
- AWS의 관계형 데이터베이스
- AWS 측에서 모든 것을 관리해주고, 개발자가 개발만 가능하도록 도와주는 서비스
- 특징
- 관리 부담 ↓
- 확장성 ↑
- 가용성 및 내구성 ↑
- 보안 ↑
- 관리 효율성 ↑
- 비용 효율성 ↑
Amazon Aurora
- MySQL 및 PostgreSQL 호환 관계형 데이터베이스
- 상용 데이터베이스의 보안, 가용성 및 안정성을 1/10 비용으로 제공
PostgreSQL
- 오픈소스 관계형 데이터베이스
- 기능이 가장 많고, 성능도 가장 좋음
AWS에서 DB 사용법
EC2에 직접 설치
- 서버에 접속해 MySQL 설치
- 사용자가 데이터베이스의 업데이트와 관리, 백업 등을 모두 관리
- 서버 안에 DB를 설치할 경우, 서버가 잘못된 경우에 DB에 문제가 발생할 수 있음
이러한 상황을 방지하기 위해 서버와 데이터베이스를 분리하는 것
- mvc의 config 파일에서 host는 localhost
RDS 사용
- AWS에서 모든 것을 관리
- 데이터베이스 부분에 대한 모든 것은 신경쓰지 않고 개발에만 집중
- 부가적인 요금이 발생하며 요금 예측이 어려움
- mvc의 config 파일에서 host는 RDS
S3
- Simple Storage Service
- 내구성과 확장성이 뛰어난 스토리지 서비스
- 안전하고 가변적인 object 무제한 저장 공간을 제공
- 편리한 UI 인터페이스를 통해 어디서나 쉽게 데이터를 저장하고 불러올 수 있음
- 파일을 저장할 때 많이 사용
S3 용어
- Bucket : S3에서 생성되는 최상위 디렉토리와 객체를 저장하는 컨테이너
- Object : S3에서 저장되는 데이터로, 파일과 메타데이터로 이루어져 있음
- Key : 객체를 찾기 위해 사용하는 고유 식별자로, "디렉토리 + 파일명"으로 명명
- Region
S3 특징
- 무한대의 객체를 저장할 수 있어, 스토리지의 확장 및 축소에 신경쓸 필요 ❌
- 버킷마다 인증 시스템을 개별로 설정할 수 있어 보안에 좋음
- 버전 관리 기능을 사용하면, 사용자가 실수할 경우에도 복원 가능
- 사용자가 실제 사용한 만큼 요금을 책정