☁️ Amazon EC2
EC2 = Elastic Compute Cloud AWS에서 가장 핵심적이고, 가장 많이 사용되는 서비스 중 하나
-
Infrastructure as a Service (IaaS)
-
EC2를 이해하는 것은
👉 클라우드가 어떻게 동작하는지 이해하는 핵심
EC2가 제공하는 주요 기능
- 가상 머신 대여 (EC2 Instance)
- 가상 디스크에 데이터 저장 (EBS)
- 트래픽 분산 (ELB)
- 자동 확장 (Auto Scaling Group, ASG)
⚙️ EC2 Sizing & Configuration Options
EC2 인스턴스를 생성할 때 결정해야 하는 요소들:
- 운영체제(OS)
- Linux
- Windows
- Mac OS
- 컴퓨팅 성능
- CPU 코어 수
- 메모리
- RAM 크기
- 스토리지
- Network Attached
- EBS
- EFS
- Hardware
- EC2 Instance Store
- Network Attached
- 네트워크
- 네트워크 카드 성능
- Public IP 여부
- 보안
- Security Group (방화벽)
- 부트스트랩
- EC2 User Data (첫 실행 시 스크립트)
🚀 EC2 User Data
EC2 인스턴스 최초 실행 시 자동으로 실행되는 스크립트
핵심 특징
- 인스턴스 첫 시작 시 1회만 실행
- root 권한으로 실행됨
- 초기 환경 자동 구성 목적
사용 예시
- OS 업데이트
- 소프트웨어 설치
- 인터넷에서 공통 파일 다운로드
- 초기 설정 자동화
🧪 Hands-On: Linux EC2 인스턴스 실행
실습 목표:
- AWS Console을 사용해 첫 EC2 인스턴스 생성
- 주요 설정 항목 살펴보기
- EC2 User Data로 웹 서버 실행
- 인스턴스 상태 관리
- Start
- Stop
- Terminate
🧩 EC2 Instance Types – 개요
다양한 워크로드에 맞춰 최적화된 인스턴스 타입 제공
네이밍 규칙
예시: m5.2xlarge
m→ Instance Class5→ Generation2xlarge→ Size
⚖️ General Purpose Instances
다양한 워크로드에 균형 잡힌 성능
특징
- Compute / Memory / Networking 균형
- 웹 서버
- 코드 저장소
실습에서 사용
- t2.micro
- General Purpose
- Free Tier 대상
🧮 Compute Optimized Instances
CPU 집약적 작업에 최적화
사용 사례
- 배치 처리
- 미디어 트랜스코딩
- 고성능 웹 서버
- HPC (High Performance Computing)
- 과학 모델링
- 머신러닝
- 전용 게임 서버
🧠 Memory Optimized Instances
대규모 메모리 처리에 최적화
사용 사례
- 고성능 관계형 / NoSQL DB
- 분산 캐시
- BI 최적화 인메모리 DB
- 실시간 대용량 데이터 처리
💾 Storage Optimized Instances
로컬 스토리지 고속 I/O에 최적화
사용 사례
- OLTP 시스템
- 관계형 / NoSQL DB
- Redis 캐시
- 데이터 웨어하우징
- 분산 파일 시스템
📊 EC2 Instance Types 예시 비교
| Instance | vCPU | Memory | Storage | Network | EBS Bandwidth |
|---|---|---|---|---|---|
| t2.micro | 1 | 1 GiB | EBS only | Low~Mod | - |
| t2.xlarge | 4 | 16 GiB | EBS only | Moderate | - |
| c5d.4xlarge | 16 | 32 GiB | NVMe SSD | Up to 10 Gbps | 4,750 |
| r5.16xlarge | 64 | 512 GiB | EBS only | 20 Gbps | 13,600 |
| m5.8xlarge | 32 | 128 GiB | EBS only | 10 Gbps | 6,800 |
- t2.micro
- AWS Free Tier
- 월 750시간까지 무료
🔐 Security Groups 개요
AWS 네트워크 보안의 핵심
- EC2 인스턴스의 방화벽 역할
- 트래픽 제어:
- Inbound
- Outbound
- 규칙만 포함
- IP 또는 다른 Security Group 참조 가능
🔥 Security Groups – Deep Dive
Security Group이 제어하는 것:
- 포트 접근
- 허용된 IP 범위 (IPv4 / IPv6)
- Inbound 제어 (외부 → 인스턴스)
- Outbound 제어 (인스턴스 → 외부)
🧱 Security Groups 동작 구조
[Your Computer]
↓ (Port22 허용)
[Security Group]
↓
[EC2 Instance]
- 허용되지 않은 포트/IP → 인스턴스까지 도달하지 않음
📌 Security Groups – Important Notes
- 여러 인스턴스에 연결 가능
- Region + VPC에 종속
- EC2 외부에서 트래픽 차단
- SSH 전용 SG 분리 권장
- Timeout → Security Group 문제
- Connection Refused → 애플리케이션 문제
- 기본값
- Inbound: 모두 차단
- Outbound: 모두 허용
🔁 Security Group 간 참조
IP 대신 Security Group 자체를 허용 대상으로 지정 가능
- 동일 SG
- 다른 SG
- 다중 SG 조합 가능
🚪 반드시 알아야 할 포트
- 22: SSH
- 21: FTP
- 22: SFTP
- 80: HTTP
- 443: HTTPS
- 3389: RDP (Windows)
🔑 SSH 개요
EC2 원격 제어의 핵심 기능
환경별 접근
- Mac / Linux
- Windows < 10
- Windows ≥ 10
- EC2 Instance Connect
🛠️ SSH 문제 해결 가이드
- 강의 다시 보기
- Troubleshooting 문서 확인
- EC2 Instance Connect 시도
하나라도 성공하면 OK
SSH 실패해도 수업 진행에는 큰 문제 없음
🌐 EC2 Instance Connect
- 브라우저에서 바로 접속
- Key 파일 불필요
- AWS가 임시 키 업로드
- Amazon Linux 2 전용
- Port 22 반드시 열려 있어야 함
💰 EC2 구매 옵션 개요
- On-Demand
- Reserved Instances
- Convertible Reserved Instances
- Savings Plans
- Spot Instances
- Dedicated Hosts
- Dedicated Instances
- Capacity Reservations
⏱️ On-Demand Instances
- 사용한 만큼 지불
- Linux / Windows: 초 단위
- 기타 OS: 시간 단위
- 선결제 없음
- 단기 / 예측 불가 워크로드에 적합
🧾 Reserved Instances
- 최대 72% 할인
- 1년 / 3년
- 옵션:
- No Upfront
- Partial Upfront
- All Upfront
- Regional / Zonal Scope
- Marketplace 거래 가능
Convertible RI
- 인스턴스 타입 / 패밀리 / OS 변경 가능
- 최대 66% 할인
📉 Savings Plans
- 장기 사용량 약정
- 시간당 금액 약정
- 초과 사용은 On-Demand
- Instance Size / OS / Tenancy 유연
⚡ Spot Instances
- 최대 90% 할인
- 언제든지 회수 가능
- 장애 허용 워크로드에 적합
- 배치 처리, 데이터 분석 등
- DB / 크리티컬 서비스에는 부적합
🏢 Dedicated Hosts
- 물리 서버 전체 단독 사용
- 라이선스 이슈 해결
- 가장 비싼 옵션
- 규제 / 컴플라이언스 대응
🧱 Dedicated Instances
- 하드웨어 전용
- 같은 계정 인스턴스와 공유 가능
- 인스턴스 위치 제어 불가
📌 Capacity Reservations
- 특정 AZ 용량 예약
- 할인 없음
- 사용 안 해도 비용 발생
- 짧고 중단 불가한 워크로드에 적합
🏨 구매 옵션 비유 정리
- On-Demand → 언제든 체크인
- Reserved → 장기 예약 할인
- Savings Plans → 시간당 요금제
- Spot → 경매
- Dedicated Host → 건물 통째로 예약
- Capacity Reservation → 방만 예약
🌍 IPv4 요금 정책 (중요)
- 2024-02-01 이후
- Public IPv4: $0.005 / hour
- 신규 계정:
- EC2 Public IPv4 750시간/월 (12개월)
- ELB / RDS:
- Free Tier 없음
IPv6 참고
- ISP 미지원 이슈
- 테스트: https://test-ipv6.com/
- 사용 시 네트워크/보안 직접 관리 필요
⚡ Spot Instance Requests
- Max Price 설정
- Spot Price 변동
- 2분 Grace Period 후 중단/종료
- Spot Block (1~6시간 보장)
❌ Spot Instance 종료 방법 (중요)
순서 중요
- Spot Request 취소
- Spot Instance 종료
Request 취소 ≠ 인스턴스 종료
🚀 Spot Fleets
Spot + (옵션) On-Demand 조합
특징
- Target Capacity 충족 시까지 자동 요청
- 다중 Launch Pool
- 전략
- lowestPrice
- diversified
- capacityOptimized
- priceCapacityOptimized (권장)