๐Ÿ”ฅ TIL - Day 39

Kim Dae Hyunยท2021๋…„ 10์›” 27์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
47/93

2์ฐจ ํ”„๋กœ์ ํŠธ๊นŒ์ง€์˜ ๊ฒฐ๊ณผ๋ฌผ์„ ํ”„๋ก ํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ๋กœ ๋‚˜๋ˆ„์–ด ๋ฐฐํฌ๋ฅผ ํ•ด์•ผ ํ•œ๋‹ค.
ํ˜„์žฌ๋Š” ๋‹ค EB์— ์˜ฌ๋ผ๊ฐ€์„œ ์ž‘๋™์ค‘์ด๋‹ค.

ํ”„๋ก ํŠธ ์ชฝ๋งŒ ๋…๋ฆฝ์ ์œผ๋กœ ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•ด SSR์„ ์‚ฌ์šฉํ•˜๋Š” ๋ถ€๋ถ„์„ CSR๋กœ ์ˆ˜์ •ํ–ˆ๋‹ค. (๋‹คํ–‰์ด ๋งค์šฐ ์ ์—ˆ์Œ..)
(์š”์ฆ˜์—๋Š” ํ”„๋ก ํŠธ์•ค๋“œ์™€ ๋ฐฑ์—”๋“œ๋ฅผ ๋ถ„๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๊ฑฐ์˜ CSR์„ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.)

๐Ÿ“Œ S3์™€ CloudFront๋ฅผ ์ด์šฉํ•œ ์›น ๋ฆฌ์†Œ์Šค ํ˜ธ์ŠคํŒ…

S3 ๋ฒ„ํ‚ท์—๋Š” ํŒŒ์ผ ๋“ฑ์„ ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ๊ณผ ๋”๋ถˆ์–ด ์›น ๋ฆฌ์†Œ๋ฅผ ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์žˆ๋‹ค.

S3 ๋ฒ„ํ‚ท์— HTMLํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜๊ณ  ํ•ด๋‹น ๋ฒ„ํ‚ท์˜ ์†์„ฑ์—์„œ ์ •์  ์›น ์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ…์„ ์„ค์ •ํ•ด์ฃผ๋ฉด ์‰ฝ๊ฒŒ ์—…๋กœ๋“œ๋œ HTML ํŒŒ์ผ์„ ํ˜ธ์ŠคํŒ… ํ•  ์ˆ˜ ์žˆ๋‹ค.

HTML ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ CSS, JS, Image ๋“ฑ ์›น ๋ฆฌ์†Œ์Šค ๋ชจ๋‘ ํ˜ธ์ŠคํŒ…์˜ ๋Œ€์ƒ์ด ๋œ๋‹ค.

ํ˜ธ์ŠคํŒ… ๋ฌธ์ œ๋Š” ์ด๊ฑธ๋กœ ํ•ด๊ฒฐ๋๋Š”๋ฐ CloudFront๋Š” ์™œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ธ๊ฐ€?

CloudFront๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ€์žฅ ํฐ ๋ชฉ์ ์€ CDN ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค.
CDN์˜ ๊ธฐ๋Šฅ์„ ๊ฐ€์žฅ ์งง๊ฒŒ ์„ค๋ช…ํ•˜๋ฉด ์บ์‹ฑ์ด๋‹ค.
๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋ฉ€๋ฆฌ ์žˆ๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์šฐ๋ฆฌ์˜ ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผ์‹œ ๋น ๋ฅธ ์‘๋‹ต์„ ๋‚ด์–ด์ฃผ๊ธฐ ์œ„ํ•ด AWS๊ฐ€ ๊ฐ€์ง„ ์—ฌ๋Ÿฌ Region์— ์บ์‹ฑ์„œ๋ฒ„๋ฅผ ๋‘์–ด ์‘๋‹ต์‹œ๊ฐ„์„ ์ค„์ผ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

์ด๋Ÿฐ ๊ฒƒ๊ณผ ๋”๋ถˆ์–ด ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์„ ๋‹ด๊ณ  ์žˆ๋Š” ๊ฒƒ ๊ฐ™์œผ๋‹ˆ ๋” ์•Œ์•„๋ณด์ž.

