1. EC2 ์ธ์คํด์ค ์ค๋น
2025.06.12 - [๐ฐ๐ท ํ๊ตญ์ด (Korean)/AWS] - [9] EC2 ์ธ์คํด์ค ์ฐ๊ฒฐ
2. Node.js & ์ ํ๋ฆฌ์ผ์ด์ ์ค์น
2.1 Node.js ์ค์น (NodeSource)
2.2 ํ๋ก์ ํธ ์ด๊ธฐํ ๋ฐ Express ์ค์น
2.3 package.json ์ค์
2.4 index.js ์์ฑ
2.5 ํ ์คํธ ์คํ
3. PM2๋ก ๋ฐฑ๊ทธ๋ผ์ด๋ ์คํ
4. Nginx ๋ฆฌ๋ฒ์ค ํ๋ก์ ์ค์
4.1 ์ค์น
4.2 ์ค์ ํ์ผ /etc/nginx/conf.d/my-node-app.conf ์์ฑ
4.3 ๊ฒ์ฆ & ์ฌ์์
4.4 ํ์ธ
5. ๋๋ฉ์ธ(Route 53) ์ฐ๊ฒฐ - ์ง๊ธ ์ด ๊ณผ์ ์ ๊ฒ์ํ ๊ฒ์ด๋ค.
5.1 Route 53 → ํธ์คํ ์์ญ(Hosted zones) → trill-server.com ์ ํ
5.2 ๋ ์ฝ๋ ์์ฑ(Create record)
5.3 ์ ์ฅ ํ dig +short trill-server.com → IP ํ์ธ
6. HTTPS ์ ์ฉ (Let’s Encrypt)
6.1 ๋ณด์ ๊ทธ๋ฃน: HTTPS(443) → 0.0.0.0/0 ์ถ๊ฐ
6.2 Certbot ์ค์น
6.3 ์ธ์ฆ์ ๋ฐ๊ธ & ์ค์น
6.4 ์๋ ๊ฐฑ์
6.5 ํ์ธ
5. ๋๋ฉ์ธ(Route 53) ์ฐ๊ฒฐ
< ๋๋ฉ์ธ์ AWS Route 53์ผ๋ก ์ฐ๊ฒฐํ๋ ์ฃผ๋ ๋ชฉ์ ๊ณผ ๊ทธ ์ด์ >
1. ์ฌ์ฉ์ ๊ฒฝํ(UX) ๊ฐ์ : ๊ธฐ์ตํ๊ธฐ ์ฌ์ด ์ฃผ์ ์ ๊ณต
IP ์ฃผ์(์: 13.124.193.60)๋ ์ฌ๋์๊ฒ ์ธ์ฐ๊ธฐ ์ด๋ ต๊ณ ,
๋๋ฉ์ธ ์ด๋ฆ(์: myapp.com)์ ์ง๊ด์ ์ด๊ณ ๋ธ๋๋ํ๊ฐ ๊ฐ๋ฅํ๋ค.
์ฌ์ฉ์๋ ๋ธ๋ผ์ฐ์ ์ฃผ์์ฐฝ์ ๋๋ฉ์ธ์ ์ ๋ ฅ๋ง ํ๋ฉด ์๋น์ค์ ์ ๊ทผํ ์ ์์ด ํธ๋ฆฌํ๋ค.
2. ์ ์ฐํ ํธ๋ํฝ ๊ด๋ฆฌ ๋ฐ ํ์ฅ์ฑ
Route 53์ ๋ผ์ดํ ์ ์ฑ (Routing Policy)์ ํตํด ๋จ์ ๋ผ์ด๋๋ก๋น, ์ง๋ฆฌ์ ์์น ๊ธฐ๋ฐ ๋ผ์ฐํ , ๊ฐ์ค์น ๊ธฐ๋ฐ ๋ผ์ฐํ ๋ฑ ๋ค์ํ ๋ถ์ฐ ์ ๋ต์ ์ ์ฉํ ์ ์๋ค.
ํ์์ ํฌ์ค ์ฒดํฌ(Health Check)๋ฅผ ์ฐ๋ํด, ๋ฌธ์ ๊ฐ ์๋ ์ธ์คํด์ค๋ก ํธ๋ํฝ์ด ๊ฐ์ง ์๋๋ก ์๋์ผ๋ก ์ฐํํ ์ ์๋ค.
3. ๊ณ ๊ฐ์ฉ์ฑ·์ ์ง์ฐ DNS ์๋น์ค
AWS ์ ์ญ์ ๋ถ์ฐ๋ DNS ๋ค์์๋ฒ๋ฅผ ํตํด 99.999% ์์ค์ ๊ฐ์ฉ์ฑ๊ณผ ๋ฎ์ ์๋ต ์ง์ฐ์ ๋ณด์ฅํ๋ค.
์ ์ธ๊ณ ์ด๋์ ์ ์ํ๋ ๋น ๋ฅด๊ณ ์์ ์ ์ธ DNS ์กฐํ๊ฐ ๊ฐ๋ฅํด์ง๋ค.
4. AWS ์๋น์ค ์ฐ๋์ ์ผ๊ด์ฑ
Route 53์ AWS ๋ด๋ถ ๋ฆฌ์์ค(ELB, CloudFront, S3 ์ ์ ์น ํธ์คํ ๋ฑ)์ ์ํํ๊ฒ ํตํฉ๋์ด,
๋ณ๋์ ๋ณต์กํ ์ค์ ์์ด๋ ๋๊น ์๋ ๋ผ์ฐํ ์ ํ ์ ์๋ค.
์๋ฅผ ๋ค์ด, ALB ์ฃผ์(alb-123456.us-east-1.elb.amazonaws.com)๋ฅผ ๋๋ฉ์ธ(api.myapp.com)์ ์ฝ๊ฒ ๋งคํํ ์ ์๋ค.
5. SSL/TLS ์ธ์ฆ์ ๋ฐ๊ธ·๊ฐฑ์ ํธ์
AWS Certificate Manager(ACM)๊ณผ ์ฐ๋ํด ๋๋ฉ์ธ ๊ฒ์ฆ์ ์๋ํํ ์ ์๋ค.
Route 53์ผ๋ก ๋๋ฉ์ธ์ ๊ด๋ฆฌํ๋ฉด DNS ๋ฐฉ์ ๋๋ฉ์ธ ๊ฒ์ฆ์ด ํด๋ฆญ ๋ช ๋ฒ์ผ๋ก ์๋ฃ๋ผ, Let’s Encrypt๋ ACM ์ธ์ฆ์ ๋ฐ๊ธ·๊ฐฑ์ ์ด ํจ์ฌ ๊ฐํธํด์ง๋ค.
6. ๋๋ฉ์ธ ๋ ์ฝ๋์ ์ค์ ์ง์ค ๊ด๋ฆฌ
ํ๋์ ์ฝ์(Route 53)์์ A, CNAME, MX, TXT, SRV ๋ฑ ๋ชจ๋ ๋ ์ฝ๋๋ฅผ ํตํฉ ๊ด๋ฆฌํ ์ ์์ด,
DNS ์ค์ ๋ณ๊ฒฝ·์ถ๊ฐ·์ญ์ ์ ํธ๋ฆฌํ๊ณ ์ค์ ๊ฐ๋ฅ์ฑ์ด ์ค์ด๋ ๋ค.
์์ฝ
๋๋ฉ์ธ์ Route 53์ ์ฐ๊ฒฐํ๋ฉด
1๏ธโฃ ์ฝ๊ณ ๊ธฐ์ตํ๊ธฐ ์ข์ ์ฃผ์ ์ ๊ณต
2๏ธโฃ ๋ค์ํ ๋ผ์ฐํ ์ ์ฑ ·ํฌ์ค ์ฒดํฌ๋ก ํธ๋ํฝ ๊ด๋ฆฌ
3๏ธโฃ ๋์ ๊ฐ์ฉ์ฑ·์ ์ง์ฐ DNS ์๋น์ค
4๏ธโฃ AWS ๋ฆฌ์์ค์ ์ํํ ํตํฉ
5๏ธโฃ SSL/TLS ์ธ์ฆ์ ์๋ ๊ฒ์ฆ·๋ฐ๊ธ ์ง์
6๏ธโฃ DNS ๋ ์ฝ๋ ์ค์ ์ง์ค ๊ด๋ฆฌ
๋ฑ์ ์ด์ ์ ์ป์ด, ์๋น์ค ์ ๊ทผ์ฑ๊ณผ ์์ ์ฑ์ ํฌ๊ฒ ํฅ์์ํฌ ์ ์๋ค.
5.1 ๋๋ฉ์ธ DNS( A ๋ ์ฝ๋) ํ์ธ
Certbot์ด trill-server.com ์ผ๋ก ์ธ์ฆ์๋ฅผ ๋ฐ๊ธํ๋ ค๋ฉด,
๋จผ์ DNS์ A ๋ ์ฝ๋๊ฐ ์ ๋๋ก ์ค์ ๋์ด ์์ด์ผ ํ๋ค.
- ๋๋ฉ์ธ ๋ฑ๋ก ๋ํ์ฌ(ํน์ AWS Route 53) ์ฝ์์ ๊ฐ์
- Route 53 ์๋น์ค๋ก ์ด๋
- ์๋จ ๊ฒ์์ฐฝ(search AWS services)์ “Route 53” ์ ๋ ฅ Route 53 ํด๋ฆญ



