6. AWS Elastic Compute Cloud (EC2) - Associate
AWS Certified SAA-C02 ์ํ์ค๋น
Contents
Private vs Public IP (IPv4)
- ๋คํธ์ํฌ๋ IPv4, IPv6 ๋ ๊ฐ์ง๋ก ๋ถ๋ฅ ํ ์ ์๋ค.
- IPv4 :
1.160.10.240
- IPv6 :
3ffe:1900:4545:3:200:f8ff:fe21:67cf
- IPv4 :
- ๋๋ถ๋ถ์ ์จ๋ผ์ธ์์๋ IPv4๋ฅผ ๋ฒ์ฉ์ ์ผ๋ก ์ฌ์ฉ
- IPv6 ์ฌ๋ฌผ์ธํฐ๋ท(IoT) ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์๋ก ๋ฑ์ฅํจ
- IPv4๋ ํผ๋ธ๋ฆญ ์์ญ์์ 37์ต๊ฐ์ ์๋ก ๋ค๋ฅธ ์ฃผ์๋ฅผ ํ์ฉ
- IPv4:
[0-255].[0-255].[0-255].[0-255]
Private vs Public IP ์ฐจ์ด์
Public IP
- Public IP๋ ์ปดํจํฐ๊ฐ ์ธํฐ๋ท์(WWW)์์ ์๋ณ๋ ์ ์์์ ์๋ฏธ
- ์ ์ฒด ์น์์ ๊ณ ์ ํด์ผ ํ๋ค. (๋ ๊ฐ์ ๋จธ์ ์ด ๊ฐ์ public IP๋ฅผ ๊ฐ์ ์ ์๋ค)
- ์ฝ๊ฒ ์ง๋ฆฌ์ ์์น๋ฅผ ์ฐพ์ ์ ์์
Private IP
- Private IP๋ ์ปดํจํฐ๊ฐ ์ฌ์ค ๋คํธ์ํฌ๋ง์์๋ง ์๋ณ๋ ์ ์์์ ์๋ฏธ
- IP๋ ์ฌ์ค ๋คํธ์ํฌ์์ ๊ณ ์ ํด์ผ ํ๋ค.
- ๊ทธ๋ฌ๋ ๋ ๊ฐ์ ๋ค๋ฅธ ์ฌ์ค ๋คํธ์ํฌ๋ง(๋ ๊ฐ์ ํ์ฌ)์์๋ ๊ฐ์ IP๋ฅผ ๊ฐ์ ์ ์์.
- ์ปดํจํฐ๋ WWW๋ฅผ ์ฐ๊ฒฐํ๊ธฐ ์ํด์ NAT + Internet gateway(a proxy)๋ฅผ ์ฌ์ฉ
- Private IP๋ฅผ ์ฌ์ฉํ ์ ์๋ IP ๋ฒ์๊ฐ ์ ํด์ ธ ์์
Elastic IP
-
EC2 ์ธ์คํด์ค๋ ์ฌ์์์ Public IP๊ฐ ๋ณ๊ฒฝ๋๋๋ฐ ์ด๊ฒ์ ๊ณ ์ ํ๊ณ ์ถ์ผ๋ฉด Elasitc IP๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค.
-
Elastic IP๋ IPv4์ด๋ฉฐ ํ๋ฒ์ ํ๋์ ์ธ์คํด์ค์๋ง ์ค์ ๊ฐ๋ฅ
-
Elastic IP๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์์ ๊ณ์ ์ ๋ค๋ฅธ ์ธ์คํด์ค์ ๋น ๋ฅด๊ฒ ๋งคํํ์ฌ ์ธ์คํด์ค ๋๋ ์ค๋ฅ๋ฅผ ๋ง์คํนํ ์ ์์.
-
๊ณ์ ๋น 5๊ฐ๊น์ง (์ฆ๊ฐ ๊ฐ๋ฅ)
์ ๋ฐ์ ์ผ๋ก๋ Elastic IP๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ์ข๋ค.- ์ข ์ข ์๋ชป๋ ์ํคํ ์ฒ๋ฅผ ๋ฐ์ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ฐ์
- ๋์ ์์์ public IP๋ฅผ ์ฌ์ฉํ๊ณ DNS ์ด๋ฆ์ ๋ฑ๋ก
- ๋๋ ๋ก๋๋ฐธ๋ฐ์ค๋ฅผ ์ฌ์ฉํ๊ณ Elastic IP๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค.
Placement Groups - ๋ฐฐ์น ๊ทธ๋ฃน
- EC2 ์ธ์คํด์ค๊ฐ AWS ์ธํ๋ผ์ ๋ฐฐ์น๋๋ ๋ฐฉ์์
๋ฐฐ์น ๊ทธ๋ฃน(Placement Groups)
์ ๋ต์ ํตํด ์ ์ดํ ์ ์๋ค. - ๋ฐฐ์น ๊ทธ๋ฃน ์ ๋ต
์ ๋ต Cluster ๋จ์ผ AZ์์ ์ง์ฐ์๊ฐ์ด ์งง์ ๊ทธ๋ฃน์ผ๋ก ์ธ์คํด์ค๋ฅผ ํด๋ฌ์คํฐ๋ง Spread ๊ธฐ๋ณธ ํ๋์จ์ด ์ ์ฒด์ ์ธ์คํด์ค ๋ถ์ฐ(AZ ๊ทธ๋ฃน๋น ์ต๋ 7๊ฐ ์ธ์คํด์ค) Partition AZ ๋ด ์ฌ๋ฌ ํํฐ์ (๋ค์ํ racks ์ธํธ ์์กด)์ ์ธ์คํด์ค๋ฅผ ๋ถ์ฐ. ๊ทธ๋ฃน๋น 100๊ฐ์ EC2 ์ธ์คํด์ค๋ก ํ์ฅ(Hadoop, Cassandera, Kafka)
Cluster ๋ฐฐ์น ๊ทธ๋ฃน
- ์ฅ์ : ๋ฐ์ด๋ ๋คํธ์ํฌ(ํฅ์๋ ๋คํธ์ํฌ ํ์ฑํ๋ ์ธ์คํด์ค๊ฐ 10Gbps ๋์ญํญ - ๊ถ์ฅ)
- ๋จ์ : ๋์ด ์คํจํ๋ฉด ๋ชจ๋ ์ธ์คํด์ค๊ฐ ๋์์ ์คํจ
- ์ฌ์ฉ์ฌ๋ก :
- ๋น ๋ฅธ ์ฒ๋ฆฌ๊ฐ ํ์ํ ๋น ๋ฐ์ดํฐ ์ ๋ฌด
- ๋งค์ฐ ์งง์ ์ง์ฐ์๊ฐ๊ณผ ๋์ ๋คํธ์ํฌ ์ฒ๋ฆฌ๋์ด ํ์ํ ์ ํ๋ฆฌ์ผ์ด์
Spread ๋ฐฐ์น ๊ทธ๋ฃน
- ์ฅ์
- AZ ๊ฑธ์ณ ํ์ฅ ๊ฐ๋ฅ
- ๋์ ์ฅ์ ๋ก ์ธํ ์ํ ๊ฐ์
- EC2 ์ธ์คํด์ค๊ฐ ๋ค๋ฅธ ๋ฌผ๋ฆฌ์ ํ๋์จ์ด์์
- ๋จ์ : ๋ฐฐ์น ๊ทธ๋ฃน AZ ๋น 7๊ฐ์ ์ธ์คํด์ค ์ ํ
- ์ฌ์ฉ์ฌ๋ก:
- ๊ณ ๊ฐ์ฉ์ฑ์ ๊ทน๋ํํด์ผ ํ๋ ์ ํ๋ฆฌ์ผ์ด์
- ๊ฐ ์ธ์คํด์ค๊ฐ ์๋ก์ ์ฅ์ ๋ก๋ถํฐ ๊ฒฉ๋ฆฌ๋์ด์ผ ํ๋ ์ค์ ์ ํ๋ฆฌ์ผ์ด์
Partition ๋ฐฐ์น ๊ทธ๋ฃน
- AZ ๋น ์ต๋ 7๊ฐ์ ํ๋์
- ๊ฐ์ ๋ฆฌ์ ผ์์ ์ฌ๋ฌ AZ๋ฅผ ๊ฑธ์ณ ํ์ฅ๊ฐ๋ฅ
- ์ต๋ 100๊ฐ์ EC2 ์ธ์คํด์ค
- ํํฐ์ ๋ด ์ธ์คํด์ค๋ ๋ค๋ฅธ ํ๋์ ๋ด ์ธ์คํด์ค์ ๋์ ๊ณต์ ํ์ง ์๋๋ค.
- ํํฐ์ ์ค๋ฅ๋ ๋ง์ EC2์๊ฒ ์ํฅ์ ์ค ์์์ผ๋ ๋ค๋ฅธ ํํฐ์ ์๋ ์ํฅ์ ๋ฏธ์น์ง ์์
- EC2 ์ธ์คํด์ค๋ ํํฐ์ ์ ๋ณด์ ๋ฉํ๋ฐ์ดํฐ๋ก ์ก์ธ์ค ๊ฐ๋ฅ
- ์ฌ์ฉ์ฌ๋ก : HDFS, HBase, Cassandra, Kafka
Elastic Network Interfaces (ENI)
-
๊ฐ์ ๋คํธ์ํฌ ์นด๋(virtual network card) ๋ฅผ ๋ํ๋ด๋ VPC์ ๋ ผ๋ฆฌ์ ๊ตฌ์ฑ์์
-
ENI๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ์์ฑํ๊ณ ์ฅ์ ์กฐ์น๋ฅผ ์ํด EC2 ์ธ์คํด์ค์์ ์ฆ์ด ์ฐ๊ฒฐ(์ด๋) ๊ฐ๋ฅ
-
ํน์ AZ์ ๋ฐ์ธ๋ฉ
ENI ๊ตฌ์ฑ์์- ๊ธฐ๋ณธ private IPv4, ํ๋ ์ด์์ secondary IPv4
- private IPv4 ๋น ํ๋์ Elastic IP(IPv4)
- ํ๋์ Public IPv4
- ํ๋ ์ด์์ ๋ณด์ ๊ทธ๋ฃน
- MAC Address
EC2 Hibernate
์ธ์คํด์ค ์ค์ง ๋ฐ ์ข
๋ฃ
- Stop(์ค์ง) : ๋ฐ์ดํฐ ๋์คํฌ(EBS)๋ ๋ค์ ์ธ์คํด์ค ์ฌ์์๊น์ง ์ ์ง
- Terminate(์ข ๋ฃ) : EBS ๋ณผ๋ฅจ(๋ฃจํธ)์ด ์ญ์ ๋๊ฒ ์ค์ ํ๋ค๋ฉด ์ญ์
์ธ์คํด์ค ์์์ ๋ค์๊ณผ ๊ฐ์ ์ผ์ด ๋ฐ์ํ๋ค.
- First start : OS boots & EC2 ์ธ์คํด์ค Data script ์คํ
- Following starts : OS boots up
- ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ฐ ์บ์ ์ค๋น
EC2 Hibernate ์๊ฐ
- in-memory(RAM) ์ํ๊ฐ ์ ์ง๋๋ค.
- ์ธ์คํด์ค ๋ถํ ์ด ๋ ๋น ๋ฅด๋ค. (OS๊ฐ ์ค์ง/์ฌ์์ ๋์ง ์์)
- Under the hood: RAM ์ํ๊ฐ ๋ฃจํธ EBS ๋ณผ๋ฅจ ํ์ผ์ ๊ธฐ๋ก๋๋ค.
- ๋ฃจํธ EBS ๋ณผ๋ฅจ์ ์ํธํ ํด์ผ ํ๋ค.
EC2 Hibernate Use cases
- ์ค๋ ์คํ๋๋ ํ๋ก์ธ์ค
- RAM์ ์ํ๋ฅผ ์ ์ฅํ๊ณ ์ถ์ ๋
- ์๋น์ค ์ด๊ธฐํ ์๊ฐ์ ์ด์ฉ
์ฃผ์ ์ฌํญ
- ์ง์ ๋๋ ์ธ์คํด์ค ์ ํ๊ตฐ : C3, C4, C5, I3, M3, M4, R3, R4,T2,T3, …
- ์ธ์คํด์ค RAM Size : ๋ฐ๋์ 150 GB ๋ฏธ๋ง
- ์ธ์คํด์ค Size : bare metal ์ธ์คํด์ค์๋ ์ ์ฉ ๋ถ๊ฐ
- AMI : Amazon Linux 2, Linux AMI, Ubuntu, RHEL, CentOS & Windows…
- Root Volume : EBS๋ง ๊ฐ๋ฅ. ์ํธํ๊ฐ ํ์. ์ถฉ๋ถํ ์ฉ๋์ด์ด์ผ ํ๋ฉฐ instance store ์ฌ์ฉํ ์ ์์.
- On-Demand, Reserved, Spot ์ธ์คํด์ค ๊ฐ๋ฅ
- ์ธ์คํด์ค๋ 60์ผ ์ด์ ์ต๋ ์ ์ ๋ชจ๋๋ก ์ ํ ๋ถ๊ฐ
EC2 Nitro
- ์ฐจ์ธ๋ EC2 ์ธ์คํด์ค๋ฅผ ์ํ ๊ธฐ๋ณธ ํ๋ซํผ
- ์๋ก์ด ๊ฐ์ํ ๊ธฐ์
- ์ฑ๋ฅ ํฅ์
- ํฅ์๋ ๋คํธ์ํน ์ต์ (ํฅ์๋ ๋คํธ์ํน, HPC, IPv6)
- ๊ณ ์ EBS(Nitro๋ 64,000 EBS IOPS ํ์ - Nitro๊ฐ ์๋ ๊ฒฝ์ฐ ์ต๋ 32,000)
- ๊ธฐ๋ณธ ๋ณด์ ํฅ์
- ์ธ์คํด์ค ์ ํ
- Virtualized : A1,C5,C5a,C5ad,C5d,C5n,C6g,C6gd,C6gn,D3,D3en,G4,I3en,Inf1,M5, M5a, M5ad, M5d, M5dn, M5n, ….
- Bare metal : a1.metal, c5.metal, c5d.metal, c5n.metal, c6g.metal, c6gd.metal…
vCPU ์ดํดํ๊ธฐ
- ๋ค์ค ์ค๋ ๋๋ฅผ CPU์์ ์คํํ ์ ์๋ค.
multithreading
- ๊ฐ ์ค๋ ๋๋ ๊ฐ์ CPU(vCPU)๋ก ํ์
m5.2xlarge : 4 CPU, 2 Thread per CPU => 8 vCPU in total
EC2 Optimizing CPU ์ต์
- EC2 ์ธ์คํด์ค๋ RAM๊ณผ vCPU์ ์กฐํฉ์ผ๋ก ํจ๊ป ์ ๊ณต
- ๊ฒฝ์ฐ์ ๋ฐ๋ผ ์ฌ์ฉ์๊ฐ ์ํ๋๋๋ก vCPU ์ต์
์ ๋ณ๊ฒฝ ํ ์ ์๋ค.
options of CPU cores ยท ๋์ RAM๊ณผ ์ ์ ์์ CPU๊ฐ ํ์ํ ๊ฒฝ์ฐ ์ ์ฉ
ยท ๋ผ์ด์ผ์ค ๋น์ฉ ์ ๊ฐof threads per core ยท CPU ๋น ์ค๋ ๋ ์๊ฐ 1 ๊ฐ์ธ ๋ฉํฐ์ค๋ ๋ฉ ๋นํ์ฑํ - HPC ์ํฌ๋ก๋์ ์ ์ฉ - ์ธ์คํด์ค ์คํ ์ค์๋ง ์ง์
EC2 Capacity Reservations
- ์ฉ๋ ์์ฝ์ ํตํด ํ์ํ ๋ EC2 ์ฉ๋ ํ๋ณด
- ์๋ ๋๋ ์ข ๋ฃ ์ผ์๋ฅผ ์ง์ ํ ์ ์๋ค.
- 1๋ ๋๋ 3๋ ์ฝ์ ๋ถํ์
- Capacity ์ก์ธ์ค๋ ์ฆ์ ์ด๋ฃจ์ด์ง๋ฉฐ ์์ํ์๋ง์ ์ฒญ๊ตฌ
- ์์ฝ๋ ์ธ์คํด์ค ๋ฐ ์ ๊ฐ ๊ณํ๊ณผ ๊ฒฐํฉํ์ฌ ๋น์ฉ ์ ๊ฐ