Amazon EC2 인스턴스 유형
- 범용 인스턴스
: 컴퓨팅, 메모리, 네트워킹 리소스를 균형 있게 제공
: 애플리케이션 서버, 게임 서버, 엔터프라이즈 애플리케이션용 백엔드 서버, 중소 규모 데이터베이스
- 컴퓨팅 최적화 인스턴스
: 고성능 프로세서를 활용하는 컴퓨팅 집약적인 애플리케이션에 적합
: 컴퓨팅 최적화 인스턴스는 웹 서버, 애플리케이션 서버, 게임 서버와 같은 워크로드에 사용할 수 있지만 고성능 웹 서버, 컴퓨팅 집약적 애플리케이션 서버 및 게임 전용 서버에 적합하다는 점이 다름
: 단일 그룹에서 많은 트랜잭션을 처리해야 하는 일괄 처리 워크로드에 사용
- 메모리 최적화 인스턴스
: 메모리에서 대규모 데이터 세트를 처리하는 워크로드를 위한 빠른 성능을 제공하기 위해 설계됨
- 액셀러레이티드 컴퓨팅 인스턴스
: 하드웨어 액셀러레이터 또는 코프로세서를 사용하여 일부 기능을 CPU에서 실행되는 소프트웨어에서보다 더 효율적으로 수행
: 기능의 예로 부동 소수점 수 계산, 그래픽 처리, 데이터 패턴 일치가 있음
: 그래픽 애플리케이션, 게임 스트리밍, 애플리케이션 스트리밍과 같은 워크로드에 적합
- 스토리지 최적화 인스턴스
: 로컬 스토리지의 대규모 데이터 세트에 대한 순차적 읽기 및 쓰기 액세스가 많이 필요한 워크로드를 위해 설계
: 적합한 예로는 분산 파일 시스템, 데이터 웨어하우징 애플리케이션, 고빈도 온라인 트랜잭션 처리(OLTP) 시스템 등이 있음
: 스토리지 최적화 인스턴스는 지연 시간이 짧은 임의 IOPS를 애플리케이션에 제공하도록 설계되었음
* IOPS(초당 입출력 작업 수): 스토리지 디바이스의 성능을 측정하는 지표
Amazon EC2 요금
- 온디맨드
: 중단할 수 없는 불규칙한 단기 워크로드가 있는 애플리케이션에 매우 적합
: 선결제 비용이나 최소 약정은 적용되지 않으며 인스턴스는 중지될 때까지 계속 실행됨(사용한 컴퓨팅 시간에 대해서만 비용을 지불)
: 온디맨드 인스턴스는 1년 이상 지속되는 워크로드에는 권장하지 않음, 예약 인스턴스를 사용하면 비용 절감 효과가 더 크기 때문
- Amazon EC2 Savings Plans
: 1년 또는 3년 기간 동안 일정한 컴퓨팅 사용량을 약정하여 컴퓨팅 비용을 절감할 수 있음
: 약정 사용량까지는 할인된 Savings Plan 요금이 청구되며 약정을 초과한 사용량에 대해서는 일반 온디맨드 요금이 부과되는 방식
- 예약 인스턴스
: 계정에서 온디맨드 인스턴스를 사용할 때 적용되는 결제 할인 옵션
: 표준 예약 및 컨버터블 예약 인스턴스는 1년 또는 3년 약정으로, 정기 예약 인스턴스는 1년 약정으로 구입할 수 있음(3년 약정 옵션을 통해 더 큰 비용 절감 혜택을 받을 수 있다.)
: 약정 기간이 끝나면 중단 없이 Amazon EC2 인스턴스를 계속 사용할 수 있으나 인스턴스 종료
, 인스턴스 속성과 일치하는 새 예약 인스턴스를 구입
중 하나를 수행할 때까지는 온디맨드 요금이 부과됨.
- 스팟 인스턴스
: 시작 및 종료 시간이 자유롭거나 중단을 견딜 수 있는 워크로드에 적합
: 미사용 Amazon EC2 컴퓨팅 용량을 사용하며 온디맨드 요금의 최대 90%까지 비용을 절감할 수 있음
- 전용 호스트
: 사용자 전용의 Amazon EC2 인스턴스 용량을 갖춘 물리적 서버
: 기존 소켓당, 코어당 또는 VM당 소프트웨어 라이선스를 사용하여 라이선스 규정 준수를 유지할 수 있고 Amazon EC2 옵션 중에서 전용 호스트가 가장 비용이 많이 든다.
Amazon EC2 Auto Scaling
- 변화하는 애플리케이션 수요에 따라 Amazon EC2 인스턴스를 자동으로 추가하거나 제거할 수 있고, 필요에 따라 인스턴스를 자동으로 조정하여 애플리케이션 가용성을 효과적으로 유지할 수 있음.
- 동적 조정(수요 변화에 대응), 예측 조정(예측된 수요에 따라 적절한 수의 Amazon EC2 인스턴스를 자동으로 예약)이라는 두 가지 접근 방식을 사용
- Auto Scaling 그룹의 크기를 구성할 때 최소 Amazon EC2 인스턴스 수를 1로 설정할 수 있음.
- Auto Scaling 그룹에서 희망 Amazon EC2 인스턴스 수를 지정하지 않으면 희망 용량은 기본적으로 최소 용량으로 설정된다.
Elastic Load Balancing
- 들어오는 애플리케이션 트래픽을 Amazon EC2 인스턴스와 같은 여러 리소스에 자동으로 분산하는 AWS 서비스
- Elastic Load Balancing과 Amazon EC2 Auto Scaling은 별도의 서비스이지만 서로 연동하여 Amazon EC2에서 실행되는 애플리케이션이 뛰어난 성능과 가용성을 제공한다.
Amazon Simple Notification Service(Amazon SNS)
- 게시/구독 서비스로 게시자는 Amazon SNS 주제를 사용하여 구독자에게 메시지를 게시한다.
- 구독자는 웹 서버, 이메일 주소, AWS Lambda 함수 또는 그 밖의 여러 옵션이 될 수 있음
Amazon Simple Queue Service(Amazon SQS)
- 메시지 대기열 서비스로 메시지 손실이나 다른 서비스 사용 없이 소프트웨어 구성 요소 간에 메시지를 전송, 저장, 수신할 수 있다.
- Amazon SQS에서는 애플리케이션이 메시지를 대기열로 전송하고 사용자 또는 서비스는 대기열에서 메시지를 검색하여 처리한 후 대기열에서 삭제한다.
AWS Lambda
- 서버를 프로비저닝하거나 관리할 필요 없이 코드를 실행할 수 있는 서비스
- AWS Lambda를 사용하는 경우 사용한 컴퓨팅 시간에 대해서만 비용을 지불하고, 코드를 실행하는 동안에만 요금이 부과됨
AWS 컨테이너 서비스
: 컨테이너는 애플리케이션의 코드와 종속성을 하나의 객체로 패키징하는 표준 방식을 제공하며 보안성, 안정성, 확장성 요구 사항이 매우 중요한 프로세스 및 워크플로에도 컨테이너를 적용한다.
- Amazon Elastic Container Service(Amazon ECS)
: AWS에서 컨테이너식 애플리케이션을 실행하고 확장할 수 있는 확장성이 뛰어난 고성능 컨테이너 관리 시스템
: Docker 컨테이너를 지원하며 오픈 소스 Docker Community Edition 및 구독 기반 Docker Enterprise Edition의 사용을 지원
: Amazon ECS에서는 API 호출을 사용하여 Docker 지원 애플리케이션을 시작 및 중지할 수 있음
- Amazon Elastic Kubernetes Service(Amazon EKS)
: Kubernetes를 실행하는 데 사용할 수 있는 완전 관리형 서비스
: 자원자로 구성된 대규모 커뮤니티에서 Kubernetes를 유지 관리하며, AWS는 Kubernetes 커뮤니티와 적극적으로 협력한다.
- AWS Fargate
: 컨테이너용 서버리스 컴퓨팅 엔진으로, Amazon ECS와 Amazon EKS에서 작동한다.
: AWS Fargate를 사용하는 경우 서버를 프로비저닝하거나 관리할 필요가 없으며 자동으로 서버 인프라를 관리한다.
Amazon Elastic Block Store(Amazon EBS)
- Amazon EC2 인스턴스에서 사용할 수 있는 블록 수준 스토리지 볼륨을 제공하는 서비스로 Amazon EC2 인스턴스를 중지 또는 종료하더라도 연결된 EBS 볼륨의 모든 데이터를 사용할 수 있음
- EBS 볼륨을 생성하려면 구성(예: 볼륨 크기 및 유형)을 정의하고 볼륨을 프로비저닝, 볼륨 생성 후 Amazon EC2 인스턴스에 연결할 수 있다.
- EBS 볼륨은 보존해야 하는 데이터를 위한 것이므로 데이터 백업이 중요하며 스냅샷을 생성하여 EBS 볼륨을 증분 백업할 수 있다.
- 증분 백업? 처음 볼륨을 백업하면 모든 데이터가 복사되고 이후의 백업에서는 가장 최근의 스냅샷 이후 변경된 데이터 블록만 저장된다.
Amazon Simple Storage Service(Amazon S3)
- 객체 수준 스토리지를 제공하는 서비스로 데이터를 버킷에 객체로 저장
- 이미지, 동영상, 텍스트 파일 등 모든 유형의 파일을 업로드할 수 있음
- Amazon S3는 저장 공간을 무제한으로 제공하며 저장할 수 있는 객체의 최대 파일 크기는 5TB
Amazon S3 스토리지 클래스
- Amazon S3에서는 사용한 만큼만 비용을 지불하며 비즈니스 및 비용 요구 사항에 맞춰 다양한 스토리지 클래스 중 (데이터를 검색할 빈도, 필요한 데이터 가용성) 고려하여 선택
- S3 Standard
: 객체에 대한 고가용성을 제공하고, 웹 사이트, 콘텐츠 배포, 데이터 분석 등 광범위한 사용 사례에 적합하다.
: 자주 액세스하는 데이터용으로 설계
: 최소 3개의 가용 영역에 데이터를 저장
- S3 Standard-Infrequent Access(S3 Standard-IA)
: 자주 액세스하지 않지만 고가용성을 요구하는 데이터에 이상적
: S3 Standard와 비슷하지만 스토리지 가격은 더 저렴하고 검색 가격은 더 높음
- S3 One Zone-Infrequent Access(S3 One Zone-IA)
: 단일 가용 영역에 데이터를 저장
: S3 Standard-IA보다 낮은 스토리지 가격
: 스토리지 비용을 절감하려는 경우 또는 가용 영역 장애가 발생할 경우 데이터를 손쉽게 재현할 수 있는 경우 이상적
- S3 Intelligent-Tiering
: 액세스 패턴을 알 수 없거나 자주 변화하는 데이터에 이상적
: 객체당 소량의 월별 모니터링 및 자동화 요금을 부과
: 사용자가 30일 연속 객체에 액세스하지 않으면 Amazon S3는 자동으로 S3 Standard-IA로 이동, 사용자가 자주 사용하지 않는 액세스 계층에 저장된 객체에 액세스하면 Amazon S3는 자동으로 해당 객체를 S3 Standard로 이동 시킨다.
- S3 Glacier
: 데이터 보관용으로 설계된 저비용 스토리지
: 객체를 몇 분에서 몇 시간 이내에 검색
- S3 Glacier Deep Archive
: 보관에 이상적인 가장 저렴한 객체 스토리지 클래스
: 객체를 12시간 이내에 검색
Amazon Elastic File System(Amazon EFS)
- AWS 클라우드 서비스 및 온프레미스 리소스와 함께 사용되는 확장 가능한 파일 시스템
- 파일을 추가 또는 제거하면 Amazon EFS가 자동으로 확장하거나 축소되고, 애플리케이션을 중단하지 않고 온디맨드로 페타바이트 규모로 확장할 수 있다.
EBS VS EFS 차이
EBS
: Amazon EBS 볼륨은 단일 가용 영역에 데이터를 저장합니다.
: Amazon EC2 인스턴스를 EBS 볼륨에 연결하려면 Amazon EC2 인스턴스와 EBS 볼륨 모두 동일한 가용 영역에 상주해야 합니다.
EFS
: Amazon EFS는 리전별 서비스입니다. 이 서비스는 여러 가용 영역에 걸쳐 데이터를 저장합니다.
: 중복 스토리지를 사용하면 파일 시스템이 위치한 리전의 모든 가용 영역에서 동시에 데이터에 액세스할 수 있습니다. 또한 온프레미스 서버는 AWS Direct Connect를 사용하여 Amazon EFS에 액세스할 수 있습니다.
Amazon Relational Database Service(Amazon RDS)
- AWS 클라우드에서 관계형 데이터베이스를 실행할 수 있는 서비스
- 하드웨어 프로비저닝, 데이터베이스 설정, 패치 적용 백업과 같은 작업을 자동화하는 관리형 서비스
- Amazon RDS 데이터베이스 엔진
: Amazon Aurora
: PostgreSQL
: MySQL
: MariaDB
: Oracle Database
: Microsoft SQL Server
Amazon Aurora
- 엔터프라이즈급 관계형 데이터베이스
- MySQL 및 PostgreSQL 관계형 데이터베이스와 호환되고, 표준 MySQL 데이터베이스보다 최대 5배 빠르며 표준 PostgreSQL 데이터베이스보다 최대 3배 빠르다.
- 데이터베이스 리소스의 안정성 및 가용성을 유지하면서도 불필요한 입/출력(I/O) 작업을 줄여 데이터베이스 비용을 절감한다.
- 6개의 데이터 복사본을 3개의 가용 영역에 복제하고 지속적으로 Amazon S3에 데이터를 백업하기에 워크로드에 고가용성이 필요한 경우 적합
Amazon DynamoDB
- 키-값 구성된 비관계형 데이터베이스
- 모든 규모에서 한 자릿수 밀리초의 성능을 제공한다.
- 서버리스
: DynamoDB는 서버를 사용하지 않으므로 서버를 프로비저닝, 패치 적용 또는 관리할 필요가 없음
: 소프트웨어를 설치, 유지 관리, 운영할 필요도 없다.
- 자동조정
: 데이터베이스 크기가 축소 또는 확장되면 DynamoDB는 용량 변화에 맞춰 자동으로 크기를 조정하면서도 일관된 성능을 유지한다.
: 크기를 조정하는 동안에도 고성능이 필요한 사용 사례에 적합한 선택
Amazon Redshift
- 데이터 분석에 사용할 수 있는 데이터 웨어하우징 서비스
- 여러 원본에서 데이터를 수집하여 데이터 간의 관계 및 추세를 파악하는 데 도움이 되는 기능을 제공
AWS Database Migration Service(AWS DMS)
- 관계형 데이터베이스, 비관계형 데이터베이스 및 기타 유형의 데이터 저장소를 마이그레이션할 수 있는 서비스
- 원본 데이터베이스와 대상 데이터베이스 간에 데이터를 이동할 수 있다.
- 마이그레이션하는 동안 원본 데이터베이스가 계속 작동하므로 데이터베이스를 사용하는 애플리케이션의 가동 중지 시간을 줄일 수 있음
추가 데이터베이스 서비스
- Amazon DocumentDB: MongoDB 워크로드를 지원하는 문서 데이터베이스 서비스
- Amazon Neptune: 그래프 데이터베이스 서비스, 추천 엔진, 사기 탐지, 지식 그래프와 같이 고도로 연결된 데이터 세트로 작동하는 애플리케이션을 빌드하고 실행
- Amazon Quantum Ledger Database(Amazon QLDB): 원장 데이터베이스 서비스로 애플리케이션 데이터에 발생한 모든 변경 사항의 전체 기록을 검토할 수 있음
- Amazon Managed Blockchain: 오픈 소스 프레임워크를 사용하여 블록체인 네트워크를 생성하고 관리하는 데 사용할 수 있는 서비스
- Amazon ElastiCache: 자주 사용되는 요청의 읽기 시간을 향상시키기 위해 데이터베이스 위에 캐싱 계층을 추가하는 서비스, 두 가지 데이터 저장소 Redis 및 Memcached를 지원
- Amazon DynamoDB Accelerator: (=) DAX는 DynamoDB용 인 메모리 캐시, 응답 시간을 한 자릿수 밀리초에서 마이크로초까지 향상시킬 수 있음
출처 : https://explore.skillbuilder.aws/learn/course/1928/play/6248/aws-cloud-practitioner-essentials-korean "AWS Cloud Practitioner Essentials"