
Amazon Route 53์ DNS(Domain Name System) ์๋น์ค์
๋๋ค. AWS์์ ๋๋ฉ์ธ์ ๋ฐ๊ธํ๊ณ ๊ด๋ฆฌํด์ฃผ๋ ์๋น์ค์ฃ . ์ฌ๊ธฐ์๋ ๋ฐ๊ธ์ ๊ตฌ๋งค๋ก ์ดํดํด๋ ๋ฌด๋ฐฉํฉ๋๋ค.
IP ์ฃผ์์๋ HTTPS๋ฅผ ์ ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋์ ํ๋ก ํธ ์น ํ์ด์ง๋ ๋ฐฑ์๋ ์๋ฒ๋ ๊ฒฐ๊ตญ ๋๋ฉ์ธ ์ฃผ์๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
Amazon Route 53์์๋ ๋๋ฉ์ธ์ ๋ฐ๊ธ๊ณผ ๊ด๋ฆฌ๊ฐ ๋ชจ๋ ๊ฐ๋ฅํ์ง๋ง, ๊ฐ๋น์(gabia)๋ ํ์ด์ฆ(whois)์์๋ ๋๋ฉ์ธ์ ๊ตฌ๋งคํ๊ณ ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ์ ์ ๊ฒฝ์ฐ ๋๋ฉ์ธ์ ๊ตฌ๋งค๋ ๊ฐ๋น์์์ ์งํํ๊ณ , ๊ด๋ฆฌ๋ Amazon Route 53์ ์์ํ์ต๋๋ค.
๋ฐ๋ผ์ ์ด๋ฒ ๊ธ์์๋ Route 53์์ ๋๋ฉ์ธ์ ๋ฐ๊ธ(๊ตฌ๋งค) ํ๋ ๊ณผ์ ์ ๋ค๋ฃจ์ง ์์ ๊ฒ์ ๋๋ค. ์ข์ ์๋ฃ๊ฐ ๋ง์ผ๋ ์ง์ ์ฐพ์๋ณด์๊ธธ ๊ถ์ฅํฉ๋๋ค.



http://api.pullim.io.kr/๋ก ์ ์ํ์ ๋, 3.37.155.253์ IP ์ฃผ์๋ก ์ฐ๊ฒฐ๋๊ฒ ํ๊ธฐ ์ํ ์ค์ ์
๋๋ค. ๋๋ฉ์ธ ๊ตฌ๋งค๋ pullim.io.kr๋ง ํ๋๋ฐ, ์๋ธ ๋๋ฉ์ธ api๋ฅผ ์ถ๊ฐํ์ฌ ์๋ฒ์ ๊ฒฝ๋ก๋ก ์ค์ ํ์ต๋๋ค.
DNS์ ๊ณตํต์ ์ผ๋ก ์๋ ์ค์ ์ค ํ๋๊ฐ ๋ ์ฝ๋ ์ ํ์ ๋๋ค. ๋ง์ ๋ ์ฝ๋ ์ ํ์ด ์์ง๋ง A ๋ ์ฝ๋์ CNAME ๋ ์ฝ๋์ ๋ํด์๋ง ์์๋ณด๊ฒ ์ต๋๋ค.

A ๋ ์ฝ๋๋, ๋๋ฉ์ธ์ ํน์ IPv4 ์ฃผ์์ ์ฐ๊ฒฐํ๊ณ ์ ํ ๋ ์ฌ์ฉํ๋ ๋ ์ฝ๋ ์ ํ์ ๋๋ค.
์์์ ์ ๋ 3.37.155.253๋ผ๋ IP ์ฃผ์์ api.pullim.io.kr์ด๋ผ๋ ๋๋ฉ์ธ์ ์ฐ๊ฒฐํ๊ธฐ ์ํด A ๋ ์ฝ๋๋ฅผ ์ ํํ์ต๋๋ค.
CNAME ๋ ์ฝ๋๋, ๋๋ฉ์ธ์ ํน์ ๋๋ฉ์ธ ์ฃผ์์ ์ฐ๊ฒฐํ๊ณ ์ ํ ๋ ์ฌ์ฉํ๋ ๋ ์ฝ๋ ์ ํ์ ๋๋ค.
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)๋ฅผ ์ ์ฉํ๋ฉด ์ํคํ ์ฒ๋ ์์ ๊ฐ์ด ๋ณ๊ฒฝ๋ ๊ฒ์ ๋๋ค.

