◎Amazon web Service
‣Cloud Computing
- 클라우드의 서비스 형태
- SaaS(Software as a Service)
: 클라우드 제공자가 당장 사용 가능한 소프트웨어를 제공하는 경우
- PaaS(Platform as a Service)
: 클라우드 제공자가 데이터베이스, 개발 플랫폼까지 제공하는 경우
- IaaS(Infrastructure as a Service)
: 클라우드 제공자가 가상 컴퓨터까지 제공하는 경우
‣Deploy
- Deployment(배포)
: 내가 개발한 서비스를 사용자들이 이용 가능하게 하는 일련의 과정
- 단계
- Development단계: 각자의 컴퓨터에서 코드를 작성하고 테스트하는 과정
- Integration단계: 각자의 컴퓨터에서 작성한 코드를 합치는 과정
- Staging단계: 실제 출시 단계인 Production 단계와 가장 유사한 환경에서 테스트를 진행한다.
- Production단계: 개발된 서비스를 출시하는 단계
- 배포에서는 환경설정을 코드와 분리하는 것이 중요
- 절대경로 대신 상대경로 사용하기
- 환경에 따라 포트를 분기할 수 있도록 환경변수 설정해주기
- Docker 와 같은 개발 환경 자체를 통일시키는 솔루션을 사용하기
‣EC2(Elastic Compute Cloud)
: AWS에서 원격으로 제어할 수 있는 가상의 컴퓨터를 한 대 빌리는것
- 장점
- 구성하는 데 필요한 시간이 짧다.
- AMI를 총해서 필요한 용도에 따라 다양한 운영체제에 대한 선택이 가능하다.
- EC2
- 가장 기본적인 일: 웹서버를 설치하고 웹 서버를 통해서 사용자가 웹 브라우저를 통해 요청하는 서비스를 제공하는것
- 인스턴스: 1대의 컴퓨터=> AWS에서 컴퓨터를 빌리는것을 인스턴스를 생성한다고 한다.
- AMI(Amazon Machin Image)
: 소프트웨어 구성이 기재된 템플릿
-AWS에는 상당히 많은 양의 AMI세팅이 준비되어 있으며, 선택된 image를 바탕으로 인스턴스의 운영체제를 구성할 수 있다.
=> AWS EC2 인스턴스를 생성한다는 것: AMI를 토대로 운영체제, CPU, 런타임 등이 구성된 컴퓨터를 빌리는것
‣RDS(Relational Database Service)
: AWS에서 제공하는 관계형 데이터 베이스 서비스
- 데이터베이스 유지 보수와 관련된 일들을 RDS에서 전적으로 자동관리
- 다양한 데이터베이스 엔진 선택지를 제공한다.
‣S3(Simple Storage Service)
: AW에서 제공ㅇ하는 클라우드 스토리지 서비스
-클라우드 스토리지: 인터넷 공간에 데이터를 저장하는 저장소
ex) 구글의 google drive, 네이버의 mybox 등
- 스토리지의 내구성이 높으면 저장된 파일을 유실할 가능성이 적어진다.
- 가용성이 높으면 스토리지에 저장된 파일들을 정상저긍로 사용할 수 있는 시간이 길어진다.
- 다양한 스토리지 클래스를 제공한다.
1)standard클래스: 범용적인 목적( 빠른 속도로 접근, 데이터 액세스 요청에 대한 처리속도 빠름)
2) Glacier클래스: 장기적인 보관 목적( 액세스 속도 느림, 데이터 보관하는 비용 저렴)
- 버킷: S3에 저장되는 파일들이 담기는 바구니, 파일을 저장하는 최상위 디렉터리