๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ‘พ Server22

์„œ๋ธŒ ๋„๋ฉ”์ธ๊ณผ AWS ์„œ๋น„์Šค ์—ฐ๊ฒฐํ•˜๊ธฐ 3. ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์— SubDomain ์—ฐ๊ฒฐํ•˜์—ฌ HTTPS ํ†ต์‹ ํ•˜๊ธฐ ์ž˜๋ชป๋œ ๋‚ด์šฉ์ด๋‚˜ ์˜๊ฒฌ ์žˆ๋‹ค๋ฉด ํŽธํ•˜๊ฒŒ ๋ง์”€ํ•ด์ฃผ์„ธ์š”.๐Ÿ™๐Ÿป ์‹œ๋ฆฌ์ฆˆ 1. ์ด์ „ ๊ธ€ : AWS Route 53์—์„œ Domain name(root) ๊ตฌ์ž…ํ•˜๊ธฐ 2. ์ด์ „ ๊ธ€ : CloudFront์— SubDomain ์—ฐ๊ฒฐํ•˜์—ฌ HTTPS ํ†ต์‹ ํ•˜๊ธฐ 3. ํ˜„์žฌ ๊ธ€ : ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์— SubDomain ์—ฐ๊ฒฐํ•˜์—ฌ HTTPS ํ†ต์‹ ํ•˜๊ธฐ ์ด์ „ ๊ธ€์—์„œ ํŒŒ๋ž€์ƒ‰, CloudFront์— ์„œ๋ธŒ ๋„๋ฉ”์ธ์„ ์—ฐ๊ฒฐํ•˜์—ฌ HTTPS ํ†ต์‹ ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์ดˆ๋ก์ƒ‰, ALB์— SubDomain ์—ฐ๊ฒฐํ•˜์—ฌ HTTPS ํ†ต์‹ ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค. ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋Š” AWS ALB๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. (๋ณธ๋ฌธ์—์„œ ๋‚˜์˜จ ์šฉ์–ด(RootDomain, SubDomain)๋“ค์€ ์ด์ „ ๊ธ€์„ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”.) (+a ALB๋ž€ Application Lo.. 2022. 9. 13.
์„œ๋ธŒ ๋„๋ฉ”์ธ๊ณผ AWS ์„œ๋น„์Šค ์—ฐ๊ฒฐํ•˜๊ธฐ 2. CloudFront์— SubDomain ์—ฐ๊ฒฐํ•˜์—ฌ HTTPS ํ†ต์‹ ํ•˜๊ธฐ ์ž˜๋ชป๋œ ๋‚ด์šฉ์ด๋‚˜ ์˜๊ฒฌ ์žˆ๋‹ค๋ฉด ํŽธํ•˜๊ฒŒ ๋ง์”€ํ•ด์ฃผ์„ธ์š”.๐Ÿ™๐Ÿป ์‹œ๋ฆฌ์ฆˆ 1. ์ด์ „ ๊ธ€ : AWS Route 53์—์„œ Domain name(root) ๊ตฌ์ž…ํ•˜๊ธฐ 2. ํ˜„์žฌ ๊ธ€ : CloudFront์— SubDomain ์—ฐ๊ฒฐํ•˜์—ฌ HTTPS ํ†ต์‹ ํ•˜๊ธฐ 3. ๋‹ค์Œ ๊ธ€ : ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์— SubDomain ์—ฐ๊ฒฐํ•˜์—ฌ HTTPS ํ†ต์‹ ํ•˜๊ธฐ ์ด์ „ ๊ธ€์—์„œ Domain Name(jjikmuk.com)์„ ๊ตฌ์ž…ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ํŒŒ๋ž€์ƒ‰, CloudFront์— ์„œ๋ธŒ ๋„๋ฉ”์ธ์„ ์—ฐ๊ฒฐํ•˜์—ฌ HTTPS ํ†ต์‹ ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. Root Domain๊ณผ SubDomain ์ด์ „ ๊ธ€์—์„œ jjikmuk.com ์ด๋ž€ Domain Name์„ ๊ตฌ์ž…ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ํ”„๋ก ํŠธ์™€ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„์— ๋‘ ๊ฐ€์ง€ ๋„๋ฉ”์ธ ์ด๋ฆ„์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์•—, ํ•˜๋‚˜๋ฐ–์— ์—†์œผ๋‹ˆ .. 2022. 9. 13.
์„œ๋ธŒ ๋„๋ฉ”์ธ๊ณผ AWS ์„œ๋น„์Šค ์—ฐ๊ฒฐํ•˜๊ธฐ 1. Route 53์—์„œ ๋„๋ฉ”์ธ ๋„ค์ž„ ๊ตฌ์ž… ๋ฐฉ๋ฒ• ์ž˜๋ชป๋œ ๋‚ด์šฉ์ด๋‚˜ ์˜๊ฒฌ ์žˆ๋‹ค๋ฉด ํŽธํ•˜๊ฒŒ ๋ง์”€ํ•ด์ฃผ์„ธ์š”.๐Ÿ™๐Ÿป ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉฐ ํ”„๋ก ํŠธ ์—”๋“œ ์›น ์„œ๋น„์Šค์™€ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„์— ๊ฐ๊ฐ Domain name์ด ํ•„์š”ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฃจํŠธ ๋„๋ฉ”์ธ(jikmuk.com)์„ ํ™œ์šฉํ•˜์—ฌ ์„œ๋ธŒ ๋„๋ฉ”์ธ 2๊ฐœ๋ฅผ ๋งŒ๋“ค์–ด CloudFront(sikdorak.jjikmuk.com)์™€ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„(api.jjikmuk.com)์— ๊ฐ๊ฐ ์—ฐ๊ฒฐํ•˜์—ฌ HTTPS ํ†ต์‹ ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์œ„ ๊ณผ์ •์„ 3๊ฐ€์ง€๋กœ ๋‚˜๋ˆ„์–ด ๊ธ€์„ ์ž‘์„ฑํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. 1. ํ˜„์žฌ ๊ธ€ : AWS Route 53์—์„œ Domain name(root) ๊ตฌ์ž…ํ•˜๊ธฐ 2. ๋‹ค์Œ ๊ธ€ : CloudFront์— SubDomain ์—ฐ๊ฒฐํ•˜์—ฌ HTTPS ํ†ต์‹ ํ•˜๊ธฐ 3. ๋‹ค์Œ ๊ธ€ : ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์— SubDomain ์—ฐ๊ฒฐํ•˜์—ฌ HTTPS ํ†ต์‹ ํ•˜๊ธฐ ์ด๋ฒˆ ๊ธ€์€ ์„ธ ๊ฐ€์ง€ ๊ธ€ .. 2022. 9. 13.
S3์— ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ์•„ํ‚คํ…์ฒ˜ ๋น„๊ต (์„œ๋ฒ„์— ์ง์ ‘ ์ „์†ก, presigned URL ํ™œ์šฉ) ์ž˜๋ชป๋œ ๋‚ด์šฉ์ด๋‚˜ ์˜๊ฒฌ ์žˆ๋‹ค๋ฉด ํŽธํ•˜๊ฒŒ ๋ง์”€ํ•ด์ฃผ์„ธ์š”.๐Ÿ™๐Ÿป ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉฐ ์œ ์ € ํ”„๋กœํ•„์ด๋‚˜ ์Œ์‹์  ๋ฆฌ๋ทฐ ์‚ฌ์ง„ ๋“ฑ ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ์ด ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์—” ์ด๋ฏธ์ง€๋ฅผ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ์„ ๋‹จ์ˆœํ•˜๋‹ค๊ณ  ๋Š๊ผˆ์ง€๋งŒ ์ƒ๊ฐ๋ณด๋‹ค ๊ณ ๋ คํ•  ๊ฒƒ์ด ๋งŽ์•˜์Šต๋‹ˆ๋‹ค.๐Ÿ˜ตโ€๐Ÿ’ซ ๋– ์˜ฌ๋ž๋˜ Check List - ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ/์‚ญ์ œ , ์›๋ณธ ํŒŒ์ผ ํฌ๊ธฐ ์ œํ•œ(์ €์žฅ ๊ณต๊ฐ„ ์ œ์•ฝ, ๋น„์ •์ƒ์ ์ธ ์š”์ฒญ ๋ฐฉ์ง€) - UI ๋งˆ๋‹ค ์ด๋ฏธ์ง€ ์‚ฌ์ด์ฆˆ๋ฅผ ๋‹ค๋ฅด๊ฒŒ ์ €์žฅ(๋ฆฌ์‚ฌ์ด์ง•) - ๋น ๋ฅธ ์‘๋‹ต์„ ์œ„ํ•œ CDN ์‚ฌ์šฉ - ํŒŒ์ผ ์ ‘๊ทผ ๊ถŒํ•œ (๋น„๊ณต๊ฐœ ์ด๋ฏธ์ง€์— ์ต๋ช…์˜ ์‚ฌ์šฉ์ž๊ฐ€ ์ ‘๊ทผํ•˜๋Š” ๋ฌธ์ œ) ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฐ„๋‹จํ•œ ์„ธ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•(์•„ํ‚คํ…์ฒ˜)์„ ์†Œ๊ฐœ/๋น„๊ตํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ์œ ์ €๊ฐ€ ์ž์‹ ์˜ ํ”„๋กœํ•„ ์‚ฌ์ง„์„ ์ˆ˜์ •ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€๋Š” ํด๋ผ์šฐ๋“œ ์Šคํ† ๋ฆฌ์ง€(.. 2022. 9. 4.
[์˜์‚ฌ ๊ฒฐ์ •] SonarCloud๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ์— ์ •์  ๋ถ„์„์„ ํ•˜๊ธฐ๊นŒ์ง€ ์ž˜๋ชป๋œ ๋‚ด์šฉ์ด๋‚˜ ์˜๊ฒฌ ์žˆ๋‹ค๋ฉด ํŽธํ•˜๊ฒŒ ๋ง์”€ํ•ด์ฃผ์„ธ์š” ๐Ÿ™๐Ÿป ์ƒํ™ฉ, ์‚ฌ๊ฑด์˜ ๊ฐœ์š” ์ƒํ™ฉ 5๋ช…์ด ๋ชจ์—ฌ ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํŒ€์›์ด ํ•จ๊ป˜ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋‹ˆ ๋ฌธ์ œ๋“ค์ด ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ 1. ์ž‘์€ ์‹ค์ˆ˜(์˜คํƒ€, ์ œ๊ฑฐํ•˜์ง€ ๋ชปํ•œ ์ธ๋ผ์ธ ์ฃผ์„...)๋Š” ๋ฐ˜๋“œ์‹œ ์กด์žฌํ•œ๋‹ค. 2. ํŽ˜์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ–ˆ์Œ์—๋„ ์ฝ”๋“œ ์Šคํƒ€์ผ, ์ปจ๋ฐด์…˜ ํ†ต์ผ์ด ์ž˜ ์•ˆ ๋œ๋‹ค. 3. ์ฝ”๋“œ ๋ฆฌ๋ทฐ์—์„œ ๋ฐœ๊ฒฌํ•˜์ง€ ์ž‘์€ ์‹ค์ˆ˜๋“ค์ด ๋ชจ์—ฌ Code Smells์ด ๋” ์ง™์–ด์ง„๋‹ค. 4. ์ž‘์„ฑํ•œ ์ฝ”๋“œ์— ๋Œ€ํ•œ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๋ณด์•ˆ ๋ฌธ์ œ๋‚˜ ๋” ์ข‹์€ ํŒจํ„ด์ด ์กด์žฌํ•œ๋‹ค. ์žฌ๋ฐœ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•œ ์กฐ์น˜ ํ•ญ๋ชฉ ์ •์  ์ฝ”๋“œ ๋ถ„์„ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ด๋ณด๋Š” ๊ฒƒ์€ ์–ด๋–จ๊นŒ? ์ž๋™ํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ์ž๋™ํ™”ํ•ด๋ณด์ž! ์ •์  ์ฝ”๋“œ ๋ถ„์„์ด๋ž€? ์ •์  ์ฝ”๋“œ ๋ถ„์„(static code analysis)์€ ๋ง ๊ทธ๋Œ€๋กœ ์ •์ ์œผ๋กœ ์ฝ”.. 2022. 8. 7.