์ผ๋‹จ CloudFront๋ฅผ ํ•˜๋‚˜ ์ƒ์„ฑํ•œ๋‹ค.
์ƒ์„ฑํ•  ๋•Œ ์›๋ณธ๋„๋ฉ”์ธ์€ ์ •์  ์›น ์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ…์„ ์„ค์ •ํ•œ S3 ๋ฒ„ํ‚ท์œผ๋กœ ํ•˜๊ณ  ๊ธฐ๋ณธ๊ฐ’ ๋ฃจํŠธ ๊ฐ์ฒด๋Š” CloudFront์˜ ๋ฃจํŠธ ๊ฒฝ๋กœ๋กœ ์ ‘๊ทผ์‹œ ๋ณด์—ฌ์ค„ html ํŒŒ์ผ์„ ์ง€์ •ํ•œ๋‹ค.

OK ์ผ๋‹จ ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด CloudFront์˜ ๋„๋ฉ”์ธ์œผ๋กœ ๋“ค์–ด๊ฐ€๋ฉด ์šฐ๋ฆฌ์˜ index.html์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.


๐Ÿ“Œ ๋‚ด๊ฐ€ ๊ตฌ๋งคํ•œ ๋„๋ฉ”์ธ์— CloudFront์˜ ๋„๋ฉ”์ธ์„ ์—ฐ๊ฒฐํ•˜๊ณ  HTTPS ์‚ฌ์šฉํ•˜๊ธฐ

์ด์ œ CloudFront์˜ ๋„๋ฉ”์ธ์„ ์šฐ๋ฆฌ๊ฐ€ ๊ฐ€๋น„์•„๋ฅผ ํ†ตํ•ด ๊ตฌ๋งคํ•œ ๋„๋ฉ”์ธ์œผ๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค.
๊ฐ€๋น„์•„์—์„œ ๊ตฌ๋งคํ•œ ๋„๋ฉ”์ธ์˜ CNAME์— CloudFront์˜ ๋„๋ฉ”์ธ์„ ๋„ฃ์–ด๋‘๋ฉด ๋!

CNAME ๋ ˆ์ฝ”๋“œ๋Š” ๋„๋ฉ”์ธ ์ด๋ฆ„์œผ๋กœ ๋‹ค๋ฅธ ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ๋งคํ•‘์‹œํ‚ค๋Š” DNS๋ ˆ์ฝ”๋“œ์ด๋‹ค.
์ง€๊ธˆ์˜ ๊ฒฝ์šฐ ์šฐ๋ฆฌ๊ฐ€ ๊ตฌ๋งคํ•œ ๋„๋ฉ”์ธ์œผ๋กœ ์ ‘๊ทผํ•˜๋ฉด CNAME์œผ๋กœ ๋งคํ•‘๋œ CloudFront์˜ ๋„๋ฉ”์ธ์„ ์ฐพ๋Š” ๊ฒƒ์ด๋‹ค.

๊ทธ๋Ÿผ ์ด์ œ ์šฐ๋ฆฌ๊ฐ€ ๊ตฌ๋งคํ•œ ๋„๋ฉ”์ธ์œผ๋กœ CloudFront์˜ ๋„๋ฉ”์ธ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.
์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•˜๋Š”๋ฐ ์•„๋ž˜์™€ ๊ฐ™์€ ์—๋Ÿฌํ™”๋ฉด์ด ๋‚˜์˜จ๋‹ค. ๐Ÿฅบ๐Ÿ˜ญ๐Ÿ˜ฐ

๐Ÿง CloudFront๋Š” HTTPS๋ฅผ ์ง€์›ํ•œ๋‹ค.

ํ˜„์žฌ ์ƒํƒœ์—์„œ CloudFront์˜ ๋„๋ฉ”์ธ์œผ๋กœ ์ ‘๊ทผํ•ด๋ณด๋ฉด ์ž๋ฌผ์‡ ๊ฐ€ ์ฑ„์›Œ์ง„ ๊ฑธ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. HTTPS๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.

HTTPS๋ฅผ ์œ„ํ•œ SSL์ธ์ฆ์„œ๋Š” ๋„๋ฉ”์ธ ๋ณ„๋กœ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์šฐ๋ฆฌ๊ฐ€ ๊ตฌ๋งคํ•œ ๋„๋ฉ”์ธ์—๋Š” ์ธ์ฆ์„œ๊ฐ€ ์—†๋‹ค. ๋•Œ๋ฌธ์— ์—๋Ÿฌ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ๊ฒƒ์ด๋‹ค. ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰ํ•ด๋ณด์ž.

CloudFront์˜ ์„ค์ •ํŽธ์ง‘ํƒญ์—์„œ ์ž‘์—…ํ•œ๋‹ค.
์ผ๋‹จ ๋Œ€์ฒด ๋„๋ฉ”์ธ์„ ์šฐ๋ฆฌ๊ฐ€ ๊ตฌ๋งคํ•œ ๋„๋ฉ”์ธ์œผ๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค.

