AWS SAA Chapter 2. EC2 기초 (Elastic Compute Cloud)
I. EC2 란?
Elastic Compute Cloud : AWS에서 제공하는 가상 서버(IaaS).
EC2를 사용한다는 것은 아래 구성요소를 선택하여 가상 머신을 빌려 사용하는 것이다.
- OS : Linux, Windows, macOS
- CPU : 코어 수
- RAM : 메모리 용량
- Storage : 네트워크 연결 스토리지(EBS, EFS) 또는 인스턴스 로컬 스토리지(Instance Store)
- Network : 네트워크 카드 속도, Public IP 여부
- Firewall : Security Group
- Bootstrap Script : EC2 User Data (최초 실행 시 1회 실행되는 스크립트)
II. EC2 User Data
인스턴스가 처음 시작될 때 딱 1번 실행되는 부트스트랩 스크립트.
주로 아래 작업에 사용한다.
- 패키지 업데이트 / 소프트웨어 설치
- 파일 다운로드
- 기타 초기 설정
User Data 스크립트는 root 유저 권한으로 실행된다.
III. EC2 인스턴스 유형
인스턴스 이름 예시 : m5.2xlarge
m: 인스턴스 클래스5: 세대 (숫자가 높을수록 최신)2xlarge: 크기 (small → medium → large → xlarge → 2xlarge …)
1. General Purpose (범용)
- 균형 잡힌 컴퓨팅 / 메모리 / 네트워크
- 웹 서버, 코드 저장소 등에 적합
- ex)
t,m계열
2. Compute Optimized (컴퓨팅 최적화)
- 고성능 CPU가 필요한 작업에 적합
- 배치 처리, 미디어 트랜스코딩, 고성능 웹 서버, ML 추론
- ex)
c계열
3. Memory Optimized (메모리 최적화)
- 대용량 데이터를 메모리에서 처리할 때 적합
- 고성능 DB, 인메모리 캐시(Redis), 실시간 빅데이터 처리
- ex)
r,x,z계열
4. Storage Optimized (스토리지 최적화)
- 로컬 스토리지에 대한 높은 읽기/쓰기 처리가 필요할 때 적합
- OLTP, NoSQL DB, 데이터 웨어하우스, 분산 파일 시스템
- ex)
i,d,h계열
IV. Security Groups (보안 그룹)
EC2의 네트워크 방화벽 역할. Inbound/Outbound 트래픽을 제어한다.
- Allow 규칙만 존재 (Deny 규칙 없음)
- IP(CIDR) 또는 다른 Security Group을 참조하여 규칙 설정 가능
- 여러 인스턴스에 동시에 적용 가능하고, 하나의 인스턴스에 여러 Security Group 적용 가능
- Region/VPC 단위로 묶임 → 다른 Region/VPC에서는 재생성 필요
- EC2 밖에 위치하기 때문에, EC2는 차단된 트래픽을 볼 수 없음
기본 동작
| 방향 | 기본값 | |——|——–| | Inbound | 모두 차단 | | Outbound | 모두 허용 |
주요 포트
| Port | 프로토콜 | 용도 | |——|———-|——| | 22 | SSH | Linux 인스턴스 접속 | | 21 | FTP | 파일 업로드 | | 22 | SFTP | SSH를 통한 파일 업로드 | | 80 | HTTP | 웹 접속 | | 443 | HTTPS | 보안 웹 접속 | | 3389 | RDP | Windows 인스턴스 접속 |
연결 시 time out 오류 → Security Group 문제
connection refused 오류 → 애플리케이션 문제 (Security Group은 정상)
V. EC2 접속 방법
1. SSH
- Linux/macOS :
ssh -i keypair.pem ec2-user@<public-ip> - 키 페어(.pem 파일)의 권한을
chmod 0400으로 설정해야 함
2. EC2 Instance Connect
- 브라우저에서 바로 SSH 접속
- Amazon Linux 2 이상에서 지원
- 별도의 키 없이 접속 가능하지만, 포트 22는 Security Group에서 열려 있어야 함
VI. EC2 구매 옵션
1. On-Demand
- 사용한 만큼 초/시간 단위 과금
- 예측 불가능한 워크로드, 단기 작업에 적합
- 가격이 가장 비쌈
2. Reserved Instances
- 1년 또는 3년 약정으로 최대 72% 할인
- 일정하고 예측 가능한 워크로드에 적합
- Standard RI : 인스턴스 타입 변경 불가, 할인율 높음
- Convertible RI : 인스턴스 타입 변경 가능, 할인율 낮음 (최대 66%)
3. Savings Plans
- 특정 사용량($/hr)을 1년 또는 3년 약정으로 커밋
- 최대 72% 할인
- 인스턴스 타입/OS/리전에 유연하게 적용 가능
4. Spot Instances
- 미사용 EC2 용량을 경매 방식으로 저렴하게 사용
- 최대 90% 할인이지만, AWS가 언제든 회수(중단) 할 수 있음
- 중단에 강한 워크로드에 적합 (배치 작업, 데이터 분석, 이미지 처리)
- 중요 작업이나 DB에는 절대 사용 금지
5. Dedicated Hosts
- 물리 서버 전체를 점유
- 라이선스 규정(BYOL: Bring Your Own License)이 있는 소프트웨어에 필요
- 가장 비쌈
6. Dedicated Instances
- 나만의 물리 하드웨어에서 실행되지만, 같은 계정의 다른 인스턴스와 하드웨어 공유 가능
- Dedicated Host보다 저렴하지만 물리 서버 제어권 없음
구매 옵션 비유 요약
| 옵션 | 비유 |
|---|---|
| On-Demand | 호텔 : 원할 때 들어와서 나가고 풀 프라이스 지불 |
| Reserved | 장기 숙박 계약 : 오래 살수록 할인 |
| Savings Plans | 일정 금액 선불 결제 후 유연하게 사용 |
| Spot | 빈 방 경매 : 저렴하지만 호텔이 필요하면 내보낼 수 있음 |
| Dedicated Host | 건물 전체 임대 |
VII. AMI (Amazon Machine Image)
EC2 인스턴스의 커스터마이징 이미지 (OS + 소프트웨어 설정이 포함된 템플릿).
AMI를 통해 인스턴스를 빠르게 시작할 수 있고, 부트스트랩 시간을 단축할 수 있다.
AMI 종류
- AWS 제공 AMI : Amazon Linux 2, Ubuntu 등
- AWS Marketplace AMI : 제3자가 만들어서 판매하는 AMI
- Custom AMI : 사용자가 직접 만든 AMI → 같은 Region 내에서만 사용 가능
(다른 Region 사용 시 복사 필요)
Custom AMI 생성 흐름
- EC2 인스턴스 실행
- 필요한 소프트웨어 설치 및 설정
- 인스턴스 중지 (데이터 무결성 보장)
- AMI 생성 (EBS 스냅샷도 함께 생성됨)
- 해당 AMI로 새 인스턴스 실행
VIII. EC2 Instance Store
EBS는 네트워크를 통해 연결된 스토리지인 반면,
Instance Store는 물리적으로 EC2에 붙어있는 로컬 디스크이다.
- 매우 높은 I/O 성능
- 인스턴스가 중지/종료되면 데이터 삭제 (ephemeral, 임시 스토리지)
- 버퍼 / 캐시 / 임시 데이터 저장에 적합
- 장기 보존 데이터는 반드시 EBS 또는 S3에 저장할 것