AWS EC2(Elastic Compute Cloud)
- 클라우드 컴퓨팅 - 인터넷을 통해 서버, 스토리지, 데이터베이스 등의 컴퓨팅 서비스를 제공(아마존에서 가상의 컴퓨터 한 대 빌리는 것과 같음) → 비용, 성능, 용량 면에서 탄력적으로 제공
- 구성하는데 필요한 시간이 짧음
- AMI를 통해서 필요한 용도에 따라 다양한 운영체제, CPU, RAM, 용량 선택이 가능
- 인스턴스는 1대의 컴퓨터를 의미하는 단위이고 AWS에서 컴퓨터를 빌리는 것을 인스턴스를 생성한다고 한다.
- 가장 기본적으로는 웹 서버를 설치하고 웹 서버를 통해서 사용자가 웹 브라우저를 통해 요청하는 서비스를 제공하는 것.
- AMI(Amazon Machine Image) - 소프트웨어 구성이 기재된 템플릿, 많은 양의 세팅이 준비 되어있고 이 외에 필요에 따라 직접 구성도 가능. ⇒ AWS EC2 인스턴스를 생성한다는 것은 AMI를 토대로 운영체제, CPU, RAM, 혹은 런타임 등이 구성된 컴퓨터를 빌리는 것.
AWS S3(Simple Storage Service)
- AWS에서 제공하는 클라우드 스토리지 서비스.
- 클라우드 스토리지 - 인터넷 공간에서 하드디스크처럼 데이터를 저장하는 저장소.
- 높은 확장성(사용한 만큼 비용지불), 강력한 내구성, 높은 가용성
- Standard - 범용적인 목적, 자주 액세스해야 할 경우
- Glacier - 장기보관 목적, 비용 저렴
- 정적 웹 사이트 호스팅이 가능
- 정적 파일 : 서버의 개입 없이 생성된 파일
- 웹 호스팅 : 서버의 한 공간을 빌려주어 웹 사이트의 배포, 운영이 가능하게 만들어주는 서비스
- S3에서는 버킷을 통해 정적 웹 사이트 호스팅이 가능
- 버킷 : 파일을 담는 바구니(최상위 디렉토리)
- 무한히 많은 파일 저장 가능
- 버킷의 이름은 각 리전에서 고유해야 함
- 버킷의 정책을 생성하여 액세스 권한 부여 가능
- 객체 : 버킷에 담기는 파일
AWS RDS(Relational Database Service)
- AWS에서 제공하는 관계형 데이터베이스 서비스.
- RDS를 이용하면 데이터베이스 유지보수와 관련된 일들을 RDS에서 전적으로 자동 관리 → 사용자는 애플리케이션 최적화에만 집중하면 됨.
- 인프라 관리 불필요
- 즉각적 프로비저닝
- 확장성 관리 - 인스턴스 타입 변경, 읽기 사본 활용
- 애플리케이션 호환성
- 고가용성 - 멀티 AZ 배포
- 보안 유지
- 다양한 데이터베이스 엔진 선택지를 제공
- Aurora MySQL
- Aurora PostgreSQL
- Oracle
- SQL Server
- MySQL
- PostgreSQL
- MariaDB