Secure with SSL

์ด๋ฒˆ ์žฅ์—์„  ๋ฐฐํฌ ์ค‘์ธ ์ •์  ์›น ์ด๋ ฅ์„œ ํŽ˜์ด์ง€๋ฅผ HTTPS ์—ฐ๊ฒฐ๋กœ ์•”ํ˜ธํ™” ์‹œ์ผœ ๋ณด์•ˆ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๊ณ  ์‹ ๋ขฐ๋ฅผ ๋†’ํžˆ๋Š” ๋ฐฉ์•ˆ์„ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ ๊ธฐ์ˆ : AWS Route 53, AWS CloudFront, AWS Certificate Manager

SSL ์ ์šฉํ•˜๊ธฐ

HTTPS๋Š” HTTP ์—ฐ๊ฒฐ์„ SSL๋กœ ์•”ํ˜ธํ™”ํ•˜์—ฌ ์‚ฌ์šฉ์ž์™€์˜ ์•”ํ˜ธํ™”๋œ ์—ฐ๊ฒฐ์„ ๋ณด์žฅํ•˜๋ฉด์„œ, ํ†ต์‹  ์ฃผ์ฒด๋ฅผ ๋ช…ํ™•ํžˆ ํ•˜๋ฏ€๋กœ ๋ณด์•ˆ์„ฑ์„ ๋†’ํžˆ๋Š”๋ฐ ํฐ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์›น ์‚ฌ์ดํŠธ์— HTTPS๋ฅผ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„  ์ผ๋ฐ˜์ ์œผ๋กœ ๋ณ„๋„์˜ ์ธ์ฆ์„œ๊ฐ€ ํ•„์š”ํ•˜๊ณ , ์ธ์ฆ์„œ๋ฅผ ๊ตฌ๋งค ๋ฐ ์ ์šฉํ•˜๋Š” ์ถ”๊ฐ€ ์ ˆ์ฐจ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ AWS ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋งค์šฐ ๊ฐ„๋‹จํ•˜๊ฒŒ HTTPS๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์‚ฌ์šฉ์ž(ํ˜ธ์ŠคํŒ… ์ค‘์ธ ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•˜๋Š” ์‚ฌ์šฉ์ž)์—๊ฒŒ ์„œ๋น„์Šค๋ฅผ ๋” ์›ํ™œํ•œ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฅผ ์œ„ํ•ด์„  ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์š”์†Œ๋“ค์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

  • DNS: AWS Route 53, ํ›„์ด์ฆˆ, ๊ฐ€๋น„์•„, Hosting.kr ๋“ฑ

  • CDN ์„œ๋น„์Šค: AWS CloudFront

  • ์ธ์ฆ์„œ ๋ฐœ๊ธ‰ ์„œ๋น„์Šค: AWS Certificate Manager

DNS์˜ ๊ฒฝ์šฐ Route 53์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋”๋ผ๋„ ํฌ๊ฒŒ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ ์‚ฌํ•ญ์€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ, Route 53 ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•˜๋ฉด ๋‹ค๋ฅธ ๋ฆฌ์†Œ์Šค๋“ค์ด AWS์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ, ๊ด€๋ จ ์„œ๋น„์Šค๋“ค๊ณผ์˜ ์„ค์ • ๋“ฑ์„ ์ˆ˜ํ–‰ํ•  ๋•Œ, ์•ฝ๊ฐ„์€ ๋” ํŽธ๋ฆฌํ•œ ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ณธ ๋ฌธ์„œ์—์„  Route 53์„ ์‚ฌ์šฉํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ฃผ์˜ํ•  ์ ์€ Route 53 ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•˜๋ฉด ํ”„๋ฆฌํ‹ฐ์–ด ์—ฌ๋ถ€์™€ ์ƒ๊ด€์—†์ด 25๊ฐœ์˜ Hosted zone ๋‹น 0.5$/์›”์˜ ์š”๊ธˆ์ด ๋ถ€๊ณผ๋ฉ๋‹ˆ๋‹ค. ๋‹ค๋งŒ, ํ…Œ์ŠคํŠธ ํ˜น์€ ํ•™์Šต ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ ํ›„ 12์‹œ๊ฐ„ ์ด๋‚ด์— ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ญ์ œํ•˜๋ฉด ์š”๊ธˆ์€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

DNS

