AWS - S3, EC2, RDS

nRecode·2020년 6월 23일
1

S3, EC2, RDS 무엇이며 무엇을 위해 사용할까?

S3(Simple Storage Service)

S3(Simple Storage Service)
인터넷용 스토리지 서비스, 웹 규모 컴퓨팅 작업을 더 쉽게 수행 할 수 있도록 설계되어있음. 웹에서 원하는 양의 데이터를 저장하고 검색할 수 있음

쉽게 말해 파일서버의 역할을 하는 서비스. 일반적인 파일서버는 트래픽이 증가함에 따라 장비를 증설하는 작업을 해야하는데 S3는 이를 대행한다. 파일에 대한 접근 권한을 지정할 수도 있음.

S3의 장점으로는?

  • 많은 사용자가 접속을 해도 감당을 위한 시스템적인 작업을 하지 않아도 된다.
  • 저장할 수 있는 파일의 수의 제한 없음
  • 최소 1바이트에서 최대 5TB의 데이터를 저장하고 서비스 할 수 있다.
  • 파일에 인증을 붙여 무단으로 엑세스 하지 못하도록 한다.

사용하는 이유?

  • 일반적인 파일서버는 트래픽이 증가함에 따라 장비를 증설하는 작업이 필요한데, S3는 트래픽이 증가해도 장비를 증설 할 필요가 없다.

  • 정보의 중요도에 따라서 보호 수준을 차등 할 수 있고, 이에 따라서 비용을 절감 할 수 있다

핵심 개념

  • 객체 - 저장되는 기본 개체.(하나하나의 파일이라고 생각하면 된다) 객체는 키(이름) 및 버전 ID를 통해 버킷 내에서 고유하게 식별된다.

  • 버킷 - S3에 저장된 객체에 대한 컨테이너. 객체가 파일이라면 버킷을 최상위 디렉토리라고 볼 수 있음. 버킷에 포함된 객체에 대해 일괄적으로 인증과 접속 제한을 걸 수 있음

  • 키 - 버킷 내 객체의 고유한 식별자. 버킷 내 모든 객체는 정확히 하나의 키를 갖는다.
    Amazon S3 => "버킷 + 키 + 버전"과 객체 자체 사이의 기본 데이터 맵

  • BitTorrent - 분산된 파일 배포 시스템. 하나의 서버에서 파일을 배포하는 것이 아닌 파일을 가지고 있는 컴퓨터들로부터 조금씩 파일을 다운받은 후에 이것을 붙여 완전한 파일을 만드는 방식. 왜 좋을까? 대용량의 파일을 배포할 때, 이를 사용하면 비용을 크게 절감할 수 있음.

EC2(Elastic Compute Cloud)

안전하고 크기 조정이 가능한 컴퓨팅파워를 클라우드에서 제공 -> 독립된 컴퓨터를 임대해주는 서비스

자신이 선호하는 운영체제(window, linux)를 설치하고, 웹서비스를 위한 프로그램들을 설치하면 된다.

AWS는 인터넷을 통해 이 가상 컴퓨팅 환경에 접속할 수 있는 url을 제공하는데, 이 url을 통해 웹서비스를 하거나, 자신이 구입한 도메인을 붙여서 서비스를 할 수 있음.

제공하는 기능

  • 인스턴스: 가상 컴퓨팅 환경
  • 인스턴스 유형: 인스턴스를 위한 CPU, 메모리, 스토리지, * 네트워킹 용량의 여러 가지 구성 제공
  • 탄력적 IP 주소(EIP): 동적 클라우드 컴퓨팅을 위한 고정 IPv4 주소

사용하는 이유?

서버를 24시간 돌리려면 , 자신의 컴퓨터를 24시간 돌리는 것이 아니라 컴퓨터를 임대하여 돌리는 것이다.

비용최적화, 빠른처리, 빠른 deploy, 유연한 인프라, 검증된 보안 등의 이점이 있다.

+) 파일을 수정하고 싶을 때는 Vim을 사용하여 수정해야 한다.


RDS(Relational Database Service)

AWS에서 제공하는 관계형 데이터베이스 전용 서비스. 데이터베이스를 운영하기 위해 필요한 복제, 백업, 장애복구 같은 작업들을 대행해준다.

데이터베이스 소프트웨어를 패치하거나 데이터베이스를 백업하거나 시점 복구를 활성화하는 것과 같은 복잡한 관리 프로세스들은 자동으로 관리된다.

지원 데이터베이스 -> MySQL, Oracle, SQL Server, MariaDB 등등~~

왜 EC2에서 DB만 따로 뽑아내서 RDS로 관리를 할까?

  • 간단한 셋업
  • 쉬운 스케일 아웃(쉽게 리플리케이션을 구성하고 제거하는 것이 가능)
  • 쉬운 스케일업(스토리지 및 jops를 쉽게 확장 가능)
  • 편리한 백업(S3 스냅샷으로 빠르게 백업이 가능(과금 주의ㅎㅎ))

+) EC2에 DB 직접 설치와 차이점은?

RDS는 EC2와 함께 사용하며 아마존에서 DB의 설정, 운영, 백업 등의 기능을 편하게 이용할 수 있게 해주는 EC2와 분리된 DB전용서버.

DB를 EC2에 직접 설치하여 사용할 수도 있는데, 직접 설치하다 보니 RDS기능을 제공받지 못한다.

profile
안정성, 확장성 있는 서버를 구축하고 가꾸는 개발자를 목표로 공부하고 있습니다. 🤔🤔🤔🤔 부족하기에 맞지 않는 내용이 있을 수 있습니다. 가감없이 피드백 해주시면 정말 감사하겠습니다..🙏

2개의 댓글

comment-user-thumbnail
2020년 6월 23일

정리해주신 내용 잘봤습니다~ 태그에 AWS를 오타 내신거 같습니다!

1개의 답글