๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Tech Stack/AWS

[241213] AWS EC2(Elastic Compute Cloud)

by _silver 2024. 12. 13.
ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค์˜ ์ข…๋ฅ˜

 

1. IaaS (Infrastructure as a Service)

- ํ•˜๋“œ์›จ์–ด ์ธํ”„๋ผ๋ฅผ ์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค

- ๊ฐ€์ƒํ™”๋œ ํ•˜๋“œ์›จ์–ด, ์Šคํ† ๋ฆฌ์ง€, ๋„คํŠธ์›Œํฌ, ์šด์˜์ฒด์ œ ๋“ฑ์„ ์ œ๊ณต

- ์‚ฌ์šฉ์ž๋Š” ์ด๋ฅผ ์ด์šฉํ•ด ์ž์‹ ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Œ

- ์˜ˆ: AWS EC2, Microsoft Azure, Google Compute Engine

 

2. PaaS (Platform as a Service)

- ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ, ์‹คํ–‰, ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ํ”Œ๋žซํผ ์ œ๊ณต

- PaaS๋Š” IaaS์—์„œ ์ œ๊ณตํ•˜๋Š” ํ•˜๋“œ์›จ์–ด ์ธํ”„๋ผ์™€ ๋ฏธ๋“ค์›จ์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ, ๋ฐฐํฌ, ์šด์˜ ์ง€์›

- ์˜ˆ: AWS Elastic Beanstalk, Heroku, Google App Engine

 

3. SaaS (Software as a Service)

- ์‚ฌ์šฉ์ž์—๊ฒŒ ์™„์ „ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค

- ํด๋ผ์šฐ๋“œ ์ œ๊ณต์—…์ฒด๊ฐ€ ๋ชจ๋“  ์ธํ”„๋ผ, ์šด์˜ ์ฒด์ œ, ๋ฐฑ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ

- ์˜ˆ: Google Drive, Microsoft Office 365, Salesforce


AWS EC2(Elastic Compute Cloud)

 

- EC2๋Š” AWS์˜ ๊ฐ€์ƒ ์„œ๋ฒ„ ์ธ์Šคํ„ด์Šค ์ œ๊ณต ์„œ๋น„์Šค

- ํ•„์š”ํ•œ ์‹œ๊ฐ„๋งŒํผ ๊ฐ€์ƒ ์„œ๋ฒ„๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ

- ํ•„์š”์— ๋”ฐ๋ผ Scale Up ๋˜๋Š” Scale Down ๊ฐ€๋Šฅ

1. EC2 ์ธ์Šคํ„ด์Šค ๊ฐœ๋…

- ํ•˜๋“œ์›จ์–ด ๋ฆฌ์†Œ์Šค๋ฅผ ๊ฐ€์ƒํ™”ํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ํ™˜๊ฒฝ

- ์‹ค์ œ ๋ฌผ๋ฆฌ์ ์ธ ์„œ๋ฒ„๊ฐ€ ์•„๋‹ˆ๋ผ ๊ฐ€์ƒํ™”๋œ ์ปดํ“จํ„ฐ ํ™˜๊ฒฝ์„ "์ธ์Šคํ„ด์Šค(instance)"๋ผ๊ณ  ๋ถ€๋ฆ„

- ๊ฐ ์ธ์Šคํ„ด์Šค๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰๋˜๊ณ  ๊ด€๋ฆฌ๋จ

- ์ธ์Šคํ„ด์Šค๋Š” ํ•„์š”์— ๋”ฐ๋ผ ์ƒ์„ฑ, ์‹œ์ž‘, ์ค‘์ง€, ์ข…๋ฃŒ ๊ฐ€๋Šฅ

2. ์ง€์› ์šด์˜ ์ฒด๊ฒŒ ๋ฐ ์ธ์Šคํ„ด์Šค ์œ ํ˜•

- ๋‹ค์–‘ํ•œ ์šด์˜ ์ฒด์ œ (์˜ˆ: Linux, Windows)

- ๋‹ค์–‘ํ•œ ์ธ์Šคํ„ด์Šค ์œ ํ˜• (์˜ˆ: ๋ฒ”์šฉ, ์ปดํ“จํŒ… ์ตœ์ ํ™”, ๋ฉ”๋ชจ๋ฆฌ ์ตœ์ ํ™”)

3. ์ฃผ์š” ์‚ฌ์šฉ ์‚ฌ๋ก€

- ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ˜ธ์ŠคํŒ…

