[TIL]AWS - S3, EC2, RDS

hailey·2020년 9월 21일
0

TIL

목록 보기
4/4

1) S3

  • S3는 파일을 저장할 수 있는 구글드라이브나 드롭박스와 유사하다. 서버를 돌리는 등의 컴퓨팅파워는 없으며 HTML, css, 프론트엔드의 js 코드와 같은 static한 파일을 호스팅할 수 있다.
  • 사용자들은 S3에서 빌드된 정적 파일을 받아가고 API를 요청하게 된다. 이를 위해 아마존에서는 '버킷' 기능을 제공한다. 버킷은 단어 그대로, 파일을 담을 수 있는 공간이다. S3라는 클라우드 서비스를 활용하여 빌드 파일을 serve하는 버킷을 설정하면 -> 사용자는 버킷으로 접속하여 빌드된 파일을 앱처럼 다운로드받을 수 있게 된다.

2) EC2

  • EC2는 AWS가 가진 특정 컴퓨터 한 대를 임대하는 개념이다. 이 컴퓨터에 원격접속하여(DOS처럼 사용하게 된다) node를 설치하고 서버 앱을 배포하면 로컬 컴퓨터에서 배포했을 때의 외부접속 등을 고려하지 않아도 된다.
  • 관련된 서비스로 터미널을 끄더라도 서버가 계속 돌아가게 해주는 PM2가 있다.

3) RDS

  • 아마존에서 제공하는 관계형 데이터베이스 지원 서비스. Relational Database Service의 약자로 관계형 데이터베이스의 설치, 관리, 운영을 지원하며 개인이 데이터베이스를 사용하는 과정에서 발생할 수 있는 여러 문제(스케일, 컴퓨터 업그레이드, 백업, 보안)를 위임하여 처리해준다.

  • 즉, 데이터베이스와 관련된 귀찮은 일을 모두 해결해준다! 한 번 만들어두면 클라이언트를 통해 접근할 수 있으며 이후로는 마주칠 일이 많지 않다.

  • 개발 시 로컬 컴퓨터의 상태가 모두 다를 수 있으므로 데이터베이스 클라우드 서비스를 이용하는 것이 좋다.

  • RDS에서는 아마존 자체 데이터베이스인 aurora를 비롯해 MySQL, MariaDB, OracleDatabase, SQL server, PostgreSQL의 6가지 데이터베이스 엔진을 제공하고 있다.

    ✔️ 클라우드 데이터베이스 기존의 RDBMS는 상대적으로 작고 정형화되어있으며 행과 열이 잘 맞춰진, 전통적인 관계형 데이터베이스에 최적화되어있다. 이는 점점 덩치가 커지는 요즘의 앱, 특히 빅데이터 등을 처리하기에는 적합하지 않다.

  • RDS와 EC2

    • RDS는 EC2 인스턴스를 기반으로 운영된다. 하지만 EC2에서 사용 중인 데이터베이스를 직접 설치하는 것보다 RDS를 이용하는 편을 권장한다. RDS는 설치, 업데이트 등의 관리를 자동 지원하며 AWS management console이나 AWS API를 통해 손쉽게 백업, 복구할 수 있기 때문이다.
  • RDS에서 MySQL을 사용한다면

    • 오토 스케일링(트래픽에 따른 용량 자동 조절)이 불가능하고 여러 가용영역에 복제될 수 없다.
    • 사용한 데이터베이스에 대해서만 비용을 지불하는 것이 아닌, 스토리지에 대한 비용을 지불한다.
    • aurora보다 작은 t2.micro 인스턴스까지 프로비저닝할 수 있다.
profile
옳고 그름을 고민합니다

0개의 댓글