Amazon Route 53 + HTTPS

์›๋ฏผ๊ด€ยท2025๋…„ 9์›” 4์ผ

deployment

๋ชฉ๋ก ๋ณด๊ธฐ
3/7
post-thumbnail

1. Route 53 ๐ŸŽฏ

1-1. Amazon Route 53์ด๋ž€? โœ๏ธ

Amazon Route 53์€ DNS(Domain Name System) ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. AWS์—์„œ ๋„๋ฉ”์ธ์„ ๋ฐœ๊ธ‰ํ•˜๊ณ  ๊ด€๋ฆฌํ•ด์ฃผ๋Š” ์„œ๋น„์Šค์ฃ . ์—ฌ๊ธฐ์„œ๋Š” ๋ฐœ๊ธ‰์„ ๊ตฌ๋งค๋กœ ์ดํ•ดํ•ด๋„ ๋ฌด๋ฐฉํ•ฉ๋‹ˆ๋‹ค.

1-2. ์ฃผ์˜ ์‚ฌํ•ญ โœ๏ธ

IP ์ฃผ์†Œ์—๋Š” HTTPS๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ํ”„๋ก ํŠธ ์›น ํŽ˜์ด์ง€๋“  ๋ฐฑ์—”๋“œ ์„œ๋ฒ„๋“  ๊ฒฐ๊ตญ ๋„๋ฉ”์ธ ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Amazon Route 53์—์„œ๋Š” ๋„๋ฉ”์ธ์˜ ๋ฐœ๊ธ‰๊ณผ ๊ด€๋ฆฌ๊ฐ€ ๋ชจ๋‘ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ๊ฐ€๋น„์•„(gabia)๋‚˜ ํ›„์ด์ฆˆ(whois)์—์„œ๋„ ๋„๋ฉ”์ธ์„ ๊ตฌ๋งคํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ €์˜ ๊ฒฝ์šฐ ๋„๋ฉ”์ธ์˜ ๊ตฌ๋งค๋Š” ๊ฐ€๋น„์•„์—์„œ ์ง„ํ–‰ํ–ˆ๊ณ , ๊ด€๋ฆฌ๋Š” Amazon Route 53์— ์œ„์ž„ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Route 53์—์„œ ๋„๋ฉ”์ธ์„ ๋ฐœ๊ธ‰(๊ตฌ๋งค) ํ•˜๋Š” ๊ณผ์ •์€ ๋‹ค๋ฃจ์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ข‹์€ ์ž๋ฃŒ๊ฐ€ ๋งŽ์œผ๋‹ˆ ์ง์ ‘ ์ฐพ์•„๋ณด์‹œ๊ธธ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

2. Route 53์˜ ๋„๋ฉ”์ธ์„ EC2์— ์—ฐ๊ฒฐํ•˜๊ธฐ ๐ŸŽฏ

2-1. Route 53์˜ ๋„๋ฉ”์ธ์„ EC2์— ์—ฐ๊ฒฐ โœ๏ธ

2-1-1. Route 53์˜ ํ˜ธ์ŠคํŒ… ์˜์—ญ ๋ฉ”๋‰ด, ๋ ˆ์ฝ”๋“œ ์ƒ์„ฑ ๋ฒ„ํŠผ ํด๋ฆญ โœ…

2-1-2. ๋ ˆ์ฝ”๋“œ ์ƒ์„ฑํ•˜๊ธฐ โœ…

http://api.pullim.io.kr/๋กœ ์ ‘์†ํ–ˆ์„ ๋•Œ, 3.37.155.253์˜ IP ์ฃผ์†Œ๋กœ ์—ฐ๊ฒฐ๋˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•œ ์„ค์ •์ž…๋‹ˆ๋‹ค. ๋„๋ฉ”์ธ ๊ตฌ๋งค๋Š” pullim.io.kr๋งŒ ํ–ˆ๋Š”๋ฐ, ์„œ๋ธŒ ๋„๋ฉ”์ธ api๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์„œ๋ฒ„์˜ ๊ฒฝ๋กœ๋กœ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

