๐Ÿณ TIL

์˜ค๋Š˜ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ ๋„คํŠธ์›Œํฌ ๊ณต๋ถ€ํ•˜๊ธฐ ์ฝ”์ฝ”๋‹ฅ์ด๋ž‘ ๋ฏธ์…˜ํ•˜๊ธฐ ๐Ÿ’ญ ๋Š๋‚€ ์  & ๋ฐฐ์šด ์  ์˜ค๋Š˜ ์›๋ž˜ Github Actions๋ฅผ ํ†ตํ•ด์„œ CI/CD ๋ฅผ ์ ์šฉํ•˜๋Š” ๊ณผ์ •์„ ์ง„ํ–‰ํ•ด๋ณด๋ ค ํ–ˆ๋Š”๋ฐ, ์ƒ๊ฐ๋ณด๋‹ค ๊ตฌ์กฐ๋ถ€ํ„ฐ ๋ณต์žกํ•˜๊ณ  ์กธ๋ฆฐ ๋‚ด ๋จธ๋ฆฌ๊ฐ€ ๊ฐ๋‹นํ•˜์ง€ ๋ชปํ•ด์„œ ๋‚ด์ผ ํ•˜๋ ค ํ•œ๋‹ค... ใ… ใ…  ์˜ค๋Š˜ ๋ญ”๊ฐ€ ์•„์นจ์—๋Š” ๊ฐœ์šดํ–ˆ๋Š”๋ฐ, ์˜คํ›„๋ถ€ํ„ฐ ๊ธ‰ ํ”ผ๊ณคํ•ด์ง€๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ์•„๋งˆ ์š”์ฆ˜ ์ž ์„ ํ†ต ์•ˆ ์ž์„œ ๊ทธ๋Ÿฐ ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋ž˜์„œ ๊ฒฐ๊ตญ์€ ์˜ค๋Š˜์€ ์ข€ ๊ณต๋ถ€ ํฌ๊ธฐํ•˜๊ณ  ์ผ์ฐ ์ž๋ ค ํ•œ๋‹ค. ๊ทธ๋ž˜๋„ ๋ฏธ์…˜ ์–ด๋–ป๊ฒŒ๋“  ๋๋‚ด์„œ ๋‹คํ–‰... ๐Ÿ”ฅ ๋‚ด์ผ ๊ณต๋ถ€ํ•  ๋‚ด์šฉ CI/CD ๊ณต๋ถ€ AWS ๊ณต๋ถ€ ๋„คํŠธ์›Œํฌ ๊ณต๋ถ€ ๋ฐฐํฌ ํฌ์ŠคํŒ… ์ด์–ด์„œ ํ•˜๊ธฐ - Github Action ๋ฏธ์…˜ ๋งˆ๋ฌด๋ฆฌ ์˜ค๋Š˜ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ ํฌ์ŠคํŒ…
์˜ค๋Š˜ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ ์ฝ”์ฝ”๋‹ฅ์ด๋ž‘ ๋ฏธ์…˜ํ•˜๊ธฐ CIDR, VPC, NAT ์˜์ƒ๋ณด๊ณ  ๊ณต๋ถ€ ๋ฐฐํฌ ํฌ์ŠคํŒ… ์ด์–ด์„œ ํ•˜๊ธฐ - Git submodule ๐Ÿ’ญ ๋Š๋‚€ ์  & ๋ฐฐ์šด ์  EC2 ์ธ์Šคํ„ด์Šค์—์„œ Public IP ํ• ๋‹น๋ฐ›์ง€ ์•Š์œผ๋ฉด apt-get update๊ฐ€ ์•ˆ๋˜๋Š” ์˜ค๋ฅ˜๋ฅผ ๋ชป ์ฐพ๊ณ  ์žˆ๋‹ค๊ฐ€, NAT์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๊ณ  ๋‚˜๋‹ˆ NAT ๋•Œ๋ฌธ์ด๋ผ๋Š” ๊ฒƒ์„ ์ง๊ฐํ–ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ด๊ฑธ ๋‹ค ์ ์šฉํ•˜๋ ค๋‹ˆ ์ฒ˜์Œ๋ถ€ํ„ฐ ์†๋ณผ๊ฒŒ ๋„ˆ๋ฌด ๋งŽ์•„์„œ ์ผ๋‹จ ๊ฑด๋„ˆ๋›ฐ์—ˆ๊ณ , CICD๊นŒ์ง€ ์กฐ๊ธˆ ์ •๋ฆฌํ•  ์ดํ›„์— AWS๋ฅผ ๊นŠ๊ฒŒ ์ •๋ฆฌํ•˜์ง€ ์•Š์„๊นŒ ์‹ถ๋‹ค. ์š”์ฆ˜ ๊ฑฐ์˜ ์ž ๋„ ์•ˆ ์ž๊ณ  ๋„คํŠธ์›Œํฌ ๊ณต๋ถ€, ๋ฏธ์…˜, ๋ฐฐํฌ ๊ด€๋ จ ๊ณต๋ถ€ & ์ •๋ฆฌํ•˜๋‹ค๋ณด๋‹ˆ ์ง„์งœ ๋ชธ์ด ์ฃฝ์–ด๊ฐ€๋Š”์ค‘์ด๋‹ค. ๊ทผ๋ฐ ์žฌ๋ฐŒ์œผ๋‹ˆ ๋ญ ๐Ÿ˜Š ๋ฒŒ์จ 5์›”๋„ ๋์ด๋ผ๋‹ˆ... ๋ ˆ๋ฒจ2๋„ ๋์ด๋ผ๋‹ˆ... ์šฐํ…Œ์ฝ” ๊ธฐ๊ฐ„์ด ๋„ˆ๋ฌด ๋นจ๋ฆฌ ์ง€๋‚˜๊ฐ€๋Š” ๋Š๋‚Œ์ด๋ผ ์Šฌํ”„๋‹ค ใ… ใ…  ..
์˜ค๋Š˜ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ ๊นƒํ—ˆ๋ธŒ ์•ก์…˜ ๋ง›๋ณด๊ธฐ ๊นƒ ์„œ๋ธŒ๋ชจ๋“ˆ ๋ง›๋ณด๊ธฐ ์  ํ‚จ์Šค ๋ง›๋ณด๊ธฐ ๋ฐฐํฌ ํฌ์ŠคํŒ… ์ด์–ด์„œ ํ•˜๊ธฐ - MYSQL ์—ฐ๋™ ๐Ÿ’ญ ๋Š๋‚€ ์  & ๋ฐฐ์šด ์  ์˜ค๋Š˜์€ ์ฝ”์ฝ”๋‹ฅ์ด๋ž‘ ๋‘˜์ด์„œ CICD ๋ง›๋ณด๊ธฐ? ๋Š๋‚Œ์œผ๋กœ ์ด๊ฒƒ์ €๊ฒƒ ๋‹ค ํ•ด๋ดค๋‹ค. ์‚ฌ์‹ค ์ด๊ฒƒ์ €๊ฒƒ ํ•˜๊ธด ํ–ˆ๋Š”๋ฐ ๋‚ด๊ฐ€ ๋ญ˜ ํ•œ ๊ฑด์ง€ ๋ชจ๋ฅด๊ฒ ๋Š” ๋Š๋‚Œ์ด๋‹ค. ๊ทธ๋ž˜์„œ ์•ž์œผ๋กœ ์ญ‰ ์‹œ๊ฐ„ ๋‚ด์„œ ๋ ˆ๋ฒจ 3 ์‹œ์ž‘ ์ „์—๋Š” ์ •๋ฆฌํ•˜๊ณ  ๋“ค์–ด๊ฐ€๋ ค ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์–ด์ œ ๋ฐœ์ƒํ•œ apt-get update ์˜ˆ์™ธ๋„ ํ•ด๊ฒฐํ•œ ์ค„ ์•Œ์•˜๋Š”๋ฐ, ์•Œ๋ณด๊ณ ๋‹ˆ ๋‹ค๋ฅธ EC2 ์„œ๋ฒ„์— ์„ค์น˜ํ•ด๋†“๊ณ  ์ข‹์•„ํ•œ๊ฑฐ์˜€๋‹ค๋Š”...ใ…‹ใ…‹ใ…‹.. ์˜ค๋Š˜ ์ผ๋‹จ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ Public IP๋ฅผ ํ• ๋‹น๋ฐ›์ง€ ์•Š์œผ๋ฉด apt-get update์‹œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•˜๋‹ค. ์ด์œ ๋Š” ๋ชจ๋ฅธ๋‹ค. ์šฐํ…Œ์ฝ”์—์„œ๋Š” ์™œ ์„ค์ • ์•ˆํ•ด๋„ ๋˜๋Š”์ง€ ๋ชจ๋ฅธ๋‹ค. ๋‚˜๋Š” ๋ฐ”๋ณด๋‹ค. ๐Ÿ”ฅ ๋‚ด์ผ ๊ณต๋ถ€ํ•  ๋‚ด์šฉ..
์˜ค๋Š˜ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ ์ฝ”์ฝ”๋‹ฅ์ด๋ž‘ ํŽ˜์–ด๋กœ 2๋‹จ๊ณ„ ๋ฏธ์…˜ ๊ธฐ๋ณธ ๊ธฐ๋Šฅ ๋ชจ๋‘ ๊ตฌํ˜„ ์ƒˆ๋กœ์šด EC2์— MYSQL ๋„์šฐ๊ธฐ ์ƒˆ๋กœ์šด EC2์— MYSQL ๋„์šฐ๋Š” ๊ณผ์ • ์ •๋ฆฌ ๐Ÿ’ญ ๋Š๋‚€ ์  & ๋ฐฐ์šด ์  Mysql ์—ฐ๊ฒฐํ•˜๋‹ค๊ฐ€ ์ฃฝ์„ ๋ป” ํ–ˆ๋‹ค..ใ… ใ…  ์™ธ๋ถ€์—์„œ MYSQL์— ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” (root๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•œ ๊ฒƒ ๊ฐ™์ง€๋งŒ) ์ƒˆ๋กœ์šด User๋ฅผ ์ƒ์„ฑํ•œ ๋’ค ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. ์ถ”๊ฐ€์ ์œผ๋กœ mysql.conf.d ํŒŒ์ผ๋„ ๋ฐ”๊ฟ”์ฃผ์–ด์•ผ ํ•˜๊ณ ,,, ์ง„์งœ ์—„์ฒญ ํ—ค๋งจ ๊ฒƒ ๊ฐ™๋‹ค.. ๊ฒŒ๋‹ค๊ฐ€ ์ง‘ ์™€์„œ ๋‹ค์‹œ ์ •๋ฆฌํ•˜๋ ค๋‹ˆ๊นŒ apt-get update๋„ ๊ณ„์† ์˜ค๋ฅ˜๋‚˜๊ณ .. ์–ด์งˆ์–ด์งˆํ•œ ํ•˜๋ฃจ์˜€๋‹ค. ๋‚ด์ผ์€ ์•„๋ฌด ํฌ๋ฃจ๋‚˜ ๋ถ™์žก๊ณ  CI/CD์ข€ ๋ฐฐ์šธ ์˜ˆ์ •์ด๋‹ค! ์•„ ๊ทธ๋ฆฌ๊ณ  ๋‚ด์ผ๋ถ€ํ„ฐ๋Š” AWS ๊ด€๋ จํ•ด์„œ๋„ ๊ณต๋ถ€ํ•ด์„œ ์ •๋ฆฌํ•  ์˜ˆ์ •์ด๋‹ค! ๐Ÿ”ฅ ๋‚ด์ผ ๊ณต๋ถ€ํ•  ๋‚ด์šฉ CI/CD ์ ์šฉ ..
์˜ค๋Š˜ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ ์•„๋ฌด๊ฒƒ๋„ ๋ชปํ•จ ใ… ใ… ๐Ÿ˜ญ ๐Ÿ’ญ ๋Š๋‚€ ์  & ๋ฐฐ์šด ์  ์–ด์ œ ์˜ค๋Š˜ ๊ฒฐํ˜ผ์‹ ๋‹ค๋…€์˜ค๋Š๋ผ ๋„ˆ๋ฌด ํ”ผ๊ณคํ•ด์„œ ๊ทธ๋Ÿฐ์ง€, ์ง‘ ๋„์ฐฉํ•˜์ž๋งˆ์ž ์ญ‰ ์ž๋ฒ„๋ ธ๋‹ค. ์›๋ž˜ 10์‹œ์— ์ผ์–ด๋‚˜์„œ ๊ณต๋ถ€์ข€ ํ•˜๋ ค ํ–ˆ๋Š”๋ฐ, ๊ทธ๋Œ€๋กœ ์•„์นจ๊นŒ์ง€ ์ญ‰ ์ž๋ฒ„๋ฆผ..ใ… ใ… ๐Ÿ˜ญ ๐Ÿ”ฅ ๋‚ด์ผ ๊ณต๋ถ€ํ•  ๋‚ด์šฉ ์ฝ”์ฝ”๋‹ฅ์ด๋ž‘ 2๋‹จ๊ณ„ ํŽ˜์–ด ๋ฐฐํฌ ๋ฐ ์ธํ”„๋ผ ๊ณ„์† ๊ณต๋ถ€ ๋„คํŠธ์›Œํฌ ๊ณต๋ถ€ ์Šคํ”„๋ง๋ถ€ํŠธ ๊ฐ•์˜ SQL ๊ณต๋ถ€ ์˜ค๋Š˜ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ ํฌ์ŠคํŒ…
์˜ค๋Š˜ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ ๋ฐฐํฌ ๋ฐ ์ธํ”„๋ผ ๊ณต๋ถ€์ค‘ (EC2์— ์‰˜์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ†ตํ•ด ์Šคํ”„๋ง ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ) ๐Ÿ’ญ ๋Š๋‚€ ์  & ๋ฐฐ์šด ์  ์˜ค๋Š˜์ด๋ž‘ ๋‚ด์ผ์€ ์—ฐ์†์œผ๋กœ ์‚ฌ์ดŒ๋ถ„๋“ค์ด ๊ฒฐํ˜ผํ•˜์…”์„œ ๊ณต๋ถ€๋ฅผ ํ•  ์‹œ๊ฐ„์ด ๋งŽ์ด๋Š” ์—†๋‹ค! ์˜ค๋Š˜์€ ๊ฒฐํ˜ผ์‹์žฅ ๋‹ค๋…€์˜ค๊ณ  ๋‚˜์„œ, ์–ด์ œ AWS ๊ณต๋ถ€ํ•˜๋˜๊ฑฐ์— ์ด์–ด์„œ ๊ณ„์† ๊ณต๋ถ€ํ–ˆ๋‹ค. ์‚ฌ์‹ค ์˜ค๋Š˜ ์ •๋ฆฌํ•œ ๋ถ€๋ถ„๊นŒ์ง€๊ฐ€ ์ง€๊ธˆ๊นŒ์ง€ ํ–ˆ๋˜ ๊ฒƒ๋“ค์ด๊ณ , ๋‚ด์ผ ํ•  ๊ฒƒ๋“ค์€ ์ด์ œ ์ •๋ง ๋‹ค ์ƒˆ๋กœ์šด ๊ฒƒ๋“ค์ด๋ผ ์–ผ๋งˆ๋‚˜ ์–ด๋ ต๊ณ  ์˜ค๋ž˜๊ฑธ๋ฆด์ง€ ์กฐ๊ธˆ ๋‘๋ ต๋‹ค.. ์ผ๋‹จ ๋ญ ์—ด์‹ฌํžˆ ํ•ด๋ด์•ผ์ง€ ๐Ÿ”ฅ ๋‚ด์ผ ๊ณต๋ถ€ํ•  ๋‚ด์šฉ ๋ฐฐํฌ ๋ฐ ์ธํ”„๋ผ ๊ณ„์† ๊ณต๋ถ€ ๋„คํŠธ์›Œํฌ ๊ณต๋ถ€ ์Šคํ”„๋ง๋ถ€ํŠธ ๊ฐ•์˜ SQL ๊ณต๋ถ€ ์‹œ๊ฐ„ ๋˜๋ฉด ํ…Œ์ฝ”์ฑ— ๋ฆฌํŒฉํ† ๋ง ์˜ค๋Š˜ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ ํฌ์ŠคํŒ… https://ttl-blog.tistory.com/1337 [๋ฐฐํฌ ๋ฐ ์ธํ”„๋ผ] ํ•ด๋ณด์ž ๋ฐฐํฌ [2] - EC2์—์„œ ์Šคํ”„๋ง..
์˜ค๋Š˜ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ ๋ฏธ์…˜ ๊ตฌํ˜„์ค‘ ๋„คํŠธ์›Œํฌ ๊ณต๋ถ€ ๋ฐฐํฌ ๋ฐ ์ธํ”„๋ผ ๊ณต๋ถ€(AWS ์‹คํ–‰) ๐Ÿ’ญ ๋Š๋‚€ ์  & ๋ฐฐ์šด ์  ์™€ ๋„ˆ๋ฌด ํ”ผ๊ณคํ•ด์„œ ์ •๋ฆฌ๋ฅผ ๋ชปํ•˜๊ฒ ๋„ค. ์šฐ์„  ์˜ค๋Š˜ ์ฝ”์ฝ”๋‹ฅ์ด๋ž‘ ํ•˜๋ฃจ์ข…์ผ 2๋‹จ๊ณ„ ๋ฏธ์…˜ ๋ฆฌํŒฉํ† ๋งํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ง‘์™€์„œ๋Š” ๋˜ ์ง€๊ธˆ(์ƒˆ๋ฒฝ 4์‹œ) ๊นŒ์ง€ ๊ณต๋ถ€(?) ํ–ˆ๋‹ค. AWS ์ง„์งœ ํ•˜๊ณ  ๋„˜์–ด๊ฐ€์•ผ ํ•  ๊ฑฐ ๊ฐ™์•„์„œ, ์ญ‰ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ์ •๋ฆฌํ•˜๋ ค ํ•œ๋‹ค. ๋‚˜๋Š” ๊ธ€์“ฐ๋ฉด์„œ ํ•ด์•ผ ๊ณต๋ถ€๊ฐ€ ์ž˜ ๋˜๋Š” ํƒ€์ž…์ธ๋“ฏ.. ๐Ÿ”ฅ ๋‚ด์ผ ๊ณต๋ถ€ํ•  ๋‚ด์šฉ ๋ฐฐํฌ ๋ฐ ์ธํ”„๋ผ ๊ณ„์† ๊ณต๋ถ€ ๋„คํŠธ์›Œํฌ ๊ณต๋ถ€ ์Šคํ”„๋ง๋ถ€ํŠธ ๊ฐ•์˜ SQL ๊ณต๋ถ€ ์‹œ๊ฐ„ ๋˜๋ฉด ํ…Œ์ฝ”์ฑ— ๋ฆฌํŒฉํ† ๋ง ์˜ค๋Š˜ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ ํฌ์ŠคํŒ… https://ttl-blog.tistory.com/1335 [๋ฐฐํฌ ๋ฐ ์ธํ”„๋ผ] ํ•ด๋ณด์ž ๋ฐฐํฌ [1] - AWS EC2 ์ƒ์„ฑํ•˜๊ณ  ์ ‘์†ํ•˜๊ธฐ ๐Ÿง ์–ด๋ ค์šด ๋ฐฐํฌ ๋ฐฐํฌ๋Š” ์ฐธ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์ €๋Š” ์ง€๊ธˆ ์ •..
์˜ค๋Š˜ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ CORS ์ •๋ฆฌ ์ง„์งœ๋ ํ…Œ์ฝ”ํ†ก ๋ณด๊ธฐ ๋ฏธ์…˜ ๊ตฌํ˜„์ค‘ ๋„คํŠธ์›Œํฌ ๊ณต๋ถ€ ๐Ÿ’ญ ๋Š๋‚€ ์  & ๋ฐฐ์šด ์  https๋ฅผ ์•„์นจ์— ์ ์šฉํ•˜๋ ค ํ–ˆ์—ˆ๋Š”๋ฐ, ๊ฐ™์€ ip์—์„œ ํ•˜๋ฃจ 3๋ฒˆ์ด์ƒ ํšŒ์›๊ฐ€์ž… ๋ถˆ๊ฐ€๋Šฅ์ด์—ˆ๋‚˜..? ์•„๋ฌดํŠผ ์šฐํ…Œ์ฝ”์—์„œ ํšŒ์›๊ฐ€์ž… ํ•˜๋ ค๋‹ˆ๊นŒ ์•ˆ๋˜์„œ ํฌ๊ธฐํ–ˆ์—ˆ๋‹ค. ๋ญ”๊ฐ€ ์•„์นจ์— ๋ญ ํ–ˆ๋Š”์ง€ ๊ธฐ์–ต์ด ์ž˜ ์•ˆ ๋‚˜๊ธด ํ•œ๋‹ค.. ๊ทธ๋ƒฅ ๋ฐฉํ™ฉ์„ ์กฐ๊ธˆ ํ–ˆ๋˜ ๋“ฏ ๋‚ด์ผ์€ ๋ฏธ์…˜ ๊ตฌํ˜„ ์ซ™ ํ•˜๊ณ , ์‰˜์Šคํฌ๋ฆฝํŠธ ๊ณต๋ถ€์ข€ ํ•ด์•ผ์ง€.. ๐Ÿ”ฅ ๋‚ด์ผ ๊ณต๋ถ€ํ•  ๋‚ด์šฉ ๋„คํŠธ์›Œํฌ ๊ณต๋ถ€ https ์ ์šฉ ์Šคํ”„๋ง๋ถ€ํŠธ ๊ฐ•์˜ SQL ๊ณต๋ถ€ ์‹œ๊ฐ„ ๋˜๋ฉด ํ…Œ์ฝ”์ฑ— ๋ฆฌํŒฉํ† ๋ง ์˜ค๋Š˜ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ ํฌ์ŠคํŒ…
๋ง ๋ž‘
'๐Ÿณ TIL' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (30 Page)