DNS๋Š” ๋ณต์žกํ•œ URL ์ฃผ์†Œ์™€ ์ˆซ์ž๋กœ๋งŒ ๊ตฌ์„ฑ๋œ IP ๋“ฑ์„ ์‚ฌ๋žŒ์ด ์ธ์‹ํ•˜๊ณ  ์™ธ์šฐ๊ธฐ ํŽธํ•˜๊ฒŒ ๋ฐ”๊พธ์–ด์ค๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•˜๊ฒŒ ์ž๋ฃŒ๊ตฌ์กฐ์˜ ๋งต(Map)๊ณผ ๊ฐ™์€ ์—ญํ• ์„ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์›น ์ด๋ ฅ์„œ์— DNS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” HTTPS๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„  ์ธ์ฆ์„œ๊ฐ€ ํ•„์š”ํ•˜๊ณ , ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰๋ฐ›๊ธฐ ์œ„ํ•ด์„  AWS Certificate Manager์—์„œ ์™„์ „ํžˆ ์ •๊ทœํ™”๋œ ๋„๋ฉ”์ธ ์ด๋ฆ„(Fully Qualified Domain Name, FQDN)์„ ์š”๊ตฌํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋„๋ฉ”์ธ ๊ตฌ๋งคํ•˜๊ธฐ

๋„๋ฉ”์ธ์€ ๋‹ค์–‘ํ•œ ์—…์ฒด์—์„œ ๊ตฌ๋งคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํŒ๋งค ์—…์ฒด, ๋„๋ฉ”์ธ ๋ช…, ์ตœ์ƒ์œ„ ๋„๋ฉ”์ธ์— ๋”ฐ๋ผ์„œ ๊ฐ€๊ฒฉ, ๊ทธ๋ฆฌ๊ณ  ๊ธฐ๋ณธ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค์— ๋”ฐ๋ผ์„œ ์ฒœ์ฐจ๋งŒ๋ณ„์ž…๋‹ˆ๋‹ค. ๊ตญ๋‚ด ์ฃผ์š” ์—…์ฒด์˜ ๋„๋ฉ”์ธ ์ข…๋ฅ˜ ๋ณ„ ๊ฐ€๊ฒฉ์€ KRNIC์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ณธ ๋ฌธ์„œ ์ž‘์„ฑ ์‹œ์ ์— ์‚ฌ์šฉํ•œ ๋„๋ฉ”์ธ์€ ํ˜ธ์ŠคํŒ…์ผ€์ด์•Œ์„ ํ†ตํ•ด ๊ตฌ๋งคํ•˜์˜€์Šต๋‹ˆ๋‹ค.

์ฃผ์˜ํ•˜์‹ค ์ ์€ ์—…์ฒด์— ๋”ฐ๋ผ์„œ ๋„๋ฉ”์ธ์„ ๊ตฌ๋งคํ•˜๊ณ  ๋ณ„๋‹ค๋ฅธ ์„ค์ •์„ ํ•˜์ง€ ์•Š์œผ๋ฉด, ํ•ด๋‹น ๋„๋ฉ”์ธ์„ ํ›„์ด์ฆˆ์— ๊ฒ€์ƒ‰ํ–ˆ์„ ๋•Œ ๊ตฌ๋งค์ž ์ •๋ณด๊ฐ€ ํ‘œ์‹œ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ๊ฐœ์ธ์ •๋ณด๋ฅผ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด์„  ๋ณ„๋„์˜ ์„œ๋น„์Šค ์‹ ์ฒญ ํ˜น์€ ์„ค์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์—…์ฒด์˜ ๊ฒฝ์šฐ ๋„๋ฉ”์ธ ๊ตฌ๋งค ๊ฐ€๊ฒฉ์— ํฌํ•จ๋˜์–ด์žˆ๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์œผ๋‚˜, ํ˜ธ์ŠคํŒ…์ผ€์ด์•Œ์˜ ๊ฒฝ์šฐ ๋„๋ฉ”์ธ ๊ฐ€๊ฒฉ์ด ๋งค์šฐ ์ €๋ ดํ•œ ๋Œ€์‹  'DOMAIN PRIVACY'๋ผ๋Š” ์„œ๋น„์Šค๋ฅผ ๋ณ„๋„๋กœ ๊ฒฐ์ œํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๋น„์šฉ์€ ๋งค์šฐ ์ €๋ ดํ•˜๋ฏ€๋กœ ๋ถ€๋‹ด์ด ๋˜์ง„ ์•Š์ง€๋งŒ, ์ด๋Ÿฌํ•œ ์„œ๋น„์Šค๊ฐ€ ๋ณ„๋„๋กœ ์‹ ์ฒญ์ด ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์ง€ ๋ชปํ•˜๋ฉด ๊ทธ๋ƒฅ ๋„˜์–ด๊ฐˆ ์ˆ˜ ์žˆ์œผ๋‹ˆ ์ฃผ์˜ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์—…์ฒด๋งˆ๋‹ค ํ•ด๋‹น ์„œ๋น„์Šค์˜ ์ด๋ฆ„์€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์ง€๋งŒ, ์ด ์„œ๋น„์Šค๋ฅผ ์‹ ์ฒญํ•˜๋ฉด ํ›„์ด์ฆˆ๋ฅผ ํ†ตํ•ด ๊ฒ€์ƒ‰ํ–ˆ์„ ๋•Œ ๊ตฌ๋งค์ž์˜ ์ •๋ณด๊ฐ€ ์•„๋‹Œ ๋„๋ฉ”์ธ ์—…์ฒด์˜ ์ฃผ์†Œ, ์ „ํ™”๋ฒˆํ˜ธ, ์ด๋ฉ”์ผ ๋“ฑ์œผ๋กœ ๋Œ€์ฒด ํ‘œ์‹œ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

