๐ฅ๏ธ AWS EC2 (Elastic Compute Cloud)
EC2 = Infrastructure as a Service (IaaS)
๊ฐ์ ์๋ฒ๋ฅผ ์จ๋๋งจ๋๋ก ์๋ํ์ฌ ์ปดํจํ ๋ฆฌ์์ค๋ฅผ ์ ์ฐํ๊ฒ ์ฌ์ฉํ๋ ์๋น์ค
๋ชฉ์ฐจ
- EC2 ๊ฐ์
- EC2 ์ธ์คํด์ค ํ์
- Security Groups (๋ณด์ ๊ทธ๋ฃน)
- SSH ์ ์ ๋ฐฉ๋ฒ
- ๊ตฌ๋งค ์ต์ (Purchasing Options)
- Spot Instance ์ฌํ
- IP ์ฃผ์ & Elastic IP
- ๋ฐฐ์น ๊ทธ๋ฃน (Placement Groups)
- ํ๋ ฅ์ ๋คํธ์ํฌ ์ธํฐํ์ด์ค (ENI)
- EC2 ์ต๋ ์ ์ ๋ชจ๋ (Hibernate)
- Best Practices
- ํต์ฌ ์์ฝ
- ์ฐธ๊ณ ์๋ฃ
1. EC2 ๊ฐ์
โ๏ธ EC2๊ฐ ์ ๊ณตํ๋ ๊ฒ
| ๊ธฐ๋ฅ | ์๋น์ค | ์ค๋ช |
|---|---|---|
| ๊ฐ์ ์๋ฒ ์๋ | EC2 | ๋ค์ํ OS/์คํ์ ๊ฐ์ ๋จธ์ |
| ๊ฐ์ ๋๋ผ์ด๋ธ | EBS | ๋คํธ์ํฌ ์ฐ๊ฒฐ ๋ธ๋ก ์คํ ๋ฆฌ์ง |
| ๋ก๋ ๋ถ์ฐ | ELB | ์ฌ๋ฌ ์ธ์คํด์ค์ ํธ๋ํฝ ๋ถ์ฐ |
| ์๋ ํ์ฅ | ASG | ์์์ ๋ฐ๋ฅธ ์ธ์คํด์ค ์ ์กฐ์ |
โ๏ธ EC2 ์ค์ ์ต์
EC2 ์ธ์คํด์ค ๊ตฌ์ฑ ์์โโโ OS: Linux / Windows / macOSโโโ CPU: vCPU ์, ํ๋ก์ธ์ ์ํคํ
์ฒ (x86, ARM/Graviton)โโโ RAM: ๋ฉ๋ชจ๋ฆฌ ํฌ๊ธฐโโโ Storageโ โโโ Network-attached: EBS (Elastic Block Store), EFS (Elastic File System)โ โโโ Hardware: EC2 Instance Store (์์, ๊ณ ์)โโโ Network: ๋คํธ์ํฌ ์นด๋ ์๋, ๊ณต์ธ IP ์ค์ โโโ Security Group: ๋ฐฉํ๋ฒฝ ๊ท์นโโโ User Data: ์ต์ด ์คํ ์ ๋ถํธ์คํธ๋ฉ ์คํฌ๋ฆฝํธ๐ EC2 User Data (๋ถํธ์คํธ๋ฉ)
- ์ธ์คํด์ค ์ต์ด ์์ ์ ๋ฑ ํ ๋ฒ๋ง ์คํ
- root ๊ถํ์ผ๋ก ์คํ๋จ
- ์๋ํํ ์ ์๋ ์์ ์์:
#!/bin/bash# EC2 User Data ์์yum update -yyum install -y httpdsystemctl start httpdsystemctl enable httpdecho "<h1>Hello from EC2 $(hostname -f)</h1>" > /var/www/html/index.html๐ก ํ์ฉ ํ: ์ํํธ์จ์ด ์ค์น, ์ค์ ํ์ผ ๋ค์ด๋ก๋, ํ๊ฒฝ๋ณ์ ์ค์ ๋ฑ ์ด๊ธฐํ ์์ ์ ์๋ํํ ๋ ์ฌ์ฉ. ๋ณต์กํ ์ค์ ์ด ํ์ํ๋ฉด CloudFormation ๋๋ Ansible ์ฐ๊ณ ๊ถ์ฅ.
2. EC2 ์ธ์คํด์ค ํ์
๐ท๏ธ ๋ช ๋ช ๊ท์น
m 7 g . 2xlargeโ โ โ โโโ ํฌ๊ธฐ (nano / micro / small / medium / large / xlarge / 2xlarge ...)โ โ โโโโโโโโโโโ ์ถ๊ฐ ์์ฑ (g=Graviton, a=AMD, i=Intel, n=๊ณ ์ ๋คํธ์ํฌ)โ โโโโโโโโโโโโโโ ์ธ๋ (์ซ์๊ฐ ๋์์๋ก ์ต์ )โโโโโโโโโโโโโโโโโ ์ธ์คํด์ค ํจ๋ฐ๋ฆฌ (m=๋ฒ์ฉ, c=์ปดํจํ
, r=๋ฉ๋ชจ๋ฆฌ, i=์คํ ๋ฆฌ์ง ๋ฑ)๐ ์ธ์คํด์ค ํจ๋ฐ๋ฆฌ๋ณ ์ฉ๋
| ํจ๋ฐ๋ฆฌ | ๋ํ ํ์ | ํน์ง | ์ฃผ์ Use Case |
|---|---|---|---|
| General Purpose | m7i, m7g, t3 | CPU/๋ฉ๋ชจ๋ฆฌ/๋คํธ์ํฌ ๊ท ํ | ์น ์๋ฒ, ์ฝ๋ ์ ์ฅ์, ์๊ท๋ชจ DB |
| Compute Optimized | c7i, c7g, c6a | ๊ณ ์ฑ๋ฅ CPU ์ค์ฌ | ๋ฐฐ์น ์ฒ๋ฆฌ, ๋ฏธ๋์ด ํธ๋์ค์ฝ๋ฉ, HPC, ML |
| Memory Optimized | r7i, r7g, x2 | ๋์ฉ๋ ๋ฉ๋ชจ๋ฆฌ | ์ธ๋ฉ๋ชจ๋ฆฌ DB, ์ค์๊ฐ ๋น ๋ฐ์ดํฐ, SAP HANA |
| Storage Optimized | i4i, d3, h1 | ๊ณ ์ ๋ก์ปฌ ์คํ ๋ฆฌ์ง | OLTP, Redis ์บ์, ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค |
| Accelerated Computing | p4, g5, trn1, inf2 | GPU/NPU ํ์ฌ | AI/ML ํ์ตยท์ถ๋ก , ๊ฒ์ ์คํธ๋ฆฌ๋ฐ |
โก Graviton (ARM ๊ธฐ๋ฐ) ์ธ์คํด์ค โ 2025 ํต์ฌ ํธ๋ ๋
AWS Graviton ํ๋ก์ธ์ ๊ธฐ๋ฐ EC2 ์ธ์คํด์ค๋ x86 ๊ธฐ๋ฐ ์ธ์คํด์ค ๋๋น ์ต๋ 40% ํฅ์๋ ๊ฐ๊ฒฉ ๋๋น ์ฑ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
| ์ธ๋ | ์ธ์คํด์ค ์์ | ํน์ง |
|---|---|---|
| Graviton2 | m6g, c6g, r6g | 1์ธ๋ ARM, ๊ฒ์ฆ๋ ์์ ์ฑ |
| Graviton3 | m7g, c7g, r7g | 20% ํฅ์๋ ๋คํธ์ํฌ ๋์ญํญ |
| Graviton4 | m8g (์ ๊ท) | ์ต์ ์ธ๋, ์ต๊ณ ํจ์จ |
WARNINGARM ์ํคํ ์ฒ์ด๋ฏ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ด x86 ๋ฐ์ด๋๋ฆฌ์ ์์กดํ๋ ๊ฒฝ์ฐ ๋ฉํฐ ์ํคํ ์ฒ ๋น๋ ํ ์คํธ ํ์. Docker ์ด๋ฏธ์ง๋
arm64์ง์ ์ฌ๋ถ ํ์ธ ํ์.
๐ ๋ฒ์คํฐ๋ธ ์ธ์คํด์ค (T ์๋ฆฌ์ฆ)
- ๊ธฐ์ค CPU ์ฑ๋ฅ + ํ์ ์ ์ผ์์ ์ผ๋ก ๋ฒ์คํธ ๊ฐ๋ฅ
- CPU ํฌ๋ ๋ง ๋ฐฉ์: ํ์์ ํฌ๋ ๋ง ์ ๋ฆฝ โ ๋ถํ ์ ์์ง
- ๊ฐ๋ฐ/ํ ์คํธ, ํธ๋ํฝ ๋ณ๋์ด ํฐ ์๊ท๋ชจ ์ฑ์ ์ ํฉ
t3.micro: ๊ธฐ์ค 20% CPU, ํ์ ์ ์ต๋ 100%๊น์ง ๋ฒ์คํธt3.large: ๊ธฐ์ค 30% CPU, ํ์ ์ ์ต๋ 100%๊น์ง ๋ฒ์คํธWARNINGํ๋ก๋์ ๊ณ ๋ถํ ํ๊ฒฝ์์ ํฌ๋ ๋ง ๊ณ ๊ฐ ์ ์ฌ๊ฐํ ์ฑ๋ฅ ์ ํ ๋ฐ์.
unlimited๋ชจ๋ ์ค์ ์ ์ถ๊ฐ ๋น์ฉ ๋ฐ์.
3. Security Groups (๋ณด์ ๊ทธ๋ฃน)
๐ฅ ๊ฐ๋
- EC2 ์ธ์คํด์ค ์๋จ์ ๊ฐ์ ๋ฐฉํ๋ฒฝ
- Allow ๊ท์น๋ง ์กด์ฌ (Deny ๊ท์น ์์ โ NACL๊ณผ ์ฐจ์ด)
- IP ๋๋ ๋ค๋ฅธ Security Group์ ์ฐธ์กฐํด ๊ท์น ์ค์ ๊ฐ๋ฅ
์ธํฐ๋ท โ โผ[Security Group] โ ์ฌ๊ธฐ์ ํ์ฉ๋ ํธ๋ํฝ๋ง ํต๊ณผ โ โผ[EC2 Instance] โ ์ฐจ๋จ๋ ํธ๋ํฝ์ ์ธ์คํด์ค๊ฐ ์์ ๋ณผ ์ ์์๐ Inbound / Outbound ๊ธฐ๋ณธ๊ฐ
| ํธ๋ํฝ ๋ฐฉํฅ | ๊ธฐ๋ณธ๊ฐ | ์๋ฏธ |
|---|---|---|
| Inbound | ์ ์ฒด ์ฐจ๋จ | ๋ช ์์ ์ผ๋ก ํ์ฉํ์ง ์์ผ๋ฉด ์ธ๋ถ ์ ๊ทผ ๋ถ๊ฐ |
| Outbound | ์ ์ฒด ํ์ฉ | ์ธ์คํด์ค์์ ์ธ๋ถ๋ก ๋๊ฐ๋ ํธ๋ํฝ ์ ํ ์์ |
๐ ์ฃผ์ ํฌํธ ๋ฒํธ
| ํฌํธ | ํ๋กํ ์ฝ | ์ฉ๋ |
|---|---|---|
| 22 | SSH | Linux ์ธ์คํด์ค ์๊ฒฉ ์ ์ |
| 22 | SFTP | SSH ๊ธฐ๋ฐ ํ์ผ ์ ์ก |
| 21 | FTP | ํ์ผ ์ ์ก (๋ณด์ ์ทจ์ฝ, ๋น๊ถ์ฅ) |
| 80 | HTTP | ์น ์๋ฒ (๋น์ํธํ) |
| 443 | HTTPS | ์น ์๋ฒ (์ํธํ) |
| 3389 | RDP | Windows ์ธ์คํด์ค ์๊ฒฉ ๋ฐ์คํฌํฑ |
| 3306 | MySQL/Aurora | DB ์ ์ |
| 5432 | PostgreSQL | DB ์ ์ |
| 6379 | Redis | ์บ์ ์๋ฒ ์ ์ |
โ Security Group ํ์ฉ ํ
1. Security Group ๊ฐ ์ฐธ์กฐ (IP ๋์ )
[App Server SG] โ Inbound: MySQL(3306) from [DB Server SG]โ IP ๋ณ๊ฒฝ ์์๋ ์๋ ์ ์ฉ, IP ๊ด๋ฆฌ ๋ถํ์
2. ํธ๋ฌ๋ธ์ํ ๊ฐ์ด๋
| ์ฆ์ | ์์ธ | ํด๊ฒฐ |
|---|---|---|
| ์ฑ์ ์์ ์ ๊ทผ ์ ๋จ (timeout) | Security Group ์ฐจ๋จ | Inbound ๊ท์น ํ์ธ |
์ ๊ทผ์ ๋๋๋ฐ Connection refused | ์ฑ์ด ์ ๋ด๊ฑฐ๋ ํฌํธ ๋ถ์ผ์น | ์ฑ ์ํ ํ์ธ |
| ํน์ IP๋ง ์ ๋จ | Inbound IP ๋ฒ์ ์ค์ ์ค๋ฅ | CIDR ํ์ธ |
๐ก Best PracticeSSH์ฉ Security Group์ ๋ณ๋๋ก ๋ถ๋ฆฌํ์ฌ ๊ด๋ฆฌ. 0.0.0.0/0 (์ ์ฒด ํ์ฉ)์ ์ ๋ ํ๋ก๋์ ์ ์ฌ์ฉ ๊ธ์ง.
4. SSH ์ ์ ๋ฐฉ๋ฒ
ํ๋ซํผ๋ณ ์ง์ ํํฉ
| ๋ฐฉ๋ฒ | Mac | Linux | Windows < 10 | Windows โฅ 10 |
|---|---|---|---|---|
| SSH | โ | โ | โ | โ |
| PuTTY | โ | โ | โ | โ |
| EC2 Instance Connect | โ | โ | โ | โ |
| AWS Systems Manager (SSM) | โ | โ | โ | โ |
SSH ์ ์ ์์
# ํค ํ์ผ ๊ถํ ์ค์ (์ต์ด 1ํ)chmod 400 my-key.pem
# ์ ์ssh -i my-key.pem ec2-user@<๊ณต์ธIP># Amazon Linux: ec2-user# Ubuntu: ubuntu# CentOS: centos๐ EC2 Instance Connect vs SSM Session Manager
| ๊ตฌ๋ถ | EC2 Instance Connect | SSM Session Manager |
|---|---|---|
| SSH ํค ํ์ | โ (๋ธ๋ผ์ฐ์ ๊ธฐ๋ฐ) | โ |
| ๊ณต์ธ IP ํ์ | โ | โ (ํ๋ผ์ด๋น ์๋ธ๋ท ๊ฐ๋ฅ) |
| ํฌํธ 22 ์คํ ํ์ | โ | โ |
| ๊ฐ์ฌ ๋ก๊ทธ | ์ ํ์ | CloudTrail + S3 ์์ ๊ธฐ๋ก |
| ๋ณด์ ์์ค | ๋ณดํต | ์ต๊ณ (Best Practice) |
AWS Systems Manager Session Manager
- SSH ํฌํธ๋ฅผ ์ด๊ฑฐ๋ Bastion ํธ์คํธ๋ฅผ ์ฌ์ฉํ์ง ์๊ณ EC2 ์ธ์คํด์ค, ์จํ๋ ๋ฏธ์ค ์๋ฒ, VM ๋ฑ์ ์์ธ์ค ํ ์ ์๋ ์์ ํ๊ณ (secure), ๊ฐ์ฌ๊ฐ ๊ฐ๋ฅํ๋ฉฐ(audited), ๋ธ๋ผ์ฐ์ ๊ธฐ๋ฐ(browser-based) ์
- Benefits
- ๋ณด์ (Security) : SSH ํฌํธ๋ RDP (3389) ํฌํธ๋ฅผ ์ด์ง ์์๋ ๋์ด์ ๋์ ๋ณด์ ์์ค ์ ์ง ๊ฐ๋ฅ
- ์ ๊ทผ ์ ์ด (Access Control) : IAM ์ ์ฑ ์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์์ ์ ๊ทผ ์ ์ด ๊ฐ๋ฅ
- ๊ฐ์ฌ ์ถ์ ๊ฐ๋ฅ์ฑ (Auditability) : ๋ชจ๋ ์ธ์ ๋ช ๋ น์ด๋ ๋ก๊น โ CloudWatch Logs๊ฐ Amazon S3 ๋ฑ์์ ๋ก๊ทธ ์ค์ ๊ด๋ฆฌ ์ง์
- SSH Key ๊ด๋ฆฌ โ : SSH ํค ๊ด๋ฆฌ, ์ ์ฅ ๋ฐ ๋กํ ์ด์ ์ด ๋ถํ์
- ํฌ๋ก์ค ํ๋ซํผ (Cross-Platform) : Windows์ Linux ์ธ์คํด์ค ๋๋ค ์ง์ ๊ฐ๋ฅ
- How to setup?
- SSM Agent ์ค์น
- IAM Role Configuration :
AmazonSSMManagedInstanceCore์ ์ฑ ์ค์ ์ ํตํด์ System Manager service์ ํต์ ๊ฐ๋ฅํ๋๋ก ํ์ฉ - Network Connectivity : ์ธ์คํด์ค๋ HTTPS (443) ์์๋ฐ์ด๋ ์ ์ฑ ํ์ฉ
๐ก 2025 Best Practiceํฌํธ 22๋ฅผ ์์ ์ด์ง ์๊ณ SSM Session Manager๋ก ์ ์ํ๋ ๊ฒ์ด ๋ณด์์ ๊ฐ์ฅ ๊ถ์ฅ๋๋ ๋ฐฉ์์ ๋๋ค.
5. ๊ตฌ๋งค ์ต์ (Purchasing Options)
๐จ ํธํ ๋น์ ๋ก ์ดํดํ๊ธฐ
| ๊ตฌ๋งค ์ต์ | ํธํ ๋น์ | ํน์ง |
|---|---|---|
| On-Demand | ์์ฝ ์์ด ์ ๊ฐ๋ก ์ฒดํฌ์ธ | ์ ์ฐ, ๋จ๊ธฐ, ๊ฐ์ฅ ๋น์ |
| Reserved | 1~3๋ ์ฅ๊ธฐ ๊ณ์ฝ ํ ์ธ | ์ต๋ 72% ํ ์ธ, ์์ ์ ์ํฌ๋ก๋ |
| Savings Plans | ์ผ์ ๊ธ์ก ์ ๋ถ, ์ด๋ ๋ฐฉ์ด๋ OK | ์ ์ฐํ ํ ์ธ ์ฝ์ |
| Spot | ๋น ๋ฐฉ ๊ฒฝ๋งค, ์ธ์ ๋ ํด์ค ๊ฐ๋ฅ | ์ต๋ 90% ํ ์ธ, ์ค๋จ ๊ฐ๋ฅ |
| Dedicated Host | ๊ฑด๋ฌผ ์ ์ฒด ์๋ | ๋ฌผ๋ฆฌ ์๋ฒ ๋จ๋ ์ฌ์ฉ, ๋ผ์ด์ ์ค |
| Dedicated Instance | ๊ฐ์ ๊ฑด๋ฌผ ๋ด ๋จ๊ณผ ๊ณต์ ์์ | ๋ ผ๋ฆฌ์ ๊ฒฉ๋ฆฌ |
| Capacity Reservation | ๋ฐฉ ์์ฝ๋ง ํด๋๊ธฐ (์ ์จ๋ ์๊ธ) | ์ฉ๋ ๋ณด์ฅ, ํน์ AZ |
๐ฐ ๋น์ฉ ๋น๊ต ๋ฐ ์ฌ์ฉ ์๋๋ฆฌ์ค
๋น์ฉ (๋์ โ ๋ฎ์)On-Demand > Dedicated Host > Reserved > Savings Plans > Spot
์ ์ฐ์ฑ (๋์ โ ๋ฎ์)On-Demand > Spot > Savings Plans > Reserved > Dedicated HostOn-Demand
- Linux/Windows: ์ด ๋จ์ ๊ณผ๊ธ (์ต์ด 1๋ถ ์ดํ)
- ๊ธฐํ OS: ์๊ฐ ๋จ์ ๊ณผ๊ธ
- ์์ธก ๋ถ๊ฐํ ๋จ๊ธฐ ์ํฌ๋ก๋, ์ ๊ท ์ฑ ํ ์คํธ์ ์ ํฉ
Reserved Instances (RI)
- ์ต๋ 72% ํ ์ธ (3๋ ์ ์ก ์ ๋ถ ์ ์ต๋)
- ๊ณ ์ ์กฐ๊ฑด: ์ธ์คํด์ค ํ์ , ๋ฆฌ์ , OS, ํ ๋์
| ๊ฒฐ์ ๋ฐฉ์ | ํ ์ธ์จ |
|---|---|
| No Upfront (์ ๋ถ ์์) | ๋ฎ์ |
| Partial Upfront (์ผ๋ถ ์ ๋ถ) | ์ค๊ฐ |
| All Upfront (์ ์ก ์ ๋ถ) | ์ต๋ |
- Convertible RI: ์ธ์คํด์ค ํ์ ๋ณ๊ฒฝ ๊ฐ๋ฅ, ์ต๋ 66% ํ ์ธ
- Reserved Instance Marketplace์์ ๋จ์ ๊ธฐ๊ฐ ํ๋งค ๊ฐ๋ฅ
Savings Plans
- ์๊ฐ๋น ์ฌ์ฉ ๊ธ์ก ์ฝ์ (
$X/์๊ฐํํ) - RI๋ณด๋ค ์ ์ฐ: ์ธ์คํด์ค ํฌ๊ธฐ, OS, ํ ๋์ ๋ณ๊ฒฝ ๊ฐ๋ฅ
- ์ฝ์ ์ด๊ณผ๋ถ์ On-Demand ์๊ธ ์ ์ฉ
- ์ทจ์ ๋ถ๊ฐ (1๋ ๋๋ 3๋ ์ฝ์ )
๋๋ถ๋ถ์ ํ์๊ฒ๋ Compute Savings Plans๊ฐ ์ ๊ฐ์ก๊ณผ ์ ์ฐ์ฑ์ ๊ฐ์ฅ ์ข์ ๊ท ํ์ ์ ๊ณตํฉ๋๋ค. AWS๋ ์๋ก์ด ์ฝ์ ์ ๋ํด Savings Plans๋ฅผ ๊ถ์ฅํฉ๋๋ค.
Spot Instances
- ์ต๋ 90% ํ ์ธ โ AWS์์ ๊ฐ์ฅ ์ ๋ ด
- ํ์ฌ Spot ๊ฐ๊ฒฉ์ด ์ค์ ํ ์ต๋ ๊ฐ๊ฒฉ ์ด๊ณผ ์ 2๋ถ ๊ฒฝ๊ณ ํ ์ธ์คํด์ค ์ข ๋ฃ
- ์ค๋จ์ ๊ฒฌ๋ ์ ์๋ ์ํฌ๋ก๋์๋ง ์ ํฉ:
โ
์ ํฉ: ๋ฐฐ์น ์ฒ๋ฆฌ, ๋ฐ์ดํฐ ๋ถ์, ์ด๋ฏธ์ง ์ฒ๋ฆฌ, ML ํ์ต, CI/CDโ ๋ถ์ ํฉ: ์ด์ DB, ๊ฒฐ์ ์์คํ
, ์ค์๊ฐ ์๋น์คDedicated Hosts vs Dedicated Instances
| ํญ๋ชฉ | Dedicated Instance | Dedicated Host |
|---|---|---|
| ๋ฌผ๋ฆฌ ์๋ฒ ์ ์ฉ ์ฌ์ฉ | โ (๊ณ์ ๋ด ๊ณต์ ๊ฐ๋ฅ) | โ |
| ์์ผ/์ฝ์ด ์ ๊ฐ์์ฑ | โ | โ |
| ์ธ์คํด์ค ๋ฐฐ์น ์ ์ด | โ | โ |
| ๊ธฐ์กด ๋ผ์ด์ ์ค ํ์ฉ (BYOL) | โ | โ |
| ๋น์ฉ | ๋น์ | ๊ฐ์ฅ ๋น์ |
๐ก Dedicated Host ์ฌ์ฉ ์๋๋ฆฌ์ค: Oracle, Microsoft SQL Server ๋ฑ ์์ผ/์ฝ์ด ๊ธฐ๋ฐ ๋ผ์ด์ ์ค๊ฐ ์๋ ์ํํธ์จ์ด๋ฅผ ํด๋ผ์ฐ๋๋ก ์ด์ (Lift & Shift)ํ ๋.
6. Spot Instance ์ฌํ
๐ฏ Spot Instance ์๋ ๋ฐฉ์
์ฌ์ฉ์๊ฐ max price ์ค์ โ โผํ์ฌ Spot ๊ฐ๊ฒฉ < max price โ ์ธ์คํด์ค ์คํ ์ ์ง โํ์ฌ Spot ๊ฐ๊ฒฉ > max price โ 2๋ถ ๊ฒฝ๊ณ โ โโโ Stop: Spot ๊ฐ๊ฒฉ์ด ๋ฎ์์ง๋ฉด ์๋ ์ฌ์์ (Persistent) โโโ Terminate: ์์ ์ข
๋ฃ (One-time)๐ Spot Request ์ ํ
| ์ ํ | ์ค๋ช | ์ข ๋ฃ ํ |
|---|---|---|
| One-time | ํ ๋ฒ๋ง ์์ฒญ, ์ข ๋ฃ ์ ๋ | ์ฌ์์ ์์ |
| Persistent | ๊ฐ๊ฒฉ ์กฐ๊ฑด ์ถฉ์กฑ ์ ์๋ ์ฌ์์ | ์๋ ์ฌ์คํ |
์ฌ๋ฐ๋ฅธ ์ข ๋ฃ ์์:
1๏ธโฃ Spot Request ์ทจ์ (Cancel) โ ๋จผ์ !2๏ธโฃ ์ฐ๊ฒฐ๋ ์ธ์คํด์ค ์ข
๋ฃ (Terminate)
โ ๏ธ ์ธ์คํด์ค๋ง ์ข
๋ฃํ๋ฉด Persistent ์์ฒญ์ด ์ ์ธ์คํด์ค๋ฅผ ๋ค์ ์์์ํด๐ข Spot Fleet โ ๋ ์ค๋งํธํ Spot ํ์ฉ
Spot Fleet = Spot ์ธ์คํด์ค ์งํฉ + (์ ํ) On-Demand ์ธ์คํด์ค
Spot Fleetโโโ Launch Pool A: c5.xlarge, Linux, us-east-1aโโโ Launch Pool B: c5.2xlarge, Linux, us-east-1bโโโ Launch Pool C: c5a.xlarge, Linux, us-east-1c
โ ๋ชฉํ ์ฉ๋์ ๋ง์ถฐ ๊ฐ์ฅ ์ ๋ฆฌํ ํ์์ ์๋์ผ๋ก ์ธ์คํด์ค ์์ฒญSpot Fleet ํ ๋น ์ ๋ต:
| ์ ๋ต | ์ค๋ช | ์ ํฉํ ์ํฉ |
|---|---|---|
lowestPrice | ๊ฐ์ฅ ์ ๋ ดํ ํ ์ฐ์ | ๋น์ฉ ์ต์ฐ์ ๋จ๊ธฐ ์์ |
diversified | ์ฌ๋ฌ ํ์ ๋ถ์ฐ | ๊ฐ์ฉ์ฑ ์ค์, ์ฅ๊ธฐ ์คํ |
capacityOptimized | ์ฉ๋ ์ฌ์ ์๋ ํ ์ฐ์ | ์ค๋จ ์ต์ํ |
priceCapacityOptimized โญ | ์ฉ๋ ์ฌ์ ํ ์ค ์ต์ ๊ฐ | ๋๋ถ๋ถ์ ์ํฌ๋ก๋์ ๊ถ์ฅ |
7. IP ์ฃผ์ & Elastic IP
๐ ๊ณต์ธ IP (Public IP) vs ์ฌ์ค IP (Private IP)
| ๊ตฌ๋ถ | ๊ณต์ธ IP (Public IP) | ์ฌ์ค IP (Private IP) |
|---|---|---|
| ์๋ณ ๋ฒ์ | ์ธํฐ๋ท ์ ์ฒด | ํด๋น ์ฌ์ค ๋คํธ์ํฌ ๋ด๋ถ๋ง |
| ์ ์ผ์ฑ | ์ ์ธ๊ณ์์ ์ ์ผ | ๊ฐ์ ๋คํธ์ํฌ ๋ด์์๋ง ์ ์ผ |
| ์ค๋ณต | ๋ถ๊ฐ | ์๋ก ๋ค๋ฅธ ํ์ฌ ๊ฐ์๋ ์ค๋ณต ๊ฐ๋ฅ |
| ์ธ๋ถ ์ ๊ทผ | ์ง์ ๊ฐ๋ฅ | NAT + ์ธํฐ๋ท ๊ฒ์ดํธ์จ์ด ๊ฒฝ์ ํ์ |
| ์์น ์ถ์ | ๊ฐ๋ฅ (Geo-location) | ๋ถ๊ฐ |
[์ฌ์ค ๋คํธ์ํฌ A] [์ฌ์ค ๋คํธ์ํฌ B] 192.168.1.10 192.168.1.10 โ ์ฌ์ค IP ์ค๋ณต ๊ฐ๋ฅ โ โ [NAT/IGW] [NAT/IGW] โ โ โโโโโโโโโ ์ธํฐ๋ท โโโโโโโโโโโ (๊ณต์ธ IP๋ ์ ์ผ)TIPEC2 ์ธ์คํด์ค๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ์ค IP๋ ๊ณ ์ ์ด์ง๋ง, ๊ณต์ธ IP๋ ์ธ์คํด์ค๋ฅผ ์ค์ง(Stop) ํ ์ฌ์์(Start)ํ๋ฉด ๋ณ๊ฒฝ๋ฉ๋๋ค.
๐ IPv4 vs IPv6
| ํญ๋ชฉ | IPv4 | IPv6 |
|---|---|---|
| ์์ | 1.160.10.240 | 3ffe:1900:4545:3:200:f8ff:fe21:67cf |
| ์ฃผ์ ์ | ์ฝ 37์ต ๊ฐ (๊ณ ๊ฐ ์ค) | ์ฌ์ค์ ๋ฌด์ ํ |
| ํ์ฌ ์ํ | ์ธํฐ๋ท์ ์ฃผ๋ฅ ๋ฐฉ์ | IoT ๋ฑ ์ ๊ท ๊ธฐ๊ธฐ ํ์ฐ์ผ๋ก ์ฆ๊ฐ ์ค |
๐ Elastic IP (ํ๋ ฅ์ IP)
- EC2 ์ธ์คํด์ค๋ฅผ ์ค์ง(Stop) ํ ์์(Start)ํ๋ฉด ๊ณต์ธ IP๊ฐ ๋ฐ๋๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ณ ์ ๊ณต์ธ IPv4 ์ฃผ์
- ์ญ์ ํ์ง ์๋ ํ ๊ณ์ ์์ ๊ฐ๋ฅ
- ํ ๋ฒ์ ํ๋์ ์ธ์คํด์ค์๋ง ์ฐ๊ฒฐ ๊ฐ๋ฅ
- ์ธ์คํด์ค ๋๋ ๋คํธ์ํฌ ์ธํฐํ์ด์ค ์ฅ์ ์, ๋ค๋ฅธ ์ธ์คํด์ค๋ก ๋น ๋ฅด๊ฒ ์ฌ๋งคํ(Remap)ํ์ฌ ์ฅ์ ๋ฅผ ๋ง์คํน(Masking)ํ๋ ์ฉ๋๋ก ํ์ฉ ๊ฐ๋ฅ
- ๊ณ์ ๋น ๊ธฐ๋ณธ 5๊ฐ ์ ํ (AWS์ ์ฆ๊ฐ ์์ฒญ ๊ฐ๋ฅ)
- ์ฐ๊ฒฐ๋์ง ์์ Elastic IP์๋ ์๊ธ ๋ถ๊ณผ (๋ญ๋น ๋ฐฉ์ง์ฉ)
โ ๏ธ Elastic IP ์ฌ์ฉ์ ํผํด์ผ ํ๋ ์ด์
Elastic IP๋ฅผ ์ฌ์ฉํ๋ ์ํคํ ์ฒ๋ ์ข ์ข ์ค๊ณ๊ฐ ์๋ชป๋ ์ ํธ์ ๋๋ค (often reflect poor architectural decisions).
๋์ ๊ถ์ฅํ๋ ๋ฐฉ๋ฒ:
| ์ํฉ | ๊ถ์ฅ ๋ฐฉ๋ฒ |
|---|---|
| ๊ณ ์ ์ฃผ์๊ฐ ํ์ํ ๊ฒฝ์ฐ | DNS ์ด๋ฆ(Route 53)์ ๊ณต์ธ IP์ ์ฐ๊ฒฐ |
| ์ธ๋ถ ํธ๋ํฝ ์ฒ๋ฆฌ | ๋ก๋ ๋ฐธ๋ฐ์(ELB) ์ฌ์ฉ โ ์ธ์คํด์ค์ ๊ณต์ธ IP ๋ถํ์ |
| ์ฅ์ ๋ณต๊ตฌ | Auto Scaling + ELB ์กฐํฉ์ผ๋ก IP ์์กด์ฑ ์ ๊ฑฐ |
8. ๋ฐฐ์น ๊ทธ๋ฃน (Placement Groups)
- EC2 ์ธ์คํด์ค๊ฐ AWS ์ธํ๋ผ ๋ด์ ์ด๋ป๊ฒ ๋ฐฐ์น๋ ์ง๋ฅผ ์ ์ดํ๋ ๊ธฐ๋ฅ
- ์ธ ๊ฐ์ง ์ ๋ต ์ค ํ๋๋ฅผ ์ ํํ์ฌ ๊ทธ๋ฃน ์์ฑ
๐ ๋ฐฐ์น ์ ๋ต ๋น๊ต
| ์ ๋ต | ํต์ฌ ๋ชฉํ | ์ ์ฝ | ์ฃผ์ Use Case |
|---|---|---|---|
| Cluster | ์ด์ ์ง์ฐ, ๊ณ ๋์ญํญ | ๋จ์ผ AZ, ๋จ์ผ ๋ | HPC, ๋น ๋ฐ์ดํฐ, ์ด๊ณ ์ ํต์ |
| Spread | ์ต๋ ๊ฐ์ฉ์ฑ, ๋ฌผ๋ฆฌ์ ๊ฒฉ๋ฆฌ | AZ๋น ์ต๋ 7 ์ธ์คํด์ค | ๋ฏธ์ ํฌ๋ฆฌํฐ์ปฌ, ๊ณ ๊ฐ์ฉ์ฑ ์ฑ |
| Partition | ๋๊ท๋ชจ ๋ถ์ฐ, ํํฐ์ ๋จ์ ๊ฒฉ๋ฆฌ | AZ๋น ์ต๋ 7 ํํฐ์ , ์๋ฐฑ ์ธ์คํด์ค | ๋ถ์ฐ ๋ฐ์ดํฐ ์์คํ (Hadoop, Kafka) |
๐ Cluster Placement Group (ํด๋ฌ์คํฐ ๋ฐฐ์น ๊ทธ๋ฃน)
โโโโโโโโโโโโ Availability Zone โโโโโโโโโโโโโ โโโโโโโโโโโโ ๋จ์ผ ๋ โโโโโโโโโโโโโโ โโ โ [EC2] [EC2] [EC2] [EC2] [EC2] โ โโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ- ์ฅ์ : Enhanced Networking (ํฅ์๋ ๋คํธ์ํน) ํ์ฑํ ์ ์ธ์คํด์ค ๊ฐ 10Gbps ๋์ญํญ
- ๋จ์ : AZ ์ ์ฒด ์ฅ์ ์ ๋ชจ๋ ์ธ์คํด์ค๊ฐ ๋์์ ์ค๋จ๋จ
- Use Case: ๋น ๋ฅด๊ฒ ์๋ฃํด์ผ ํ๋ ๋น ๋ฐ์ดํฐ ์์ (Big Data job), ์ด์ ์ง์ฐยท๊ณ ์ฒ๋ฆฌ๋์ด ํ์ํ ์ ํ๋ฆฌ์ผ์ด์
๐ก๏ธ Spread Placement Group (๋ถ์ฐ ๋ฐฐ์น ๊ทธ๋ฃน)
โโโ AZ 1 โโโ โโโ AZ 2 โโโ โโโ AZ 3 โโโโ [๋1] โ โ [๋2] โ โ [๋3] โโ [EC2] โ โ [EC2] โ โ [EC2] โโโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ- ์ฅ์ : ๊ฐ ์ธ์คํด์ค๊ฐ ์๋ก ๋ค๋ฅธ ๋ฌผ๋ฆฌ ํ๋์จ์ด(๋)์ ๋ฐฐ์น โ ๋์ ์ฅ์ ์ํ ์ต์ํ, ์ฌ๋ฌ AZ์ ๊ฑธ์ณ ๋ฐฐ์น ๊ฐ๋ฅ
- ๋จ์ : AZ๋น ์ต๋ 7๊ฐ ์ธ์คํด์ค ์ ํ (์๊ท๋ชจ ๋ฐฐํฌ์๋ง ์ ํฉ)
- Use Case: ๊ฐ ์ธ์คํด์ค๊ฐ ์๋ก ๋ ๋ฆฝ์ ์ผ๋ก ์ฅ์ ๊ฒฉ๋ฆฌ(Isolated from failure)๋์ด์ผ ํ๋ ๊ณ ๊ฐ์ฉ์ฑ ๋ฏธ์ ํฌ๋ฆฌํฐ์ปฌ ์ ํ๋ฆฌ์ผ์ด์
๐๏ธ Partition Placement Group (ํํฐ์ ๋ฐฐ์น ๊ทธ๋ฃน)
โโโโโโโโโโโโโโโโโ AZ 1 โโโโโโโโโโโโโโโโโโโโ โโํํฐ์
1โโ โโํํฐ์
2โโ โโํํฐ์
3โโ โโ โ [EC2] โ โ [EC2] โ โ [EC2] โ โโ โ [EC2] โ โ [EC2] โ โ [EC2] โ โโ โ [EC2] โ โ [EC2] โ โ [EC2] โ โโ โโโโโโโโโโ โโโโโโโโโโ โโโโโโโโโโ โโ (์๋ก ๋ค๋ฅธ ๋, ํํฐ์
๊ฐ ๋ ๊ณต์ ์์) โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ- AZ๋น ์ต๋ 7๊ฐ ํํฐ์ , ๋์ผ ๋ฆฌ์ ๋ด ์ฌ๋ฌ AZ์ ๊ฑธ์ณ ๋ฐฐ์น ๊ฐ๋ฅ
- ๊ทธ๋ฃน๋น ์๋ฐฑ ๊ฐ์ EC2 ์ธ์คํด์ค ์ง์
- ํํฐ์ ๊ฐ ๋์ ์ ๋ ๊ณต์ ํ์ง ์์ โ ํ ํํฐ์ ์ฅ์ ๊ฐ ๋ค๋ฅธ ํํฐ์ ์ ์ํฅ ์์
- ์ธ์คํด์ค ๋ฉํ๋ฐ์ดํฐ(Instance Metadata)๋ก ์์ ์ด ์ํ ํํฐ์ ์ ๋ณด ์ ๊ทผ ๊ฐ๋ฅ โ ์ ํ๋ฆฌ์ผ์ด์ ์ด ํ ํด๋ก์ง ์ธ์(Topology-aware) ๋ฐฐํฌ ๊ฐ๋ฅ
- Use Case: HDFS, HBase, Cassandra, Kafka ๋ฑ ๋๊ท๋ชจ ๋ถ์ฐ ๋ฐ์ดํฐ ์์คํ
9. ํ๋ ฅ์ ๋คํธ์ํฌ ์ธํฐํ์ด์ค (ENI)
๐ ENI๋?
- ENI (Elastic Network Interface, ํ๋ ฅ์ ๋คํธ์ํฌ ์ธํฐํ์ด์ค): VPC (Virtual Private Cloud, ๊ฐ์ ์ฌ์ค ํด๋ผ์ฐ๋) ๋ด์์ ๊ฐ์ ๋คํธ์ํฌ ์นด๋๋ฅผ ๋ํ๋ด๋ ๋ ผ๋ฆฌ์ ์ปดํฌ๋ํธ
- EBS ๋ณผ๋ฅจ์ ํ์์ ๋ฐ๋ผ EC2์ ๋ถ์ด๋ฏ, ๋คํธ์ํน ๊ณ์ธต๋ ์ธ์คํด์ค์ ๋ ๋ฆฝ์ ์ผ๋ก ๋ถ๋ฆฌํ์ฌ ๋ณ๋๋ก ๊ด๋ฆฌ ๊ฐ๋ฅ
- ํน์ AZ (Availability Zone, ๊ฐ์ฉ ์์ญ)์ ์ข ์๋จ โ AZ ๊ฐ ์ด๋ ๋ถ๊ฐ
๐ก AWS ๊ณต์ ๋ธ๋ก๊ทธ ํต์ฌ ์ธ์ฌ์ดํธ: ENI ๋์ ์ด์ ์๋ EC2 ์ธ์คํด์ค๊ฐ ํน์ ์๋ธ๋ท(Subnet)์ ์ํ๋ ๊ฐ๋ ์ด์์ผ๋, ENI ๋์ ์ดํ ์๋ธ๋ท ๊ท์ ๋จ์๋ ์ธ์คํด์ค๊ฐ ์๋ ENI ๋ก ๋ฐ๋์์ต๋๋ค. ๋ฐ๋ผ์ ํ๋์ ์ธ์คํด์ค์ ์๋ก ๋ค๋ฅธ ์๋ธ๋ท์ ENI ๋ ๊ฐ๋ฅผ ๋ถ์ฌ ๋์ผ ํ(Dual-homed) ํ๊ฒฝ์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
๐ ENI ์์ฑ (Attributes)
| ์์ฑ | ์ค๋ช |
|---|---|
| ๊ธฐ๋ณธ ์ฌ์ค IPv4 (Primary Private IPv4) | ๋ฐ๋์ 1๊ฐ, ์๋ธ๋ท ๋์ญ ๋ด ํ ๋น |
| ๋ณด์กฐ ์ฌ์ค IPv4 (Secondary Private IPv4) | 1๊ฐ ์ด์ ์ถ๊ฐ ๊ฐ๋ฅ |
| ํ๋ ฅ์ IP (Elastic IP) | ์ฌ์ค IPv4๋น ์ต๋ 1๊ฐ ์ฐ๊ฒฐ ๊ฐ๋ฅ |
| ๊ณต์ธ IPv4 (Public IPv4) | 1๊ฐ |
| ๋ณด์ ๊ทธ๋ฃน (Security Groups) | 1๊ฐ ์ด์ ์ฐ๊ฒฐ ๊ฐ๋ฅ |
| MAC ์ฃผ์ (MAC Address) | ๊ณ ์ ์๋ณ์, BYOL ๋ผ์ด์ ์ค์ ํ์ฉ |
| ์์ค/๋ชฉ์ ์ง ํ์ธ ํ๋๊ทธ (Source/Destination Check Flag) | NATยทํ๋ก์ ์๋ฒ ๊ตฌ์ฑ ์ ๋นํ์ฑํ ํ์ |
| ์ข ๋ฃ ์ ์ญ์ ํ๋๊ทธ (Delete on Termination Flag) | ๊ธฐ๋ณธ ENI๋ ์ธ์คํด์ค ์ข ๋ฃ ์ ์๋ ์ญ์ |
๐ ENI์ ๋ ๋ฆฝ์ ์๋ช ์ฃผ๊ธฐ (Independent Lifetime)
EBS ๋ณผ๋ฅจ์ฒ๋ผ ENI๋ ํน์ EC2 ์ธ์คํด์ค์ ๋ ๋ฆฝ์ ์ธ ์๋ช ์ฃผ๊ธฐ๋ฅผ ๊ฐ์ง๋๋ค.
ENI ์์ฑ (๋ฏธ๋ฆฌ ๋ง๋ค์ด ๋๊ธฐ ๊ฐ๋ฅ) โ โโโ ์ธ์คํด์ค ์์ ์ ์ฐ๊ฒฐ (Launch-time attach) โโโ ์คํ ์ค์ธ ์ธ์คํด์ค์ ์ฆ์ ์ฐ๊ฒฐ (Hot attach, ํซ ์ดํ์น) โโโ ์ธ์คํด์ค ์ข
๋ฃ ํ์๋ ENI๋ ์ ์ง (Delete on Termination = false ์)๐๏ธ ENI ์ฃผ์ ํ์ฉ ํจํด
1. ๊ด๋ฆฌ ๋คํธ์ํฌ ๋ถ๋ฆฌ (Management Network / Backnet)
EC2 ์ธ์คํด์คโโโ ENI 1 (๊ณต์ฉ ์๋ธ๋ท) โโ ์ธํฐ๋ท ๊ฒ์ดํธ์จ์ด โ ์ธ๋ถ ํธ๋ํฝ ์ฒ๋ฆฌ (ํฌํธ 80/443)โโโ ENI 2 (์ฌ์ค ์๋ธ๋ท) โโ VPN ๊ฒ์ดํธ์จ์ด โ SSH ์ ์ยท๋ก๊ทธยท๊ด๋ฆฌ ํธ๋ํฝ (ํฌํธ 22)๊ฐ ENI์ ๋ค๋ฅธ ๋ณด์ ๊ทธ๋ฃน์ ์ ์ฉํด ํธ๋ํฝ์ ์ธ๋ฐํ๊ฒ ์ ์ด ๊ฐ๋ฅ.
2. ๋ฉํฐ ์ธํฐํ์ด์ค ์ ํ๋ฆฌ์ผ์ด์ (Multi-Interface Applications)
๋ก๋ ๋ฐธ๋ฐ์(Load Balancer), ํ๋ก์ ์๋ฒ(Proxy Server), NAT ์๋ฒ ๊ตฌ์ฑ ์ ๋ ์๋ธ๋ท ์ฌ์ด์์ ํธ๋ํฝ์ ์ ๋ฌ. ์ด ๊ฒฝ์ฐ ์์ค/๋ชฉ์ ์ง ํ์ธ(Source/Destination Check)์ ๋นํ์ฑํํด์ผ ํจ.
3. MAC ์ฃผ์ ๊ธฐ๋ฐ ๋ผ์ด์ ์ค (MAC-Based Licensing)
ํน์ MAC ์ฃผ์์ ๋ฌถ์ธ ์์ฉ ์ํํธ์จ์ด ๋ผ์ด์ ์ค๋ฅผ ์ฌ์ฉํ ๋, ์ธ์คํด์ค๊ฐ ๊ต์ฒดยทํ์ ๋ณ๊ฒฝ์ด ํ์ํ ๊ฒฝ์ฐ์๋ ๋์ผํ ENI(MAC ์ฃผ์ ์ ์ง)๋ฅผ ์ ์ธ์คํด์ค์ ์ฌ์ฐ๊ฒฐํ์ฌ ๋ผ์ด์ ์ค ์ฌ๋ฐ๊ธ ์์ด ๊ณ์ ์ฌ์ฉ ๊ฐ๋ฅ.
4. ์ ๋น์ฉ ๊ณ ๊ฐ์ฉ์ฑ (Low-Budget High Availability)
1๏ธโฃ ENI๋ฅผ ์ธ์คํด์ค A์ ์ฐ๊ฒฐ2๏ธโฃ ์ธ์คํด์ค A ์ฅ์ ๋ฐ์3๏ธโฃ ์ ์ธ์คํด์ค B ์์4๏ธโฃ ENI๋ฅผ ์ธ์คํด์ค B์ ์ฌ์ฐ๊ฒฐ โ ์ ์ด ๋ด ํธ๋ํฝ ๋ณต๊ตฌIP ์ฃผ์์ ๋ณด์ ๊ทธ๋ฃน ์ค์ ์ด ENI์ ์ข ์๋์ด ์์ผ๋ฏ๋ก, ์ธ์คํด์ค๊ฐ ๋ฐ๋์ด๋ ๋คํธ์ํฌ ๊ตฌ์ฑ์ด ๊ทธ๋๋ก ์ ์ง๋จ.
๐ ์ฅ์ ๋ณต๊ตฌ ์๋๋ฆฌ์ค (Failover)
[ENI: 10.0.1.50]โโโ [์ธ์คํด์ค A: ์ ์] โ ์ฅ์ ! โผ[ENI: 10.0.1.50]โโโ [์ธ์คํด์ค B: ๊ต์ฒด๋จ] (๋์ผ IP ์ ์ง) (์ ์ด ๋ด ํธ๋ํฝ ์ ํ)TIPENI๋ ํน์ AZ์ ์ข ์(Bound to a specific AZ)๋ฉ๋๋ค. AZ ๊ฐ ์ด๋์ ๋ถ๊ฐํ๋ฏ๋ก, ๋ฉํฐ AZ ๊ณ ๊ฐ์ฉ์ฑ์ด ํ์ํ ๊ฒฝ์ฐ ELB(Elastic Load Balancer)๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
10. EC2 ์ต๋ ์ ์ ๋ชจ๋ (Hibernate)
๐ค ์ธ์คํด์ค ์ํ ์ ํ ๋น๊ต
| ์ํ | EBS ๋ฐ์ดํฐ | RAM ์ํ | ๋ค์ ์์ ์ |
|---|---|---|---|
| Stop (์ค์ง) | โ ์ ์ง | โ ์๋ฉธ | OS ๋ถํ + ์ฑ ์ด๊ธฐํ ํ์ |
| Terminate (์ข ๋ฃ) | โ ์๋ฉธ (๋ฃจํธ ๋ณผ๋ฅจ ๊ธฐ๋ณธ ์ญ์ ) | โ ์๋ฉธ | ์ ์ธ์คํด์ค ์์ ํ์ |
| Hibernate (์ต๋ ์ ์ ) | โ ์ ์ง | โ EBS์ ์ ์ฅ ํ ๋ณต์ | ํจ์ฌ ๋น ๋ฅธ ์ฌ์์ |
๐ง Hibernate ์๋ ์๋ฆฌ
Hibernate ์คํ โ โผRAM ์ ์ฒด ๋ด์ฉ์ ๋ฃจํธ EBS ๋ณผ๋ฅจ ํ์ผ์ ๋คํ(Dump) โ โผ์ธ์คํด์ค ์ค์ง (OS๊ฐ ์์ ํ ์ข
๋ฃ๋์ง ์์) โ โผ์ฌ์์ ์ โ EBS์์ RAM ์ํ ๋ณต์ โ ์ค๋จ ์ง์ ๋ถํฐ ์ฆ์ ์ฌ๊ฐIMPORTANTOS ์ฌ๋ถํ (OS booting)์ด ์์ผ๋ฏ๋ก ์์ ์๊ฐ์ด ๋งค์ฐ ๋น ๋ฆ. ์ ํ๋ฆฌ์ผ์ด์ ์ด ์บ์ ์๋ฐ(Cache Warming)์ ๋ค์ ํ ํ์ ์์.
โ ์ง์ ์กฐ๊ฑด (Requirements)
| ํญ๋ชฉ | ์กฐ๊ฑด |
|---|---|
| ์ธ์คํด์ค ํจ๋ฐ๋ฆฌ (Instance Family) | C3, C4, C5, I3, M3, M4, R3, R4, T2, T3 ๋ฑ |
| RAM ํฌ๊ธฐ (RAM Size) | 150 GB ๋ฏธ๋ง |
| ์ธ์คํด์ค ํฌ๊ธฐ (Instance Size) | ๋ฒ ์ด ๋ฉํ(Bare Metal) ์ธ์คํด์ค ๋ฏธ์ง์ |
| AMI | Amazon Linux 2, Linux AMI, Ubuntu, Windows ๋ฑ |
| ๋ฃจํธ ๋ณผ๋ฅจ (Root Volume) | ๋ฐ๋์ EBS, ์ํธํ(Encrypted) ํ์, Instance Store ๋ถ๊ฐ, RAM์ ๋ด์ ์ถฉ๋ถํ ์ฉ๋ ํ์ |
| ๊ตฌ๋งค ์ต์ | On-Demand, Reserved, Spot ์ธ์คํด์ค ๋ชจ๋ ์ง์ |
| ์ต๋ ์ ์ ์ ์ง ๊ธฐ๊ฐ | 60์ผ์ ์ด๊ณผํ ์ ์์ (cannot be hibernated more than 60 days) |
๐ก Hibernate ์ฃผ์ Use Case
| Use Case | ์ค๋ช |
|---|---|
| ์ฅ์๊ฐ ์คํ ํ๋ก์ธ์ค (Long-running processing) | ์ฌ์์ ์์ด ์์ ์ํ ๊ทธ๋๋ก ์ ์ง |
| RAM ์ํ ๋ณด์กด (Saving the RAM state) | ์ธ๋ฉ๋ชจ๋ฆฌ ๋ฐ์ดํฐยท์บ์ ์ ์ง |
| ์ด๊ธฐํ๊ฐ ์ค๋ ๊ฑธ๋ฆฌ๋ ์๋น์ค (Services that take time to initialize) | ๋ถํ ยท์บ์ ์๋ฐ ๋น์ฉ ์์ด ์ฆ์ ์ฌ๊ฐ |
WARNINGโ ๏ธ ๋ฃจํธ ๋ณผ๋ฅจ ์ํธํ๊ฐ ํ์์ธ ์ด์ : RAM ๋ด์ฉ(๋ฏผ๊ฐํ ๋ฐ์ดํฐ ํฌํจ ๊ฐ๋ฅ)์ด EBS ๋์คํฌ์ ํ๋ฌธ์ผ๋ก ์ฐ์ด๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํจ.
11. Best Practices
๐ก ์ธ์คํด์ค ์ ํ
1. ์ํฌ๋ก๋ ํน์ฑ ๋จผ์ ํ์
CPU ์ง์ฝ์ โ Compute Optimized (c ๊ณ์ด)๋ฉ๋ชจ๋ฆฌ ์ง์ฝ์ โ Memory Optimized (r, x ๊ณ์ด)์คํ ๋ฆฌ์ง I/O โ Storage Optimized (i, d ๊ณ์ด)๊ท ํ ์กํ ์ผ๋ฐ โ General Purpose (m, t ๊ณ์ด)AI/ML ํ์ต โ GPU (p, g ๊ณ์ด) ๋๋ Trn1AI/ML ์ถ๋ก โ Inf2 (๊ฐ์ฅ ์ ๋ ดํ ์ถ๋ก ์ ์ฉ)2. Graviton(ARM) ์ฐ์ ๊ฒํ
Graviton(arm64)์ x86 ๋๋น ์ต๋ 40% ํฅ์๋ ๊ฐ๊ฒฉ ๋๋น ์ฑ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ๋ฉํฐ ์ํคํ ์ฒ ๋น๋๋ฅผ ํ ์คํธํ๊ณ ๋กค์์ ์ ์ p95/p99 ์ฑ๋ฅ์ ์ธก์ ํ์ธ์.
๐ฐ ๋น์ฉ ์ต์ ํ ์ ๋ต
1. Right-Sizing (์ ์ ๊ท๋ชจ ์กฐ์ )
2~4์ฃผ ๋์ ํ์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ์์งํ๊ณ , AWS Compute Optimizer ๋๋ Cost Explorer๋ฅผ ํตํด ๊ณผ์ ํ์ฉ ์ธ์คํด์ค๋ฅผ ํ์ ํ ๋ค ์ ์ ํ ํฌ๊ธฐ๋ก ์กฐ์ ํ์ธ์.
# AWS Compute Optimizer๋ก ์ฐ์ ๋ถ์# โ CloudWatch ์งํ ๊ธฐ๋ฐ ๊ถ์ฅ ์ธ์คํด์ค ํ์
์ ์2. ๊ตฌ๋งค ์ต์ ํผํฉ (Blended Pricing)
์์ ์ ๊ธฐ๋ณธ ๋ถํ โ Reserved Instances ๋๋ Savings Plans (72% ์ ๊ฐ)๋ณ๋์ ์ถ๊ฐ ๋ถํ โ Spot Instances (์ต๋ 90% ์ ๊ฐ)์์ธก ๋ถ๊ฐ ํผํฌ โ On-Demand (๋ฐฑ์
)๊ธฐ์ค ๋ถํ์๋ Savings Plans/Reserved Instance๋ก ์ปค๋ฒํ๊ณ , ๊ธฐ์ค ์ด๊ณผ์ ๋ณ๋ ๋ถํ์๋ Spot Instance๋ฅผ ์ฌ์ฉํ์ธ์. Spot ์ฉ๋ ๋ถ์กฑ ์์๋ ์ค์ ์ํฌ๋ก๋๋ฅผ ์ํด On-Demand๋ก ์๋ ํด๋ฐฑํ๋๋ก ๊ตฌ์ฑํ์ธ์.
3. ์ค์ผ์ค๋ง์ผ๋ก ์ ํด ๋น์ฉ ์ ๊ฐ
๊ฐ๋ฐ/ํ
์คํธ ํ๊ฒฝ: ์
๋ฌด ์๊ฐ(09:00-19:00)์๋ง ์คํโ ํ๊ทธ ๊ธฐ๋ฐ ์๋ ์์/์ข
๋ฃ โ ์ต๋ 65% ๋น์ฉ ์ ๊ฐ
๊ถ์ฅ ํ๊ทธ ์ฒด๊ณ: Environment = dev | staging | prod Schedule = OfficeHours | AlwaysOn Owner = team-name CostCenter = CC-12344. EBS ๋ณผ๋ฅจ ๋น์ฉ ์ต์ ํ
CloudWatch ๋๋ Compute Optimizer๋ฅผ ํตํด ์ผ๊ด๋๊ฒ ๋ฎ์ IOPS ๋๋ ์ฒ๋ฆฌ๋์ ๋ณด์ด๋ ๋ณผ๋ฅจ์ ์๋ณํ๊ณ , ๋ ์ ๋ ดํ gp3 ๋๋ st1 ๋ณผ๋ฅจ ํ์ ์ผ๋ก ๋ค์ด๊ทธ๋ ์ด๋๋ฅผ ๊ฒํ ํ์ธ์.
| ๋ณผ๋ฅจ ํ์ | ํน์ง | ์ ํฉํ ์ฉ๋ |
|---|---|---|
gp3 | ๋น์ฉ ํจ์จ ๋์ โญ | ๋๋ถ๋ถ์ ์ํฌ๋ก๋ |
gp2 | ๊ตฌํ, gp3๋ณด๋ค ๋น์ | ๋ง์ด๊ทธ๋ ์ด์ ๊ณ ๋ ค |
io2 | ๊ณ IOPS, ๊ณ ๋น์ฉ | ๋ฏธ์ ํฌ๋ฆฌํฐ์ปฌ DB |
st1 | ์ ๋น์ฉ, ์์ฐจ ์ฝ๊ธฐ | ๋ก๊ทธ, ๋น ๋ฐ์ดํฐ |
sc1 | ๊ฐ์ฅ ์ ๋ ด | ์ฝ๋ ๋ฐ์ดํฐ |
TIPgp2 โ gp3 ์ ํ ์ ๋์ผ ์ฑ๋ฅ์ ์ฝ 20% ๋น์ฉ ์ ๊ฐ ๊ฐ๋ฅ.
๐ EC2 ๋ณด์ Best Practice
1. ์ธ์คํด์ค ์ ๊ทผ
- ํฌํธ 22(SSH)๋ฅผ 0.0.0.0/0์ผ๋ก ์ฌ๋ ๊ฒ ์ ๋ ๊ธ์ง
- ๊ฐ๋ฅํ๋ฉด SSM Session Manager ์ฌ์ฉ (ํฌํธ 22 ๋ถํ์)
- ๋ถ๊ฐํผํ ๊ฒฝ์ฐ ํ์ฌ IP ๋๋ VPN IP๋ง ํ์ฉ
2. IAM Role ์ฌ์ฉ
# โ ์ ๋ ๊ธ์ง: Access Key๋ฅผ EC2์ ์ง์ ์ ์ฅexport AWS_ACCESS_KEY_ID="AKIA..."export AWS_SECRET_ACCESS_KEY="..."
# โ
๊ถ์ฅ: EC2 IAM Role ์ฌ์ฉ (์๋์ผ๋ก ์์ ์๊ฒฉ์ฆ๋ช
๊ด๋ฆฌ)# ์ธ์คํด์ค์ Role๋ง ๋ถ์ด๋ฉด ์ฝ๋์์ ์๊ฒฉ์ฆ๋ช
๋ถํ์import boto3s3 = boto3.client('s3') # Role์ด ์๋์ผ๋ก ์ฒ๋ฆฌ3. Auto Scaling ํ์ฉ
Auto Scaling Groupโโโ Minimum: 2 (์ต์ ๊ฐ์ฉ์ฑ ๋ณด์ฅ)โโโ Desired: 4 (ํ์ ์ด์ ์๋)โโโ Maximum: 10 (ํธ๋ํฝ ๊ธ์ฆ ๋๋น)
โ CloudWatch ์งํ(CPU 70% ์ด๊ณผ ์) ๊ธฐ๋ฐ ์๋ Scale Outโ CloudWatch ์งํ(CPU 30% ๋ฏธ๋ง ์) ๊ธฐ๋ฐ ์๋ Scale In๐จ ์์ฃผ ํ๋ ์ค์ (Anti-Patterns)
| ์ค์ | ๋ฌธ์ | ํด๊ฒฐ์ฑ |
|---|---|---|
| ์ธ์คํด์ค ํ์ ๊ณ ๋ ค ์์ด m5.xlarge ๊ณ ์ | ๋น์ฉ ๋ญ๋น ๋๋ ์ฑ๋ฅ ๋ถ์กฑ | Compute Optimizer๋ก ๋ถ์ ํ ์ ํ |
| ๋ชจ๋ ์ํฌ๋ก๋์ On-Demand | ๋ถํ์ํ ๋น์ฉ | RI + Savings Plans + Spot ํผํฉ |
| Security Group์์ 0.0.0.0/0:22 ํ์ฉ | ๋ฌด์ฐจ๋ณ ๋์ ๊ณต๊ฒฉ ๋ ธ์ถ | SSM ๋๋ ํน์ IP๋ง ํ์ฉ |
| ๊ฐ๋ฐ ํ๊ฒฝ 24์๊ฐ ๊ฐ๋ | ๋ถํ์ํ ๋น์ฉ | ์ค์ผ์ค ๊ธฐ๋ฐ ์๋ ์ค์ง |
| Access Key๋ฅผ EC2 ๋ด ํ์ผ๋ก ์ ์ฅ | ํค ํ์ทจ ์ํ | IAM Role๋ก ๋์ฒด |
| ์ธ์คํด์ค ์คํ ์ด์ ์ค์ ๋ฐ์ดํฐ ์ ์ฅ | ์ข ๋ฃ ์ ๋ฐ์ดํฐ ์๋ฉธ | EBS ๋๋ S3์ ์ ์ฅ |
| ๊ตฌ๋ฒ์ ์ธ์คํด์ค ํ์ ๋ฐฉ์น | ๊ฐ๊ฒฉ ๋๋น ์ฑ๋ฅ ๋ฎ์ | ์ ์ธ๋๋ก ๋ง์ด๊ทธ๋ ์ด์ |
12. ํต์ฌ ์์ฝ
EC2 ๊ตฌ์ฑ ํต์ฌโโโ ์ธ์คํด์ค ํ์
: ์ํฌ๋ก๋์ ๋ง๊ฒ ์ ํ (m=๋ฒ์ฉ, c=์ปดํจํ
, r=๋ฉ๋ชจ๋ฆฌ, i=์คํ ๋ฆฌ์ง)โโโ User Data: ์ต์ด 1ํ ๋ถํธ์คํธ๋ฉ (root ๊ถํ)โโโ Security Group: ์ํ ๊ธฐ๋ฐ ๊ฐ์ ๋ฐฉํ๋ฒฝ (Allow๋ง, ๊ธฐ๋ณธ Inbound ์ฐจ๋จ)โโโ ์ ์: SSH / EC2 Instance Connect / SSM Session Manager
IP ์ฃผ์โโโ Public IP: ์ธํฐ๋ท์์ ์๋ณ, ์ธ์คํด์ค ์ฌ์์ ์ ๋ณ๊ฒฝ๋จโโโ Private IP: ๋ด๋ถ ๋คํธ์ํฌ ์ ์ฉ, ์ฌ์์ํด๋ ๊ณ ์ โโโ Elastic IP: ๊ณ ์ ๊ณต์ธ IP, 5๊ฐ ์ ํ, ๋ฏธ์ฐ๊ฒฐ ์ ๊ณผ๊ธ
๋ฐฐ์น ๊ทธ๋ฃน (Placement Groups)โโโ Cluster: ๋จ์ผ AZ, ๋จ์ผ ๋ โ ์ด์ ์ง์ฐยท๊ณ ๋์ญํญ (10Gbps), ๋์ ์ฅ์ ์ํโโโ Spread: ์๋ก ๋ค๋ฅธ ๋ โ ์ต๋ ๊ฐ์ฉ์ฑ, AZ๋น 7๊ฐ ์ ํโโโ Partition: ํํฐ์
๋จ์ ๊ฒฉ๋ฆฌ โ ๋ถ์ฐ ์์คํ
(Hadoop, Kafka, Cassandra)
ENI (Elastic Network Interface)โโโ VPC ๋ด ๊ฐ์ ๋คํธ์ํฌ ์นด๋ (๋
ผ๋ฆฌ์ ์ปดํฌ๋ํธ)โโโ ํน์ AZ์ ์ข
์, AZ ๊ฐ ์ด๋ ๋ถ๊ฐโโโ ์ธ์คํด์ค์ ๋
๋ฆฝ์ ์๋ช
์ฃผ๊ธฐ (Hot attach ๊ฐ๋ฅ)โโโ ํ์ฉ: ๊ด๋ฆฌ๋ง ๋ถ๋ฆฌ, MAC ๋ผ์ด์ ์ค, ์ ๋น์ฉ ๊ณ ๊ฐ์ฉ์ฑ Failover
Hibernate (์ต๋ ์ ์ ๋ชจ๋)โโโ RAM ์ํ๋ฅผ ์ํธํ๋ EBS์ ์ ์ฅ โ ๋น ๋ฅธ ์ฌ์์โโโ ๋ฃจํธ EBS ์ํธํ(Encrypted) ํ์โโโ RAM 150GB ๋ฏธ๋ง, ์ต๋ 60์ผ ์ ํโโโ ๊ตฌ๋งค ์ต์
: On-Demand / Reserved / Spot ๋ชจ๋ ์ง์
๊ตฌ๋งค ์ต์
์ ํ ๊ฐ์ด๋โโโ ๋จ๊ธฐยท๋ถ๊ท์น โ On-Demandโโโ ์์ ์ ์ฅ๊ธฐ โ Reserved Instances ๋๋ Savings Plans (72% ์ ๊ฐ)โโโ ์ค๋จ ํ์ฉ โ Spot Instances (90% ์ ๊ฐ)โโโ ๋ผ์ด์ ์ค ์ ์ฝ โ Dedicated Hostโโโ ์ฉ๋ ๋ณด์ฅ โ Capacity Reservation
๋น์ฉ ์ต์ ํ 3๋จ๊ณ1๏ธโฃ Right-Sizing: Compute Optimizer๋ก ์ ์ ๊ท๋ชจ ๋ถ์2๏ธโฃ ๊ตฌ๋งค ํผํฉ: ๊ธฐ๋ณธ ๋ถํ โ RI/SP, ๋ณ๋ ๋ถํ โ Spot3๏ธโฃ ์ค์ผ์ค๋ง: ๊ฐ๋ฐ ํ๊ฒฝ ์
๋ฌด์๊ฐ๋ง ๊ฐ๋