“์ฌ๊ธฐ์ ํด์ผ ํ ์ผ” ์์ฝ
๋๋ฉ์ธ์ ์์ง ๊ตฌ๋งคํ์ง ์์๋ค๋ฉด
- ์ด ํ๋ฉด์์ “trill-server.com” ์ ์ ํ → ์ฐ์ธก “์ ํ” ํด๋ฆญ → ๊ฒฐ์ ์งํ
- ๊ตฌ๋งค๊ฐ ์๋ฃ๋๋ฉด Route 53์ด ์๋์ผ๋ก ํด๋น ๋๋ฉ์ธ์ Hosted Zone(ํธ์คํฐ๋ ์กด)์ ํ๋ ๋ง๋ค์ด ์ค๋ค.
- ๊ทธ ํ์ “Hosted zones” ๋ฉ๋ด์์ ๋ฐฉ๊ธ ์์ฑ๋ ํธ์คํฐ๋ ์กด์ ํด๋ฆญํด A ๋ ์ฝ๋(EC2 IP) ๋ฑ์ ์ค์ ํ์๋ฉด ๋๋ค.
์ด๋ฏธ ๋ค๋ฅธ ๊ณณ์์ ๋๋ฉ์ธ์ ๊ตฌ๋งคํ์๋ค๋ฉด
- ์ด “๋๋ฉ์ธ ๋ฑ๋ก” ํ๋ฉด์ ์ง๋์น๊ณ , ์ข์ธก ๋ฉ๋ด์ Hosted zones ๋ก ๊ฐ์.“Create hosted zone” ๋ฒํผ์ ๋๋ฌ ์ง์ trill-server.com ํธ์คํฐ๋ ์กด์ ๋ง๋ ๋ค,
- NS ๋ ์ฝ๋๋ฅผ ์ธ๋ถ ๋ ์ง์คํธ๋ผ(GoDaddy, ๊ฐ๋น์ ๋ฑ)์ ๋ฑ๋กํ๊ณ A ๋ ์ฝ๋๋ฅผ EC2 ํผ๋ธ๋ฆญIP๋ก ์ค์ ํ๋ฉด Route 53์ผ๋ก DNS ๊ด๋ฆฌ๋ฅผ ์ฎ๊ธธ ์ ์๋ค.

