인스턴스 스토어
블록 수준 스토리지 볼륨은 물리적 하드 드라이브처럼 동작한다. 인스턴스 스토어는 Amazon EC2 인스턴스에 임시 블록 수준 스토리지를 제공한다. 인스턴스 스토어는 물리적으로 EC2 인스턴스의 호스트 컴퓨터에 연결되어 있고, 따라서 인스턴스와 수명이 동일한 디스크 스토리지다. 인스턴스가 종료되면 인스턴스 스토어의 데이터가 손실된다.
Amazon Elastic Block Store(Amazon EBS)
Amazon Elastic Block Store는 Amazon EC2 인스턴스에서 사용할 수 있는 블록 수준 스토리지 볼륨을 제공하는 서비스다. Amazon EC2 인스턴스를 중지 또는 종료하더라도 연결된 EBS 볼륨의 모든 데이터를 사용할 수 있다. EBS 볼륨을 생성하려면 구성(예: 볼륨 크기 및 유형)을 정의하고 볼륨을 프로비저닝한다. EBS 볼륨을 생성한 다음 볼륨을 Amazon EC2 인스턴스에 연결할 수 있다. EBS 볼륨은 보존해야 하는 데이터를 위한 것이므로 데이터 백업이 중요하다. Amazon EBS 스냅샷을 생성하여 EBS 볼륨을 증분 백업할 수 있다.
Amazon EBS 스냅샷
EBS 스냅샷은 증분 백업이다. 즉, 처음 볼륨을 백업하면 모든 데이터가 복사된다. 이후의 백업에서는 가장 최근의 스냅샷 이후 변경된 데이터 블록만 저장된다. 증분 백업은 백업이 실행될 때마다 스토리지 볼륨의 모든 데이터가 복사되는 전체 백업과는 다르다. 전체 백업에는 가장 최근의 백업 이후 변경되지 않은 데이터도 포함된다.
객체 스토리지
객체 스토리지에서 각 객체는 데이터, 메타데이터, 키로 구성된다. 데이터는 이미지, 동영상, 텍스트 문서 또는 기타 유형의 파일일 수 있다. 메타데이터에는 데이터의 내용, 사용 방법, 객체 크기 등에 대한 정보가 포함되어 있다. 객체의 키는 고유한 식별자다. 블록 스토리지에서 파일을 수정하면 변경된 부분만 업데이트된다. 객체 스토리지에서 파일을 수정하면 전체 객체가 업데이트된다.
Amazon Simple Storage Service(Amazon S3)
Amazon Simple Storage Service(Amazon S3)는 객체 수준 스토리지를 제공하는 서비스다. Amazon S3는 데이터를 버킷에 객체로 저장한다. Amazon S3에는 이미지, 동영상, 텍스트 파일 등 모든 유형의 파일을 업로드할 수 있다. 예를 들어 Amazon S3를 사용하여 백업 파일, 웹 사이트용 미디어 파일 또는 보관된 문서를 저장할 수 있다. Amazon S3는 저장 공간을 무제한으로 제공한다. Amazon S3에 저장할 수 있는 객체의 최대 파일 크기는 5TB다. Amazon S3에 파일을 업로드할 때 권한을 설정하여 파일에 대한 표시 여부 및 액세스를 제어할 수 있다. Amazon S3 버전 관리 기능을 사용하여 시간 경과에 따른 객체 변경 사항을 추적할 수도 있다.
Amazon S3 스토리지 클래스
Amazon S3에서는 사용한 만큼만 비용을 지불한다. 비즈니스 및 비용 요구 사항에 맞춰 다양한 스토리지 클래스 중에서 선택할 수 있다. Amazon S3 스토리지 클래스를 선택할 때 ① 데이터를 검색할 빈도 ② 필요한 데이터 가용성의 2가지를 고려해야 한다.
그리고 이런 Amazon S3 스토리지 클래스에는 8개의 범주가 있다.
① S3 Standard: 자주 액세스하는 데이터용으로 설계하며, 최소 3개의 가용 영역에 데이터를 저장한다. Amazon S3 Standard는 객체에 대한 고가용성을 제공한다. 따라서 웹 사이트, 콘텐츠 배포, 데이터 분석 등 광범위한 사용 사례에 적합하다. Amazon S3 Standard는 자주 액세스하지 않는 데이터 및 아카이브 스토리지를 위한 다른 스토리지 클래스보다 비용이 높다.
② S3 Standard-Infrequent Access(S3 Standard-IA): 자주 액세스하지 않는 데이터에 이상적이다. Amazon S3 Standard와 비슷하지만, 스토리지 가격은 더 저렴하고 검색 가격은 더 높다. Amazon S3 Standard-IA는 자주 액세스하지 않지만 필요에 따라 고가용성이 요구되는 데이터에 이상적이다. Amazon S3 Standard와 Amazon S3 Standard-IA는 모두 최소 3개의 가용 영역에 데이터를 저장한다. Amazon S3 Standard-IA는 Amazon S3 Standard와 동일한 수준의 가용성을 제공하지만 스토리지 가격은 더 저렴하고 검색 가격은 더 높다.
③ S3 One Zone-Infrequent Access(S3 One Zone-IA): 단일 가용 영역에 데이터를 저장한다. Amazon S3 Standard-IA보다 낮은 스토리지 가격이다. 최소 3개의 가용 영역에 데이터를 저장하는 S3 Standard 및 S3 Standard-IA와 달리, S3 One Zone-IA는 단일 가용 영역에 데이터를 저장한다. 따라서 스토리지 비용을 절감하려는 경우와 가용 영역 장애가 발생할 경우 데이터를 손쉽게 재현할 수 있는 경우 고려할 수 있는 훌륭한 스토리지 클래스다.
④ S3 Intelligent-Tiering: 액세스 패턴을 알 수 없거나 자주 변화하는 데이터에 이상적이다. 객체당 소량의 월별 모니터링 및 자동화 요금을 부과한다. S3 Intelligent-Tiering 스토리지 클래스에서는 Amazon S3가 객체의 액세스 패턴을 모니터링한다. 사용자가 30일 연속 객체에 액세스하지 않으면 Amazon S3는 자동으로 해당 객체를 자주 사용하지 않는 액세스 계층인 S3 Standard-IA로 이동한다. 사용자가 자주 사용하지 않는 액세스 계층에 저장된 객체에 액세스하면 Amazon S3는 자동으로 해당 객체를 자주 사용하는 액세스 계층인 S3 Standard로 이동한다.
⑤ S3 Glacier Instant Retrieval: 즉각적인 액세스가 필요한 아카이브 데이터에 적합하다. 몇 밀리초 만에 객체 검색 가능하며, 아카이브 스토리지 옵션 중에서 선택할 때는 보관된 객체를 얼마나 빨리 검색해야 하는지 고려해야 한다. S3 Glacier Instant Retrieval 스토리지 클래스에 저장된 객체는 S3 Standard와 동일한 성능으로 몇 밀리초 만에 검색할 수 있다.
⑥ S3 Glacier Flexible Retrieval: 데이터 보관용으로 설계된 저비용 스토리지다. 객체를 몇 분에서 몇 시간 이내에 검색하며, S3 Glacier Flexible Retrieval은 데이터 보관에 이상적인 저비용 스토리지 클래스다. 예를 들어 이 스토리지 클래스를 사용하여 보관된 고객 레코드나 오래된 사진 또는 동영상 파일을 저장할 수 있다. S3 Glacier Flexible Retrieval에 보관된 데이터는 1분~12시간 내에 검색할 수 있다.
⑦ S3 Glacier Deep Archive: 가장 저렴한 객체 스토리지 클래스로 보관에 적합하다. 12시간 이내에 객체를 검색하며, S3 Deep Archive는 일 년에 한두 번 액세스되는 데이터의 장기 보존 및 디지털 보존을 지원한다. 이 스토리지 클래스는 AWS 클라우드에서 비용이 가장 저렴한 스토리지로, 데이터 검색 시간은 12~48시간이다. 이 스토리지 클래스는 모든 객체가 최소한 3개의 지리적으로 분산된 가용 영역에 복제되고 저장된다.
⑧ S3 Outposts: Amazon S3 Outposts에 S3 버킷을 생성한다. AWS Outposts에서 더 쉽게 데이터를 검색, 저장 및 액세스가 가능하다. Amazon S3 Outposts는 온프레미스 AWS Outposts 환경에 객체 스토리지를 제공한다. Amazon S3 Outposts는 Outpost에 있는 여러 개의 디바이스와 서버에 데이터를 내구성이 높고 중복되게 저장하도록 설계되어 있다. 데이터를 온프레미스 애플리케이션 가까이 유지하여 까다로운 성능 요구 사항을 충족해야 하고 로컬 데이터 레지던스 요구 사항이 있는 워크로드에 적합하다.
파일 스토리지
파일 스토리지에서는 여러 클라이언트(예: 사용자, 애플리케이션, 서버 등)가 공유 파일 폴더에 저장된 데이터에 액세스할 수 있다. 이 접근 방식에서는 스토리지 서버가 블록 스토리지를 로컬 파일 시스템과 함께 사용하여 파일을 구성한다. 클라이언트는 파일 경로를 통해 데이터에 액세스한다. 블록 스토리지 및 객체 스토리지와 비교하면, 파일 스토리지는 많은 수의 서비스 및 리소스가 동시에 동일한 데이터에 액세스해야 하는 사용 사례에 이상적이다. Amazon Elastic File System(Amazon EFS)은 AWS 클라우드 서비스 및 온프레미스 리소스와 함께 사용되는 확장 가능한 파일 시스템이다. 파일을 추가 또는 제거하면 Amazon EFS가 자동으로 확장하거나 축소된다. 애플리케이션을 중단하지 않고 온디맨드로 페타바이트 규모로 확장할 수 있다.
Amazon EBS와 Amazon EFS 비교
① Amazon EBS 볼륨은 단일 가용 영역에 데이터를 저장한다. Amazon EC2 인스턴스를 EBS 볼륨에 연결하려면 Amazon EC2 인스턴스와 EBS 볼륨 모두 동일한 가용 영역에 상주해야 한다.
② Amazon EFS는 리전별 서비스다. 이 서비스는 여러 가용 영역에 걸쳐 데이터를 저장한다. 중복 스토리지를 사용하면 파일 시스템이 위치한 리전의 모든 가용 영역에서 동시에 데이터에 액세스할 수 있다. 또한 온프레미스 서버는 AWS Direct Connect를 사용하여 Amazon EFS에 액세스할 수 있다.
관계형 데이터베이스
관계형 데이터베이스에서는 데이터가 다른 데이터 부분과 관련된 방식으로 저장된다. 관계형 데이터베이스의 예로 카페의 인벤토리 관리 시스템을 들 수 있다. 데이터베이스의 각 레코드에는 제품 이름, 크기, 가격 등 단일 항목에 대한 데이터가 포함된다. 관계형 데이터베이스는 정형 쿼리 언어(SQL)를 사용하여 데이터를 저장하고 쿼리한다. 이러한 접근 방식은 데이터를 쉽게 이해할 수 있고 일관되며 확장 가능한 방식으로 저장할 수 있다. 예를 들어 카페 점주는 가장 자주 구입하는 음료가 미디엄 라떼인 모든 고객을 식별하기 위해 SQL 쿼리를 작성할 수 있다.
관계형 데이터베이스의 예시는 다음과 같다.
ID | 제품 이름 | 크기 | 가격 |
1 | 축구공 | Free | 8만원 |
2 | 축구 유니폼 | M | 22만원 |
Amazon Relational Database Service
Amazon Relational Database Service(Amazon RDS)는 AWS 클라우드에서 관계형 데이터베이스를 실행할 수 있는 서비스다. Amazon RDS는 하드웨어 프로비저닝, 데이터베이스 설정, 패치 적용 백업과 같은 작업을 자동화하는 관리형 서비스다. 이러한 기능을 사용하면 관리 작업을 수행하는 데 드는 시간을 줄이고 데이터를 사용하여 애플리케이션을 혁신하는 데 더 많은 시간을 할애할 수 있다. Amazon RDS를 다른 서비스와 통합하면 AWS Lambda를 사용하여 서버리스 애플리케이션에서 데이터베이스를 쿼리하는 등 비즈니스 및 운영 요구 사항을 충족할 수 있다. Amazon RDS는 다양한 보안 옵션을 제공한다. 대부분의 Amazon RDS 데이터베이스 엔진이 저장 시 암호화(데이터가 저장되는 동안 데이터를 보호) 및 전송 중 암호화(데이터를 전송 및 수신하는 동안 데이터를 보호)를 제공한다.
Amazon RDS 데이터베이스 엔진
Amazon RDS는 메모리, 성능 또는 입/출력(I/O)에 최적화된 6개의 데이터베이스 엔진에서 사용할 수 있다. 지원되는 데이터베이스 엔진은 다음과 같다.
① Amazon Aurora
② PostgreSQL
③ MySQL
④ MariaDB
⑤ Oracle Database
⑥ Microsoft SQL Server
Amazon Aurora
Amazon Aurora는 엔터프라이즈급 관계형 데이터베이스다. 이 데이터베이스는 MySQL 및 PostgreSQL 관계형 데이터베이스와 호환된다. 표준 MySQL 데이터베이스보다 최대 5배 빠르며 표준 PostgreSQL 데이터베이스보다 최대 3배 빠르다. Amazon Aurora는 데이터베이스 리소스의 신뢰성 및 가용성을 유지하면서도 불필요한 입/출력(I/O) 작업을 줄여 데이터베이스 비용을 절감한다. 따라서 워크로드에 고가용성이 필요한 경우 Amazon Aurora를 고려해볼 필요가 있다. 이 데이터베이스는 6개의 데이터 복사본을 3개의 가용 영역에 복제하고 지속적으로 Amazon S3에 데이터를 백업한다.
비관계형 데이터베이스
비관계형 데이터베이스에서는 테이블을 생성한다. 테이블은 데이터를 저장하고 쿼리할 수 있는 장소다. 비관계형 데이터베이스는 행과 열이 아닌 구조를 사용하여 데이터를 구성하기 때문에 ‘NoSQL 데이터베이스’라고도 한다. 비관계형 데이터베이스의 구조적 접근 방식 중 한 유형은 키-값 페어다. 키-값 페어에서는 데이터가 항목(키)으로 구성되고 항목은 속성(값)을 갖는다. 속성을 데이터의 여러 기능으로 생각할 수 있다. 키-값 데이터베이스에서는 언제든지 테이블의 항목에서 속성을 추가하거나 제거할 수 있다. 또한 테이블의 모든 항목에 동일한 속성이 있어야 하는 것은 아니다.
비관계형 데이터베이스 내 데이터의 예시는 다음과 같다.
키 | 값 |
1 | 이름: 김구티 주소: 서울시 김구 이맛있동 좋아하는 음료: 제로펩시 라임 |
2 | 이름: 김티구 주소: 100 Main Street 생일: 12월 25일 |
Amazon DynamoDB
Amazon DynamoDB는 키-값 데이터베이스 서비스다. 모든 규모에서 한 자릿수 밀리초의 성능을 제공한다. DynamoDB의 기능은 다음과 같다.
①서버리스: DynamoDB는 서버리스이므로 서버를 프로비저닝, 패치 적용 또는 관리할 필요가 없다. 또한 소프트웨어를 설치, 유지 관리, 운영할 필요도 없다.
② 자동 크기 조정: 데이터베이스 크기가 축소 또는 확장되면 DynamoDB는 용량 변화에 맞춰 자동으로 크기를 조정하면서도 일관된 성능을 유지한다. 따라서 크기를 조정하는 동안에도 고성능이 필요한 사용 사례에 적합한 선택이다.
Amazon Redshift
Amazon Redshift는 빅 데이터 분석에 사용할 수 있는 데이터 웨어하우징 서비스다. 이 서비스는 여러 원본에서 데이터를 수집하여 데이터 간의 관계 및 추세를 파악하는 데 도움이 되는 기능을 제공한다.
AWS Database Migration Service(AWS DMS)
AWS Database Migration Service(AWS DMS)는 관계형 데이터베이스, 비관계형 데이터베이스 및 기타 유형의 데이터 저장소를 마이그레이션할 수 있는 서비스다. AWS DMS를 사용하면 원본 데이터베이스와 대상 데이터베이스 간에 데이터를 이동할 수 있다. 원본 데이터베이스와 대상 데이터베이스는 유형이 동일할 필요가 없다. 마이그레이션하는 동안 원본 데이터베이스가 계속 작동하므로 데이터베이스를 사용하는 애플리케이션의 가동 중지 시간을 줄일 수 있다.
예를 들어 온프레미스에서 Amazon EC2 인스턴스 또는 Amazon RDS에 저장된 MySQL 데이터베이스가 있다. MySQL 데이터베이스가 원본 데이터베이스라고 하는 것이다. 이때 AWS DMS를 사용하여 Amazon Aurora 데이터베이스와 같은 대상 데이터베이스로 데이터를 마이그레이션할 수 있다.
AWS DMS의 다른 사용 사례
① 개발 및 테스트 데이터베이스 마이그레이션: 프로덕션 사용자에게 영향을 주지 않고 개발자가 프로덕션 데이터에서 애플리케이션을 테스트할 수 있도록 지원한다.
② 데이터베이스 통합: 여러 데이터베이스를 단일 데이터베이스로 결합한다.
③ 연속 복제: 일회성 마이그레이션을 수행하는 것이 아니라, 데이터의 진행 중 복제본을 다른 대상 원본으로 전송한다.
추가 데이터베이스 서비스
① Amazon DocumentDB: Amazon DocumentDB는 MongoDB 워크로드를 지원하는 문서 데이터베이스 서비스다.(MongoDB는 문서 데이터베이스 프로그램이다.)
② Amazon Neptune: Amazon Neptune은 그래프 데이터베이스 서비스다. Amazon Neptune을 사용하여 추천 엔진, 사기 행위 탐지, 지식 그래프와 같이 고도로 연결된 데이터 세트로 작동하는 애플리케이션을 빌드하고 실행할 수 있다.
③ Amazon Quantum Ledger Database(Amazon QLDB): Amazon Quantum Ledger Database(Amazon QLDB)는 원장 데이터베이스 서비스다. Amazon QLDB를 사용하여 애플리케이션 데이터에 발생한 모든 변경 사항의 전체 기록을 검토할 수 있다.
④ Amazon Managed Blockchain: Amazon Managed Blockchain(opens in a new tab)은 오픈 소스 프레임워크를 사용하여 블록체인 네트워크를 생성하고 관리하는 데 사용할 수 있는 서비스다.
⑤ Amazon ElastiCache: Amazon ElastiCache는 자주 사용되는 요청의 읽기 시간을 향상시키기 위해 데이터베이스 위에 캐싱 계층을 추가하는 서비스다. 이 서비스는 두 가지 데이터 스토어 Redis 및 Memcached를 지원한다.
⑥ Amazon DynamoDB Accelerator: Amazon DynamoDB Accelerator(DAX)는 DynamoDB용 인 메모리 캐시다. 응답 시간을 한 자릿수 밀리초에서 마이크로초까지 향상시킬 수 있다.
'보안 > 교육' 카테고리의 다른 글
AWS Cloud Practitioner Essentials #7 (1) | 2024.08.29 |
---|---|
AWS Cloud Practitioner Essentials #6 (1) | 2024.08.29 |
AWS Cloud Practitioner Essentials #4 (1) | 2024.08.28 |
AWS Cloud Practitioner Essentials #3 (2) | 2024.08.27 |
AWS Cloud Practitioner Essentials #2 (3) | 2024.08.27 |