์ด์ œ ์ธ์ฆ์„œ๋ฅผ ์š”์ฒญํ•ด์•ผ ํ•˜๋Š”๋ฐ

Region์„ ์ง€์ •ํ•ด์ค€๋‹ค. ํ•ด๋‹น Region์œผ๋กœ ์ด๋™ํ•ด์„œ ์ธ์ฆ์„œ๋ฅผ ์š”์ฒญํ•˜๊ฑฐ๋‚˜ ์•„๋ž˜ ์ธ์ฆ์„œ ์š”์ฒญ ๋งํฌ๋ฅผ ํด๋ฆญํ•œ๋‹ค.

์ธ์ฆ์„œ ์š”์ฒญ ๋งํฌ๋กœ ์ด๋™ํ•ด์„œ ํผ๋ธ”๋ฆญ ์ธ์ฆ์„œ ์š”์ฒญ์„ ๋ˆ„๋ฅด๊ณ  ์•„๋ž˜์™€ ๊ฐ™์ด ์„ค์ •ํ•œ๋‹ค.

์š”์ฒญ์„ ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ๊ฒ€์ฆ ๋Œ€๊ธฐ ์ค‘์ธ ์ธ์ฆ์„œ๊ฐ€ ๋‚˜์˜จ๋‹ค.

๊ฒ€์ฆ์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š”๋ฐ ์•ž์„œ ๊ฒ€์ฆ ๋ฐฉ๋ฒ•์„ DNS ๊ฒ€์ฆ์œผ๋กœ ์„ ํƒํ–ˆ์œผ๋ฏ€๋กœ DNS ๊ฒ€์ฆ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์ธ์ฆ์„œ์˜ ์„ธ๋ถ€๋‚ด์šฉ์„ ํ™•์ธํ•˜๋ฉด CNAME ์ด๋ฆ„๊ณผ CNAME ๊ฐ’์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
(์ผ์ข…์˜ key-pair ?)

CNAME ์ด๋ฆ„๊ณผ CNAME ๊ฐ’์„ ๊ฐ€๋น„์•„์˜ CNAME ๋ ˆ์ฝ”๋“œ๋กœ ์„ค์ •ํ•ด์ค˜์•ผ ํ•œ๋‹ค.
CNAME์ด๋ฆ„์€ ๋ฉ”์ธ๋„๋ฉ”์ธ ์•ž๊นŒ์ง€ ๋ณต์‚ฌํ•œ๋‹ค.
as...dsd1.www.abc.com์˜ ๊ฒฝ์šฐ www๊นŒ์ง€ ์ญ‰ ๋ณต์‚ฌํ•ด์„œ CNAME ๋ ˆ์ฝ”๋“œ์˜ ํ˜ธ์ŠคํŠธ๋กœ ์„ค์ •ํ•˜๊ณ  ํ•ด๋‹น ๋ ˆ์ฝ”๋“œ์˜ ๊ฐ’์€ CNAME๊ฐ’ ์ „๋ถ€๋ฅผ ๋ณต์‚ฌํ•ด์„œ ๋„ฃ์–ด์ค€๋‹ค.

์œ„ ์ž‘์—…์„ ์™„๋ฃŒํ•˜๊ณ  ์ž ์‹œ ๊ธฐ๋‹ค๋ฆฌ๋ฉด ์ƒํƒœ๊ฐ€ ๋ฐœ๊ธ‰๋จ ์œผ๋กœ ๋ฐ”๋€Œ๊ฒŒ ๋œ๋‹ค.
๋‘ ๋ฒˆ ํ…Œ์ŠคํŠธ๋ฅผ ํ•ด๋ดค๋Š”๋ฐ ์ฒ˜์Œ์—๋Š” 3๋ถ„ ์•ˆ์— ๊ฒ€์ฆ์ด ๋๋‚ฌ๋Š”๋ฐ ๋‘๋ฒˆ์งธ์—๋Š” ํ›จ์”ฌ ์˜ค๋ž˜ ๊ฑธ๋ ธ๋‹ค. ์นจ์ฐฉํ•˜๊ฒŒ ๊ธฐ๋‹ค๋ ค๋ณด์‹œ๊ธธ...