2-2. ๋ ˆ์ฝ”๋“œ ์œ ํ˜• ํŒŒ์•…ํ•˜๊ธฐ โœ๏ธ

DNS์— ๊ณตํ†ต์ ์œผ๋กœ ์žˆ๋Š” ์„ค์ • ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋ ˆ์ฝ”๋“œ ์œ ํ˜•์ž…๋‹ˆ๋‹ค. ๋งŽ์€ ๋ ˆ์ฝ”๋“œ ์œ ํ˜•์ด ์žˆ์ง€๋งŒ A ๋ ˆ์ฝ”๋“œ์™€ CNAME ๋ ˆ์ฝ”๋“œ์— ๋Œ€ํ•ด์„œ๋งŒ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

2-2-1. A ๋ ˆ์ฝ”๋“œ โœ…

A ๋ ˆ์ฝ”๋“œ๋Š”, ๋„๋ฉ”์ธ์„ ํŠน์ • IPv4 ์ฃผ์†Œ์— ์—ฐ๊ฒฐํ•˜๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ ˆ์ฝ”๋“œ ์œ ํ˜•์ž…๋‹ˆ๋‹ค.

์œ„์—์„œ ์ €๋Š” 3.37.155.253๋ผ๋Š” IP ์ฃผ์†Œ์— api.pullim.io.kr์ด๋ผ๋Š” ๋„๋ฉ”์ธ์„ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด A ๋ ˆ์ฝ”๋“œ๋ฅผ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค.

2-2-2. CNAME ๋ ˆ์ฝ”๋“œ โœ…

CNAME ๋ ˆ์ฝ”๋“œ๋Š”, ๋„๋ฉ”์ธ์„ ํŠน์ • ๋„๋ฉ”์ธ ์ฃผ์†Œ์— ์—ฐ๊ฒฐํ•˜๊ณ ์ž ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ ˆ์ฝ”๋“œ ์œ ํ˜•์ž…๋‹ˆ๋‹ค.

3. ELB ๐ŸŽฏ

IP ์ฃผ์†Œ์—๋Š” HTTPS๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์—†์–ด์„œ ๋„๋ฉ”์ธ์„ ๊ตฌ๋งคํ–ˆ๊ณ , ํ•ด๋‹น ๋„๋ฉ”์ธ์— ์šฐ๋ฆฌ๊ฐ€ ์ž„๋Œ€ํ•œ EC2 ์ธ์Šคํ„ด์Šค์˜ IP๋ฅผ ์—ฐ๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ HTTPS๋ฅผ ์ ์šฉํ•  ์ฐจ๋ก€์ด์ฃ .

HTTPS ์ „์—, ELB์— ๋Œ€ํ•ด ์†Œ๊ฐœํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ELB๋Š” Elastic Load Balancer์ž…๋‹ˆ๋‹ค.

ELB๋Š” ์„œ๋ฒ„๋ฅผ 2๋Œ€ ์ด์ƒ ์šด์šฉํ•  ๋•Œ, ํŠธ๋ž˜ํ”ฝ์„ ์ ์ ˆํžˆ ๋ถ„ํ•ดํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์ธ๋ฐ์š”, ์ €๋Š” ELB์˜ ์ฃผ์š” ๊ธฐ๋Šฅ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋Š” ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ๊ธฐ๋Šฅ์ด ์•„๋‹ˆ๋ผ, ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ์ธ SSL/TLS(HTTPS)๋ฅผ ์ ์šฉํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ SSL๊ณผ TLS๋Š”, ์›น์‚ฌ์ดํŠธ์™€ ์‚ฌ์šฉ์ž ๋ธŒ๋ผ์šฐ์ € ๊ฐ„์˜ ํ†ต์‹ ์„ ์•”ํ˜ธํ™”ํ•˜์—ฌ ๋ฐ์ดํ„ฐ์˜ ๊ธฐ๋ฐ€์„ฑ๊ณผ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณดํ˜ธํ•˜๋Š” ๋ณด์•ˆ ํ”„๋กœํ† ์ฝœ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ์š”. ์‰ฝ๊ฒŒ ํ‘œํ˜„ํ•˜๋ฉด HTTP๋ฅผ HTTPS๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ์ธ์ฆ์„œ๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

