CLF-C02 Cloud Computing
EC2 인스턴스 유형
- 인스턴스 유형은 인스턴스 패밀리로 구분되며, 특정 유형의 작업에 최적화됨
- CPU, 메모리, 스토리지 및 네트워크 용량의 다양한 조합으로 제공
- 범용, 컴퓨팅 최적화, 메모리 최적화, 엑셀러레이티드 컴퓨팅, 스토리지 최적화 등의 패밀리 존재
- 범용 : 균형적인 자원, 웹서비스나 코드리포지토리 같은 다양한 워크로드에 사용
- 컴퓨팅 최적화 : 게임 서비스, 고성능 컴퓨팅, 하이파워 컴퓨팅, 과학 모델링
- 메모리 최적화 : 데이터 베이스와 같은 메모리 집약적인 작업에 적합
- 엑셀러레이티드 컴퓨팅 : 부동 소수점 계산, 그래픽 처리 혹은 머신 러닝 모델 학습드에 적합
- 스토리지 최적화 : 대규모의 데이터를 빠르게 처리해야 하는 데이터 웨어 하우스나 하둡과 같은 워크로드에 적합
EC2 요금
-
온디멘드 요금제
-
아무런 사전 계약이나 허가없이 사용 가능
-
선결제 비용이나 약정 미적용
-
사용한 컴퓨팅 시간에 대해서 비용 지불
-
1년 이상 지속되는 워크로드에는 권장 X
-
-
Savings Plan
-
일정한 사용량을 약정하는 대가로 EC2를 저렴하게 제공
-
1년 or 3년의 기간으로 약정하면 사용한 시간에서 약정한 용량만큼 할인된 비용
-
유연한 가격 책정 모델로 72%까지 절약 가능
-
==EC2뿐만 아니라 Fargate, Lambda== 사용량에도 적용할 수 있는 유연한 요금제
-
인스턴스 유형에 상관없이 선택한 ==리전==과 함께 동일한 ==인스턴스 패밀리== 사용시 비용 절감 효과
-
-
Cost Explorer
-
AWS 비용 및 사용량을 시각화
-
Savings Plan옵션을 고려하고 있는 경우, 7, 30, 60일 동안의 사용량을 분석
-
Savings Plans를 위한 맞춤형 권장사항 제공
-
-
예약 인스턴스(RI)
-
종류
-
표준 예약 인스턴스 : ==인스턴스 유형 및 크기, 플랫폼, 테넌시 등이 고정, 가용영역을 지정 가능==
-
컨버터블 예약 인스턴스 : EC2 인스턴스를 여러 가용영역 또는 다양한 인스턴스 유형에서 실행해야 하는 경우 적합
-
-
꾸준한 상태의 워크로드나 사용량이 예측 가능한 워크로드에 적합
-
온디맨드 대비 최대 75% 저렴
-
1년, 3년 약정하면 할인 가능하며, 3가지 결제 방법 지원
-
전액 선결제 : 약정 시점에 전액 지불
-
부분 선결제 : 약정할 때 금액 일부를 지불
-
선결제 없음 : 후불로 지급
-
-
예약기간 종료 후 온디멘드 요금 부과
-
-
스팟 인스턴스
-
온디맨드 대비 최대 90% 할인 가능
-
AWS가 필요시 언제든 인스턴스 회수
-
2분전에 경보가 제공
-
배치 워크로드에 적합
-
스팟 요청을 했는데 EC2용량을 사용할 수 없다면, 사용할 수 있을때까지 요청이 성공하지 못할 수 있음.
-
-
전용 호스트
-
EC2가 동작하는 물리적인 호스트를 전용으로 사용
-
다른 사용자와 물리적 호스트, 서버머신을 공유하지 않음.
-
기존 소켓당, 코어당 또는 VM당 소프트웨어 라이선스를 사용하여 라이선스 규정 준수를 유지
-
유형
-
온디맨드 전용 호스트
-
전용 호스트 예약
-
-
EC2 모든 옵션중에서 가장 비쌈
-
EC2 크기 조정
-
확장성
- 필요한 리소스만으로 시작하고 확장 및 축소를 통해 수요 변화에 자동으로 대응
-
Amazon EC2 Auto Scaling
- 동적 조정 : 수요에 따라 자동으로 수평 또는 수직으로 인스턴스가 확장되게 설정 가능
- 예측 조정 : 예측된 수요에 따라 적절한 수의 Amazon EC2 인스턴스를 자동으로 예약
- 증가 방법
- 수직 확장
- 수평 확장
-
Auto Scaling 그룹의 크기를 구성할 때 최소 Amazon EC2 인스턴스 수를 1로 설정
- 즉, 하나 이상의 인스턴스가 항상 실행 중
-
크기 조정 방식
-
최소 용량 : 설정에 따라 다르나 최소용량은 Amazon EC2 인스턴스 1개
-
희망 용량 : 일반적으로 실행되는 기본적은 인스턴스 수량
- 지정하지 않으면 희망 용량은 최소용량으로 설정
-
최대 용량 : 수요 증가에 대응하여 확장하되, 최대 갯수를 제한할 수량
-
Elastic Load Balancing (ELB)
-
어플리케이션 트래픽을 Amazon EC2 인스턴스와 같은 여러 리소스에 자동으로 분산하는 서비스
-
Auto Scaling 그룹으로 들어오는 모든 웹 트래픽의 단일 접점 역할을 담당
-
리전 단위의 구조
-
자동으로 확장
-
트래픽이 증가하면 비용추가 없이 추가 처리량을 처리하도록 설계
-
ELB는 외부 트래픽 뿐만 아니라 내부 트래픽 모두 처리
-
종류
-
Application Load Balancer (ALB)
- HTTP 및. HTTPS 트래픽의 로드 밸런싱에 가장 적합
- WebSocket을. 사용하여 경로 기반 라우팅, 호스트 기반 라우팅 및 양방향 통신 채널을 지원z
- 7계층에서 작동
-
Network Load Balancer (NLB)
- 최고의 성능이 요구되는 TCP(전송 제어 프로토콜), UDP(사용자 데이터그램 프로토콜) 및. TLS(전송 계층. 보안) 트래픽의 로드 밸런싱에 가장 적합
- 4 계층에서 동작
-
Classic Load Balancer (CLB)
- Amazon EC2 인스턴스에. 대한 기본 로드 밸런싱을 제공
-
Gateway Load Balancer
- 3계층 게이트웨이와 4계층 로드밸런싱 기능을 모두 제공
- 패킷의 어떤 부분도 변경하지 않는 장치
-
메시징 및 대기열
-
Amazon Simple Notification Service (Amazon SNS)
- 게시 및 구독 서비스
- 게시자는 SNS 주제를 사용하여 구독자에게 메시지를 게시
- 구독자는 웹 서버, 이메일 주소, AWS Lambda함수 또는 그밖의 여러 옵션이 될 수 있음.
-
Amazon Simple Queue Service. (Amazon SQS)
- 메시지 손실이나 다른 서비스 사용 없이 소프트웨어 구성 요소 간에 메시지를 전송, 수신 가능
- SQS에서는 어플리케이션이 메시지를 대기열로 전송
- 사용자 또는 서비스는 대기열에서 메시지를 검색하여 처리한 후 대기열에서 삭제
추가 컴퓨팅 서비스
-
EC2는 유연하고, 안정적이며, 확장 가능하지만 인스턴스 관리가 필요함.
-
Serverless 서비스는 서버 프로비저닝이나 관리를 AWS가 처리
- 처리량 및 메모리와 같은 소비단위를 수정하여 어플리케이션 용량을 조정 가능
AWS Lambda
- AWS Lambda는 서버를 프로비저닝하거나 관리할 필요 없이 코드를 실행할 수 있는 서비스
- 사용한 컴퓨팅 시간에 대해서만 비용 지불
- 코드를 실행하는 동안에만 요금이 부과
컨테이너
- 컨테이너는 어플리케이션의 코드와 종속성을 하나의 객체로 패키징하는 표준방식
- 보안성, 신뢰성, 확장성 요구 사항이 매우 중요한 프로세스 및 워크플로에도 컨테이너를 사용
Amazon Elastic Container Service (Amazon ECS)
- AWS에서 컨테이너식 어플리케이션을 실행하고 확장할 수 있는 확장성이 뛰어난 고성능 컨테이너 관리 시스템
- Docker Container 지원
- 오픈소스 Docker Community Edition 및 구독기반의 Docker Enterprise Edition의 사용을 지원
Amazon Elastic Kubernetes Service (Amazon EKS)
- AWS에서 Kubernetes를 실행하는데 사용할 수 있는 완전관리형 서비스
AWS Fargate
- Container용 서버리스 컴퓨팅 엔진
- Amazon ECS와 Amazon EKS에서 작동
- 서버를 프로비저닝하거나 관리할 필요가 없음
- 컨테이너를 실행하는 데 필요한 리소스에 대해서만 비용을 지불