EC2: Elastic Compute Cloud
Udemy - Stephane Maarek AWS SAA 강의를 듣고 메모 목적으로 남김
1. Amazon EC2 개요
- 정의: Elastic Compute Cloud의 약자로, 클라우드에서 가상 서버를 대여하는 서비스
- 서비스 모델: IaaS (Infrastructure as a Service)
- 핵심 가치: 클라우드가 어떻게 작동하는지 이해하는 데 가장 기본이 되는 서비스
- 주요 구성:
- 가상 머신 대여 (EC2)
- 가상 드라이브에 데이터 저장 (EBS)
- 부하 분산 (ELB)
- 자동 확장 그룹 (ASG)을 통한 서비스 스케일링
2. EC2 설정 옵션 (Sizing & Configuration)
인스턴스를 생성할 때 결정해야 할 주요 요소들
- OS: Linux, Windows, Mac OS 중 선택
- 컴퓨팅 파워: CPU 코어 수와 성능 결정
- RAM: 메모리 용량 결정
- 저장 공간:
- 네트워크 연결 방식: EBS & EFS
- 하드웨어 직접 연결 방식: EC2 Instance Store
- 네트워크: 네트워크 카드 속도 및 퍼블릭 IP 주소 설정
- 보안: 방화벽 역할을 하는 보안 그룹(Security Group) 설정
- 부팅 스크립트: 첫 실행 시 자동 설정을 위한 EC2 User Data 사용
3. EC2 User Data (부트스트래핑)
- 개념: 인스턴스가 시작될 때 실행할 명령어를 스크립트로 작성하는 것
- 특징:
- 인스턴스가 처음 부팅될 때 딱 한 번만 실행됨
- 업데이트 설치, 소프트웨어 설치, 인터넷 파일 다운로드 등 부팅 작업 자동화에 사용
- root 사용자로 권한 실행
4. EC2 인스턴스 타입 (Naming Convention)
예: m5.2xlarge
- m: 인스턴스 클래스 (Instance Class)
- 5: 세대 (Generation, 숫자가 높을수록 최신)
- 2xlarge: 클래스 내에서의 크기 (Size)
주요 인스턴스 유형
- 범용 (General Purpose): 컴퓨팅, 메모리, 네트워킹의 균형이 잡힌 타입. 웹 서버나 코드 저장소에 적합 (예: t2.micro)
- 컴퓨팅 최적화 (Compute Optimized): 고성능 프로세서가 필요한 작업용. 배치 처리, 미디어 트랜스코딩, 고성능 웹 서버, 머신러닝 등에 사용
- 메모리 최적화 (Memory Optimized): 메모리 내 대규모 데이터 세트를 처리하는 작업용. 고성능 DB, 분산 캐시 등에 적합
- 스토리지 최적화 (Storage Optimized): 로컬 스토리지의 대규모 데이터 세트에 대해 고속 읽기/쓰기가 필요한 작업용. OLTP 시스템, NoSQL DB 등에 사용
5. 보안 그룹 (Security Groups)
- 역할: EC2 인스턴스의 트래픽을 제어하는 가상 방화벽
- 트래픽 제어: 인바운드(들어오는 트래픽)와 아웃바운드(나가는 트래픽) 규제
- 주요 특징:
- 허용 규칙(Allow Rules)만 포함할 수 있음 (거부 규칙 없음)
- IP 주소나 다른 보안 그룹을 참조하여 규칙 생성 가능
- 기본값: 인바운드는 모두 차단, 아웃바운드는 모두 허용됨
- Stateful: 나가는 트래픽이 허용되면 들어오는 응답 트래픽도 자동으로 허용됨
6. EC2 구매 옵션 (Purchasing Options)
- On-Demand: 사용한 만큼 초 단위 결제. 예측 불가능한 단기 워크로드에 적합. 가장 비싸지만 유연함
- Reserved Instances (RI): 1년 또는 3년 약정. 온디맨드 대비 최대 72% 할인. 데이터베이스처럼 꾸준한 사용이 필요한 경우 적합
- Savings Plans: 특정 사용량($/시간)을 약정하고 할인받는 방식. 인스턴스 크기나 OS 변경에 유연함
- Spot Instances: 남는 자원을 저렴하게 이용(최대 90% 할인). 언제든 회수당할 수 있어 중단되어도 상관없는 배치 작업이나 데이터 분석에 적합
- Dedicated Hosts: 물리적 서버 전체를 독점 사용. 라이선스(BYOL) 규정 준수나 강력한 보안 규제가 있는 경우 사용
- Capacity Reservations: 특정 가용 영역(AZ)에 용량을 예약. 실행 여부와 관계없이 온디맨드 요금이 부과됨