AWS EC2 ๋ก๋๋ฐธ๋ฐ์ ์๋น์ค๋ก ๋ค์ด๊ฐ์ ๋ฆฌ์ ์ ์์ธ๋ก ์ค์ ํฉ๋๋ค.

HTTP ๋ฐ HTTPS ํธ๋ํฝ์ ์ฌ์ฉํ ๊ฒ์ด๊ธฐ์ ๊ฐ์ฅ ์ข์ธก์ ์๋ Application Load Balancer๋ฅผ ์์ฑํฉ๋๋ค.

๋ด๋ถ ์ต์ ์ Private IP๋ฅผ ํ์ฉํ ๋ ์ฌ์ฉํ๋ ์ต์ ์ ๋๋ค. ํ์ฌ๋ Private IP๋ฅผ ํ์ฉํ๊ณ ์์ง ์๊ธฐ์ ์ธํฐ๋ท ๊ฒฝ๊ณ๋ฅผ ์ ํํฉ๋๋ค.
์ถ๊ฐ์ ์ผ๋ก, ์ฐ๋ฆฌ๊ฐ ๋ง๋ EC2 ์ธ์คํด์ค๋ ์ ๋ถ IPv4๋ก ์ด๋ฃจ์ด์ ธ ์์๊ธฐ์ IPv4๋ฅผ ์ ํํฉ๋๋ค.

๋ก๋ ๋ฐธ๋ฐ์๊ฐ ์ด๋ค ๊ฐ์ฉ ์์ญ์ผ๋ก๋ง ํธ๋ํฝ์ ๋ณด๋ผ ๊ฒ์ธ์ง ์ ํํ๋ ๊ธฐ๋ฅ์ด ์๋๋ฐ์, ์ฐ์ ์ ๊ฐ์ฉ ์์ญ์ ์ ํ์ ๋์ง ์๊ณ ๋ชจ๋ ์์ญ์ ํธ๋ํฝ์ ๋ณด๋ด๋๋ก ์ค์ ํ์ต๋๋ค.

ELB ๋ณด์ ๊ทธ๋ฃน์ ์์ฑํฉ๋๋ค. ์ด์ ๊ธ์์ ๋ณด์ ๊ทธ๋ฃน์ EC2 ์ธ์คํด์ค๋ผ๋ ์ง์ ๋๋ฌ์ผ ์ธํ๋ฆฌ์ ๋๋ฌธ์ด๋ผ๊ณ ๋น์ ํ์์ฃ . ELB๋ EC2 ์ธ์คํด์ค ์๋จ์์ ์์ฒญ์ ๋จผ์ ๋ฐ๋ '์ปดํจํฐ'์ ๋ถ๊ณผํฉ๋๋ค. ๋ฐ๋ผ์ ELB์ ๋ํ ๋ณด์ ๊ทธ๋ฃน ์ค์ ๋ ํ์ํฉ๋๋ค.
ELB๋ HTTP ํน์ HTTPS ์ ํ์ ์ธ๋ฐ์ด๋ ํธ๋ํฝ์ ๋ฐ์ ๊ฒ์ด๋ผ๊ณ ์ค์ ํ๋ ๋จ๊ณ์ ๋๋ค.

๋ค์ ์ค์ ์ผ๋ก ๋์์์ ๋ฐฉ๊ธ ์์ฑํ ๋ณด์ ๊ทธ๋ฃน์ ๋ฑ๋กํฉ๋๋ค.

ELB๋ก ๋ค์ด์จ ์์ฒญ์ ์ด๋ค EC2 ์ธ์คํด์ค๋ก ์ ๋ฌํ ๊ฒ์ธ์ง๋ฅผ ์ค์ ํ๋ ์์ญ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์์ฒญ์ ๋ฐ์ EC2 ์ธ์คํด์ค๋ฅผ '๋์ ๊ทธ๋ฃน'์ด๋ผ๊ณ ํฉ๋๋ค.

์์ ๊ฐ์ด ์ค์ ํฉ๋๋ค.

