인스턴스 스토어는 Amazon EC2 인스턴스에 임시 블록 수준 스토리지를 제공한다. 이 스토리지 볼륨은 물리적 하드 드라이브처럼 동작한다. 인스턴스 스토어는 물리적으로 EC2 인스턴스의 호스트 컴퓨터에 연결되어 있으므로 인스턴스와 수명이 동일하다. 즉, 인스턴스가 종료되면 인스턴스 스토어의 데이터는 소실된다.
Amazon EBS는 Amazon EC2 인스턴스에서 사용할 수 있는 블록 수준 스토리지 볼륨을 제공하는 서비스이다. 단, 인스턴스 스토어와 달리 Amazon EC2 인스턴스를 중지 또는 종료하더라도 연결된 EBS 볼륨의 모든 데이터를 사용할 수 있다.
EBS 볼륨을 생성하려면 볼륨 크기 및 유형 등의 구성 정보를 정의하여 볼륨을 프로비저닝해야 한다. EBS 볼륨 생성이 완료되면, 볼륨을 Amazon EC2 인스턴스에 연결할 수 있다. EBS 볼륨은 보존해야 하는 데이터를 위한 것이므로 데이터 백업이 매우 중요하다. Amazon EBS 스냅샷을 생성하여 EBS 볼륨을 증분 백업할 수 있다.
EBS 스냅샷은 증분 백업 방식이다. 즉, 처음 볼륨을 백업하면 모든 데이터가 복사되지만, 이후의 백업에서는 가장 최근의 스냅샷 이후 변경된 데이터 블록만 저장된다. 이러한 점에서 증분 백업은 백업이 실행될 때마다 스토리지 볼륨의 모든 데이터가 복사되는 전체 백업과 차이를 보인다.
Amazon S3는 객체 수준 스토리지를 제공하는 서비스이다. Amazon S3는 데이터를 버킷에 객체로 저장한다. 객체 스토리지에서 각 객체는 데이터, 메타데이터, 키로 구성된다. 여기서 데이터는 이미지, 동영상, 텍스트 문서일 수 있으며, 키는 고유한 식별자이다.
Amazon S3에는 이미지, 동영상, 텍스트 파일 등 모든 유형의 파일을 업로드할 수 있다. 예를 들어 Amazon S3를 사용하여 백업 파일, 웹 사이트용 미디어 파일 또는 보관된 문서를 저장할 수 있다. Amazon S3는 저장 공간을 무제한으로 제공한다. 참고로 Amazon S3에 저장할 수 있는 객체의 최대 파일 크기는 5TB이다.
Amazon S3에 파일을 업로드할 때 권한을 설정하여 파일에 대한 표시 여부 및 액세스를 제어할 수 있고, Amazon S3 버전 관리 기능을 사용하여 시간 경과에 따른 객체 변경 사항을 추적할 수도 있다.
Amazon S3도 마찬가지로 사용한 만큼만 비용을 지불한다. 따라서 비즈니스 및 비용 요구 사항에 맞춰 다양한 스토리지 클래스 중에서 유리한 것을 선택해 사용해야 한다. Amazon S3 스토리지 클래스를 선택할 때 중요한 기준은 데이터를 검색할 빈도와 필요한 데이터 가용성이다.
① S3 Standard
② S3 Standard-Infrequent Access(S3 Standard-IA)
③ S3 One Zone-Infrequent Access(S3 One Zone-IA)
④ S3 Intelligent-Tiering
⑤ S3 Glacier
⑥ S3 Glacier Deep Archive
※ 객체 스토리지와 블록 스토리지
용량이 큰 동영상을 저장한다고 생각해보자. 객체 스토리지에서는 모든 파일을 완성된 개별 객체로 취급한다. 동영상의 일부를 수정하는 경우에도 전체 파일을 다시 업로드해야 한다(증분 업데이트가 지원되지 않는다). 반면, 블록 스토리지는 하나의 파일을 작은 구성요소(블록)로 나누기 때문에 영상을 일부 수정한 경우 해당 블록에 대해서만 업데이트를 진행하면 된다.
이는 EBS와 S3 중 어떤 서비스를 선택해야 유리한지에 대한 답이 될 수 있다. 완성 객체만이 사용되거나 변경 작업의 횟수가 적다면 S3를 사용하는 것이 유리하고, 복잡한 읽기, 쓰기 등의 변경 작업이 자주 필요하다면 EBS를 사용하는 것이 유리하다.
Amazon EFS는 AWS 클라우드 서비스 및 온프레미스 리소스와 함께 사용되는 확장 가능한 파일 시스템이다. 파일을 추가 또는 제거하면 Amazon EFS가 자동으로 확장하거나 축소된다. 애플리케이션을 중단하지 않고 온디맨드로 페타바이트 규모까지 확장할 수 있다.
EFS는 파일 스토리지인데, 파일 스토리지는 블록 스토리지 및 객체 스토리지와 달리 많은 수의 서비스 및 리소스가 동시에 동일한 데이터에 액세스하는 사례에 적합하다. 클라이언트는 파일의 경로를 통해 데이터에 액세스할 수 있다.
Amazon Relational Database Service(Amazon RDS)는 AWS 클라우드에서 관계형 데이터베이스를 실행할 수 있는 서비스이다.
Amazon RDS는 하드웨어 프로비저닝, 데이터베이스 설정, 패치 적용 백업과 같은 작업을 자동화하는 관리형 서비스이다. 이러한 기능을 사용하면 관리 작업을 수행하는 데 드는 시간을 줄이고 데이터를 사용하여 애플리케이션을 개선하는 데에 더 많은 시간을 할애할 수 있다. Amazon RDS를 다른 서비스와 통합할 수도 있다. 예를 들어 AWS Lambda를 사용하여 서버리스 애플리케이션에서 데이터베이스를 쿼리를 실행하는 등 비즈니스 및 운영 요구 사항을 충족할 수 있다.
Amazon RDS는 다양한 보안 옵션을 제공한다. 대부분의 Amazon RDS 데이터베이스 엔진이 저장 시 암호화(데이터가 저장되는 동안 데이터를 보호) 및 전송 중 암호화(데이터를 전송 및 수신하는 동안 데이터를 보호)를 제공한다.
Amazon RDS에서 지원되는 데이터베이스 엔진은 다음과 같다.
Amazon Aurora는 엔터프라이즈급(기업 환경에서 요구되는 높은 수준의 성능, 신뢰성, 보안, 확장성을 갖춘 솔루션이나 서비스) 관계형 데이터베이스이다. 이 데이터베이스는 MySQL 및 PostgreSQL 관계형 데이터베이스와 호환된다. 표준 MySQL 데이터베이스보다 최대 5배 빠르며, 표준 PostgreSQL 데이터베이스보다 최대 3배 빠르다.
Amazon Aurora는 데이터베이스 리소스의 안정성 및 가용성을 유지하면서도 불필요한 입/출력(I/O) 작업을 줄여 데이터베이스 비용을 절감한다. 워크로드에 고가용성이 필요한 경우 Amazon Aurora를 고려할 수 있다. 이 데이터베이스는 6개의 데이터 복사본을 3개의 가용 영역에 복제하고 지속적으로 Amazon S3에 데이터를 백업한다.
Amazon DynamoDB는 key-value 데이터베이스 서비스이다. 비관계형 데이터베이스 즉, NoSQL 데이터베이스이기 때문에 복잡한 쿼리는 수행할 수 없는 대신, 오버헤드가 없기 때문에 모든 규모에서 한 자릿수 밀리초의 성능을 제공할 수 있다.
① 서버리스
② 자동 조정
Amazon Redshift는 빅 데이터 분석에 사용할 수 있는 데이터 웨어하우징 서비스이다. 이 서비스는 여러 원본에서 데이터를 수집하여 데이터 간의 관계 및 추세를 파악하는 데 도움이 되는 기능을 제공한다.
※ 데이터 웨어하우징
데이터 웨어하우징이란, 기업이나 조직에서 사용되는 데이터 관리 시스템을 말한다. 일반적으로 데이터 웨어하우징은 대규모의 데이터를 처리하고 분석하기 위해 사용된다. 데이터를 통합하고 중앙 저장소에 보관함으로써 보다 효율적으로 데이터를 관리하고 분석할 수 있다.
AWS Database Migration Service(AWS DMS)는 관계형 데이터베이스, 비관계형 데이터베이스 및 기타 유형의 데이터 저장소를 마이그레이션할 수 있는 서비스이다.
※ 데이터 마이그레이션
마이그레이션이란, 어떤 시스템이나 환경에서 다른 시스템이나 환경으로 이전하는 것을 의미한다. 특히, 데이터 마이그레이션은 데이터의 이동과 전환을 포함한다. 데이터 마이그레이션은 조직이 새로운 시스템 또는 환경으로 전환할 때 중요한 단계이다. 잘 계획된 데이터 마이그레이션은 데이터의 안정성과 일관성을 유지하며, 업무 연속성을 보장할 수 있다.
AWS DMS를 사용하면 원본 데이터베이스와 대상 데이터베이스 간에 데이터를 이동할 수 있다. 이 때, 원본 데이터베이스와 대상 데이터베이스는 유형이 동일할 필요는 없다. 마이그레이션하는 동안 원본 데이터베이스가 계속 작동하므로 데이터베이스를 사용하는 애플리케이션의 가동 중지 시간을 줄일 수 있다.
예를 들어 온프레미스에서 Amazon EC2 인스턴스 또는 Amazon RDS에 저장된 MySQL 데이터베이스가 있다고 하고 MySQL 데이터베이스가 원본 데이터베이스라고 하자. AWS DMS를 사용하여 Amazon Aurora 데이터베이스와 같은 대상 데이터베이스로 데이터를 마이그레이션할 수 있다.
① 개발 및 테스트 데이터베이스 마이그레이션
② 데이터베이스 통합
③ 연속 복제
① Amazon DocumentDB
② Amazon Neptune
③ Amazon Quantum Ledger Database(Amazon QLDB)
④ Amazon Managed Blockchain
⑤ Amazon ElasticCache
⑥ Amazon DynamoDB Accelerator(Amazon DAX)
이 시리즈의 글들은 AWS Skill Builder의 교육 내용을 모방하고 있으며, 이미지는 AWS Skill Builder에서 가져온 것입니다. 넷제로 해커톤을 준비하는 과정에서 수료해야 하는 교육 내용이기에 블로그에 정리해 둔 것입니다. 문제 시 삭제하겠습니다.
>> AWS Skill Builder