Route 53

์ตœ์ข… ์‚ฌ์šฉ์ž๋ฅผ ์ธํ„ฐ๋„ท ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ๋ผ์šฐํŒ…ํ•˜๋Š” ์•ˆ์ •์ ์ด๊ณ  ๋น„์šฉ ํšจ์œจ์ ์ธ ๋ฐฉ๋ฒ•

AWS Route 53์€ AWS์—์„œ ์šด์˜ํ•˜๋Š” ํด๋ผ์šฐ๋“œ DNS์ž…๋‹ˆ๋‹ค. ๋ณธ ํ”„๋กœ์ ํŠธ์—์„œ ๋ฐฐํฌํ•˜๊ณ ์žํ•˜๋Š” ์ด๋ ฅ์„œ๋Š” Route 53์—†์ด ๋„๋ฉ”์ธ ํŒ๋งค ์—…์ฒด์˜ ๋„ค์ž„ ์„œ๋ฒ„๋งŒ์„ ํ™œ์šฉํ•ด๋„ ๋ณ„๋‹ค๋ฅธ ๋ฌธ์ œ ์—†์ด ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ•™์Šต ๋ชฉ์ ์œผ๋กœ Route 53์„ ํ™œ์šฉํ•œ HTTPS ์ ์šฉ ๋ฐ ์›น ์ด๋ ฅ์„œ๋ฅผ ๋ฐฐํฌํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ˜ธ์ŠคํŒ… ์˜์—ญ ์ƒ์„ฑํ•˜๊ธฐ

Route 53 ์ฝ˜์†”๋กœ ์ด๋™ํ•œ ํ›„ Create hosted zone์„ ๋ˆŒ๋Ÿฌ ํ˜ธ์ŠคํŒ… ์˜์—ญ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ํ™”๋ฉด์—์„œ ํ˜ธ์ŠคํŒ… ์˜์—ญ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์ผ ๊ตฌ๋งคํ•œ ๋„๋ฉ”์ธ์ด yibyeongyong.com์ด๋ผ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„œ๋ธŒ ๋„๋ฉ”์ธ ์—†์ด ์ž‘์„ฑ ํ›„, ์™ธ๋ถ€์—์„œ๋„ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋‹จ์˜ Type์„ Public hosted zone๋กœ ์„ค์ • ํ›„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

ํ˜ธ์ŠคํŒ… ์˜์—ญ(Hosted Zone) ์ƒ์„ฑํ•˜๊ธฐ

์ธ์ฆ์„œ ์š”์ฒญํ•˜๊ธฐ