HTTPS๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋ฒ„์™€ ์ฃผ๊ณ ๋ฐ›์„ ๋•Œ ์•”ํ˜ธํ™”๋ฅผ ๊ฑฐ์นœ ๋’ค ํ†ต์‹ ์„ ์ง„ํ–‰ํ•˜๊ธฐ์— ๋ณด์•ˆ์— ์œ ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. HTTPS๊ฐ€ ์ ์šฉ๋˜์ง€ ์•Š์€ ์‚ฌ์ดํŠธ์—๋Š” ์œ„์™€ ๊ฐ™์€ ๊ฒฝ๊ณ ๊ฐ€ ๋‚˜ํƒ€๋‚˜๋Š”๋ฐ์š”, ์‚ฌ์šฉ์ž ์ž…์žฅ์—์„œ๋Š” ๋ฏฟ์Œ์ง์Šค๋Ÿฝ์ง€ ๋ชปํ•œ ์„œ๋น„์Šค๋ผ๊ณ  ํŒ๋‹จํ•  ๊ฒƒ์ด๊ณ , ์ดํƒˆ๋ฅ ์ด ํฌ๊ฒŒ ์ฆ๊ฐ€ํ•  ์ˆ˜๋ฐ–์— ์—†์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

HTTPS ์ธ์ฆ์„ ๋ฐ›์€ ์›น ์‚ฌ์ดํŠธ๊ฐ€ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”, ๋ฐฑ์—”๋“œ ์„œ๋ฒ„์˜ ์ฃผ์†Œ๋„ HTTPS ์ธ์ฆ์„ ๋ฐ›์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ELB์˜ ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ์ธ SSL/TLS(HTTPS)๋ฅผ ์ ์šฉํ•˜๋ฉด ์•„ํ‚คํ…์ฒ˜๋Š” ์œ„์™€ ๊ฐ™์ด ๋ณ€๊ฒฝ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

3-1. ELB ๊ธฐ๋ณธ ๊ตฌ์„ฑ ์„ค์ • โœ๏ธ

3-1-1. ๋ฆฌ์ „ ์„ ํƒ โœ…

AWS EC2 ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ ์„œ๋น„์Šค๋กœ ๋“ค์–ด๊ฐ€์„œ ๋ฆฌ์ „์„ ์„œ์šธ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

3-1-2. ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ ์œ ํ˜• ์„ ํƒ โœ…

HTTP ๋ฐ HTTPS ํŠธ๋ž˜ํ”ฝ์„ ์‚ฌ์šฉํ•  ๊ฒƒ์ด๊ธฐ์— ๊ฐ€์žฅ ์ขŒ์ธก์— ์žˆ๋Š” Application Load Balancer๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

3-1-3. ๊ธฐ๋ณธ ๊ตฌ์„ฑ โœ…

๋‚ด๋ถ€ ์˜ต์…˜์€ Private IP๋ฅผ ํ™œ์šฉํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์˜ต์…˜์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ๋Š” Private IP๋ฅผ ํ™œ์šฉํ•˜๊ณ  ์žˆ์ง€ ์•Š๊ธฐ์— ์ธํ„ฐ๋„ท ๊ฒฝ๊ณ„๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

์ถ”๊ฐ€์ ์œผ๋กœ, ์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“  EC2 ์ธ์Šคํ„ด์Šค๋Š” ์ „๋ถ€ IPv4๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์—ˆ๊ธฐ์— IPv4๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

3-1-4. ๋„คํŠธ์›Œํฌ ๋งคํ•‘ โœ…

๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๊ฐ€ ์–ด๋–ค ๊ฐ€์šฉ ์˜์—ญ์œผ๋กœ๋งŒ ํŠธ๋ž˜ํ”ฝ์„ ๋ณด๋‚ผ ๊ฒƒ์ธ์ง€ ์ œํ•œํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์žˆ๋Š”๋ฐ์š”, ์šฐ์„ ์€ ๊ฐ€์šฉ ์˜์—ญ์— ์ œํ•œ์„ ๋‘์ง€ ์•Š๊ณ  ๋ชจ๋“  ์˜์—ญ์— ํŠธ๋ž˜ํ”ฝ์„ ๋ณด๋‚ด๋„๋ก ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

3-2. ELB ๋ณด์•ˆ ๊ทธ๋ฃน ์„ค์ • โœ๏ธ

ELB ๋ณด์•ˆ ๊ทธ๋ฃน์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด์ „ ๊ธ€์—์„œ ๋ณด์•ˆ ๊ทธ๋ฃน์„ EC2 ์ธ์Šคํ„ด์Šค๋ผ๋Š” ์ง‘์„ ๋‘˜๋Ÿฌ์‹ผ ์šธํƒ€๋ฆฌ์™€ ๋Œ€๋ฌธ์ด๋ผ๊ณ  ๋น„์œ ํ–ˆ์—ˆ์ฃ . ELB๋„ EC2 ์ธ์Šคํ„ด์Šค ์•ž๋‹จ์—์„œ ์š”์ฒญ์„ ๋จผ์ € ๋ฐ›๋Š” '์ปดํ“จํ„ฐ'์— ๋ถˆ๊ณผํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ELB์— ๋Œ€ํ•œ ๋ณด์•ˆ ๊ทธ๋ฃน ์„ค์ •๋„ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

ELB๋Š” HTTP ํ˜น์€ HTTPS ์œ ํ˜•์˜ ์ธ๋ฐ”์šด๋“œ ํŠธ๋ž˜ํ”ฝ์„ ๋ฐ›์„ ๊ฒƒ์ด๋ผ๊ณ  ์„ค์ •ํ•˜๋Š” ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค.

๋‹ค์‹œ ์„ค์ •์œผ๋กœ ๋Œ์•„์™€์„œ ๋ฐฉ๊ธˆ ์ƒ์„ฑํ•œ ๋ณด์•ˆ ๊ทธ๋ฃน์„ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค.

3-3. ELB ๋ฆฌ์Šค๋„ˆ ๋ฐ ๋ผ์šฐํŒ… ์„ค์ • โœ๏ธ

ELB๋กœ ๋“ค์–ด์˜จ ์š”์ฒญ์„ ์–ด๋–ค EC2 ์ธ์Šคํ„ด์Šค๋กœ ์ „๋‹ฌํ•  ๊ฒƒ์ธ์ง€๋ฅผ ์„ค์ •ํ•˜๋Š” ์˜์—ญ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์š”์ฒญ์„ ๋ฐ›์„ EC2 ์ธ์Šคํ„ด์Šค๋ฅผ '๋Œ€์ƒ ๊ทธ๋ฃน'์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์œ„์™€ ๊ฐ™์ด ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

ELB์—๋Š” Health Check๋ผ๋Š” ๋ถ€๊ฐ€ ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ELB๋Š” ๋“ค์–ด์˜จ ์š”์ฒญ์„ ๋Œ€์ƒ ๊ทธ๋ฃน์— ์žˆ๋Š” ์—ฌ๋Ÿฌ EC2 ์ธ์Šคํ„ด์Šค๋กœ ์ „๋‹ฌํ•˜๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ์š”, ์ด๋•Œ ํŠน์ • EC2 ์ธ์Šคํ„ด์Šค ๋‚ด์— ์žˆ๋Š” ์„œ๋ฒ„๊ฐ€ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์—๋Ÿฌ๋กœ ์ธํ•ด ๊ณ ์žฅ ๋‚ฌ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด์ฃ .

