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 ํ…Œ์ŠคํŠธ ์‹คํ–‰

2025.06.17 - [๐Ÿ‡ฐ๐Ÿ‡ท ํ•œ๊ตญ์–ด (Korean)/AWS] - [11] AWS EC2์— Node.js & ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค์น˜ํ•˜๊ธฐ


3. PM2๋กœ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์‹คํ–‰

2025.06.17 - [๐Ÿ‡ฐ๐Ÿ‡ท ํ•œ๊ตญ์–ด (Korean)/AWS] - [12] ๋ฐฐํฌ ์•ˆ์ •ํ™” & ์šด์˜ ์ค€๋น„- PM2๋กœ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ๊ด€๋ฆฌ


4. Nginx ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ ์„ค์ •
   4.1 ์„ค์น˜
   4.2 ์„ค์ • ํŒŒ์ผ /etc/nginx/conf.d/my-node-app.conf ์ƒ์„ฑ
   4.3 ๊ฒ€์ฆ & ์žฌ์‹œ์ž‘
   4.4 ํ™•์ธ

2025.06.17 - [๐Ÿ‡ฐ๐Ÿ‡ท ํ•œ๊ตญ์–ด (Korean)/AWS] - [13] Nginx ๋ฆฌ๋ฒ„์Šค ํ”„๋ก์‹œ ์„ค์ • - ์‚ฌ์šฉ์ž ์š”์ฒญ์„ ๋ฐ›์•„ ๋ฐฑ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ์•ˆ์ „·ํšจ์œจ์ ์œผ๋กœ ์ „๋‹ฌ




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 ํด๋ฆญ

 

์ƒˆ ๋„๋ฉ”์ธ์„ ๋“ฑ๋ก(purchase) ํ•˜๋Š” ์ฐฝ์ด๋‹ค ์ฆ‰, “trill-server.com” ์ด๋ผ๋Š” ๋„๋ฉ”์ธ์„ ์•„์ง ๊ตฌ๋งคํ•˜์ง€ ์•Š์•˜๋ฉด ์—ฌ๊ธฐ์„œ ์—ฐ 14 USD ๋ฅผ ๊ฒฐ์ œํ•ด์„œ ์†Œ์œ ๊ถŒ์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค๋Š” ๋œป์ด๋‹ค.

 

 

“์—ฌ๊ธฐ์„œ ํ•ด์•ผ ํ•  ์ผ” ์š”์•ฝ


๋„๋ฉ”์ธ์„ ์•„์ง ๊ตฌ๋งคํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด
- ์ด ํ™”๋ฉด์—์„œ “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!์ด ๋‚˜์™€์„œ

 

 

 

 

์„ฑ๊ณต!!!

 



+ Recent posts