๋„๋ฉ”์ธ์„ ๊ตฌ๋งคํ–ˆ๋‹ค๋ฉด ์ธ์ฆ์„œ๋ฅผ ์‹ ์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธ์ฆ์„œ๋Š” AWS Certificate Manager์—์„œ ์‹ ์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ ๋ณธ ํ”„๋กœ์ ํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ ์žˆ์–ด ํ•„์š”ํ•œ ์ธ์ฆ์„œ๋Š” AWS CloudFront์™€ ์—ฐ๊ฒฐํ•ด์„œ ์‚ฌ์šฉํ•  ์˜ˆ์ •์ด๋ฏ€๋กœ ๋ฐ˜๋“œ์‹œ ๋ฆฌ์ „์„ us-east-1๋กœ ๋ณ€๊ฒฝํ•œ ๋’ค ์‹ ์ฒญํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์ด์™€ ๊ด€๋ จ๋œ ๋‚ด์šฉ์€ ์ด๊ณณ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. AWS Certificate Manager ์ฝ˜์†”์—์„œ ๋ฆฌ์ „์ด us-east-1๋กœ ๋ณ€๊ฒฝ๋๋Š”์ง€ ํ™•์ธ ํ›„ Request a certificate์„ ๋ˆŒ๋Ÿฌ ๋ฐœ๊ธ‰์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์‹ ์ฒญํ•  ์ธ์ฆ์„œ๋Š” ๋Œ€๋ถ€๋ถ„์˜ ๋ธŒ๋ผ์šฐ์ €์™€ ์šด์˜์ฒด์—์„œ ์‹ ์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•˜๋ฏ€๋กœ ๊ณต๊ฐœ ์ธ์ฆ์„œ๋ฅผ ์‹ ์ฒญํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Certificate type์€ Request a public certificate์œผ๋กœ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

๋„๋ฉ”์ธ ์ด๋ฆ„์€ ๋ชจ๋“  ํ•˜์œ„ ๋„๋ฉ”์ธ๊ณผ ํ•˜์œ„ ๋„๋ฉ”์ธ์„ ์ž…๋ ฅํ•˜์ง€ ์•Š๊ณ  ์ ‘์†ํ•˜๋Š” ๋ชจ๋“  ๊ฒฝ์šฐ๋ฅผ ์ปค๋ฒ„ํ•  ์ˆ˜ ์žˆ๋„๋ก *.yibyeongyong.com๊ณผ yibyeongyong.com ๋‘ ๊ฐ€์ง€๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

์ธ์ฆ์„œ ์š”์ฒญํ•˜๊ธฐ

์ดํ›„ Select validation method์—์„œ ์ธ์ฆ ๋ฐฉ๋ฒ•์„ ์„ ํƒํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ๋„๋ฉ”์ธ์˜ ์‹ค์ œ ์†Œ์œ  ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ์ ˆ์ฐจ์ž…๋‹ˆ๋‹ค. ์ธ์ฆ ๋ฐฉ๋ฒ•์—๋Š” DNS validation๊ณผ Email validation ๋ฐฉ์‹์ด ์žˆ์Šต๋‹ˆ๋‹ค.

Email validatoin์€ ๋ ˆ์ฝ”๋“œ์— ์ ‘๊ทผ ๊ถŒํ•œ์ด ์—†๋Š” ๊ฒฝ์šฐ ๊ถŒ์žฅ๋˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์ธ์ฆ ๋ฐฉ๋ฒ•์€ ํ›„์ด์ฆˆ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋“ฑ๋ก๋œ 3๊ฐœ์˜ ์ด๋ฉ”์ผ๊ณผ ๊ด€๋ก€์ ์œผ๋กœ ์ƒ์„ฑํ•˜๋Š” 5๊ฐœ์˜ ๊ณ„์ •(administrator, hostmaster, postmaster, webmaster, admin)์— ๋„๋ฉ”์ธ์„ ๋ถ™์ธ ์ฃผ์†Œ๋กœ 5๊ฐœ์˜ ์ด๋ฉ”์ผ์„ ๋ณด๋‚ด ์ด 8๊ฐœ์˜ ์ด๋ฉ”์ผ๋กœ ์ธ์ฆ ๋ฉ”์ผ์„ ๋ณด๋‚ด์–ด ์ธ์ฆ ์ ˆ์ฐจ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฉ”์ผ ์ธ์ฆ์— ๋Œ€ํ•œ ์ƒ์„ธํ•œ ๋‚ด์šฉ์€ ์ด๊ณณ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ, ์•ž์„œ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ๋ฅผ ์œ„ํ•ด ํ›„์ด์ฆˆ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋“ฑ๋ก๋œ ์ด๋ฉ”์ผ์„ ํ˜ธ์ŠคํŒ… ์—…์ฒด์˜ ์ด๋ฉ”์ผ๋กœ ๋ณ€๊ฒฝํ•ด๋‘์—ˆ์œผ๋ฏ€๋กœ, ๋ณธ ํ”„๋กœ์ ํŠธ๋Š” DNS validation์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

