[Cloud] AWS EC2์ ์ดํด
๐ ๋ค์ด๊ฐ๋ฉฐ
์ด๋ฒ ๊ธ์์๋ AWS์ EC2(Elastic Compute Cloud)๋ฅผ ๊ตฌ์ฑ ์ ๋ณด ์ค์ฌ์ผ๋ก ์ ๋ฆฌํ๋ค. ์ธ์คํด์ค ์ ํยท๋น์ฉ ์ง๋ถ ๋ฐฉ์ยทAMIยทํคํ์ดยท์คํ ๋ฆฌ์ง ๋ฑ EC2๋ฅผ ๋ง๋ค ๋ ๊ฒฐ์ ํด์ผ ํ ์์๋ค์ ์ดํด๋ณธ ๋ค, EC2๋ฅผ ์์ฑยทํ์ฅํ๋ Lab์ ์งํํ๋ค.
EC2๋? ํด๋ผ์ฐ๋์์ ์ฐ๋ ๊ฐ์ ์๋ฒ(๊ฐ์ ๋จธ์ ). ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ ํ๋์จ์ด ๋ฆฌ์์ค(CPUยท๋ฉ๋ชจ๋ฆฌยท๋คํธ์ํฌยท์คํ ๋ฆฌ์ง)๋ฅผ ์ค์ ํ ์ ์๊ณ , ํ์์ ๋ฐ๋ผ ํ๋ ฅ์ (Elastic)์ผ๋ก ํฌ๊ธฐ๋ฅผ ๋๋ฆฌ๊ฑฐ๋ ์ค์ผ ์ ์๋ค.
1. ์ธ์คํด์ค ์ ํ & ํ๊ธฐ๋ฒ
์ธ์คํด์ค ์ ํ์ ๋ฐ๋ผ ๋ฉ๋ชจ๋ฆฌยทCPUยท์คํ ๋ฆฌ์งยท๋คํธ์ํฌ ์ฑ๋ฅ์ด ๊ฒฐ์ ๋๋ค.
| ์ ํ | ํน์ง |
|---|---|
| ๋ฒ์ฉ | ์ปดํจํ ยท๋ฉ๋ชจ๋ฆฌยท๋คํธ์ํฌ ๊ท ํ |
| ์ปดํจํ ์ต์ ํ | ๊ณ ์ฑ๋ฅ ํ๋ก์ธ์(์ฐ์ฐ ์ง์ฝ) |
| ๋ฉ๋ชจ๋ฆฌ ์ต์ ํ | ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ธ๋ฉ๋ชจ๋ฆฌ ์ฒ๋ฆฌ |
| ์คํ ๋ฆฌ์ง ์ต์ ํ | ๋์ฉ๋ ๋ก์ปฌ ์คํ ๋ฆฌ์ง |
| ๊ฐ์ํ ์ปดํจํ | GPU/FPGA(๊ทธ๋ํฝยทHPC) |
ํ๊ธฐ๋ฒ ์ โ c7g.large: c(ํจ๋ฐ๋ฆฌ, ์ปดํจํ
์ต์ ํ) + 7(์ธ๋) + g(ํ๋ก์ธ์) + large(ํฌ๊ธฐ).
2. ๋ฒ์คํฐ๋ธ(T๊ณ์ด)๊ณผ CPU ํฌ๋ ๋ง
T๊ณ์ด(t2/t3)์ ํ์ ๋ฎ์ ๊ธฐ์ค ์ฌ์ฉ๋ฅ ์ ์ ์งํ๋ค๊ฐ, ํ์ํ ๋ CPU ํฌ๋ ๋ง์ ์จ์ ์ฑ๋ฅ์ ์๊ฐ ํ์ฅ(burst)ํ๋ค.
| ์ํ | ํฌ๋ ๋ง |
|---|---|
| CPU < ๊ธฐ์ค | ํฌ๋ ๋ง ์ ๋ฆฝ(ํ๋) |
| CPU = ๊ธฐ์ค | ์ ๋ฆฝ = ์๋น |
| CPU > ๊ธฐ์ค | ํฌ๋ ๋ง ์๋น |
| ์ธ์คํด์ค | ์๊ฐ๋น ํฌ๋ ๋ง | vCPU | vCPU๋น ๊ธฐ์ค |
|---|---|---|---|
t2.nano | 3 | 1 | 5% |
t2.micro | 6 | 1 | 10% |
t2.small | 12 | 1 | 20% |
t3.nano | 6 | 2 | 5% |
โ ๏ธ ํ์ ์ด์ ํ๊ฒฝ์์๋ T๊ณ์ด์ ์ง์ํ๋ค. ํฌ๋ ๋ง์ด ์์ง๋๋ฉด ์ฑ๋ฅ์ด ๊ธ๋ฝํ๊ฑฐ๋ ์ต์ ์ ๊ฒฝ์ฐ ์๋น์ค๊ฐ ๋ฉ์ถ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๊ฐ๋ฐยท๊ฒ์ฆ์ T๊ณ์ด, ์ด์์ M/C ๊ณ์ด ๋ฑ ํฌ๋ ๋ง ์ ์ฝ์ด ์๋ ํ์ ์ ์ด๋ค.
3. ๋น์ฉ ์ง๋ถ ๋ฐฉ์ & ๊ณผ๊ธ ์์
| ๋ฐฉ์ | ํน์ง | ์ ํฉ |
|---|---|---|
| ์จ๋๋งจ๋ | ์ด ๋จ์ ์ข ๋์ , ๊ฐ์ฅ ์ ์ฐ | ๋จ๊ธฐยท๋ถ๊ท์น ์ํฌ๋ก๋ |
| ๋ฆฌ์ ๋ธ๋ | 1~3๋ ์ฝ์ , ์ต๋ 75% ํ ์ธ | ์์ ์ ยท์์ธก ๊ฐ๋ฅ |
| ์คํ | ์ ์ฐฐ ๊ตฌ๋งค, ์ต๋ 90% ํ ์ธ (์ค๋จ ๊ฐ๋ฅ) | ๋ฐฐ์นยทํ ์คํธ |
๊ณผ๊ธ 3์์: โ Running Hour(์ฌ์ฉ ์๊ฐ) โก Data Transfer(์ ์ก๋) โข Storage(EBS ๋ณผ๋ฅจ).
4. EC2 ๊ตฌ์ฑ ์์
| ์์ | ์ค๋ช |
|---|---|
| AMI | ์ธ์คํด์ค์ SW ๊ตฌ์ฑ ํ ํ๋ฆฟ(Quickstart/๋ด AMI/Marketplace/์ปค๋ฎค๋ํฐ) |
| ๋ณด์ ๊ทธ๋ฃน | ์ธ๋ฐ์ด๋ยท์์๋ฐ์ด๋ ์ ์ด ๊ฐ์ ๋ฐฉํ๋ฒฝ |
| ํค ํ์ด | ํจ์ค์๋ ๋์ ๊ณต๊ฐํค/๊ฐ์ธํค๋ก ๋ก๊ทธ์ธ(AWS=๊ณต๊ฐํค, ์ฌ์ฉ์=๊ฐ์ธํค) |
| ํ๋ ฅ์ IP | ๊ณ ์ ํผ๋ธ๋ฆญ IPv4(์๋ ํ ๋น ํผ๋ธ๋ฆญ IP๋ ์ค์ง ์ ์ฌ๋ผ์ง) |
| ์คํ ๋ฆฌ์ง(EBS) | ๋ก์ปฌ ๋ธ๋ก ์คํ ๋ฆฌ์ง(gp3๊ฐ gp2๋ณด๋ค ์ ๋ ดยท๊ณ ์ฑ๋ฅ) |
| ์ฌ์ฉ์ ๋ฐ์ดํฐ | ๋ถํ ์ root ๊ถํ 1ํ ์คํ ์คํฌ๋ฆฝํธ |
๐ก ์ปค๋ฎค๋ํฐ AMI๋ ์ ์คํ ์ ํํ์. ์ธ๋ถ ๊ฐ์ธยท์กฐ์ง์ด ๋ง๋ ๊ณต๊ฐ AMI๋ผ ์ผ๋ถ๋ ๋ณด์ ์ํ์ด ์์ ์ ์๋ค. ํค ํ์ด์ ๊ฐ์ธ ํค(.pem)๋ ์ต์ด ๋ค์ด๋ก๋ ์์๋ง ๋ฐ์ ์ ์์ผ๋ ์ ๋ณด๊ดํด์ผ ํ๋ค.
5. EC2 ์ธ์คํด์ค ์๋ช ์ฃผ๊ธฐ
stateDiagram-v2
[*] --> Launching: AMIยท์ ํยทSGยทํค ์ง์
Launching --> Running
Running --> Stopping: ์ค์ง(๋ฐ์ดํฐ ์ ์ง)
Stopping --> Running: ๋ค์ ์์
Running --> Terminating: ์ข
๋ฃ
Terminating --> [*]: ์์ ์ญ์ (๋ฐ์ดํฐ ์๋ฉธ)
| ์ํ | ๋ฐ์ดํฐ |
|---|---|
| ์ค์ง(Stop) | ์ ์ง(๋ค์ ์์ ๊ฐ๋ฅ) |
| ์ข ๋ฃ(Terminate) | ์๊ตฌ ์ญ์ |
6. Lab โ EC2 ์์ฑ & ํ์ฅ
| Task | ๋ด์ฉ |
|---|---|
| Task1~2 | VPC(lab-vpc) + ๋ณด์ ๊ทธ๋ฃน web-sg(์ธ๋ฐ์ด๋ SSH 22 โ ๋ด IP) |
| Task3 | EC2 web ์์ฑ (Amazon Linux 2, t2.micro, ํผ๋ธ๋ฆญ IP ํ์ฑ, ์ข
๋ฃ ๋ฐฉ์ง, ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ก httpd) |
| Task4 | ์ ์ยท๋ชจ๋ํฐ๋ง(์ธ๋ถ ๋ชจ๋ํฐ๋ง=1๋ถ ๊ฐ๊ฒฉ, ์คํฌ๋ฆฐ์ทยท์์คํ ๋ก๊ทธ) |
| Task5 | ๋ณด์ ๊ทธ๋ฃน์ HTTP 80 โ anywhere ์ถ๊ฐ โ ๋ธ๋ผ์ฐ์ ์ ์ ํ์ธ |
| Task6 | ์ธ์คํด์ค ์ ํยทEBS ํฌ๊ธฐ ๋ณ๊ฒฝ(์ค์ผ์ผ ์ ) |
| Task7 | ์ข ๋ฃ ๋ฐฉ์ง ํด์ โ ์ญ์ |
Task3 ์ฌ์ฉ์ ๋ฐ์ดํฐ:
1
2
3
4
#!/bin/bash
yum install httpd -y
systemctl enable --now httpd
echo '<html><h1>Hello From Your Web Server!</h1></html>' > /var/www/html/index.html
โ ๏ธ ํ๋ฆฌ ํฐ์ด ์ฃผ์ โ ์ธ์คํด์คยทAMI๋ ํ๋ฆฌ ํฐ์ด ์ง์ ์ข ๋ฅ๊ฐ ์ ํด์ ธ ์๊ณ , EBSยทRDS๋ ๋ฌด๋ฃ ์ฉ๋ ํ๋๊ฐ ์๋ค. ํ๋๋ฅผ ๋์ผ๋ฉด ๊ณผ๊ธ๋๋ฏ๋ก, ์ค์ต ํ ์ธ์คํด์คยท๋ณด์ ๊ทธ๋ฃน์ ์ ๋ฆฌํ์.
๐ ์ ๋ฆฌ
1
2
3
4
5
6
EC2 ๊ตฌ์ฑ ์์
โโ ์ ํ ๋ฒ์ฉ/์ปดํจํ
/๋ฉ๋ชจ๋ฆฌ/์คํ ๋ฆฌ์ง/๊ฐ์(+ํ๊ธฐ๋ฒ)
โโ ๋น์ฉ ์จ๋๋งจ๋ / ๋ฆฌ์ ๋ธ๋(75%โ) / ์คํ(90%โ)
โโ ๊ตฌ์ฑ AMIยท๋ณด์๊ทธ๋ฃนยทํคํ์ดยทEIPยทEBSยท์ฌ์ฉ์๋ฐ์ดํฐ
โโ ํฌ๋ ๋ง T๊ณ์ด์ ๋ฒ์คํธ(์ด์์ ์ง์)
โโ ์๋ช
์ค์ง(์ ์ง) vs ์ข
๋ฃ(์ญ์ )
| ๊ฐ๋ | ํ ์ค ์ ์ |
|---|---|
| EC2 | ํด๋ผ์ฐ๋ ๊ฐ์ ์๋ฒ |
| CPU ํฌ๋ ๋ง | T๊ณ์ด์ ๋ฒ์คํธ ์ฐ๋ฃ |
| ๋ฆฌ์ ๋ธ๋/์คํ | ์ฝ์ /์ ์ฐฐ ํ ์ธ |
EC2๋ฅผ ์ ์ฐ๋ ค๋ฉด ์ํฌ๋ก๋์ ๋ง๋ ์ ํยท๊ณผ๊ธ ๋ฐฉ์์ ๊ณ ๋ฅด๋ ๊ฒ์ด ํต์ฌ์ด๋ค. ํนํ ์ด์ ํ๊ฒฝ์์ T๊ณ์ด์ ํผํ๊ณ , ์์ ์ ์ํฌ๋ก๋๋ ๋ฆฌ์ ๋ธ๋๋ก ๋น์ฉ์ ์๋ผ๋ ํ๋จ์ด ์ค์ํ๋ค.













Comments powered by Disqus.