-  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ˜ธ์ŠคํŒ…

- ์ปดํ“จํ„ฐ ์ž‘์—…(์˜ˆ: ๋ฐ์ดํ„ฐ ๋ถ„์„, ๋จธ์‹  ๋Ÿฌ๋‹)

- ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ…Œ์ŠคํŠธ ๋ฐ ๊ฐœ๋ฐœ

4. EC2์˜ ์žฅ์ 

- ์œ ์—ฐํ•œ ์Šค์ผ€์ผ๋ง ๊ฐ€๋Šฅ(ํ•„์š”์— ๋”ฐ๋ผ ์ธ์Šคํ„ด์Šค๋ฅผ ์ถ”๊ฐ€/์ œ๊ฑฐ ๊ฐ€๋Šฅ)

AWS์˜ ๋‹ค๋ฅธ ์„œ๋น„์Šค์™€ ์‰ฝ๊ฒŒ ํ†ตํ•ฉ ๊ฐ€๋Šฅ


EC2 ์ธ์Šคํ„ด์Šค ์‹คํ–‰

 

๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด EC2 ์ธ์Šคํ„ด์Šค์—์„œ Nginx๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

sudo apt-get update
sudo apt-get install nginx

sudo systemctl start nginx
sudo systemctl status nginx

ํผ๋ธ”๋ฆญ ๋ฐ ํ”„๋ผ์ด๋น— IP ์ฃผ์†Œ

 

1. ํผ๋ธ”๋ฆญ IPv4 ์ฃผ์†Œ

- ์ธ์Šคํ„ด์Šค๋ฅผ ์ค‘์ง€ ํ›„ ๋‹ค์‹œ ์‹คํ–‰ํ•˜๋ฉด IP ์ฃผ์†Œ๊ฐ€ ๋ณ€๊ฒฝ๋จ

- ์˜ˆ: ํ”„๋ก ํŠธ์—”๋“œ๊ฐ€ ํŠน์ • IP์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค๋ฉด, ์ธ์Šคํ„ด์Šค๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•  ๋•Œ๋งˆ๋‹ค IP ๋ณ€๊ฒฝ์ด ๋ฐœ์ƒํ•˜์—ฌ ์ˆ˜๋™์œผ๋กœ ์ˆ˜์ •ํ•ด์•ผ ํ•จ

- AWS์—์„œ๋Š” ํƒ„๋ ฅ์  IP(Elastic IP)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ณ ์ • IP๋ฅผ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ์Œ

2. ํƒ„๋ ฅ์  IP ํ• ๋‹น ๋ฐฉ๋ฒ•

- AWS ์ฝ˜์†” ๊ฒฝ๋กœ: ๋„คํŠธ์›Œํฌ ๋ฐ ๋ณด์•ˆ > ํƒ„๋ ฅ์  IP > ํƒ„๋ ฅ์  IP ์ฃผ์†Œ ํ• ๋‹น

- ์ธ์Šคํ„ด์Šค์™€ ์—ฐ๊ฒฐํ•˜์—ฌ ๊ณ ์ •๋œ ํผ๋ธ”๋ฆญ IP ์œ ์ง€ ๊ฐ€๋Šฅ

3.  ํ”„๋ผ์ด๋น— IPv4 ์ฃผ์†Œ

- ์ธ์Šคํ„ด์Šค๋ฅผ ์ค‘์ง€ํ•˜๊ณ  ๋‹ค์‹œ ์‹คํ–‰ํ•ด๋„ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์Œ

- ๋‚ด๋ถ€ ๋„คํŠธ์›Œํฌ์—์„œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์™ธ๋ถ€์—์„œ ์ง์ ‘ ์ ‘๊ทผ ๋ถˆ๊ฐ€๋Šฅ

4. ํƒ„๋ ฅ์  IP ๊ด€๋ฆฌ

- ๊ณผ๊ธˆ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํ•„์š”ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ํ•ด์ œํ•ด์•ผ ํ•จ

์ธ์Šคํ„ด์Šค์™€์˜ ๋ถ„๋ฆฌ ๋ฐฉ๋ฒ• Dissociate Elastic IP address
์šฉํ•˜์ง€ ์•Š๋Š” ํƒ„๋ ฅ์  IP๋ฅผ ๋ฐ˜๋‚ฉํ•˜๋Š” ๋ฐฉ๋ฒ• Release Elastic IP addresses

 


์ธ๋ฐ”์šฐ๋“œ ๋ฐ ์•„์›ƒ๋ฐ”์šด๋“œ ๋ฃฐ

 