DNS validation์ธ์ฆ ๋ฐฉ์‹์„ ์„ ํƒํ•˜๋ฉด AWS Certificate Manager๋Š” ํ•˜๋‚˜์˜ CNAME ๋ ˆ์ฝ”๋“œ๋ฅผ ๋ฐœ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. ์ด CNAME ๋ ˆ์ฝ”๋“œ๋ฅผ ํ˜„์žฌ ์ด์šฉ ์ค‘์ธ ๋„ค์ž„ ์„œ๋ฒ„์˜ ๋ ˆ์ฝ”๋“œ์— ๋“ฑ๋กํ•ด์•ผ ์ •์ƒ์ ์œผ๋กœ ์ธ์ฆ์ด ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ Route 53์„ ์‚ฌ์šฉํ•˜๋Š” ์ƒํƒœ์—์„œ ์ธ์ฆ์„ ์ง„ํ–‰ํ•˜๋ฏ€๋กœ Route 53 ํ˜ธ์ŠคํŠธ ์˜์—ญ ์ƒ์„ฑ์‹œ ๋ถ€์—ฌ๋œ ๋„ค์ž„ ์„œ๋ฒ„๋ฅผ ๋„๋ฉ”์ธ ๋“ฑ๋ก๋Œ€ํ–‰์—…์ฒด์— ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฐธ๊ณ ๋กœ ๋„ค์ž„ ์„œ๋ฒ„๋Š” ์•ˆ์ •์ ์ด ์„œ๋น„์Šค ์ œ๊ณต์„ ์œ„ํ•ด ์ตœ์†Œ 2๊ฐœ ์ด์ƒ ๋“ฑ๋กํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ์‹œ ๊ทธ๋ฆผ์—์„  ํ˜ธ์ŠคํŒ… ์˜์—ญ ์ƒ์„ฑ์‹œ ๋ถ€์—ฌ๋ฐ›์€ 4๊ฐœ์˜ ๋„ค์ž„ ์„œ๋ฒ„๋ฅผ ๋“ฑ๋ก๋Œ€ํ–‰์ž์— ๋ชจ๋‘ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ˜ธ์ŠคํŒ… ์˜์—ญ ์ƒ์„ฑ์‹œ ๋ถ€์—ฌ๋ฐ›์€ ๋„ค์ž„ ์„œ๋ฒ„
๋„ค์ž„ ์„œ๋ฒ„ ๋“ฑ๋ก

์ดํ›„ Route 53์— ์ธ์ฆ ๋ ˆ์ฝ”๋“œ๋ฅผ ๋“ฑ๋กํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ธ์ฆ์„œ ๋ฐœ๊ธ‰ ์‹ ์ฒญ ํ›„ ์ธ์ฆ์„œ ์ด๋ฆ„์„ ๋ˆŒ๋Ÿฌ ์ƒ์„ธ ์ •๋ณด ์ฐฝ์œผ๋กœ ์ด๋™ ํ›„ Create records in Route 53์„ ํด๋ฆญํ•˜๋ฉด Route 53์— ์ž๋™์œผ๋กœ ๋ ˆ์ฝ”๋“œ๊ฐ€ ๋“ฑ๋ก๋ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์ง์ ‘ ๋“ฑ๋กํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

DNS๋กœ ๊ฒ€์ฆ

์ธ์ฆ์—๋Š” ์•ฝ๊ฐ„์˜ ์‹œ๊ฐ„์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ธ์ฆ์ด ์ง€๋‚˜์น˜๊ฒŒ ์ง€์—ฐ๋˜๋Š” ๊ฒฝ์šฐ์—” ๋„ค์ž„ ์„œ๋ฒ„ ๋“ฑ์ด ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜๋Š” ์ง€, ๋“ฑ๋ก ์‹œ ์˜คํƒˆ์ž ๋“ฑ์€ ์—†์—ˆ๋Š”์ง€ ํ™•์ธ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ ˆ์ฝ”๋“œ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๋“ฑ๋ก๋๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด Route 53์˜ ํ˜ธ์ŠคํŠธ ์ •๋ณด์— ์žˆ๋Š” Test record, Google Admin Toolbox Dig, Linux ๋ผ๋ฉด dig, Window ๋ผ๋ฉด nslookup ๋“ฑ ๋„ค์ž„ ์„œ๋ฒ„์— ์ฟผ๋ฆฌ๋ฅผ ์ „์†กํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Route 53์—์„œ ๊ฒ€์ฆ ์ƒํ™ฉ ํ…Œ์ŠคํŠธ.png
์ธ์ฆ์„œ ๋ฐœ๊ธ‰ ์™„๋ฃŒ.png