ELB์๋ Health Check๋ผ๋ ๋ถ๊ฐ ๊ธฐ๋ฅ์ด ์์ต๋๋ค. ELB๋ ๋ค์ด์จ ์์ฒญ์ ๋์ ๊ทธ๋ฃน์ ์๋ ์ฌ๋ฌ EC2 ์ธ์คํด์ค๋ก ์ ๋ฌํ๋ ์ญํ ์ ์ํํ๋๋ฐ์, ์ด๋ ํน์ EC2 ์ธ์คํด์ค ๋ด์ ์๋ ์๋ฒ๊ฐ ์์์น ๋ชปํ ์๋ฌ๋ก ์ธํด ๊ณ ์ฅ ๋ฌ๋ค๊ณ ๊ฐ์ ํด ๋ณด์ฃ .
ELB๊ฐ ๊ณ ์ฅ ๋ ์๋ฒ๋ก ํธ๋ํฝ์ ์ ๋ฌํ๋ ๊ฒ์ ์๋นํ ๋นํจ์จ์ ์ธ ํ๋์ ๋๋ค. ์ด๋ฐ ์ํฉ์ ๋ฐฉ์งํ๊ธฐ ์ํด ELB๋ ์ฃผ๊ธฐ์ ์ผ๋ก(๊ธฐ๋ณธ 30์ด) ๋์ ๊ทธ๋ฃน์ ์ํด์๋ ๊ฐ๊ฐ์ EC2 ์ธ์คํด์ค์ ์์ฒญ์ ๋ณด๋ ๋๋ค. ์ด๋ 200๋ฒ๋ ์๋ต์ด ๋ฐํ๋์ง ์์ผ๋ฉด ์๋ฒ๊ฐ ๊ณ ์ฅ ๋ฌ๋ค๊ณ ํ๋จํ๊ณ , ๊ณ ์ฅ ๋ ์๋ฒ๋ก๋ ํธ๋ํฝ์ ๋ณด๋ด์ง ์๊ฒ ๋ฉ๋๋ค.

'์๋์ ๋ณด๋ฅ ์ค์ธ ๊ฒ์ผ๋ก ํฌํจ'์ ํด๋ฆญํ ๋ค ๋์ ๊ทธ๋ฃน์ ์์ฑํฉ๋๋ค.

๋ค์ ๋ฆฌ์ค๋ ๋ฐ ๋ผ์ฐํ ์น์ ์ผ๋ก ๋์์จ ๋ค refresh ๋ฒํผ์ ๋๋ฅด๊ณ , ์ฐ๋ฆฌ๊ฐ ์์ฑํ ๋์ ๊ทธ๋ฃน์ ์ง์ ํฉ๋๋ค.
์ด์ด์ง๋ ๋ถ๊ฐ์ ์ธ ์ค์ ๋ค์ default ๊ฐ์ผ๋ก ํ๊ณ ๋ก๋ ๋ฐธ๋ฐ์ ์์ฑ์ ํด๋ฆญํฉ๋๋ค.
Health Check๋ฅผ ์ํด์๋ ์๋ฒ ์ฝ๋์ Health Check API๋ฅผ ์ถ๊ฐํด์ผ ํ๋๋ฐ์, ์ด ๋ถ๋ถ์ ํฅํ์ ๋ค๋ฃจ๋๋ก ํ๊ฒ ์ต๋๋ค.
์ด์ ์ฌ์ฉ์๋ค์ด ์๋ฒ์ ์์ฒญ์ ๋ณด๋ด๋ฉด EC2 ์ธ์คํด์ค๊ฐ ํด๋น ์์ฒญ์ ์ง์ ๋ฐ๋ ๊ฒ์ด ์๋๋ผ, ELB๊ฐ ๋จผ์ ์์ฒญ์ ๋ฐ๊ณ ๊ธฐ์กด EC2 ์ธ์คํด์ค์ ํด๋น ์์ฒญ์ ์ ๋ฌํ๊ฒ ๋๋ ์ํฉ์ผ๋ก ๋ณ๊ฒฝ๋์ต๋๋ค. ์ํฉ์ ๋ง๋ ํ์ ์์ ์ ์งํํ๊ณ ์ ํฉ๋๋ค.

Route 53์ผ๋ก ์ด๋ํ์ฌ, EC2 ์ธ์คํด์ค์ ์ง์ ์ ์ผ๋ก ์ฐ๊ฒฐํ๋ ๋ ์ฝ๋๋ฅผ ์ญ์ ํฉ๋๋ค.