1. ์ธ๋ฐ”์šฐ๋“œ ๋ฃฐ

- ์ธ์Šคํ„ฐ์Šค์— ๋Œ€ํ•œ ์™ธ๋ถ€ ์ ‘๊ทผ์„ ํ—ˆ์šฉํ•˜๋Š” ๊ทœ์น™

- ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋“  ์ธ๋ฐ”์šฐ๋“œ ํŠธ๋ž˜ํ”ฝ์ด ์ฐจ๋‹จ๋จ

- ํ•„์š”์— ๋”ฐ๋ผ ํŠน์ • ํฌํŠธ๋ฅผ ์—ด์–ด์•ผ ํ•จ(์˜ˆ: SSH(22), HTTP(80), HTTPS(443))

 

2. ์•„์›ƒ๋ฐ”์šด๋“œ ๋ฃฐ

- ์ธ์Šคํ„ด์Šค์—์„œ ์™ธ๋ถ€๋กœ ๋‚˜๊ฐ€๋Š” ํŠธ๋ž™ํ”ฝ์„ ์ œ์–ดํ•˜๋Š” ๊ทœ์น™

- ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋“  ์•„์›ƒ๋ฐ”์šด๋“œ ํŠธ๋ž˜ํ”ฝ์ด ์—ด๋ ค ์žˆ์Œ

- ํ•„์š”์— ๋”ฐ๋ผ ํŠน์ • ์•„์›ƒ๋ฐ”์šด๋“œ ํŠธ๋ž™ํ”ฝ ์ œํ•œ ๊ฐ€๋Šฅ

 

3. ํฌํŠธ

ํฌํŠธ ๋ฒˆํ˜ธ ์„ค๋ช…
22 SSH(Secure shell)๋กœ ์ธ์Šคํ„ด์Šค์— ์›๊ฒฉ ์ ‘์†
21 FTP ํŒŒ์ผ ์ „์†ก ํ”„๋กœํ† ์ฝœ
80 http ์›น์ ‘์†
443 https ์•ˆ์ „ํ•œ http ์ ‘์†, ํ˜„์žฌ์˜ ์Šคํƒ ๋‹ค๋“œ

 


SSH๋ฅผ ์ด์šฉํ•œ EC2 ์ ‘์† ๋ฐฉ๋ฒ•

 

๋ฐฉ๋ฒ• 1: ํ„ฐ๋ฏธ๋„์„ ์ด์šฉํ•œ ์ ‘์†

 1) .pem ํ‚ค ํŒŒ์ผ์˜ ๊ถŒํ•œ ๋ณ€๊ฒฝ

cd AWS
ls
chmod 400 tastfulalkeypair.pem

- chmod: change mode (ํŒŒ์ผ ๊ถŒํ•œ ๋ณ€๊ฒฝ)

- 400: ๊ถŒํ•œ ์„ค์ •

- ์•ž(์†Œ์œ ์ž), ์ค‘๊ฐ„(๊ทธ๋ฃน), ์„ธ ๋ฒˆ์งธ(๋‹ค๋ฅธ ์œ ์ €) ์ˆœ์œผ๋กœ ์„ค์ •๋จ

- 4: ์ฝ๊ธฐ ๊ถŒํ•œ, 2: ์“ฐ๊ธฐ ๊ถŒํ•œ, 1: ์‹คํ–‰ ๊ถŒํ•œ

 

2) SSH๋ฅผ ์ด์šฉํ•˜์—ฌ ์ธ์Šคํ„ด์Šค์— ์ ‘์†

ssh -i tastfulalkeypair.pem (์ธ์Šคํ„ด์Šคusername)@<Public IPv4 address>

3) ์ ‘์† ์™„๋ฃŒ ํ›„ ํ”„๋ผ์ด๋น— IP ํ™•์ธ ๊ฐ€๋Šฅ

 

๋ฐฉ๋ฒ• 2: AWS ์ฝ˜์†”์„ ์ด์šฉํ•œ ์ ‘์†

1) AWS ์ฝ˜์†”์—์„œ EC2๋กœ ์ด๋™

2) ์ธ์Šคํ„ด์Šค ์„ ํƒ ํ›„ "์—ฐ๊ฒฐ"

3) "EC2 ์ธ์Šคํ„ด์Šค ์—ฐ๊ฒฐ"์„ ํ†ตํ•ด ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ ‘์† ๊ฐ€๋Šฅ