0강. AWS 예산 설정
- IAM 사용자가 비용 관리 작업을 진행하기 위해서는 Root 계정으로 로그인해 IAM 사용자가 관리할 수 있도록 설정해야 한다.
- Billing and Cost Management → Account 경로에 있다.
- Billing and Cost Management home 에서 대략적으로 사용량을 확인할 수 있다.
- Budgets을 활용하여 비용 초과될 시 알림이 오도록 구성할 수 있다.
- FreeTier 전용 예산 메뉴도 있다.
1강. EC2 기초
- EC2는 IaaS 중의 하나이다.
- EC2를 이해하면 클라우드의 전체적인 동작 원리에 대해서 이해할 수 있다.
- EC2를 활용해 아래와 같은 서비스를 제공한다.
- VM 대여 → EC2
- 가상 드라이브에 데이터 저장 → EBS
- 가상 머신 간 부하분산 → ELB
- 자동 확장 그룹을 사용하여 서비스 확장 → ASG
- EC2를 사용하기 위해서 Instance Type을 지정해야 한다.
- Instance Type에 따라 CPU, RAM, Storage Size, Network Card 성능이 달라진다.
- EC2 인스턴스에 대한 보안 설정으로 Security Group를 활용해 Firewall Rules을 설정할 수 있다.
- Bootstrap script를 통해 EC2 User Data 값을 설정할 수 있다.
- EC2 인스턴스 최초 실행 시에만 루트 권한으로 동작한다.
2강. EC2 실습
- EC2 인스턴스의 사설 IP 주소는 변경되지 않지만, 공인 IP 주소는 인스턴스가 중지 후 재실행되는 경우 새롭게 할당된다.
3강. EC2 인스턴스 유형 기본 사항
- EC2는 사용 용도에 따라 특정 리소스를 집중적으로 사용할 수 있도록 인스턴스 타입을 통해 구분하고 있다.
- General Purpose, Compute Optimized, Memory Optimized, Accelerated Computing, Storage Optimized, HPC Optimized 등
m5.2xlarge
- m : instance class
- 5 : generation
- 2xlarge : size
- General Purpose(범용)는 Compute(CPU), Memory, Networking에 대한 컴퓨팅 리소스에 대해 적절하게 구성해 놓은 인스턴스 타입이다.
- Compute Optimized(CPU 리소스 집중)는 고성능 CPU를 사용하는 인스턴스 타입이다.
- Batch Processing Workloads, Media Transcoding, High Performance Web Servers, High Performance Computing(HPC), Scientific Modeling & Machine Learning, Dedicated Gaming Servers 에 사용된다.
- Memory Optimized(메모리 리소스 집중)는 대규모 데이터 셋을 메모리에서 처리하는 유형에 강한 인스턴스 타입이다.
- High Performance RDB or NoSQL DB, Distributed Web Scale Cache Stores, In-Memory Databases Optimized for BI, Applications Performing Real-time Processing of Big unstructured Data 에 사용된다.
- Storage Optimized(저장소 리소스 집중)는 로컬 스토리지에서 대규모의 데이터셋에 접근할 때 적합한 인스턴스 타입이다.
- High Frequency Online Transaction Processing (OLTP) System, RDB & NoSQL DB, Cache for in-memory DB, Data Warehousing Applications, Distributed File System 에 사용된다.
4강. 보안 그룹 및 클래식 포트 개요
- 보안 그룹을 사용하여 EC2에 대한 인바운드-아웃바운드 트래픽에 대해 제어할 수 있다.
- 보안 그룹은 블랙리스트 방화벽 방식으로 허용 규칙만 사용할 수 있다.
- 인바운드는 전부 Deny, 아웃바운드는 전부 Access 되어있는 것이 기본 값이다.
- 한 보안 그룹을 여러 인스턴스에 사용할 수 있다.
- SSH 액세스를 위한 하나의 별도 보안 그룹을 유지하는 것이 좋다.
- 보안 그룹은 EC2의 외부에서 동작하는 방화벽으로, 보안 그룹에 의해 Block 된 트래픽은 EC2가 확인할 수 없다.
- 클래식 포트 종류 : 22(SSH), 21(FTP, Upload File), 22(SFTP, Upload File Using SSH), 80(HTTP), 443(HTTPS), 3389(RDP)
5강. 보안 그룹 실습
- 보안 그룹에 의해서 EC2에 대한 접근이 막히는 경우 타임아웃(Timeout) 에러를 반환한다.
6강. SSH 개요 - 10강. SSH 문제 해결
- 해당 파트는 실습을 진행할 수 있도록 SSH 셋팅을 진행한다.
- 명령어 :
ssh -i ${pem_file} ${ec2_public_ip}
- Amazon Linux 2 AMI에는
ec2-user
라는 사용자가 내장돼 있다. - EC2 인스턴스에 접근에 대한
.pem
파일을 사용하기 위해ssh -i
명령어를 사용해야 한다. .pem
파일은 0400 권한으로 설정되어 있어야 한다.
- Amazon Linux 2 AMI에는
11강. EC2 인스턴스 연결
- SSH 세션을 웹 브라우저를 통해 연결하는 방식이다.
- SSH 기반으로 동작하므로 인바운드 방화벽 규칙을 확인해야 한다.
- 간혹 IPv6 통신을 사용하는 경우가 있어, IPv4를 열었는데 정상적으로 동작하지 않으면 IPv6도 시도해 보면 된다.
12강. EC2 인스턴스 역할 데모
- EC2의 AMI(Amazone Machine Image)가 Amazone Linux 2이므로 AWS CLI가 이미 설치된 상태이다.
- EC2에 직접적으로 AWS 액세스 키를 설정하는 것은 보안적으로 매우 위험하다.
- AWS 콘솔에서 EC2 인스턴스 연결 접근을 통해 다른 사람이 본인의 권한보다 더 많은 권한을 가진 사용자를 사용할 수 있게 되기 때문이다.
- 해당 EC2에서 사용할 권한을 Role에 부여하고, EC2의 Instace Security 탭에서 Role을 부여해 사용하는 것이 Best Practice 이다.
13강. EC2 인스턴스 시작
- EC2 인스턴스는 인스턴스 유형을 선택해 전략적으로 비용을 절약할 수 있다.
인스턴스 유형 | 주요 특징 | 사용 사례 |
---|---|---|
On-Demand Instances | 사용한 만큼 과금(초 단위), 예측 가능한 비용 | 단기 워크로드, 트래픽 변동이 큰 애플리케이션 |
Reserved Instances | 1~3년 약정, 할인 제공 | 장기 워크로드, 지속적인 인스턴스 사용 |
Convertible Reserved Instances | 1~3년 약정, 인스턴스 유형 변경 가능 | 장기 워크로드, 유연한 인스턴스 변경 필요 시 |
Savings Plans | 특정 사용량에 대한 약정, 최대 72% 할인 | 장기 워크로드, 비용 최적화 |
Spot Instances | 사용 비용 저렴, 언제든 중단될 수 있음 | 배치 작업, 유연한 단기 워크로드 |
Dedicated Hosts | 물리적 서버 전체를 예약, 인스턴스 배치 제어 가능 | 라이선스 요구 사항이 있는 애플리케이션 |
Dedicated Instances | 특정 하드웨어를 단독 사용, 다른 고객과 공유 없음 | 보안 및 규정 준수가 필요한 환경 |
Capacity Reservations | 특정 AZ에서 용량을 보장, 기간 제한 없음 | 특정 리전에 대한 안정적인 리소스 확보 |
- 선택 기준
- 단기 사용 & 유연성 → On-Demand, Spot
- 장기 사용 & 비용 절감 → Reserved Instances, Convertible Reserved Instances, Savings Plans
- 보안 & 규정 준수 → Dedicated Hosts, Dedicated Instances
- 리소스 확보 보장 → Capacity Reservations
14강. 스팟 인스턴스 및 스팟 집합 - 15강. EC2 인스턴스 Lanuch Type 실습
- Spot 인스턴스를 활용해 On-Demand 보다 최대 90% 까지 할인 받을 수 있다.
- Spot 인스턴스는 스팟 가격이 사용자가 설정한 최대 가격(Max Spot Price)을 초과하거나, AWS의 용량 요구로 인해 인스턴스가 회수될 수 있다. 이러한 경우, AWS는 인스턴스 중단 2분 전에 중단 공지를 제공한다.
- 사용자가 직접 인스턴스를 중지하거나 종료하는 경우에는 해당하지 않는다.
- 따라서 Spot 인스턴스는 유연한 단기 워크로드에 적합하다.
- 배치 작업, 중요도가 높지 않은 작업, 실패로부터 유연한 워크로드
- Spot 인스턴스를 Terminate 하는 방법
- Spot 인스턴스는 Spot 요청을 받아 주문에 맞게 생성된다.
- Spot 요청의 내용 : 인스턴스의 최대 가격, 인스턴스의 수, 런칭될 인스턴스의 스펙(AMI 등), Spot 요청의 유형(1회성, 영구적), Spot 요청의 기간 설정
- Spot 요청의 유형이 영구(Persistent)일 경우 Spot 인스턴스를 삭제하더라도 Spot 요청에 맞게 Spot 인스턴스를 재생성하는 경우가 발생한다.
- Spot 요청의 상태가 open, active, disabled 인 상태에서만 Spot 요청을 Cancel 할 수 있다.
- Spot 요청을 Cancel을 취소한다고 해서 Spot 인스턴스가 Terminate 되는 것은 아니다.
- Spot 요청 Cancel → Spot 인스턴스 Terminate 순으로 작업을 수행해야 한다.
- Spot 인스턴스는 Spot 요청을 받아 주문에 맞게 생성된다.
- Spot Fleets(스팟 집합) : 여러 Spot Instance와 필요에 On-Demand Instance를 조합하여 실행하는 기능이다. 이를 통해 비용을 절감할 수 있고, 원하는 규모의 컴퓨팅 리소스를 확보할 수 있다.
- 평상시에 On-Demand Instance 대신 Spot Instance를 사용해 비용효율성 확보
- Spot Instance가 부족할 경우 일부를 Instance 유형(주로 On-Demand)으로 대체해 가용성 확보
- 장점 : 비용절감, 유연성, 자동 스케일링 지원
'Dev > AWS' 카테고리의 다른 글
[AWS-SAA] 04. EC2 Storage 요약 (1) | 2025.02.22 |
---|---|
[AWS-SAA] 03. EC2 SAA Level 요약 (0) | 2025.02.21 |
[AWS-SAA] 01. AWS IAM 요약 (0) | 2025.02.20 |
[AWS TechCamp] 기초부터 배우는 AWS 핵심 서비스로 웹 애플리케이션 구축하기 후기 및 요약 (1) | 2024.09.03 |
[AWS-SAA] 00. AWS 글로벌 인프라 구조 (압축 요약) (0) | 2024.08.29 |