๋„๋ฉ”์ธ๊นŒ์ง€ ์ธ์ฆ์„ ๋ฐ›์œผ๋ฉด ์ดํ›„์—” ์ธ์ฆ์„œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. CloudFront์— ์ธ์ฆ์„œ๋ฅผ ์ ์šฉํ•˜๊ณ  ๋ช‡ ๊ฐ€์ง€ ์˜ต์…˜์„ ์„ค์ •ํ•˜๋ฉด CloudFront๋ฅผ ๊ฑฐ์น˜๋Š” ๋ชจ๋“  ํ†ต์‹ ์€ HTTPS๋กœ ์—ฐ๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

CloudFront

๋‚ฎ์€ ๋Œ€๊ธฐ ์‹œ๊ฐ„๊ณผ ๋†’์€ ์ „์†ก ์†๋„๋กœ ์•ˆ์ „ํ•˜๊ฒŒ ์ฝ˜ํ…์ธ  ์ „์†ก

CloudFront๋Š” AWS์—์„œ ์ฝ˜ํ…์ธ  ์ „์†ก ๋„คํŠธ์›Œํฌ(Content Delivery Network, CDN) ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฆฌ์†Œ์Šค์ž…๋‹ˆ๋‹ค. ์ฃผ๋กœ ๋ณด์•ˆ์„ฑ ํ–ฅ์ƒ, ๋ฐ์ดํ„ฐ ์บ์‹ฑ, ์š”๊ธˆ ์ ˆ๊ฐ์„ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉฐ, ๋ณธ ๋„์ „ ๊ณผ์ œ์—์„  ์›น ์ด๋ ฅ์„œ๋ฅผ ๋ฐฐํฌํ•˜๊ณ ์žˆ๋Š” ๋ฒ„ํ‚ท๊ณผ ์—ฐ๊ฒฐํ•˜์—ฌ HTTPS ์ ์šฉ ๋ฐ ์•ก์„ธ์Šค ์ œ์–ด๋ฅผ ํ†ตํ•œ ๋ณด์•ˆ์„ฑ ํ–ฅ์ƒ์„ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

CloudFront๋ฅผ ์ด์šฉํ•˜๊ธฐ ์œ„ํ•ด์„  Distribution์„ ์ƒ์„ฑํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. CloudFront ์ฝ˜์†”์—์„œ Create Distribution์„ ํด๋ฆญํ•ด ์ƒ์„ฑ์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์žฅ ๋จผ์ € Origin์„ ์„ค์ •ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. Origin์€ ๋ฐฐํฌ๋ฅผ ์ˆ˜ํ–‰ํ•  AWS ๋ฆฌ์†Œ์Šค๋ฅผ ์„ ํƒํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ์›น ์ด๋ ฅ์„œ๋Š” S3 ๋ฒ„ํ‚ท์„ ํ†ตํ•ด ๋ฐฐํฌ์ค‘์ด๋ฏ€๋กœ Origin domain์—์„œ ๋ฐฐํฌํ•  ์ด๋ ฅ์„œ๋ฅผ ๋ณด๊ด€ํ•˜๊ณ ์žˆ๋Š” S3 ๋ฒ„ํ‚ท์˜ Bucket website endpoint(S3 ๋ฒ„ํ‚ท์˜ ํ˜ธ์ŠคํŒ… ์˜ต์…˜์„ ํ™œ์„ฑํ™” ํ–ˆ์„ ๋•Œ ๋ถ€์—ฌ๋ฐ›์€ ์ฃผ์†Œ)๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

์˜ค๋ฆฌ์ง„ ์„ค์ •.png