๋๋ฉ์ธ์ ๊ฒฐ์ ํ๋ฉด ์ด๋ฐ ์ํ์ฐฝ์ด ๋ฌ๋ค.

“trill-server.com” ํธ์คํฐ๋ ์กด์ ์์ง A ๋ ์ฝ๋๊ฐ ์์ต๋๋ค.
์ฆ, ๋๋ฉ์ธ์ด EC2 ์ธ์คํด์ค๋ก ํฅํ๋๋ก ์ค์ ์ ํ๋ ๋ ์ถ๊ฐํด์ผํ๋ค.

- trill-server.com → A ๋ ์ฝ๋
- ํธ์คํธ ์ด๋ฆ: @ (๋๋ ๋น์๋ )
- ๊ฐ(Value): EC2 ํผ๋ธ๋ฆญ IPv4 ์ฃผ์ (์: 13.124.193.60)
- TTL: ๊ธฐ๋ณธ๊ฐ(300์ด)

-
- ์ ์ฅ → ์ ํ(๋ณดํต ์ ๋ถ ๋ด)
์ ์(์ต๋ 5๋ถ) ๊ธฐ๋ค๋ฆฐ ๋ค, CloudShell์์ ๋ค์ DNS ์บ์๋ฅผ ๋ฌด์ํ๊ณ ์กฐํํด๋ณธ๋ค.
# AWS ๋ด DNS ๋ฆฌ์กธ๋ฒ ํ์ธ
dig +short trill-server.com
# ๊ตฌ๊ธ ํผ๋ธ๋ฆญ DNS๋ก ํ์ธ
dig +short @8.8.8.8 trill-server.com
์ด ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ์ฌ ์๋์ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ์ด ๋์ค๋ฉด ์ฑ๊ณต์ด๋ค.
43.200.31.52

์ด์ ๋ธ๋ผ์ฐ์ ๋ curl ๋ก ์ ์ํด ๋ณธ๋ค.
curl http://trill-server.com
# → Hello from EC2 Express!

Hello from EC2 Express!์ด ๋์์
์ฑ๊ณต!!!

'๐ฐ๐ท ํ๊ตญ์ด (Korean) > AWS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [13] Nginx ๋ฆฌ๋ฒ์ค ํ๋ก์ ์ค์ - ์ฌ์ฉ์ ์์ฒญ์ ๋ฐ์ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก ์์ ยทํจ์จ์ ์ผ๋ก ์ ๋ฌ (1) | 2025.06.17 |
|---|---|
| [12] ๋ฐฐํฌ ์์ ํ & ์ด์ ์ค๋น- PM2๋ก ๋ฐฑ๊ทธ๋ผ์ด๋ ๊ด๋ฆฌ (3) | 2025.06.17 |
| [11] AWS EC2์ Node.js & ์ ํ๋ฆฌ์ผ์ด์ ์ค์นํ๊ธฐ (0) | 2025.06.17 |
| [10] ํ๋ ฅ์ IP ์ฐ๊ฒฐํ๊ธฐ (0) | 2025.06.12 |
| [9] EC2 ์ธ์คํด์ค ์ฐ๊ฒฐ (3) | 2025.06.12 |