
AWS: EC2
2022, Sep 12
EC2(Elastic Compute Cloud)
ํด๋ผ์ฐ๋์์ ํฌ๊ธฐ๊ฐ ์ ์ฐํ๊ฒ ๋ณ๊ฒฝ๋๋ค.
๋์คํฌ ์ฌ์ฉํฌ๊ธฐ์ ์์ธก์ด ๋ถ๊ฐํ ํ ์๋์ ์ ์ฐํ๊ฒ ๋์คํฌ ํฌ๊ธฐ๋ฅผ ์ ์ดํ ์ ์๋๋ก ํ๋ค.
EC2 Paymethod
- On-demand
- ์๊ฐ ๋จ์๋ก ๊ฐ๊ฒฉ์ด ๊ณ ์
- Reserved
- ํ์ ๋ EC2 ์ฉ๋ ์ฌ์ฉ ๊ฐ๋ฅ, 1~3๋ ๋์ ์๊ฐ๋ณ๋ก ํ ์ธ ์ ์ฉ ๋ฐ์ ์ ์๋ค.
- On-demand์ ๋ฌ๋ฆฌ ์๋์ ์ผ๋ก ์ ๋ ดํ๋ฉฐ, ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ์ง ์๊ณ ์์ ์ด ํน์ ํ ํฌ๊ธฐ๋ฅผ ์ค์ ํ๋ค.
- Spot
- ์ ์ฐฐ ๊ฐ๊ฒฉ ์ ์ฉ
- ํ ์ธ๋ฅ ์ด ๊ฐ์ฅ ํผ
- ์ธ์คํด์ค ๊ธฐ๊ฐ(์์๊ณผ ๋)์ด ์ค์ํ์ง ์์ ๋ ์ ์ฉ
์ฌ์ฉ ์ฉ๋ก
- On-demand
- ์ฌ์ฉํ ๋๋ง ๋น์ฉ ๋ฐ์
- ์น/์ฑ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ ์ ์ต์ด EC2 ์ธ์คํด์ค์ deploy ํ ๋ ์ ์ฉ
- Reserved
- ๊ฐ๋ฐ์ ์์๊ณผ ๋์ ์ ์ ์์ ๋ ๊ถ์ฅ
- ๊ฐ๋ฐ์๊ฐ์ ์์ธก์ด ๊ฐ๋ฅํ๋ค๋ฉด ํ ์ธ์ด ํฌ๋ค.
- Spot
- ๋ณธ์ธ์ด ์ง๋ถ ๊ฐ๋ฅํ ๊ธ์ก๋์ ๊ฐ๊ฒฉ์ด ํ์ฑ๋๋ฉด ์ธ์คํด์ค๊ฐ ํ์ฑํ๋๋ ํํ
- ๋จ์ ๋น์ฉ ์ ๊ฐ ์ฐจ์์์ ์ ์ฉ
EC2 ๊ตฌ์ฑ์์
- EBS(Elastic Block Storage)
- EC2 ๋ด ๊ฐ์๋์คํฌ like ํ๋๋์คํฌ
- ์ ์ฅ ๊ณต๊ฐ์ด ์์ฑ๋์ด์ง๋ฉฐ EC2 ์ธ์คํด์ค์ ๋ถ์ฐฉ
- ๋์คํฌ ๋ณผ๋ฅจ ์์ File System ์์ฑ
- EBS๋ ํน์ Availability Zone์ ์์ฑ
- Availability Zone(AZ)
- ํ๋์ region ์์ ์ฌ๋ฌ AZ๊ฐ ์กด์ฌํ ์ ์์
- ์ ์ฌ ์ ํ์ชฝ ์๋ฒ๊ฐ ๋ง๊ฐ์ง๊ฑฐ๋ ์ ง๋ค์ด๋๋ฉด AZ๋ผ๋ ๋ฐฑ์ ์ ํตํด ์ง์์ ์๋น์ค ์ ๊ณต์ด ๊ฐ๋ฅ
- Availability Zone(AZ)
- EBS ๋ณผ๋ฅจ ํ์
- SSD ๊ตฐ
- General Purpose SSD(GP2) : SSD ์ค ๊ฐ์ฅ ๋ณดํธ์
- Provisioned IOPS SSD (IO1) : ์ ์ถ๋ ฅ์ด ๋ฐฉ๋ํ๊ณ ๋น๋ฒํ ๊ฒฝ์ฐ
- Magnetic / HDD ๊ตฐ
- Throughput Optimized (ST1) : ๋น ๋ฐ์ดํฐ, ๋ก๊ทธ ๋ฑ Boot volume ๋ถ๊ฐ
- CDD HDD (SC1) : ์ ์ถ๋ ฅ์ด ๋๋ฌธ ํ์ผ์๋ฒ, Boot volume ๋ถ๊ฐ
- Magnetic (Standard) : ๊ฐ์ฅ ์ ๋ ดํ๋ฉฐ Boot volume ๊ฐ๋ฅ
- SSD ๊ตฐ
- ELB(Elastic Load Balancers)
- ์น ์์์ ํ๋ฅด๋ ์๋ง์ ์๋ฒ์ ํ๋ฆ์ ํ์ชฝ์ผ๋ก ์น์ฐ์น์ง ์๊ณ ๊ท ํ์๊ฒ ๋ฐฐ๋ถํด ๋ณ๋ชฉํ์์ ๋ฐฉ์งํ๋ค.
- ์๋ฒ์ ์ํํ ํ๋ฆ ๋ฐ ์๋, ์์ ์ ์ฉ์ดํจ
- ์์์น ๋ชปํ ์ด์ ์ ์ํด Unhealthyํ instance์ ํ๋ฆ์ ํ์ฐ์ง ์๊ณ healthy instance๋ก ํ๋ฆ์ ์ ์ดํ๋ค.
- ELB ์ข
๋ฅ
Application
Load Balancer :OSI Layer7
์์ ์๋- HTTP, HTTPS์ ๊ฐ์ traffic์ load balancing์ ๊ฐ์ฅ ์ ํฉ
- ๋ฐ๋ก ๋ผ์ฐํ ์ค์ ๊ฐ๋ฅ -> ๊ณ ๊ธ Request ๋ผ์ฐํ ์ค์ ์ ํตํด ํน์ ์๋ฒ๋ก request๋ฅผ ๋ณด๋ผ ์ ์์
Network
Load Balancer :OSI Layer4
์์ ์๋, ๋งค์ฐ ์๋๊ฐ ๋น ๋ฅด๊ณ Production ํ๊ฒฝ์์ ์ข ์ข ์ฐ์- ๊ทน๋์ performance๊ฐ ์๊ตฌ๋๋ TCP traffic ์์ ์ ํฉ
- ์์ฃผ ๊ฐ๋ ฅํ์ฌ ์ด๋น ์๋ฐฑ๋ง๊ฐ์ request๋ฅผ ์์ฃผ ๋ฏธ์ธํ delay๋ก ์ฒ๋ฆฌ ๊ฐ๋ฅ
- Classic Load Balancer : ํ์ฌ Legacy๋ก ๊ฐ์ฃผ๋จ, ๋ฐ๋ผ์ ๊ฑฐ์ ์ฐ์ด์ง ์์
- Layer7์ HTTP/HTTPS ๋ผ์ฐํ ๊ธฐ๋ฅ ์ง์
- Layer4์ TCP traffic ๋ผ์ฐํ ๊ธฐ๋ฅ ์ง์
OSI Layers
(TODO ์ฌํ์ธํด์ ์ ๋ฆฌํ ๊ฒ)- Application(Out-Side : OSI Layer7)
- End User Layer
- HTTP, FTP, IRC, SSH, DNS
- Presentation
- Syntax Layer
- SSL, SSH, UMAP, FTP, MPEG, JPEG
- Session
- Synch & send to port
- APIโs, Sockets, WinSock
- Transport
- End to-end connections
- TCP, UDP
- Network(OSI Layer4)
- Packets
- IP, ICMP, IPSec, IGMP
- Data Link
- Frames
- Ethernet, PPP, Switch, Bridge
- Physical(In-Side)
- Physical structure
- Coax, Fiber, Wirerless, Hubs, Repeaters
- Application(Out-Side : OSI Layer7)
๋ก๋๋ฐธ๋ฐ์(ELB:Elastic Load Balancers) ์๋ฌ
EC2 ์ธ์คํด์ค๋ฅผ ์ฌ์ฉํ ๋ ์ธ์ ๋ ์ ์ ์๋ํ๋ค๋ ๋ณด์ฅ์ด ์๋ค.
ELB๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ ์๋ฒ๊ฐ ์๋ต์ ๋ฐ์ง ๋ชปํ๋ ๊ฒฝ์ฐ์ 504(504Gateway Time-out)์๋ฌ ๋ฉ์์ง๋ฅผ ์ ๊ณตํ๋ค.
์ด๋ฌํ ์๋ฌ๋ ์ฃผ๋ก ์น์๋ฒ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ ์ด์ด์์ ๋ฌธ์ ํด๊ฒฐ ๊ฐ๋ฅํ ์ ๋
X-Forwarded-For Header
- 100.10.30.200 (public IP address)
- ์ด IP๋ DNS Reqeust๋ฅผ ํตํด ELB์ ๋๋ฌํ๋ค.
- ์ด ELB๋ Request๋ฅผ ๋ฐ๊ณ 10.0.0.20 ์ด๋ผ๋ private ip address๋ก ์ธ์์ ํ๋ค.
- ๊ทธ๋ฆฌ๊ณ EC2 ์ธ์คํด์ค๋ก ์ด request ์ ์กํ์ฌ EC2๋ ์ด ์์ฒญ์ ์ดํผ๊ฒ ๋๋ค.
- ์ด๋ EC2๋ private ip address ๋ฐ์ ๋ณผ ์๊ฐ ์์ด ์ถ์ฒ๋ฅผ ์ ์๊ฐ ์๋ค.
- ์ด๋ด ๋
X-Forwarded-For Header
ํตํด public ip address ๋ฅผ ๋ณผ ์ ์๋ค.
Route 53
AWS์์ ์ ๊ณตํ๋ DNS ์๋น์ค ์ฆ, ๋๋ฉ์ธ ์ฃผ์๋ฅผ ๊ตฌ๋งคํ์ฌ ์๋์ ๋ฐฑ์๋ ์๋ฒ๋ฅผ ์ฐ๊ฒฐํด์ค๋ค.
- EC2 instance
- S3 Bucket
- Load Balancer
EC2 ์ธ์คํด์ค ์์
- ์ธ์คํด์ค ์์
- Amazon Machine Image(AMI : ์ด์์ฒด์ ์ ํ)
- default ๋ก ์ค์ ํ๊ณ ๋ณด์๊ทธ๋ฃน ์ถ๊ฐํ์ฌ HTTP ์ ํ์ ์ถ๊ฐํจ
- ์ดํ ํฐ๋ฏธ๋์ ์ด์ฉํ์ฌ ์ธ์คํด์ค์ ์ฐ๊ฒฐ
- ssh ํด๋ผ์ด์ธํธ ์ฐ๊ฒฐ ์ ๊ณต
- sudo su ๋ก root ๊ถํ ์ป๋๋ค.
- ์ต์ด ์คํ์
yum update -y
๋ฅผ ์คํ(์ด์์ฒด์ ๋ฅผ ์ ๋ฐ์ดํธํ๊ณ ๊ด๋ จ ํจํค์ง๋ฅผ ๋ชจ๋ ์ค์นํด์ค๋ค) - ์ค์น๊ฐ ๋๋ ํ ์ํ์น ์ค์น(์ฐ๋ฆฌ์ ์ธ์คํด์ค๋ฅผ ์ค์ ์น์๋ฒ์ฒ๋ผ ์ฌ์ฉํ ์ ์๋ค.)
yum install httpd -y
(์ํ์น ์ค์น)
- ์ํ์น ์คํ (
service httpd start
) - ๋ง์ฝ ์ธ์คํด์ค๋ฅผ ์ฌ๋ถํ
ํ๋ค๋ฉด ์ํ์น ์๋ฒ๋ ์๋์ผ๋ก ์ผ์ง๋๋ก ํ๋ ๊ธฐ๋ฅ ์ค์ (
chkconfig httpd on
) - ํํ์ด์ง ๋ง๋๋ ์์
- ์ด๋ (
cd /var/www/html
) - ์์ฑ vi index.html (๊ฐ๋จํ ํ๊ทธ์์ฑ)
- AWS ์ฝ์๋ก ์ด๋ํ์ฌ ํด๋น EC2 ์ธ์คํด์ค์ ํผ๋ธ๋ฆญ ์ฃผ์๋ฅผ ์น์ ํธ์ถํ๋ค.
- ์ด๋ (