์ดํ›„ Default cache behavior์˜ Viewer์—์„œ Viewer protocol policy์„ Redirect HTTP to HTTPS๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค ์ด๋ฅผ ํ†ตํ•ด HTTP๋กœ ์ ‘๊ทผํ•˜๋”๋ผ๋„ ์ž๋™์œผ๋กœ HTTPS ์—ฐ๊ฒฐ๋กœ ๋ฆฌ๋‹ค๋ ‰ํŠธํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ Settings์˜ Alternate domain name (CNAME) - optional์—์„œ CNAME์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ง€๊ธˆ CNAME์„ ์„ค์ •ํ•˜์ง€ ์•Š๋”๋ผ๋„ ์šฐ์„  CloudFront ์ƒ์„ฑ์‹œ ๋ถ€์—ฌ๋œ *.cloudfront.net ํ˜•ํƒœ์˜ ์ฃผ์†Œ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋‹น์žฅ ๋“ฑ๋กํ•˜์ง€ ์•Š๋”๋ผ๋„ ์ถ”ํ›„ Route 53 ํ˜น์€ ์™ธ๋ถ€ ๋„๋ฉ”์ธ ๋“ฑ๋ก์—…์ฒด์— ์ง์ ‘ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ Custom SSL certificate - optional์—์„  Certificate Manager์—์„œ ์ƒ์„ฑํ•œ ์ธ์ฆ์„œ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด HTTPS ์—ฐ๊ฒฐ์„ ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ Default root object - optional์—์„  S3 ๋ฒ„ํ‚ท์—์„œ ์ฒซ ํŽ˜์ด์ง€๋กœ ์ถœ๋ ฅ๋˜๋„๋ก ์„ค์ •ํ–ˆ๋˜ index.html๋“ฑ์˜ ํŒŒ์ผ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

SSL ์„ค์ •.png

Distribution ๋ฐฐํฌ๋Š” ์•ฝ๊ฐ„์˜ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. CloudFront์˜ Distribution์˜ ์ƒ์„ธ ์ •๋ณด ์ฐฝ์—์„œ Last modified๊ฐ€ Deploying์—์„œ ๋งˆ์ง€๋ง‰ ์ˆ˜์ • ์‹œ๊ฐ„์œผ๋กœ ๋ฐ”๋€๋‹ˆ๋‹ค.

Distribution ๋ฐฐํฌ ์™„๋ฃŒ.png

๋ฐฐํฌ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด CloudFront ์ž์ฒด์— ๋ถ€์—ฌ๋œ ์ฃผ์†Œ๋กœ ์ ‘์†์„ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. ์ž˜ ์ ‘์†๋œ๋‹ค๋ฉด Route 53์— CloudFront์˜ CNAME ๋ ˆ์ฝ”๋“œ๋ฅผ ๋“ฑ๋กํ•˜์—ฌ ํ˜น์€ ๋ ˆ์ฝ”๋“œ ํƒ€์ž…์„ A๋กœ ์„ค์ •ํ•˜๊ณ  Alias ์˜ต์…˜์„ ํ™œ์„ฑํ™” ์‹œ์ผœ CloudFront ๋ฆฌ์†Œ์Šค๋ฅผ ์ง์ ‘ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. CloudFront ์ƒ์„ฑ ์‹œ Default root object๋ฅผ index.html๋กœ ์„ค์ •ํ–ˆ์œผ๋ฏ€๋กœ ๋งŒ์ผ CNAME์œผ๋กœ ๋ ˆ์ฝ”๋“œ ๋“ฑ๋ก์„ ์ˆ˜ํ–‰ํ•œ๋‹ค๋ฉด Route 53์— ๋ ˆ์ฝ”๋“œ๋ฅผ ๋“ฑ๋กํ•  ๋• index.html์„ ๋ถ™์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

CNAME ๋ ˆ์ฝ”๋“œ ๋“ฑ๋ก

์ดํ›„ Alternate domain name์œผ๋กœ ๋“ฑ๋กํ–ˆ๋˜ ์ฃผ์†Œ์— ์ ‘์†ํ•ด๋ด…๋‹ˆ๋‹ค. ๋„๋ฉ”์ธ๋„ ์ •์ƒ์ ์œผ๋กœ ์ ์šฉ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์„ฑ๊ณต์ ์œผ๋กœ HTTPS ์—ฐ๊ฒฐ ๋˜ํ•œ ํ™œ์„ฑํ™” ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

HTTPS ์—ฐ๊ฒฐ ํ™•์ธ

