AWS Cloud Practitioner Essentials (Korean)
클라우드 컴퓨팅 배포 모델
클라우드 컴퓨팅의 이점
EC2
Elastic Load Balancing
메시징 및 대기열
추가 컴퓨팅 서비스
클라우드 컴퓨팅 배포 모델
-
클라우드 기반
애플리케이션의 모든 부분을 클라우드에서 실행합니다.
-
온프레미스
프라이빗 클라우드 배포
가상화 및 리소스 관리 도구를 사용하여 리소스를 배포합니다.
-
하이브리드
클라우드 기반 리소스를 온프레미스 인프라에 연결합니다.
클라우드 컴퓨팅의 이점
- 선행 비용을 가변 비용으로 대체
- 데이터 센터 운영 및 유지 관리에 비용 투자 불필요
- 용량 추정 불필요
- 규모의 경제로 얻게 되는 이점
- 속도 및 민첩성 향상
EC2
Amazon Elastic Compute Cloud
- AWS 클라우드에서 가상 서버를 사용하여 애플리케이션을 실행할 수 있습니다.
빠르고 간단하고 유연하며, 비용적으로 절감이 가능합니다.
인스턴스 유형
- 범용 인스턴스
- 웹 서버, 애플리케이션 서버, 게임 서버와 같은 워크로드에 사용
- 컴퓨팅 최적화 인스턴스
- 웹 서버, 애플리케이션 서버, 게임 서버와 같은 워크로드에 사용(+고성능)
- 컴퓨팅 최적화 인스턴스를 단일 그룹에서 많은 트랜잭션을 처리해야 하는 일괄 처리 워크로드에 사용
- 배치처리
- 메모리 최적화 인스턴스
- 메모리에서 대규모 데이터 세트를 처리하는 워크로드
- 액셀러레이티드 컴퓨팅 인스턴스
- 하드웨어 액셀러레이터 또는 코프로세서를 사용하여 일부 기능을 CPU에서 실행되는 소프트웨어에서보다 더 효율적으로 수행
- 부동 소수점 수 계산, 그래픽 처리, 데이터 패턴 일치
- 그래픽 애플리케이션, 게임 스트리밍, 애플리케이션 스트리밍
- 스토리지 최적화 인스턴스
EC2 요금
- 온디맨드
중단할 수 없는 불규칙한 단기 워크로드
사용한 컴퓨팅 시간에 대해서만 비용을 지불
- Amazon EC2 Savings Plans
1년 또는 3년 기간 동안 일정한 컴퓨팅 사용량을 약정하여 컴퓨팅 비용을 절감할 수 있습니다.
약정을 초과한 사용량에 대해서는 일반 온디맨드 요금이 부과됩니다.
- AWS Cost Explorer
지난 7일, 30일 또는 60일 동안의 Amazon EC2 사용량을 분석해서 적절한 사용량을 예상할 수 있습니다.
- 예약 인스턴스
온디맨드 인스턴스를 사용할 때 적용되는 결제 할인 옵션입니다.
SavingPlan과 차이점은 기간만을 약정한다는 것
- 스팟 인스턴스
시작 및 종료 시간이 자유롭거나 중단을 견딜 수 있는 워크로드에 적합합니다.
필요에 따라 시작 및 중지할 수 있는 백그라운드 처리 작업
- 스팟 인스턴스를 시작한 후 용량을 더 이상 사용할 수 없거나 스팟 인스턴스에 대한 수요가 늘면 인스턴스가 중단될 수 있습니다. 이 경우 백그라운드 처리 작업에는 문제가 없을 수 있습니다. 하지만 앞에서 예로 든 애플리케이션 개발 및 테스트에서는 예기치 않은 중단을 방지하는 것이 좋습니다. 따라서 해당 작업에 더 적합한 다른 EC2 인스턴스 유형을 선택합니다.
(중단을 견딜 수 있느냐, 없느냐)
- 전용 호스트
사용자 전용의 Amazon EC2 인스턴스 용량을 갖춘 물리적 서버
(비싸다)
EC2 확장성
수요 변화에 자동으로 대응하도록 아키텍처를 설계, 사용한 리소스에 대해서만 비용을 지불하고, 용량부족으로 인한 고객의 요구사항을 불만족시킨다는것을 방지할 수 있다.
Elastic Load Balancing
(그 유명한 로드밸런싱)
들어오는 애플리케이션 트래픽을 Amazon EC2 인스턴스와 같은 여러 리소스에 자동으로 분산하는 AWS 서비스
- Auto Scaling 그룹으로 들어오는 모든 웹 트래픽의 단일 접점 역할을 합니다.
(아래의 자료 참조)
https://medium.com/harrythegreat/aws-%EB%A1%9C%EB%93%9C%EB%B0%B8%EB%9F%B0%EC%8B%B1-%EC%95%8C%EC%95%84%EB%B3%B4%EA%B8%B0-9fd0955f859e
메시징 및 대기열
완충기억장치
- 모놀리식 애플리케이션
밀결합된 아키텍처의 단점
메시지를 직접보낼 경우, 하나의 장치가 장애가 날 경우, 연속장애가 일어날 수 있습니다.
- 마이크로서비스
소결합된 아키텍처
단일장애로 연속장애가 일어나지 않습니다.
Amazon SQS
(Amazon Simple Queue Service)
- 메시지 전송, 메시지 저장, 메시지 수신
- 메시지 손실이나 다른 서비스 사용 없이 소프트웨어 구성 요소 간에 메시지를 전송, 저장, 수신할 수 있습니다.
- 사용자 또는 서비스는 대기열에서 메시지를 검색하여 처리한 후 대기열에서 삭제합니다.
Amazon SNS
(Amazon Simple Notification Service)
- 주제를 사용하여 구독자에게 메시지를 게시합니다. 이는 커피숍에서 계산원이 음료를 만드는 바리스타에게 주문 사항을 전달하는 것과 비슷합니다.
- 웹서버, 모바일 푸시, SNS, 이메일, Lambda함수 등
추가 컴퓨팅 서비스
서버리스 컴퓨팅
- 코드가 서버에서 실행되지만 이러한 서버를 프로비저닝하거나 관리할 필요가 없다는 뜻입니다.
- 서버리스 애플리케이션을 자동으로 확장할 수 있는 유연성입니다.
- 서버리스 컴퓨팅은 처리량 및 메모리와 같은 소비 단위를 수정하여 애플리케이션의 용량을 조정할 수 있습니다.
AWS Lambda
- 코드를 실행하는 동안에만 요금이 부과됩니다.
컨테이너식 컴퓨팅
- 컨테이너는 애플리케이션의 코드와 종속성을 하나의 객체로 패키징하는 표준 방식을 제공합니다.
Amazon ECS
Amazon Elastic Container Service
- AWS에서 컨테이너식 애플리케이션을 실행하고 확장할 수 있는 확장성이 뛰어난 고성능 컨테이너 관리 시스템입니다.
- Docker 컨테이너를 지원합니다.
- Amazon ECS에서는 API 호출을 사용하여 Docker 지원 애플리케이션을 시작 및 중지할 수 있습니다.
Amazon EKS
Amazon Elastic Kubernetes Service
- Kubernetes는 컨테이너식 애플리케이션을 대규모로 배포하고 관리하는 데 사용할 수 있는 오픈 소스 소프트웨어입니다.
AWS Fargate
- 컨테이너용 서버리스 컴퓨팅 엔진으로, Amazon ECS와 Amazon EKS에서 작동합니다.
- 서버를 프로비저닝하거나 관리할 필요가 없습니다. AWS Fargate는 자동으로 서버 인프라를 관리합니다. 애플리케이션 혁신과 개발에 더 집중할 수 있으며, 컨테이너를 실행하는 데 필요한 리소스에 대해서만 비용을 지불하면 됩니다.