ELB๊ฐ€ ๊ณ ์žฅ ๋‚œ ์„œ๋ฒ„๋กœ ํŠธ๋ž˜ํ”ฝ์„ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์€ ์ƒ๋‹นํžˆ ๋น„ํšจ์œจ์ ์ธ ํ–‰๋™์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์ƒํ™ฉ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ELB๋Š” ์ฃผ๊ธฐ์ ์œผ๋กœ(๊ธฐ๋ณธ 30์ดˆ) ๋Œ€์ƒ ๊ทธ๋ฃน์— ์†ํ•ด์žˆ๋Š” ๊ฐ๊ฐ์˜ EC2 ์ธ์Šคํ„ด์Šค์— ์š”์ฒญ์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ์ด๋•Œ 200๋ฒˆ๋Œ€ ์‘๋‹ต์ด ๋ฐ˜ํ™˜๋˜์ง€ ์•Š์œผ๋ฉด ์„œ๋ฒ„๊ฐ€ ๊ณ ์žฅ ๋‚ฌ๋‹ค๊ณ  ํŒ๋‹จํ•˜๊ณ , ๊ณ ์žฅ ๋‚œ ์„œ๋ฒ„๋กœ๋Š” ํŠธ๋ž˜ํ”ฝ์„ ๋ณด๋‚ด์ง€ ์•Š๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

'์•„๋ž˜์— ๋ณด๋ฅ˜ ์ค‘์ธ ๊ฒƒ์œผ๋กœ ํฌํ•จ'์„ ํด๋ฆญํ•œ ๋’ค ๋Œ€์ƒ ๊ทธ๋ฃน์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์‹œ ๋ฆฌ์Šค๋„ˆ ๋ฐ ๋ผ์šฐํŒ… ์„น์…˜์œผ๋กœ ๋Œ์•„์˜จ ๋’ค refresh ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๊ณ , ์šฐ๋ฆฌ๊ฐ€ ์ƒ์„ฑํ•œ ๋Œ€์ƒ ๊ทธ๋ฃน์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

์ด์–ด์ง€๋Š” ๋ถ€๊ฐ€์ ์ธ ์„ค์ •๋“ค์€ default ๊ฐ’์œผ๋กœ ํ•˜๊ณ  ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ ์ƒ์„ฑ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

Health Check๋ฅผ ์œ„ํ•ด์„œ๋Š” ์„œ๋ฒ„ ์ฝ”๋“œ์— Health Check API๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•˜๋Š”๋ฐ์š”, ์ด ๋ถ€๋ถ„์€ ํ–ฅํ›„์— ๋‹ค๋ฃจ๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

3-4. ELB์— ๋„๋ฉ”์ธ ์—ฐ๊ฒฐ โœ๏ธ

์ด์ œ ์‚ฌ์šฉ์ž๋“ค์ด ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด EC2 ์ธ์Šคํ„ด์Šค๊ฐ€ ํ•ด๋‹น ์š”์ฒญ์„ ์ง์ ‘ ๋ฐ›๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ELB๊ฐ€ ๋จผ์ € ์š”์ฒญ์„ ๋ฐ›๊ณ  ๊ธฐ์กด EC2 ์ธ์Šคํ„ด์Šค์— ํ•ด๋‹น ์š”์ฒญ์„ ์ „๋‹ฌํ•˜๊ฒŒ ๋˜๋Š” ์ƒํ™ฉ์œผ๋กœ ๋ณ€๊ฒฝ๋์Šต๋‹ˆ๋‹ค. ์ƒํ™ฉ์— ๋งž๋Š” ํ›„์† ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

3-4-1. Route 53์—์„œ EC2์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋˜ ๋ ˆ์ฝ”๋“œ ์‚ญ์ œ โœ…

Route 53์œผ๋กœ ์ด๋™ํ•˜์—ฌ, EC2 ์ธ์Šคํ„ด์Šค์— ์ง์ ‘์ ์œผ๋กœ ์—ฐ๊ฒฐํ–ˆ๋˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

