Post

[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 > ๊ธฐ์ค€ํฌ๋ ˆ๋”ง ์†Œ๋น„
์ธ์Šคํ„ด์Šค์‹œ๊ฐ„๋‹น ํฌ๋ ˆ๋”งvCPUvCPU๋‹น ๊ธฐ์ค€
t2.nano315%
t2.micro6110%
t2.small12120%
t3.nano625%

โš ๏ธ ํ˜„์—… ์šด์˜ ํ™˜๊ฒฝ์—์„œ๋Š” 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

๋ณด์•ˆ ๊ทธ๋ฃน

ํ‚ค ํŽ˜์–ด

ํƒ„๋ ฅ์  IP

EBS

์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ

๐Ÿ’ก ์ปค๋ฎค๋‹ˆํ‹ฐ 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~2VPC(lab-vpc) + ๋ณด์•ˆ ๊ทธ๋ฃน web-sg(์ธ๋ฐ”์šด๋“œ SSH 22 โ† ๋‚ด IP)
Task3EC2 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

๋ณด์•ˆ ๊ทธ๋ฃน

๋ชจ๋‹ˆํ„ฐ๋ง

์›น ์ ‘์†

์œ ํ˜• ๋ณ€๊ฒฝ

EBS ํฌ๊ธฐ ๋ณ€๊ฒฝ

โš ๏ธ ํ”„๋ฆฌ ํ‹ฐ์–ด ์ฃผ์˜ โ€” ์ธ์Šคํ„ด์ŠคยทAMI๋Š” ํ”„๋ฆฌ ํ‹ฐ์–ด ์ง€์› ์ข…๋ฅ˜๊ฐ€ ์ •ํ•ด์ ธ ์žˆ๊ณ , EBSยทRDS๋Š” ๋ฌด๋ฃŒ ์šฉ๋Ÿ‰ ํ•œ๋„๊ฐ€ ์žˆ๋‹ค. ํ•œ๋„๋ฅผ ๋„˜์œผ๋ฉด ๊ณผ๊ธˆ๋˜๋ฏ€๋กœ, ์‹ค์Šต ํ›„ ์ธ์Šคํ„ด์Šคยท๋ณด์•ˆ ๊ทธ๋ฃน์„ ์ •๋ฆฌํ•˜์ž.


๐Ÿ“ ์ •๋ฆฌ

1
2
3
4
5
6
EC2 ๊ตฌ์„ฑ ์š”์†Œ
โ”œโ”€ ์œ ํ˜•   ๋ฒ”์šฉ/์ปดํ“จํŒ…/๋ฉ”๋ชจ๋ฆฌ/์Šคํ† ๋ฆฌ์ง€/๊ฐ€์†(+ํ‘œ๊ธฐ๋ฒ•)
โ”œโ”€ ๋น„์šฉ   ์˜จ๋””๋งจ๋“œ / ๋ฆฌ์ €๋ธŒ๋“œ(75%โ†“) / ์ŠคํŒŸ(90%โ†“)
โ”œโ”€ ๊ตฌ์„ฑ   AMIยท๋ณด์•ˆ๊ทธ๋ฃนยทํ‚คํŽ˜์–ดยทEIPยทEBSยท์‚ฌ์šฉ์ž๋ฐ์ดํ„ฐ
โ”œโ”€ ํฌ๋ ˆ๋”ง T๊ณ„์—ด์€ ๋ฒ„์ŠคํŠธ(์šด์˜์—” ์ง€์–‘)
โ””โ”€ ์ˆ˜๋ช…   ์ค‘์ง€(์œ ์ง€) vs ์ข…๋ฃŒ(์‚ญ์ œ)
๊ฐœ๋…ํ•œ ์ค„ ์ •์˜
EC2ํด๋ผ์šฐ๋“œ ๊ฐ€์ƒ ์„œ๋ฒ„
CPU ํฌ๋ ˆ๋”งT๊ณ„์—ด์˜ ๋ฒ„์ŠคํŠธ ์—ฐ๋ฃŒ
๋ฆฌ์ €๋ธŒ๋“œ/์ŠคํŒŸ์•ฝ์ •/์ž…์ฐฐ ํ• ์ธ

EC2๋ฅผ ์ž˜ ์“ฐ๋ ค๋ฉด ์›Œํฌ๋กœ๋“œ์— ๋งž๋Š” ์œ ํ˜•ยท๊ณผ๊ธˆ ๋ฐฉ์‹์„ ๊ณ ๋ฅด๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ์ด๋‹ค. ํŠนํžˆ ์šด์˜ ํ™˜๊ฒฝ์—์„œ T๊ณ„์—ด์„ ํ”ผํ•˜๊ณ , ์•ˆ์ •์  ์›Œํฌ๋กœ๋“œ๋Š” ๋ฆฌ์ €๋ธŒ๋“œ๋กœ ๋น„์šฉ์„ ์•„๋ผ๋Š” ํŒ๋‹จ์ด ์ค‘์š”ํ•˜๋‹ค.

This post is licensed under CC BY 4.0 by the author.

Comments powered by Disqus.