5. AWS EC2 Basics
AWS Certified SAA-C02 ์ํ์ค๋น
Amazon EC2
- EC2๋ AWS์ ๊ฐ์ฅ ์ธ๊ธฐ์๋ ์๋น์ค์ด๋ค.
- Elastic Compute Cloud = Infrastructure as a service
- ํด๋ผ์ฐ๋์ ์๋ ๋ฐฉ์์ ์ดํดํ๊ธฐ ์ํด์๋ EC2๋ฅผ ์ดํดํ๋ ๊ฒ์ด ์ค์ํ๋ค.
๊ตฌ์ฑํ ์ ์๋ ๊ธฐ๋ฅ
- ๊ฐ์ ๋จธ์ ์๋ (EC2)
- ๊ฐ์ ๋๋ผ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅ (EBS)
- ์์คํ ๊ฐ ๋ถํ ๋ถ์ฐ (ELB)
- auto-scaling group(ASG)๋ฅผ ์ฌ์ฉํ์ฌ ์๋น์ค ํ์ฅ
EC2 sizing & configuration options
- Operating System(OS) : Linux, Windows or Mac OS
- ์ปดํจํฐ ์ฑ๋ฅ๊ณผ ์ฝ์ด์ ์ ํ ๊ฐ๋ฅ (CPU)
- random-access memory (RAM)
- ์คํ ๋ฆฌ์ง ์ฉ๋
- Network-attached (EBS & EFS)
- hardware (EC2 Instance Store)
- Network card: ๋คํธ์ํฌ ์นด๋ ์๋, ๊ณต์ฉ IP ์ฃผ์
- ๋ฐฉํ๋ฒฝ ๊ท์น : security group
- Bootstrap script (configure at first launch): EC2 User Data
EC2 User Data
-
EC2 ์ฌ์ฉ์ ๋ฐ์ดํฐ ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์คํด์ค๋ฅผ ๋ถํธ์คํธ๋ฉ ํ ์ ์๋ค.
-
๋ถํธ์คํธ๋ํ์ ๊ธฐ๊ณ๊ฐ ์์๋ ๋ ๋ช ๋ น์ ์์ํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
-
์คํฌ๋ฆฝํธ๋ ์ฒ์ ์์ ํ ๋ ํ๋ฒ๋ง ์คํ๋๋ค.
-
EC2 User Data Script๋ ๋ฃจํธ ๊ณ์ ์ผ๋ก ์คํ
EC2 ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ ๋ค์๊ณผ ๊ฐ์ ๋ถํ ์์ ์ ์๋ํ ํ ์ ์๋ค.- ์ํํธ์จ์ด ๋ฐ ์ ๋ฐ์ดํธ ์ค์น
- ์ธํฐ๋ท์ผ๋ก ๋ถํฐ ๊ณต์ฉํ์ผ ๋ค์ด๋ก๋ ๋ฑ
EC2 ์ธ์คํด์ค ์ข ๋ฅ
-
AWS๋ ๋ค์๊ณผ ๊ฐ์ ๋ค์ด๋ฐ ๊ท์น์ ๋ฐ๋ฅธ๋ค.
AWS ๋ค์ด๋ฐ ๊ท์นm5.2xlarge
m
: ์ธ์คํด์ค class5
: ์ธ๋generation
(AWS๋ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๊ฐ์ )2xlarge
: ์ธ์คํด์ค ํด๋์ค ์ฌ์ด์ฆ
์ธ์คํด์ค ์ข ๋ฅ
Instance Type | |
---|---|
General Purpose | ยท ์น ์๋ฒ ๋๋ ์ฝ๋ ์ ์ฅ์์๊ฐ์ ๋ค์ํ ์ํฌ๋ก๋์ ์ ํฉ ยท Compute, Memory, Networking ์ฌ์ด ๋ฐธ๋ฐ์ฑ |
Compute Optimized | ยท ๋์ ์ฑ๋ฅ์ ์๊ตฌํ๋ ๊ณ์ฐ์ง์ฝ์ ์ธ ์
๋ฌด์ ์ ํฉ ยท ๋ฐฐ์น ํ๋ก์ธ์ค ์ํฌ๋ก๋ ยท Media transcoding ยท ๋์ ์ฑ๋ฅ์ ์น์๋ฒยท High performance computing(HPC)ยท scientific model & machine learning ยท ๊ฒ์ ์ ์ฉ ์๋ฒ |
Memory Optimized | ยท ๋ฉ๋ชจ๋ฆฌ์์์ ํฐ ๋ฐ์ดํฐ์
์ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ๋ ์ํฌ๋ก๋์ ์ ํฉ ยท ๋์ ์ฑ๋ฅ์ ์๊ตฌํ๋ relation/non-relational databases ยท Distributed web scale cahce stores ยท BI(business intelligence)์ ์ต์ ํ๋ in-memory databases ยท ํฌ๊ธฐ๊ฐ ํฐ ๋น์ ํํ ๋ฐ์ดํฐ๋ฅผ ์ค์๊ฐ์ผ๋ก ์ฒ๋ฆฌํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ |
Storage Optimized | ยท ๋ก์ปฌ ์คํ ๋ฆฌ์ง์ ํฐ ๋ฐ์ดํฐ์ ์ฝ๊ณ , ์ฐ๊ธฐ ์ ๊ทผ์ด ์๊ตฌ๋๋ ์คํ ๋ฆฌ์ง ์ง์ฝ ์
๋ฌด์ ์ ํฉ ยท Online transaction processing(OLTP) ์์คํ ์ ์ฆ์ ์ ๊ทผ ยท ๊ด๊ณํ & NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค ยท in-memory ๋ฐ์ดํฐ ์บ์ (Redis) ยท Data warehousing applications ยท ๋ถ์ฐ ํ์ผ ์์คํ |
Security Groups
-
๋ณด์๊ทธ๋ฃน(Security Groups)์ AWS์ ๋คํธ์ํฌ ๋ณด์์ ๊ธฐ๋ณธ์ด๋ค.
-
EC2 ์ธ์คํด์ค์ in/out ํธ๋ํฝ์ ํ์ฉ ์ ์ดํ๋ ๊ฒ
-
๋ณด์๊ทธ๋ฃน์ ์ค์ง allow ๊ท์น๋ง ํฌํจํ๋ค.
-
๋ณด์๊ทธ๋ฃน์ ๊ท์น์ IP ๋๋ ๋ณด์๊ทธ๋ฃน์ ์ฐธ์กฐํ ์ ์์
They regulate:- Access to Ports
- ํ๊ฐ๋ IP ๋ฒ์ - IPv4 and IPv6
- ์ธ๋ฐ์ด๋ ๋คํธ์ํฌ ์ ์ด (๋ค๋ฅธ ์ธ์คํด์ค๋ก๋ถํฐ)
- ์์๋ฐ์ด๋ ๋คํธ์ํฌ ์ ์ด (๋ค๋ฅธ ์ธ์คํด์ค๋ก๋ถํฐ)
๋ณด์๊ทธ๋ฃน์์ ์์์ผ ํ ์ฌํญ
-
๋ณด์๊ทธ๋ฃน์ EC2 ์ธ์คํด์ค์์
firewall
์ญํ ์ ํ๊ณ ์๋ค.๊ท์ ์ฌํญ- ํฌํธ ์ ๊ทผ ์ ์ด
- ํ๊ฐ๋ IP ๋ฒ์ (IPv4, IPv6)
- ์ธ๋ฐ์ด๋ ๋คํธ์ํฌ ์ ์ด (๋ค๋ฅธ ๋คํธ์ํฌ์์ ์ธ์คํด์ค๋ก)
- ์์๋ฐ์ด๋ ๋คํธ์ํฌ ์ ์ด (์ธ์คํด์ค์์ ๋ค๋ฅธ ๋คํธ์ํฌ๋ก)
-
์ฌ๋ฌ ์ธ์คํด์ค์ ์ฐ๊ฒฐํ ์ ์๋ค.
-
๋ฆฌ์ ผ/VPC ๊ฒฐํฉ์ผ๋ก ํต์ ํ ์ ์๋ค.
-
EC2 ์ธ๋ถ์ ์๋ ๊ฒฝ์ฐ ํธ๋ํฝ์ด ์ฐจ๋จ๋๋ฉด EC2 ์ธ์คํด์ค๋ ํด๋น ํธ๋ํฝ์ ์ธ์ํ์ง ๋ชปํ๋ค.
-
SSH ์ ๊ทผ์ ์ํด ๋ณ๋์ ๋ณด์ ๊ทธ๋ฃน์ ์ ์งํ๋ ๊ฒ์ด ์ข๋ค
-
์์ฉ ํ๋ก๊ทธ๋จ์ด ์ก์ธ์คํ ์ ์๋๊ฒฝ์ฐ
time out
๋ ๋ณด์ ๊ทธ๋ฃน์ ๋ฌธ์ ์ด๋ค. -
์์ฉ ํ๋ก๋ฅด๋จ์์
connection refused
์ค๋ฅ๊ฐ ํ์๋๋ฉด ํ๋ก๊ทธ๋จ ์ค๋ฅ์ด๊ฑฐ๋ ์คํ๋์ง ์์ ๊ฒ์ด๋ค. -
๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ์ธ๋ฐ์ด๋ ํธ๋ํฝ์ ์ฐจ๋จ๋๋ค. (blocked)
-
๊ธฐ๋ณธ์ ์ผ๋ก ๋ชจ๋ ์์๋ฐ์ด๋์ ํธ๋ํฝ์ ์น์ธ๋๋ค.
์์์ผ ํ ํด๋์ ํฌํธ- 22 = SSH (Secure Shell) - ๋ฆฌ๋ ์ค ์ธ์คํด์ค ๋ก๊ทธ์ธ
- 21 = FTP (File Transfer Protocol) - ํ์ผ ๊ณต์ ๋ฅผ ์ํ ํ์ผ ์ ๋ก๋
- 22 = SFTP (Secure File Transfer Protocol) - SSH๋ฅผ ์ฌ์ฉํ ํ์ผ ์ ๋ก๋
- 80 = HTTP - ๋ณด์๋์ง ์์ ์น์ฌ์ดํธ ์ ๊ทผ
- 443 = HTTPS - ๋ณด์ ์น์ฌ์ดํธ ์ ๊ทผ
- 3389 = RDP(Remote Desktop Protocol) - ์๋์ฐ ์ธ์คํด์ค ๋ก๊ทธ์ธ
EC2 ์ธ์คํด์ค ๊ตฌ๋งค ์ต์
options | ์ค๋ช |
---|---|
On-Demand Instances | ยท ์ ํ๋ฆฌ์ผ์ด์
๋์์ ์์ธกํ ์ ์๋ ๋จ๊ธฐ์ ์ด๊ณ ์ค๋จ ์๋ ์ํฌ๋ก๋ ์ ํฉ ยท ์ฌ์ฉํ ๋งํผ๋ง ์ง๋ถ ย ย ย ย ยท Linux or Windows : ์ด๋น ๊ณผ๊ธ, ์ต์ด 1๋ถ ย ย ย ย ยท ๋ค๋ฅธ OS: ์๊ฐ๋น ์ง๋ถ ยท ๋น์ฉ์ ๊ฐ์ฅ ๋์ง๋ง ์ ๊ธ๊ธ ๋ฐ ๊ณ์ฝ๊ธฐ๊ฐ ์์ |
Reserved Instances(์์ฝ ์ธ์คํด์ค) | ยท On-demand์ ๋๋น 72% ํ ์ธ ยท ํน์ ์ธ์คํด์ค ์์ฑ์ ์์ฝ๊ฐ๋ฅ(์ธ์คํด์ค ํ์ , ์ง์ญ, Tenancy, OS) ยท ์์ฝ ๊ธฐ๊ฐ 1๋ ๋๋ 3๋ ยท ์ง๋ถ ์ต์ : No Upfront, Partial Upfront, All Upfront ยท ์์ฝ์ธ์คํด์ค ๋ฒ์ : Regional or Zonal (reserve capacity in an AZ) ยท ์ ์ ์ํ ์ฌ์ฉ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ถ์ฅ ยท ์์ฝ๋ ์ธ์คํด์ค ๋ง์ผํ๋ ์ด์ค์์ ๊ตฌ๋งค ๋ฐ ํ๋งค |
Convertible Reserved Instances | ยท ์ฌ์ฉ๋์ ๋ํ ์ง๋ถ, ๊ธด ์ํฌ๋ก๋ ยท ์ ์ฐํ ์ธ์คํด์ค๋ฅผ ํตํ ๊ธด ์ํฌ๋ก๋(์ธ์คํด์ค ์ ํ, ์ ํ๊ตฐ, OS, ๋ฒ์ ๋ฐ tenancy ๋ณ๊ฒฝ ๊ฐ๋ฅ) ยท ์ต๋ 66% ํ ์ธ |
Savings Plans | ยท ์ฅ๊ธฐ ์ฌ์ฉ๋์ ๋ฐ๋ฅธ ํ ์ธ(์ต๋ 72%) ยท 1๋ ๋๋ 3๋ ๋์ ์๊ฐ๋น $10 ยท Saving plan์ ์ด๊ณผํ๋ ๊ฒฝ์ฐ on-demand ๊ฐ๊ฒฉ์ผ๋ก ์ฒญ๊ตฌ ยท ํน์ ์ธ์คํด์ค ์ ํ ๊ตฐ ๋ฐ AWS ์์ญ์์๋ ์ฌ์ฉ๋ถ๊ฐ ยท Flexible across: ย ย ย ย ยท ์ธ์คํด์ค ํฌ๊ธฐ(์: m5.xlarge, m5.2xlarge) ย ย ย ย ยท OS (e.g., Linux, Windows) ย ย ย ย ยท Tenancy (Host, Dedicated, Default) |
Spot Instance | ยท ์งง์ ์ํฌ๋ก๋, ์ ๋ ดํ ๋น์ฉ์ผ๋ก ์ธ์คํด์ค ์์ค ๊ฐ๋ฅ (์ ๋ขฐ์ฑ ์ ํ) ยท on-demand ๋๋น ์ต๋ 90% ํ ์ธ ยท ์ต๋ ๊ฐ๊ฒฉ์ด ํ์ฌ ๊ฐ๊ฒฉ๋ณด๋ค ์์ ๊ฒฝ์ฐ ์ธ์ ๋ ์ง ์์ด๋ฒ๋ฆด ์ ์๋ ์ธ์คํด์ค ยท AWS์์ ๊ฐ์ฅ ๋น์ฉ ํจ์จ์ ์ธ ์ธ์คํด์ค ยท ์ฅ์ ์ ๋ํ ์ ์ฐํ ์ํฌ๋ก๋์ ์ ์ฉ: ย ย ย ย ยท Batch jobs ย ย ย ย ยท Data analysis ย ย ย ย ยท Image processing ย ย ย ย ยท ๋ถ์ฐ ์ํฌ๋ก๋ ย ย ย ย ยท ์์ ๋ฐ ์ข ๋ฃ ์๊ฐ์ด ์ ์ฐํ ์ํฌ๋ก๋ ยท ์ค์ํ ์์ ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์๋ ์ ํฉํ์ง ์์ |
Dedicated Host | ยท ์ฌ์ฉ์ ์ ์ฉ ๋ฌผ๋ฆฌ ์๋ฒ, ์ธ์คํด์ค ๋ฐฐ์น ์ ์ด ยท ์ค์ ์๊ตฌ์ฌํญ ํด๊ฒฐ ๋ฐ ๊ธฐ์กด ์๋ฒ ๋ผ์ด์ผ์ค(per-socket, per-core, per-VM software licenses) ยท ๊ตฌ๋งค์ต์ ย ย ย ย ยท On-demand : ํ์ฑํ ๋ Dedicated host ์ด๋น ์ง๋ถ ย ย ย ย ยท Reserved : 1 ๋๋ 3๋ (No Upfront,Partial Upfront,All Upfront) ยท ๋ณต์กํ ๋ผ์ด์ ์ค ๋ชจ๋ธ(BYOL - Bring Your Own License)์ ์ฌ์ฉํ๋ ์ํํธ์จ์ด ์ ์ฉ ยท ๊ฐ๋ ฅํ ๊ท์ ๋๋ ๊ท์ ์ค์ ์๊ตฌ์ฌํญ์ด ์๋ ๊ธฐ์ |
Dedicated Instances | ยท ๋ค๋ฅธ ๊ณ ๊ฐ๊ณผ ํ๋์จ์ด๋ฅผ ๊ณต์ ํ์ง ์์ ยท ๋์ผํ ๊ณ์ ์ ๋ค๋ฅธ ์ธ์คํด์ค์ ํ๋์จ์ด๋ฅผ ๊ณต์ ํ ์ ์์ ยท ์ธ์คํด์ค ๋ฐฐ์น๋ฅผ ์ ์ดํ ์ ์์(Start/Stop ํ ์ด๋ ๊ฐ๋ฅ) |
Capacity Reservations | ยท ํน์ AZ์์ ๋ชจ๋ ๊ธฐ๊ฐ ๋์ ์ฉ๋ ์์ฝ ยท ํ์ํ ๋ ์ธ์ ๋ ์ง EC2 ์ฉ๋ ์ก์ธ์ค ยท No time commitment(์ธ์ ๋ ์ง ์์ฑ/์ทจ์), no billing discounts ยท Regional Reserved Instances ์ Savings plans๋ฅผ ๊ฒฐํฉํ์ฌ ์ฒญ๊ตฌ ํ ์ธ ํํ์ ์ป์ ์ ์์ ยท ์ธ์คํด์ค ์คํ ์ฌ๋ถ์ ๊ด๊ณ์์ด on-demand๋ก ์ฒญ๊ตฌ ยท ํน์ AZ์ ์์ด์ผ ํ๋ ์ค๋จ ์๋ ์ํฌ๋ก๋์ ์ ํฉ |
EC2 Spot Instance Requests
- on-demand ๋๋น 90% ํ ์ธ ๊ฐ๋ฅ
- max spot price๋ฅผ ์ง์ ํ๊ณ current spot price < max ๋์ ์ฌ์ฉ
- ์๊ฐ๋น ์คํ ๊ฐ๊ฒฉ์ ์ ํ ๋ฐ ์ฉ๋์ ๋ฐ๋ผ ๋ค๋ฆ
- ํ์ฌ ์คํ ๊ฐ๊ฒฉ์ด ์ต๋ ๊ฐ๊ฒฉ๋ณด๋ค ๋์ ๊ฒฝ์ฐ 2๋ถ ์ ์ ๊ธฐ๊ฐ ๋์ ์ธ์คํด์ค๋ฅผ ์ค์ง ํน์ ์ข ๋ฃ ๊ฐ๋ฅ
- ์ฅ์ ์ ๋ํ ํ๋ ฅ์ ์ธ ๋ฐฐ์น์์ , ๋ฐ์ดํฐ ๋ถ์ ๋ฑ์ ์ํฌ๋ก๋์ ์ฌ์ฉ
- ์ค์ํ ์์ ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ํฉ ํ์ง ์์
๋ค๋ฅธ ์ ๋ต - Spot Block
block
์คํ ์ธ์คํด์ค๋ ์ง์ ๋ ์๊ฐ ๋ฒ์ (1~6์๊ฐ)๋์ ์ค๋จ ์์ด ์ฌ์ฉ ๊ฐ๋ฅ- ๋๋ฌธ ๊ฒฝ์ฐ์ด๋ ์ธ์คํด์ค ํ์ ๊ฐ๋ฅ
How to terminate Spot Instances?
-
open, active ๋๋ disabled ์ํ์ ์ธ์คํด์ค๋ง ์์ฒญ ์ทจ์ ํ ์ ์๋ค.
-
์คํ ์์ฒญ์ ์ทจ์ํด๋ ์ธ์คํด์ค๋ ์ข ๋ฃ๋์ง ์๋๋ค.
-
์คํ ์์ฒญ์ ์ทจ์ํ ๋ค์ ๊ด๋ จ ์คํ ์ธ์คํด์ค๋ฅผ ์ข ๋ฃํด์ผ ํ๋ค.
-
one-time : Spot Request๊ฐ ์ดํ๋๋ ์ฆ์ ์ธ์คํด์ค๊ฐ ์์
-
persistent : Spot Request Valid from ~ Valid until ๊น์ง ์ ํจ๊ธฐ๊ฐ ๋์ ์์ฒญํ ๊ฐ์์ ์ธ์คํด์ค๊ฐ ๊ณ์ ์ ํจ. ์คํ ์ธ์คํด์ค๊ฐ ์ค๋จ๋์ด๋ ์์ฒญ์ด ํ์ฑํ ๋์ด์์ผ๋ฉด ์๋์ ์ผ๋ก ์ธ์คํด์ค๋ฅผ ์ฌ์์
Spot Fleets
-
Spot Fleets = set of Spot Instances + (optional) On-Demand Instances
-
Spot Fleet์ ๊ฐ๊ฒฉ ์ ์ฝ์ผ๋ก ๋ชฉํ ์ฉ๋์ ์ถฉ์กฑ
- ๊ฐ๋ฅํ ์คํ ํ ์ ์ : ์ธ์คํด์ค ์ ํ(m5.large), OS, ๊ฐ์ฉ์ฑ ์์ญ
- fleet์ ์ ํํ ์ ์๋๋ก ์ฌ๋ฌ๊ฐ์ ์คํ ํ์ ๊ฐ์ง ์ ์๋ค.
- ์ฉ๋ ๋๋ ์ต๋ ๋น์ฉ์ ๋๋ฌํ๋ฉด Spot Fleets ์ธ์คํด์ค๊ฐ ์ข ๋ฃ
-
Spot Fleets๋ฅผ ์ฌ์ฉํ๋ฉด ์ต์ ๊ฐ๊ฒฉ์ผ๋ก Spot Instance๋ฅผ ์๋์ผ๋ก ์์ฒญํ ์ ์๋ค.
Spot Instances ํ ๋น ์ ๋ต- lowestPrice(์ต์ ๊ฐ๊ฒฉ) : ์ต์ ๊ฐ๊ฒฉ์ ๊ฐ์ง pool๋ก๋ถํฐ (๋น์ฉ ์ต์ ํ, ์งง์ ์ํฌ๋ก๋)
- diversified(๋ค์ํ) : ๋ชจ๋ pool ๋ถ์ฐ(๊ฐ์ฉ์ฑ๊ณผ ๊ธด ์ํฌ๋ก๋ ์ ํฉ)
- capacityOptimized(์ฉ๋ ์ต์ ํ) : ์ธ์คํด์ค ์์ ๋ง๋ ์ต์ ์ ์ฉ๋์ ๊ฐ์ง ํ