AWS 예산 설정
Billing and Cost Management
Bill
- 여기서 내가 어떤 부분으로 어떻게 청구되었는지 요금 조회 가능
Free Tier
- 현재 무료로 사용가능한 양 프리티어 한도조회 넘으면 돈내야 함
Budget ( Bugets and Planning)
- 예산 정책 설정
- create budget → Use a template → Zero spend budget (0.01달러 되는 순간 알림)
이때 Email recipients에 알람 받을 메일 주소 적어놔야함.
EC2 기초
EC2 sizing & configuration options
- OS : Linux , Windows, Mac OS
- CPU : How much compute power & cores
- RAM : How much random-access memory
- Storage space
- Network-attached (EBS & EFS)
- hardware : EC2 Instance Store
- Network card : speed of the card, Public IP address
- Firewall rules : security group
- Bootstrap script [configure at first launch] : EC2 User Data
핵심은 내가 원하는 만큼 옵션을 선택해서 대여할 수 있다.
EC2 User Data
bootstraping은 machine이 시작될 때 시작 될 명령어, 즉 처음 시작할 때 한번만 실행됨.
EC2 user data is used to automate boot tasks such as :
- Installing updates
- installing software
- Downloading common files from the internet
- etc..
EC2 User Data Script는 root user로 만 Control 가능 (sudo 명령어로 작동)
EC2 인스턴스 생성
- EC2 > Instance > Laaunch an instance
- Quick Start > Amazon Linux > Amazon Linux 2023 AMI
Architecrture : 64 bit - Instance type 설정 > free tier로 하려면 t2.micro 사용
- Key pair 생성
Key pair name : 맘대로 설정
Key pair type : RSA
Private key file format : .pem( mac, window 10 ) .pek( window 10 미만 putty 방식) - Network settings
Public IP 로 할거고
Security groups - Allow SSH traffic from > Anywhere 0.0.0.0/0
- Allow HTTP trafic from the internet > EC2로 웹사이트 띄우려면 써야함
- Storage (volumes)
details 에서 Delete on termination > Yes 로해야함 ⇒ EC2 인스턴스를 종료하면 그 볼륨도 삭제될 것이라는 의미. - Advanced > 맨밑으로 내려가서 User data
User data는 EC2만들때 1번만 실행될 명령어들 #!/bin/bash # Use this for your user data (script from top to bottom) # install httpd (Linux 2 version) yum update -y yum install -y httpd systemctl start httpd systemctl enable httpd echo "<h1>Hello World from $(hostname -f)</h1>" > /var/www/html/index.html
이렇게 하면 생성 완료
Public IP Address
- SSH 혹은 Web으로 접근할 ip 주소
- 인스턴스 stop 후 다시 만들 경우 public IP Address 바뀜.
그래서 이 public IP Address를 고정할 수 있는 Service가 있는거임
EC2 인스턴스 유형 (7종류)
- General Purpose = 흔히 보는 t3. m3. 으로 시작
Great for a diversity(다양성) of workloads such as web servers or code repositories
(웹 서버나 코드 저장소와 같은 다양한 워크로드에 적합합니다)
Good Balance at Compute, Memory, Networking - Compute Optimized = C 로 시작
Great for compute-intensive tasks that require high performance processors
(고성능 프로세서가 필요한 컴퓨팅 집약적인 작업에 적합합니다)
Batch processing workloads
Media transcodeing
High performance web servers
High performance computing (HPC)
Scientific modeling & machine learning
Dedicated gaming servers - Memory Optimized = R 혹은 X 로 시작
Fast performance for workloads that process large data sets in memory
(대용량 데이터 세트를 메모리에서 처리하는 워크로드에 대한 빠른 성능)
High performance, relational/non-relational databases
Distributed web scale cache stores
In-memory databases optimized for BI( bussiness intelligence)
Applications performing real-time processing of big unstructured data - Accelerated Computing
- Strage Optimized
Great for storage-intensive tasks that require high, sequential read and write access to large data sets on local storage
(로컬 스토리지에서 대용량 데이터 세트에 대한 높은 순차적 읽기 및 쓰기 액세스가 필요한 스토리지 집약적 작업에 적합합니다)
High frequency online transaction processing(OLTP) system
Relational & NoSQL databases
Cache for in-memory databases (ex. Redis)
Data warehousing applications
Distributed file systems - Instance Features
- Measuring Instance Performance
EC2 보안 그룹
- EC2 = Firewall 이랑 동일하다
- Type, Protocol(통신방식), Port Range(포트번호), Source(범위) ⇒ 포트포워딩이랑 동일
- 보안그룹과 인스턴스는 1대 1 대응아님. 1개의 그룹 룰에 여러개 인스턴스 대응가능
- Security Group 은 EC2 밖에 있음 EC2 안에서 동작하는게 아님.
Port 번호들
- 22 = SSH (Linux Instance)
- 21 = FTP
- 22 = SFTP
- 80 = HTTP
- 443 = HTTPS
- 3389 = RDP (Window Instance)
만약 접속했는데 무한로딩 즉 (Time Out) 이 발생한다 그럼 이건 100% Security Group 때문
SSH 개요
PEM 키 권한 변경
chomod 0400 EC2tutorial.pem
SSH 접속
ssh -i EC2tutorial.pem ec2-user@public
EC2 Instance 에 IAM Role 부여하기
AWS CLI 명렁어
EC2 Instances Purchasing Options
On-Demand Instance
- Short workload, Predictable pricing, Pay by second
- Linux or Windows 사용가능
- 제일 비쌈 하지만 바로 지불할 금액이 없음 후불임
- 장기적인 약정 없음
- 단기적이고 중단 없는 워크로드가 필요할때, 애플리케이션의 기간을 예측할 수 없을 때 사용
Reserved (1 & 3 years)
- Reserved Instances : long workloads
- Convertible Reserved Instances : long workloads with flexible instances
- On Demand 보다 약 72% 정도 할인된 가격 제공
- Specific instance attributes를 예약 해야함 (Instance type, Region, Tenancy, OS)
- 1년 혹은 3년으로 예약가능, 선결제 할 수도있고 안할 수도 있음, 일부 선결제 가능
- Reserved Instance’s Scope : 리전이나 존을 설정해서 예약가능
- 사용량이 일정한 애플리케이션에 사용하는게 좋음 (예를들어 database)
- 필요없어지면 다시 팔 수 있음
- Convertible Reserved Instance ⇒ 전환형 예약 인스턴스
EC2 type, instance family, OS, scope, tenancy 변경 가능
Savings Plan (1 & 3 years)
- commitment to an amount of usage, long workload
- Long-term 일수록 쌈
- On-demand 요금제에 비례해서 싸게 해줌
- Locked to a specific instance family & AWS region
- Flexible across ⇒ Instance Size, OS, Tenancy
Spot Instance
- short workloads, cheap, can lose instance(less reliable)
- 가장 큰 할인율을 가지고있다 On-demand에 비해 90% 이상 저렴
- 최대가격 정의하고 가격이 이 최대 가격을 넘으면 이 인스턴스가 날아감
- Failure에 대한 회복력이 있다면 효율적이다
- 회복력이 있는 작업들에대해 효율적이다.
Batch jobs
Data analysis
Image processing
Distributed workload
Workloads with a flexible start and end time - 중요 : 중요한 작업이나 데이터베이스에는 적절하지 않다.
Dedicated Hosts (전용 호스트)
- book an entire physical server, control instance placement
- 실제로 물리적 서버를 받게됨.
- 활용사례 : licensing model 과 함께 사용해야하는 소프트웨어인 경우에 적합
규정이나 법규에 맞춰야 할 경우
Dedicated Instances
- no other customers will share you hardware
- 전용 하드웨어에서 실행되는 인스턴스
Dedicated Host ⇒ 물리적 서버를 받는거랑 다른 개념임 - 같은 계정에서 다른 인스턴스와 함께 하드웨어 공유 가능
Dedicated Hosts 와 Instances의 차이
인스턴스란 자신만의 인스턴스를 자신만의 하드웨어에 갖는다는 것, Dedicated Hosts는 물리적 서버 자체에 대한 접근권을 가지고, 낮은 수준의 하드웨어에 대한 가시성을 제공해줌
Chracteristic | Dedicated Instances | Dedicated Hosts |
Enables the use of dedicated physical servers | X | X |
Per instance billing | X | O |
Visibility of sockets, cores, host ID | O | X |
Affinity between a host and instance | O | X |
Targeted instance placement | O | X |
Automatic instance placement | O | X |
Add capacity using an allocation request | O | X |
Capacity Reservations
- reserve capacity in a specific AZ for any durations
- 특정 AZ에서 On-demand instance를 예약할 수 있다.
- 기간 약정 없음, 언제든 용량 예약, 취소 가능
- 할인도 없음.
- 오직 용량을 예약하기 위한 목적
- 청구할인 받으려면 savings plan 과 결합해야함
- 인스턴스를 실행하건 말건 On-demand요금 발생 ⇒ 예약 하면 그것에 대해 청구가 되고 지불해야함.
- Suitable for short-term, uninterrupted workloads that needs to be in a specific AZ
요약 그래서 어떤 요금제를 사야해
- On-demand
리조트가 있다고 가정
원할 때 언제나 리조트에 오고 전체 가격을 지불함. - Reserved
미리 여행 계획을 하고 있고, 이 리조트에 아주 오래 체류할 것을 알고있음 1~3년 그래서 할인을 많이 받고 예약가능 - Savings Plans
리조트에서 일정할 금액을 지출할 것이라는 뜻
예를들어 12개월 동안 매월 300불씩 지출할거야, 그래서 시간이 지나면 객실 타입을 변경할 수 있어. 대신 리조트에서 특정한 지출액을 약속하라고 말함. - Spot instances
리조트에 빈 객실이 있고, 사람들을 끌어 모이기 위해 할인을 하는 느낌
근데 빈 객실이 있다? 그럼 쫓겨날 수 있음 - Dedicated Hosts
리조트 건물 전체를 예약하려는 것과 같음 - Capacity Reserbvations
방을 예약할건데 내가 체류할지 확실하지 않다.
체류를 안해도 하지만 비용은 그대로 내겠다.
IP Address Charges in AWS (IP 고정 하는 비용)
- 0.005$ per hour of Public IPv4 (~$3.6 per month)
스팟 인스턴스 및 스팟 집합
- 스팟 인스턴스에 대해 지불할 수 있는 최대 스팟 가격 정의, 인스턴스 스팟 가격이 우리가 지불하고자 하는 최대 가격보다 낮다면 해당 인스턴스 유지.
- 만약 이걸 초과 할 경우 2가지의 옵션이 있다
- stop(인스턴스 중지) 과 terminate(인스턴스 종료)를 2분 안에 골라야 함.
- 인스턴스가 회수되길 원하지 않는다면, 스팟블록 사용.
스팟 블록 : 지정된 기간 동안 스팟 인스턴스를 차단하는 것
1~6시간 가능. 그동안 중단 없이 해당 블록을 사용할 수 있다. - 스팟 인스턴스 종료방법
스팟 요청 ⇒ 인스턴스 수, 최대 가격, 시작 사양 선택 그리고 언제부터 언제까지 유효한지 정함. (무한대도 가능)
일회성 요청을 하거나, 영구 인스턴스 요청할 수 있음
일회성 요청 : 스팟 요청이 완료되는 즉시 인스턴스 시작
영구 인스턴스 요청 : 스팟 요청이 사라지지않음 - 만약 스팟 인스턴스를 완전히 종료하고, 다시 시작하지 않으려면
- 스팟 요청 취소
만약 취소하지 않고 인스턴스를 종료하면 AWS가 인스턴스를 다시 만들어버림 - 인스턴스 종료
- 스팟 요청 취소
Spot Fleets(무리)
- Spot Fleets = 스팟 인스턴스 세트를 정의하는 방법, 옵션으로 On-demand Instance도 같이 묶을 수 있음
- 내가 정의한 가격 제한으로 목표 용량을 달성하기 위해 최선을 다함.
Lunch pool 에서 정의 ⇒ 플릿이 가장 최적의 pool을 정의함. - Spot Fleets에 Spot Instance를 할당하는 전략을 정의해야함.
- lowestPrice : 최저 가격
⇒ Spot Fleets는 가장 낮은 가격인 풀에서 인스턴스를 시작하기 때문에 비용이 최적화됨. 워크로드가 매우 짧은 경우 좋은 옵션 - deversified :
⇒ 모든 pools에 분산됨. 이건 가용성과 긴 워크로드에 적합, 한 pool이 사라져도 다른 pool은 여전히 활성화 되어있음 - capacityOptimized : 용량 최적화
⇒ pool with the optimal capacity of the number of instance - priceCapacityOptimized : 가격 용량 최적화
⇒ 먼저 사용 가능한 용량이 가장 큰 pool을 선택하고, 그 중 가격이 가장 낮은 pool을 선택하는 전략, 보통 이걸 많이 씀
- lowestPrice : 최저 가격
- Spot request = 원하는 인스턴스 유형과 AZ를 정확히 알고있는 경우
- Spot Fleets request = 조건을 만족하는 모든 인스턴스 유형과 모든 AZ를 선택하라는 것
EC2 인스턴스 launch type 실습
Spot Requests [ Instances → Spot Requests ]
- Price로 기간 설정해서 특정 기간동안 동안 얼마 였는지 가격 추이 확인 가능
- launch template을 사용하거나 수동으로 매개변수를 구성할 수 있음
그냥 Spot Instance를 만드려면
- EC2 생성 할 때 Advanced details 에 Request Spot instances가 있음 이걸 체크
- 디폴트는 On-demand요금제로 설정됨 낮추려면 customize해야 함.
- 디폴트는 On-time Request임. 여기서 Persistent로 하면 영구 요청이 되는거
Persistent로 하면 request expiry date를 정해야하고, 만료되지 않는지, 최대 가격을 정해야함.
Reserved Instance
- Reserved Instance 옵션이 있음
부분지출 후불 다 있음 - 이거 잘 안씀 오히려 Savings Plans씀 조만간 없어질수도
AWS 도 Savings Plans 권장함 - 생성하는 예약하는 순간 비용 나감
Dedicated Hosts
- 생성하는 예약하는 순간 비용 나감
Capacity Reservations
- 여기 있는 여러 옵션으로 골라서 선택할 수 있다.
Questions
Question 1:
다음 중, 할인 폭이 가장 크나, 데이터베이스 혹은 중요 업무에는 적합하지 않은 EC2 구매 옵션은 무엇인가요?
- 전환 가능 예약 인스턴스
- 전용 호스트
- 스팟 인스턴스
답 : 스팟 인스턴스
스팟 인스턴스는 단기적인 워크로드에 적합하며, 가장 저렴한 EC2 구매 옵션입니다. 하지만 EC2 인스턴스를 손실할 우려가 있기 때문에, 신뢰도가 떨어집니다.
Question 2:
EC2 인스턴스 내/외의 트래픽을 제어하기 위해서는 무엇을 사용해야 하나요?
- 네트워크 액세스 제어 리스트(NACL)
- 보안 그룹
- IAM 정책
답 : 보안그룹
보안 그룹은 EC2 인스턴스 레벨에서 운용되며, 트래픽을 제어할 수 있습니다.
Question 3:
EC2 예약 인스턴스를 예약할 수 있는 기간은 얼마인가요?
- 1년, 혹은 3년
- 2년, 혹은 4년
- 6개월, 혹은 1년
- 1년에서 3년 사이의 기간
답 : 1년, 혹은 3년
EC2 예약 인스턴스는 1년, 혹은 3년의 기간으로만 예약이 가능합니다.
Question 4:
EC2 인스턴스에 고성능 컴퓨팅(HPC) 애플리케이션을 배포하려 합니다. 다음 중 어떤 EC2 인스턴스 유형을 선택해야 할까요?
- 스토리지 최적화
- 컴퓨팅 최적화
- 메모리 최적화
- 범용
답 : 컴퓨팅 최적화
컴퓨팅 최적화 EC2 인스턴스는 고성능 프로세서(예: 배치 처리, 미디어 트랜스코딩, 고성능 컴퓨팅, 과학적 모델링 및 머신 러닝, 전용 게이밍 서버 등)가 필요한 집중 컴퓨팅 워크로드에 적합합니다.
Question 5:
1년 간 지속적으로 서버를 운영할 계획인 애플리케이션의 경우에는 다음 중 어떤 EC2 구매 옵션을 사용해야 할까요?
- 예약 인스턴스
- 스팟 인스턴스
- 온디맨드 인스턴스
답 : 예약 인스턴스
예약 인스턴스는 장기적인 워크로드에 적합합니다. EC2 인스턴스는 1년, 혹은 3년의 기간으로 예약할 수 있습니다.
Question 6:
일련의 EC2 인스턴스에 호스팅 될 애플리케이션을 실행하려 합니다. 이 애플리케이션에는 소프트웨어 설치가 필요하며, 최초 실행 중에 일부 OS 패키지를 업데이트해야 합니다. EC2 인스턴스를 실행하려는 경우, 이를 위한 최적의 방식은 무엇일까요?
- SSH를 통해 각 EC2 인스턴스에 연결한 후, 필수 소프트웨어를 설치하고 OS 패키지를 수동으로 업데이트하기
- 필수 소프트웨어의 설치 및 OS 업데이트를 수행하는 bash 스크립트를 작성한 후, AWS 지원 센터에 연락해 스크립트 제공하기 이들은 EC2 인스턴스를 실행할 때 인스턴스에서 실행됩니다
- 필수 소프트웨어의 설치 및 OS 업데이트를 수행하는 bash 스크립트를 작성한 후, 이 스크립트를 EC2 인스턴스 실행 시에 EC2 사용자 데이터에서 사용하기
답 : 3
EC2 사용자 데이터는 bash 스크립트를 사용해 EC2 인스턴스를 부트스트랩 할 경우에 사용됩니다. 이 스크립트에는 소프트웨어/패키지 설치, 인터넷에서 파일 다운로드 등, 여러분이 원하는 작업을 수행하기 위한 명령어를 포함시킬 수 있습니다.
Question 7:
인메모리 데이터베이스를 사용하는 중요 애플리케이션을 위해서는 다음 중 어떤 EC2 인스턴스 유형을 선택해야 할까요?
- 컴퓨팅 최적화
- 스토리지 최적화
- 메모리 최적화
- 범용
답 : 메모리 최적화
메모리 최적화 EC2 인스턴스는 메모리에 대규모 데이터 세트가 필요한 워크로드에 적합합니다.
Question 8:
온프레미스에 호스팅된 OLTP 데이터베이스를 갖춘 전자 상거래 애플리케이션이 있습니다. 이 애플리케이션은 인기가 좋아, 데이터베이스가 초당 수천 개의 요청을 지니게 됩니다. 여러분은 데이터베이스를 EC2 인스턴스로 이전하려 합니다. 이렇게 높은 빈도를 보이는 OLTP 데이터베이스를 처리하기 위해서는 어떤 EC2 인스턴스 유형을 선택해야 할까요?
- 컴퓨팅 최적화
- 스토리지 최적화
- 메모리 최적화
- 범용
답 : 스토리지 최적화
스토리지 최적화 EC2 인스턴스는 로컬 스토리지의 대규모 데이터 세트에 대해 높은 수준의, 그리고 순차적인 읽기/쓰기 액세스 권한이 필요한 워크로드에 적합합니다.
Question 9:
(참/거짓) 보안 그룹은 오직 하나의 EC2 인스턴스에만 연결될 수 있습니다.
- 맞습니다
- 아닙니다
답 : 아닙니다.
Question 10:
온프레미스 애플리케이션을 AWS로 이전하려 합니다. 여러분의 기업에는 애플리케이션을 전용 서버에서 실행해야 한다는 엄격한 규정이 있습니다. 또한 비용 절감을 위해 전용 서버 바운드 소프트웨어 라이선스를 사용해야 합니다. 이 경우, 다음 중 어떤 EC2 구매 옵션이 적합할까요?
- 전환 가능 예약 인스턴스컨버터블 예약 인스턴스
- 전용 호스트
- 스팟 인스턴스
답 : 전용 호스트 (Dedicated Host)
전용 호스트는 높은 수준의 규정 준수가 필요한 기업, 혹은 복잡한 라이선스 모델을 가진 소프트웨어에 적합합니다. 이는 가장 비싼 EC2 구매 옵션입니다.
Question 11:
데이터베이스 기술을 EC2 인스턴스에 배포하려 합니다. 공급 업체 라이선스는 물리적 코어 및 기반 네크워크 소켓 가시성를 기반으로 비용을 책정합니다. 이 경우, 어떤 EC2 구매 옵션을 사용해야 가시성을 확보할 수 있을까요?
- 스팟 인스턴스
- 온디맨드
- 전용 호스트
- 예약 인스턴스
답 : 전용 호스트 (Dedicated Host)
Question 12:
스팟 플릿은 스팟 인스턴스의 집합이며, 선택적으로 ___ 이다.
- 예약 인스턴스
- 온디맨드 인스턴스
- 전용 호스트
- 전용 인스턴스
답 : 온디맨드 인스턴스
스팟 플릿은 스팟 인스턴스의 집합이며, 선택적으로 온디맨드 인스턴스입니다. 스팟 플릿은 가장 낮은 가격으로 스팟 인스턴스를 자동으로 요청할 수 있게 해줍니다.
'패션자격증 > AWS' 카테고리의 다른 글
AWS Certified Cloud Practitioner CLF-C02 문제 모음 - 6 (151~170) (0) | 2025.03.19 |
---|---|
AWS Certified Cloud Practitioner CLF-C02 문제 모음 - 5 (121~150) (0) | 2025.03.19 |
AWS Certified Cloud Practitioner CLF-C02 문제 모음 - 4 (91~120) (0) | 2025.03.19 |
AWS Certified Cloud Practitioner CLF-C02 문제 모음 - 3 (61~90) (0) | 2025.03.19 |
AWS Certified Cloud Practitioner CLF-C02 문제 모음 - 2 (31~60) (0) | 2025.03.19 |