3-4-2. Route 53์—์„œ ELB์— ๋„๋ฉ”์ธ ์—ฐ๊ฒฐ โœ…

๊ทธ๋ฆฌ๊ณ  ELB์— ๋งž๋Š” ๋ ˆ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

3-5. ์ธ์ฆ์„œ ๋ฐœ๊ธ‰ โœ๏ธ

3-5-1. AWS Certificate Manage โœ…

์ด์ œ ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰๋ฐ›๊ธฐ ์œ„ํ•ด AWS Certificate Manage ์„œ๋น„์Šค๋กœ ์ด๋™ํ•œ ๋’ค, ์ธ์ฆ์„œ ์š”์ฒญ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

3-5-2. ์ธ์ฆ์„œ ์š”์ฒญ โœ…

๋„๋ฉ”์ธ์„ ์ •ํ™•ํžˆ ์ž…๋ ฅํ•˜๊ณ , ๋‹ค๋ฅธ ์„ค์ •๋“ค์€ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์€ ์ƒํƒœ์—์„œ ์š”์ฒญ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

3-5-3. ์ธ์ฆ์„œ ๊ฒ€์ฆ โœ…

๋‚ด๊ฐ€ ์ •๋ง ํ•ด๋‹น ๋„๋ฉ”์ธ์˜ ์ฃผ์ธ์ธ์ง€ ๊ฒ€์ฆํ•˜๋Š” ์ ˆ์ฐจ์ž…๋‹ˆ๋‹ค.

Route 53์—์„œ CNAME์— ๋Œ€ํ•œ ์„ค์ •์„ ํ•ด๋†“์œผ๋ฉด, AWS์—์„œ CNAME ๊ฐ’์— ์š”์ฒญ์„ ๋ณด๋‚ด๋ณด๊ณ  ๊ฒ€์ฆ์„ ์™„๋ฃŒํ•ด ์ฃผ๊ฒ ๋‹ค๋Š” ๋œป์ด์ฃ .

'Route 53์—์„œ ๋ ˆ์ฝ”๋“œ ์ƒ์„ฑ'์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ์ดํ›„ ๋ ˆ์ฝ”๋“œ ์ƒ์„ฑ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

3๋ถ„ ์ •๋„ ์ง€๋‚˜๋ฉด ์ƒํƒœ๊ฐ€ '์„ฑ๊ณต'์œผ๋กœ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค. ๊ธธ๊ฒŒ๋Š” 10๋ถ„ ์ •๋„ ์†Œ์š”๋  ๋•Œ๋„ ์žˆ์œผ๋‹ˆ, ๋ฐ”๋€Œ์ง€ ์•Š๋Š”๋‹ค๊ณ  ๋„ˆ๋ฌด ๊ฑฑ์ •ํ•˜์ง€ ์•Š์œผ์…”๋„ ๋ฉ๋‹ˆ๋‹ค.

3-6. ELB์— HTTPS ์„ค์ • โœ๏ธ

ELB์—์„œ ๋ฆฌ์Šค๋„ˆ ์ถ”๊ฐ€ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กœํ† ์ฝœ์„ HTTPS๋กœ ์„ ํƒํ•˜๊ณ , ์šฐ๋ฆฌ๊ฐ€ ์ง€์ •ํ•œ ๋Œ€์ƒ ๊ทธ๋ฃน์„ ์„ ํƒํ•œ ๋’ค, ๋ฐฉ๊ธˆ ์ƒ์„ฑํ•œ ์ธ์ฆ์„œ๋ฅผ ์ ์šฉํ•˜์—ฌ ๋ฆฌ์Šค๋„ˆ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ์ด ์ƒํƒœ์—์„œ๋Š” ๋„๋ฉ”์ธ ์•ž์— http๋ฅผ ์ ์šฉํ•ด๋„ ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

