[241213] AWS EC2(Elastic Compute Cloud)
ํด๋ผ์ฐ๋ ์๋น์ค์ ์ข ๋ฅ
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 ์ธ์คํด์ค ์ฐ๊ฒฐ"์ ํตํด ๋ธ๋ผ์ฐ์ ์์ ์ ์ ๊ฐ๋ฅ