AWS에서 제공하는 SAA 준비 교육 영상 컨텐츠를 글로 적었습니다.
이 모듈에서는 비용 최적화에 대해 설명한다.
비용에 최적화된 아키텍처 및 애플리케이션 설계의 몇 가지 모범 사례가 나와 있다.
비용에 최적화된 스토리지를 설계하는 방법을 결정한 다음 비용에 최적화된 컴퓨팅을 설계하는 방법을 결정한다.
비용 최적화의 핵심 개념은 사용한 만큼 지불하는 것이다. AWS에서는 사용한 만큼만 지불한다.
EC2 인스턴스를 끄면 비용 지불도 중단된다.
예약하는 경우 비용이 감소하고 예약을 통해 할인을 받을 수 있으며 예약을 하면 용량 우선 순위를 높일 수 있다.
많은 서비스 가격이 계층화되어 있으므로 대량 구매 할인을 받을 수 있다.
더 많이 사용할수록 서비스가 저렴해진다.
AWS에서 요금이 부과되는 세 가지 기본 특성
주로 비용을 지불하는 것은 컴퓨팅, 스토리지, 데이터 전송이다.
컴퓨팅 요금은 어떻게 정해질까?
다음은 컴퓨팅 비용을 평가할 때 고려해야 할 몇 가지 사항이다.
비용은 컴퓨팅 인스턴스가 실행된 시간이 기준이 된다.
시스템 구성에 따라 비용이 달라질 수 있다.
GPU 인스턴스는 비GPU 인스턴스보다 비용이 많이 든다.
예약 인스턴스 또는 스팟 인스턴스로 시스템을 온디맨드로 구입할 수 있다.
이로 인해 비용이 달라질 수 있다.
인스턴스 수는 가격에 영향을 미친다.
로드 밸런싱과 Auto Scaling은 인스턴스 수를 동적으로 늘리고 줄일 수 있다.
탄력적 IP는 사용하지 않아도 비용이 발생한다.
세부 모니터링은 세분화된 CloudWatch 지표를 제공하며 비용이 적게 든다.
마지막으로 운영 체제와 소프트웨어 패키지도 비용이 들 수 있다.
인스턴스 스토리지는 무료지만 휘발성이다.
기본 테넌시이건 전용 테넌시이건 EC2 요금은 인스턴스 패밀리와 관련된다.
마지막으로 선택하는 요금 모델도 연관된다.
예약 인스턴스
스팟 인스턴스
예약 인스턴스는 온디맨드보다 최대 75% 저렴할 수 있다.
예약 인스턴스는 아파트 월세를 내는 대신 아파트 임대 계약을 한다고 생각하면 된다.
임대 할인 혜택이 제공된다.
예약 인스턴스 안에도 몇 가지 유형이 있다.
컨버터블 에약 인스턴스는 다른 인스턴스 유형 및 크기로 전환할 수 있다.
정기 예약 인스턴스는 매주 몇 시간 식으로 특정 기간 동안 예약된다.
EC2 비용을 절감하는 또 다른 방법은 스팟 인스턴스를 사용하는 것이다.
스팟 인스턴스는 동적인 스팟 시장 가격을 기준으로 가격이 책정된다.
다만 입찰 가격 이상으로 가격이 올라가면 인스턴스를 잃을 위험이 있다.
하지만 이 문제를 해결할 몇 가지 방법이 있다.
입찰 가격 이상으로 가격이 오른 동안 최대 절전 모드를 사용하여 인스턴스를 절전 상태에 둘 수 있다.
또 다른 옵션은 스팟 시장에서 최대 6시간까지 시간 블록을 예약할 수 있는 스팟 블록이다.
잉요일 밤마다 일괄 작업을 실행해야 한다고 합시다. 이 작업은 90분 내에 완료되며 연기가 불가능합니다.
어떤 EC2 결제 모델을 사용해야 합니까?
A. 온디맨드
B. 예약
C. 정기 예약 인스턴스
D. 스팟
E. 블록 기간이 95분인 스팟 블록
A는 다른 옵션만큼 저렴하지 않기 때문에 제거한다.
B도 제거할 수 있다. 일주일 전체를 예약하는데 사용하지 않는 동안은 낭비이기 때문이다.
작업을 연기할 수 없기 때문에 D도 제거할 수 있다. 이것 역시 요구 사항 중 하나이다.
E도 제거할 수 있다. 시장 가격이 너무 높은 경우 작업을 연기할 수 없기 때문이다.
가격이 높지 않다면 괜찮은 옵션일 수 있다.
그러면 정답인 C. 정기 예약 인스턴스가 남는다.
Amazon EC2의 사용 비용을 추정하려면 다음을 고려한다.
스토리지 비용의 주요 요소는 스토리지 클래스, 스토리지 양, 요청 수, 전송되는 데이터 양이다.
하나씩 살펴보자.
데이터에 액세스하는 빈도에 따라 S3 Infrequent Access 또는 Glacier로 데이터를 옮겨 비용을 절약할 수 있다.
이러한 서비스의 비용은 상당히 저렴하다.
AWS는 2006년 이후 62차례 가격 인하를 단행했는데 이는 다양한 스토리지 클래스를 사용하여 비용을 절감하는 방법을 알려 주기 위함이었다.
현재 S3 및 Glacier 가격은 AWS 요금 페이지를 확인하자.
EBS에 저장된 데이터 비용은 어떻게 절감할 수 있을까?
Amazon EBS의 사용 비용을 추정하려면 다음을 고려한다.
EBS의 비용의 주요 요소는 다음과 같다.
프로비저닝하는 볼륨의 유형과 수, 요청한 IOPS 유형, 스냅샷을 생성하는 빈도, 스냅샷을 저장할 기간, 마지막으로 스냅샷을 다른 리전으로 이동하는 경우 데이터 전송 비용이 있다.
EBS 볼륨의 두 가지 유형은 SSD와 HDD이다.
HDD, 즉 하드 디스크 드라이브 볼륨은 더 저렴하지만 IOPS는 낮고 순차적 데이터에 유용하다.
SSD는 더 높은 IOPS를 제공하지만 더 비싸며 랜덤 액세스에 유용하다.
PDF 파일을 웹에서 공개적으로 사용할 수 있도록 해야 하는 경우가 있습니다. 고객은 브라우저를 사용하여 수백만 번 이 파일을 다운로드할 것입니다.
어떤 옵션이 가장 비용 효과적입니까?
A. S3 Standard에 파일 저장
B. S3 Standard IA에 파일 저장
C. Glacier에 파일 저장
D. EFS에 파일 저장
B는 제외해도 된다. 검색 비용이 저렴한 옵션이 필요하고 이 파일은 많이 다운로드된다.
Glacier에서는 파일에 쉽게 엑세스할 수 없기 때문에 C도 제거할 수 있다.
EFS는 블록 스토리지이고 퍼블릭 파일을 직접 지원하지 않는다.
파일 액세스를 중재하고 제공하려면 EC2 인스턴스가 필요하다.
그러면 A만 남는데 A는 꽤 좋은 옵션이다.
S3 Standard에 파일을 저장할 수 있다.
비용을 절감하는 또 다른 중요한 방법은 서버리스 아키텍처를 사용하는 것이다.
서버리스 아키텍처를 사용하면 EC2 인스턴스 유휴 시간에 대한 비용을 지불하지 않는다.
서버리스 아키텍처를 통해 컴퓨팅 워크로드를 줄일 수 있는 기회다.
컴퓨팅 로직이 Lambda 함수인 경우 호출당 비용을 지불한다.
그러면 리소스를 훨씬 효율적으로 활용할 수 있다.
정적 파일에는 S3를 사용할 수 있고 Lambda는 DynamoDB를 사용하여 상태를 저장할 수 있다.
API 게이트웨이를 사용하면 REST 엔드포인트를 Lambda에 연결하여 브라우저나 DP 클라이언트에서 웹을 통해 호출할 수 있다.
CloudFront는 비용 절감에도 도움이 된다.
데이터를 CloudFront에 캐싱하면 S3에서 데이터를 가져오지 않아도 된다.
S3와 CloudFront 간 데이터 이동은 데이터 전송 비용도 없다.
CloudFront를 사용하여 EC2 인스턴스에서 일부 작업을 오프로드할 수도 있다.
Amazon CloudFront의 사용 비용을 추정하려면 다음을 고려한다.
CloudFront를 통한 캐싱은 성능과 비용 최적화에 모두 긍정적인 영향을 미칠 수 있다.
CloudFront 비용은 콘텐츠를 배포할 범위, 즉 전 세계에 배포할지 아니면 특정 지역에 배포할지를 기준으로 결정된다.
요청 수와 데이터 전송 비용도 기준이 된다.