HTTP:80์„ ํด๋ฆญํ•œ ๋’ค ๋ฆฌ์Šค๋„ˆ ๊ด€๋ฆฌ์—์„œ ํ•ด๋‹น ๋ฆฌ์Šค๋„ˆ๋ฅผ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹ค์‹œ ์ƒˆ๋กœ์šด ๋ฆฌ์Šค๋„ˆ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ HTTP ํ”„๋กœํ† ์ฝœ์„ ํ†ตํ•ด ์š”์ฒญ์ด ๋“ค์–ด์˜ค๋ฉด HTTPS URL๋กœ ๋ฆฌ๋””๋ ‰์…˜ ํ•˜๊ฒ ๋‹ค๋Š” ์„ค์ •์ž…๋‹ˆ๋‹ค. ๋ฆฌ์Šค๋„ˆ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

์ดํ›„์— url์— http๋กœ ํ†ต์‹ ์„ ์‹œ๋„ํ•˜๋ฉด, ์ž๋™์œผ๋กœ https๋กœ ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

4. ์ •๋ฆฌ ๐ŸŽฏ

  1. EC2๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„์šฉ ์ปดํ“จํ„ฐ๋ฅผ ์ž„๋Œ€
  2. EC2 ์ธ์Šคํ„ด์Šค์—์„œ ํŒจํ‚ค์ง€๋“ค์„ ์„ค์น˜ ํ›„ ์„œ๋ฒ„ ํ”„๋กœ์ ํŠธ๋ฅผ github์—์„œ clone
  3. ๊ฐ€๋น„์•„์—์„œ ๋„๋ฉ”์ธ์„ ๊ตฌ๋งค
  4. Route 53์—์„œ ๋„๋ฉ”์ธ์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋ ˆ์ฝ”๋“œ ์ƒ์„ฑ ํ›„ ๋„ค์ž„ ์„œ๋ฒ„ 4๊ฐœ์˜ ์ฃผ์†Œ๋ฅผ ๊ฐ€๋น„์•„์— ๋“ฑ๋ก
  5. api.pullim.io.kr์„ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด 'A ๋ ˆ์ฝ”๋“œ' ์ƒ์„ฑ
  6. ELB ์„ค์ • ํ›„ ์ƒ์„ฑ
  7. ELB๋กœ ์š”์ฒญ์„ ๋ฐ›๊ธฐ ์œ„ํ•ด 5๋ฒˆ์—์„œ ์ƒ์„ฑํ–ˆ๋˜ 'A ๋ ˆ์ฝ”๋“œ' ์ œ๊ฑฐ
  8. Route 53์—์„œ ELB์— ๋„๋ฉ”์ธ ์—ฐ๊ฒฐ
  9. HTTPS ์ ์šฉ์„ ์œ„ํ•ด ACM์—์„œ ์ธ์ฆ์„œ ๋ฐœ๊ธ‰
  10. ELB์—์„œ ๋ฆฌ์Šค๋„ˆ ์ถ”๊ฐ€๋ฅผ ํ†ตํ•ด ์ธ์ฆ์„œ ์ ์šฉ

์ถ”๊ฐ€์ ์œผ๋กœ, ELB๋Š” ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ ์ž์ฒด๋กœ ๋น„์šฉ์ด ๋ถ€๊ณผ๋œ๋‹ค๊ณ  ํ•ด์„œ Nginx์™€ Certbot์„ ์ ์šฉํ•  ์ƒ๊ฐ์ž…๋‹ˆ๋‹ค.

๋‹ค์Œ ๊ธ€์—์„œ๋Š” Amazon RDS๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ •๋ฆฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด์ „ ๊ธ€ 1: https://velog.io/@minkwan/Amazon-EC2-%ED%86%BA%EC%95%84%EB%B3%B4%EA%B8%B0

์ด์ „ ๊ธ€ 2: https://velog.io/@minkwan/NestJS%EB%A1%9C-EC2-%EB%B0%B0%ED%8F%AC%ED%95%98%EA%B8%B0

profile
Write a little every day, without hope, without despair โœ๏ธ

0๊ฐœ์˜ ๋Œ“๊ธ€