์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰๋ฐ›์•˜์œผ๋‹ˆ ์ด ์ธ์ฆ์„œ๋ฅผ CloudFront์˜ ๋Œ€์ฒด ๋„๋ฉ”์ธ์ด ๋  ์šฐ๋ฆฌ๊ฐ€ ๋„๋งค์ธ์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก CloudFront์— ์„ค์ •ํ•ด์ค€๋‹ค.

  • ๋Œ€์ฒด ๋„๋ฉ”์ธ ์ด๋ฆ„: ๊ตฌ๋งคํ•œ ๋„๋ฉ”์ธ
  • ์‚ฌ์šฉ์ž ์ •์˜ SSL ์ธ์ฆ์„œ: ๋ฐฉ๊ธˆ Certificate Manager๋กœ๋ถ€ํ„ฐ ๋ฐœ๊ธ‰๋ฐ›์€ ์ธ์ฆ์„œ

๋ณ€๊ฒฝ๋œ ์„ค์ •์„ ์ €์žฅํ•˜๊ณ  ์šฐ๋ฆฌ๊ฐ€ ๊ตฌ๋งคํ•œ ๋„๋ฉ”์ธ์œผ๋กœ ์ ‘๊ทผํ•ด๋ณด์ž.

์ž๋ฌผ์‡ ๊ฐ€ ์ž˜ ์ฑ„์›Œ์ ธ ์žˆ๋‹ค. ์šฐ๋ฆฌ์˜ ๋„๋ฉ”์ธ์—์„œ๋„ HTTPS๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค.


๐Ÿ“Œ Route53์˜ ๋„ค์ž„์„œ๋ฒ„๋กœ ๋ณ€๊ฒฝ

๋งˆ์ง€๋ง‰์œผ๋กœ Route53์œผ๋กœ ๋„ค์ž„์„œ๋ฒ„๋ฅผ ์˜ฎ๊ธฐ์ž.
Route53์œผ๋กœ ๋„ค์ž„์„œ๋ฒ„๋ฅผ ์˜ฎ๊ธฐ๋Š” ๊ฐ€์žฅ ํฐ ์ด์œ ๋Š” ๊ด€๋ฆฌ ํฌ์ธํŠธ๋ฅผ AWS์— ๋ชจ์œผ๊ณ ์ž ํ•˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ํ•œ๋‹ค. ์ผ๋‹จ ๋งŒ๋“ค์–ด๋ณด์ž.

๊ฐ€์žฅ ๋จผ์ € Route53์˜ ํ˜ธ์ŠคํŒ… ์˜์—ญ์„ ์ƒ์„ฑํ•œ๋‹ค.
๋„๋ฉ”์ธ ์ด๋ฆ„์€ ์„œ๋ธŒ ๋„๋ฉ”์ธ์„ ๋นผ๊ณ  ์„ค์ •ํ•ด์ค˜์•ผ ํ•œ๋‹ค. (์ด์œ ๋Š” ์ž˜ ๋ชจ๋ฅด๊ฒ ๋‹ค..)

www.dhk-99.shop โŒ
dhk-00.shop โญ•๏ธ

์ƒ์„ฑํ•˜๋ฉด ๋‘ ๊ฐœ ๋ ˆ์ฝ”๋“œ๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ƒ์„ฑ๋œ๋‹ค. ๊ทธ ์ค‘ NS ๋ ˆ์ฝ”๋“œ์˜ ๊ฐ’์„ ํ™•์ธํ•œ๋‹ค.

4๊ฐœ ๋„ค์ž„์„œ๋ฒ„ ๋„๋ฉ”์ธ์ด ์žˆ์„ ๊ฒƒ์ด๋‹ค. ์ด 4๊ฐœ ๋„ค์ž„์„œ๋ฒ„๋ฅผ ๊ฐ€๋น„์•„๋กœ ์˜ฎ๊ฒจ์ค€๋‹ค.
์•„๋ž˜ ๋ณด์ด๋Š” 1์ฐจ, 2์ฐจ, 3์ฐจ, 4์ฐจ ๋ชจ๋‘ ๋ณ€๊ฒฝํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

Route53 ์ชฝ ๋„ค์ž„์„œ๋ฒ„ ๋„๋ฉ”์ธ์„ ๋ณด๋ฉด ๋์— . (์ )์ด ๋ถ™์–ด์žˆ๋Š”๋ฐ ์ด๊ฑฐ ํฌํ•จ์‹œํ‚ค๋ฉด ์•ˆ๋จ!

๋„ค์ž„์„œ๋ฒ„๋ฅผ ๋“ฑ๋กํ•˜๊ณ  ์ซŒ ์˜ค๋ž˜ ๊ธฐ๋‹ค๋ฆฌ๋ฉด ์ ์šฉ๋œ๋‹ค.

profile
์ข€ ๋” ์ฒœ์ฒœํžˆ ๊นŒ๋จน๊ธฐ ์œ„ํ•ด ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ๐Ÿง

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