๊ทธ๋ฆฌ๊ณ ELB์ ๋ง๋ ๋ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค.

์ด์ ์ธ์ฆ์๋ฅผ ๋ฐ๊ธ๋ฐ๊ธฐ ์ํด AWS Certificate Manage ์๋น์ค๋ก ์ด๋ํ ๋ค, ์ธ์ฆ์ ์์ฒญ์ ํด๋ฆญํฉ๋๋ค.

๋๋ฉ์ธ์ ์ ํํ ์ ๋ ฅํ๊ณ , ๋ค๋ฅธ ์ค์ ๋ค์ ๋ณ๊ฒฝํ์ง ์์ ์ํ์์ ์์ฒญ์ ํด๋ฆญํฉ๋๋ค.

๋ด๊ฐ ์ ๋ง ํด๋น ๋๋ฉ์ธ์ ์ฃผ์ธ์ธ์ง ๊ฒ์ฆํ๋ ์ ์ฐจ์ ๋๋ค.
Route 53์์ CNAME์ ๋ํ ์ค์ ์ ํด๋์ผ๋ฉด, AWS์์ CNAME ๊ฐ์ ์์ฒญ์ ๋ณด๋ด๋ณด๊ณ ๊ฒ์ฆ์ ์๋ฃํด ์ฃผ๊ฒ ๋ค๋ ๋ป์ด์ฃ .
'Route 53์์ ๋ ์ฝ๋ ์์ฑ'์ ํด๋ฆญํฉ๋๋ค. ์ดํ ๋ ์ฝ๋ ์์ฑ์ ํด๋ฆญํฉ๋๋ค.
3๋ถ ์ ๋ ์ง๋๋ฉด ์ํ๊ฐ '์ฑ๊ณต'์ผ๋ก ๋ณ๊ฒฝ๋ฉ๋๋ค. ๊ธธ๊ฒ๋ 10๋ถ ์ ๋ ์์๋ ๋๋ ์์ผ๋, ๋ฐ๋์ง ์๋๋ค๊ณ ๋๋ฌด ๊ฑฑ์ ํ์ง ์์ผ์ ๋ ๋ฉ๋๋ค.

ELB์์ ๋ฆฌ์ค๋ ์ถ๊ฐ ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค.

ํ๋กํ ์ฝ์ HTTPS๋ก ์ ํํ๊ณ , ์ฐ๋ฆฌ๊ฐ ์ง์ ํ ๋์ ๊ทธ๋ฃน์ ์ ํํ ๋ค, ๋ฐฉ๊ธ ์์ฑํ ์ธ์ฆ์๋ฅผ ์ ์ฉํ์ฌ ๋ฆฌ์ค๋๋ฅผ ์ถ๊ฐํฉ๋๋ค.
๊ทธ๋ฐ๋ฐ ์ด ์ํ์์๋ ๋๋ฉ์ธ ์์ http๋ฅผ ์ ์ฉํด๋ ํต์ ์ด ๊ฐ๋ฅํฉ๋๋ค.

HTTP:80์ ํด๋ฆญํ ๋ค ๋ฆฌ์ค๋ ๊ด๋ฆฌ์์ ํด๋น ๋ฆฌ์ค๋๋ฅผ ์ญ์ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์ ์๋ก์ด ๋ฆฌ์ค๋๋ฅผ ์ถ๊ฐํฉ๋๋ค.

์ฌ์ฉ์๋ก๋ถํฐ HTTP ํ๋กํ ์ฝ์ ํตํด ์์ฒญ์ด ๋ค์ด์ค๋ฉด HTTPS URL๋ก ๋ฆฌ๋๋ ์ ํ๊ฒ ๋ค๋ ์ค์ ์ ๋๋ค. ๋ฆฌ์ค๋๋ฅผ ์ถ๊ฐํฉ๋๋ค.
์ดํ์ url์ http๋ก ํต์ ์ ์๋ํ๋ฉด, ์๋์ผ๋ก https๋ก ๋ณ๊ฒฝ๋๋ ๊ฒ์ ํ์ธํ ์ ์๊ฒ ๋ฉ๋๋ค.
์ถ๊ฐ์ ์ผ๋ก, 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