์ถ”๊ฐ€๋กœ ์•ž์„œ ์ˆ˜ํ–‰ํ•œ ์‚ฌํ•ญ ํ˜น์€ ์ดํ›„ ๋„์ „ ๊ณผ์ œ ์ˆ˜ํ–‰ ์ค‘ ๋ณธ์ธ์ด ์ˆ˜์ •ํ•œ ์‚ฌํ•ญ์ด ์ด๋ ฅ์„œ์— ์ž˜ ์ž‘์šฉ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ, ๊ฒฝ์šฐ ํ•œ ๊ฐ€์ง€ ์˜์‹ฌํ•ด๋ณผ๋งŒํ•œ์ ์€ CloudFront์—์„œ ์บ์‹ฑ๋œ ์ •๋ณด๋ฅผ ๊ณ„์† ์‘๋‹ตํ•˜๊ณ ์žˆ์–ด ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  ์žˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ˆ˜๋™์œผ๋กœ ์บ์‹œ๋ฅผ ๋น„์šฐ๊ธฐ ์œ„ํ•ด์„  CloudFront์˜ Invalidations ํƒญ์—์„œ ์บ์‹œ๋ฅผ ์ˆ˜๋™์œผ๋กœ ๋น„์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Create invalidations๋ฅผ ๋ˆ„๋ฅธ ํ›„ ๊ฐฑ์‹ ํ•  ํŽ˜์ด์ง€์˜ ์ƒ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  Create invalidations๋ฅผ ๋ˆ„๋ฅด๋ฉด ์บ์‹œ๋ฅผ ๋น„์šฐ๊ณ  ๊ฐฑ์‹ ๋œ ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

๋งบ์Œ๋ง

์ง€๊ธˆ๊นŒ์ง€ S3 ๋ฒ„ํ‚ท์„ ํ™œ์šฉํ•˜์—ฌ ํ˜ธ์ŠคํŒ… ์ค‘์ธ ์›น ์ด๋ ฅ์„œ์— Route 53์„ ํ™œ์šฉํ•˜์—ฌ ๋„๋ฉ”์ธ ๋„ค์ž„์„ ๋ถ€์—ฌํ•˜๊ณ , CloudFront๋ฅผ ํ™œ์šฉํ•˜์—ฌ HTTPS ์—ฐ๊ฒฐ์„ ํ™œ์„ฑํ™” ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ์žฅ์—์„  ์ด๋ ‡๊ฒŒ ๋ฐฐํฌ ์ค‘์ธ ์ด๋ ฅ์„œ์— AWS Lambda๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฐฉ๋ฌธ์ž ์กฐํšŒ์ˆ˜ ๊ธฐ๋ก ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

์ƒ๊ฐํ•ด๋ณผ ์ 

  1. ๋ณธ ์žฅ์—์„œ HTTPS ์—ฐ๊ฒฐ์„ ๊ตฌ์„ฑํ–ˆ์ง€๋งŒ ์–ด๋”˜๊ฐ€ ๋ชจ๋ฅด๊ฒŒ ๋ถ€์กฑํ•œ ๋А๋‚Œ์ด ๋“ญ๋‹ˆ๋‹ค. ํ˜น์‹œ ๋†“์นœ ๋ถ€๋ถ„์ด ์žˆ์ง€ ์•Š์„๊นŒ์š”? ์•„๋ฌด๋ฆฌ ์„ฑ๋ฌธ์„ ํŠผํŠผํ•˜๊ฒŒ ์Œ“์•„์˜ฌ๋ฆฐ๋‹ค๊ณ  ํ•˜๋”๋ผ๋„ ์šฐํšŒ๋กœ๊ฐ€ ์žˆ๋‹ค๋ฉด ์„ฑ์€ ์‰ฝ๊ฒŒ ๋ฌด๋„ˆ์ง‘๋‹ˆ๋‹ค. HTTPS๋ผ๋Š” ํŠผํŠผํ•œ ์„ฑ๋ฒฝ์„ ์Œ“์•„์˜ฌ๋ ธ์ง€๋งŒ, ์ด๋ ฅ์„œ๊นŒ์ง€ ์ ‘๊ทผํ•˜๋Š” ์šฐํšŒ๋กœ๊ฐ€ ์žˆ์ง„ ์•Š์„๊นŒ์š”?

  2. Route 53์€ AWS ์„œ๋น„์Šค์™€์˜ ์ƒํ˜ธ ์—ฐ๊ฒฐ์„ ๊ตฌ์„ฑํ•  ๋• Alias๊ฐ™์€ ํŽธ์˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ด ํŽธ๋ฆฌํ•œ ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ํ”„๋ฆฌํ‹ฐ์–ด ์‚ฌ์šฉ์ž์ž„์—๋„ ํ˜ธ์ŠคํŠธ ์˜์—ญ์„ ์ƒ์„ฑํ•˜๋ฉด ๋ฐ˜๋“œ์‹œ ์š”๊ธˆ์ด ๋ถ€๊ณผ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์š”๊ธˆ์„ ์ค„์ผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์•ˆ์ด ์žˆ์ง€ ์•Š์„๊นŒ์š”?

Last updated