๐Ÿง‘๐Ÿป‍๐Ÿ’ป Develop/AWS 5

GitHub ์—์„œ EC2 ๋กœ ์ž๋™ ๋ฐฐํฌ(CD) ๋„์ž…ํ•˜๊ธฐ (AWS)

์ž๋™ ๋ฐฐํฌ(CD) ์™œ ํ•„์š”ํ•œ๊ฐ€? ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ ์ค‘ ์ผ์ • ๋‹จ์œ„์˜ ๊ฐœ๋ฐœ์ด ์™„๋ฃŒ๋œ๋‹ค๋ฉด, ๋ณ€๊ฒฝ ๋‚ด์šฉ์„ ์‹ค์ œ ์„œ๋ฒ„์— ๋ฐ˜์˜ํ•˜๊ธฐ ์œ„ํ•œ Deployment ๋ฅผ ์ง„ํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค. ํ•˜์ง€๋งŒ, ์ด๋Ÿฌํ•œ Deploy ์ž‘์—…์ด ๋ฌด์–ธ๊ฐ€ ํŠน๋ณ„ํ•œ ์ƒˆ๋กœ์šด ๊ณผ์ •์ด ์žˆ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ๋Š˜ ๊ฐ™์€ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•˜๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์—, ๊ฐœ๋ฐœ ์ด์™ธ์— ๋งŽ์€ ๊ณต์ˆ˜๋ฅผ ์žก์•„๋จน๋Š” ์ž‘์—… ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ , ์‹ค์ œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์šด์˜ํ•จ์— ์žˆ์–ด์„œ๋„ ์ด๋Ÿฌํ•œ Deploy ์ž‘์—…์„ ์ธ๊ฐ„์ด ์ˆ˜๋™์œผ๋กœ ์‹ค์‹œํ•˜๋‹ค๋ณด๋ฉด, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ณ€๊ฒฝ ๋‚ด์šฉ๊ณผ ๊ด€๊ณ„์—†์ด ์‚ฌ๋žŒ์˜ ์‹ค์ˆ˜๋กœ ์ธํ•œ ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ๋„ ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ Deploy ์ž‘์—…์— ๋ถˆํ•„์š”ํ•˜๊ณ  ๋น„ํšจ์œจ์ ์œผ๋กœ ๋งŽ์€ ์‹œ๊ฐ„์„ ์†Œ๋ชจํ•œ๋‹ค๋ฉด, ์ด๋Š” ์œ ์ €์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ๊ณผ ์„œ๋น„์Šค ์ œ๊ณต์ด ๋Šฆ์–ด์ง์„ ์˜๋ฏธํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋…ธ๋ ฅ์œผ๋กœ ๋งŽ..

AWS ๋กœ Web Application Architecture ๊ตฌ์„ฑํ•˜๊ธฐ (1)

Web application ๊ธฐ๋ณธ ๊ตฌ์„ฑ Client์™€ Server๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ๋ˆ„๊ตฌ๋‚˜ ์ธํ„ฐ๋„ท์—๋งŒ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค๋ฉด, ์ œํ•œ ์—†์ด Server์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ Port 80 ์„ ์‚ฌ์šฉํ•˜๋Š” Web Server๋ผ๋Š” ์ „์ œํ•˜์— User ๊ฐ€ ๋ธŒ๋ผ์šฐ์ €์— URL ์„ ์ž…๋ ฅํ•˜๋ฉด, Client๋Š” Server ์— Request๋ฅผ ๋ณด๋‚ธ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Server ๋Š” ์ด์— ๋Œ€ํ•œ Response๋กœ ๋‹ค์–‘ํ•œ ์ •๋ณด๋ฅผ Client์—๊ฒŒ ๋ณด๋‚ธ๋‹ค. HTML, CSS, JS Image, Video etc... Web Application Architecture ์„œ๋น„์Šค์˜ ๊ตฌ์„ฑ์ด ๋‹จ์ˆœํ•˜๊ณ , ์ด์šฉ์ž ์ˆ˜๊ฐ€ ์ ์„ ๋•Œ ์„œ๋น„์Šค์˜ ๊ตฌ์„ฑ์ด ๋ณต์žกํ•˜๊ณ , ์ด์šฉ์ž ์ˆ˜๊ฐ€ ๋งŽ์„ ๋•Œ ์„œ๋น„์Šค๊ฐ€ ๋‹ค์–‘ํ•˜๊ณ  ๋ณต์žกํ•ด์งˆ์ˆ˜๋ก Web application์„ ์•ˆ์ •์ ์œผ๋กœ ์šด์˜ํ•˜๊ธฐ ..

ํŒ€ ํ”„๋กœ์ ํŠธ์—์„œ AWS ๊ด€๋ฆฌํ•˜๊ธฐ (3) - ๊ฐœ๋ฐœ์šฉ IAM ์‚ฌ์šฉ์ž

๊ฐœ๋ฐœ์šฉ IAM ์‚ฌ์šฉ์ž ์ƒ์„ฑ ๊ทธ๋ ‡๋‹ค๋ฉด, ์‹ค์ œ๋กœ ๊ฐœ๋ฐœ์„ ํ•˜๋ฉด์„œ AWS ๋ฅผ ์‚ฌ์šฉํ•  ํŒ€์›๋“ค์—๊ฒŒ๋Š” ์–ด๋–ป๊ฒŒ IAM ์‚ฌ์šฉ์ž๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ๋ฉด ๋ ๊นŒ? ๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” ํŠน์ • ์„œ๋น„์Šค ๋˜๋Š” ํŠน์ • ๋™์ž‘์— ๋Œ€ํ•ด์„œ ์‚ฌ์šฉ์ž ๋ณ„๋กœ ๋”ฐ๋กœ ๊ถŒํ•œ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๋จผ์ € ๋ชจ๋“  ์„œ๋น„์Šค์— ์•ก์„ธ์Šค ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” PowerUserAccess ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜์—ฌ IAM ๊ฐœ๋ฐœ์šฉ IAM ์‚ฌ์šฉ์ž๋ฅผ ๋งŒ๋“ค์–ด ๋ณผ ๊ฒƒ์ด๋‹ค. (์ง€๋‚œ ๋ฒˆ์— ๋งŒ๋“  Administrators ๊ณ„์ •๊ณผ ๋‹ฌ๋ฆฌ ์œ ์ € ๊ด€๋ฆฌ๋งŒ ํ•  ์ˆ˜ ์—†๋‹ค.) PowerUser (IAM ์‚ฌ์šฉ์ž) ์ถ”๊ฐ€ IAM ์ฝ˜์†”๋กœ ์ด๋™ํ•˜์—ฌ, ์™ผ์ชฝ์˜ ๋Œ€์‹œ๋ณด๋“œ์—์„œ Users - Add User ๋ฅผ ๋ˆŒ๋Ÿฌ ์‚ฌ์šฉ์ž ์ถ”๊ฐ€ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์•„๋ž˜์™€ ๊ฐ™์ด User name ๊ณผ access type ์„ ์„ค์ •ํ•œ๋‹ค. ๋ณธ ๊ธ€์—์„œ ์„ ํƒํ•œ Acc..

ํŒ€ ํ”„๋กœ์ ํŠธ์—์„œ AWS ๊ด€๋ฆฌํ•˜๊ธฐ (2) - ๊ด€๋ฆฌ์šฉ IAM ์‚ฌ์šฉ์ž

์ง€๋‚œ ๊ธ€์— ์ด์–ด์„œ ์‹ค์ œ๋กœ ๊ด€๋ฆฌ์šฉ IAM ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•ด ๋ณผ ๊ฒƒ์ด๋‹ค. ์ด๋ ‡๊ฒŒ ์ƒ์„ฑํ•œ ๊ด€๋ฆฌ์šฉ IAM ์‚ฌ์šฉ์ž๋Š” ์‹ค์ œ๋กœ Root ์‚ฌ์šฉ์ž์™€ ๊ฐ™์ด AWS ์„œ๋น„์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ์‚ฌ์šฉ๋˜์–ด ์งˆ ์ˆ˜ ์žˆ๋‹ค. ๊ด€๋ฆฌ์šฉ IAM ์‚ฌ์šฉ์ž ์ƒ์„ฑ IAM ์‚ฌ์šฉ์ž ์ถ”๊ฐ€ ํ™”๋ฉด์œผ๋กœ ์ด๋™ ์ƒ๋‹จ์˜ ํƒ์ƒ‰ ํ‘œ์‹œ์ค„์—์„œ IAM ๋ฅผ ๊ฒ€์ƒ‰ํ•˜์—ฌ, IAM ๋Œ€์‹œ๋ณด๋“œ๋กœ ์ด๋™ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ขŒ์ธก์˜ Users ๋ฅผ ํด๋ฆญํ•˜๊ณ  Add users ๋ฅผ ํด๋ฆญํ•˜์—ฌ, IAM ์‚ฌ์šฉ์ž ์ถ”๊ฐ€๋ฅผ ์‹œ์ž‘ํ•œ๋‹ค ๊ด€๋ฆฌ์ž ์—ญํ• ์„ ํ•  ์‚ฌ์šฉ์ž๋ฅผ ์ถ”๊ฐ€ํ•  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— User name ์„ [Administrator] ๋กœ ์ž…๋ ฅํ•ด์ฃผ๊ณ , access type ์€ [Password - AWS Management Console access] ์„ ์„ ํƒํ•˜์—ฌ, AWS ์˜ ์›น ํŽ˜์ด์ง€๋ฅผ ํ†ตํ•ด ๋กœ๊ทธ์ธ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค€๋‹ค..

ํŒ€ ํ”„๋กœ์ ํŠธ์—์„œ AWS ๊ด€๋ฆฌํ•˜๊ธฐ (1) - IAM ์‚ฌ์šฉ์ž

IAM ์‚ฌ์šฉ์ž์˜ ํ•„์š”์„ฑ์„ ๋Š๋ผ๋‹ค! AWS๋ฅผ ํŒ€ ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ๋‹ค... ํ˜„์žฌ ์›น ์„œ๋น„์Šค ๊ฐœ๋ฐœ์„ ๊ณต๋ถ€ํ•˜๊ณ  ์žˆ๋‹ค๋ฉด, ๋ˆ„๊ตฌ๋‚˜ ํ•œ ๋ฒˆ ์ฏค์€ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๊ฒŒ ๋  ๊ฒƒ์ด๊ณ , ์ž๊ธฐ๊ฐ€ ์ง์ ‘ ๋งŒ๋“  ์„œ๋น„์Šค๋ฅผ ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์—๊ฒŒ ๊ณต์œ ํ•ด๋ณด๊ณ  ์‹ถ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค๋ฉด AWS ์™€ ๊ฐ™์€ ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ… ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค. ์ด ๋•Œ, 1์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•œ๋‹ค๊ฑฐ๋‚˜ ํŒ€์ด๋”๋ผ๋„ ํ•œ ๋ช…๋งŒ ์„œ๋ฒ„ ๊ด€๋ฆฌ๋ฅผ ๋‹ด๋‹นํ•˜๊ณ  ์žˆ๋‹ค๋ฉด, AWS ๊ณ„์ • ํ•˜๋‚˜๋งŒ์œผ๋กœ๋„ ์ถฉ๋ถ„ํžˆ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ๋“ค์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ, ํŒ€ ๋‚ด์—์„œ ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด Back End ๋ฅผ ์—ญํ•  ๋ถ„๋‹ดํ•˜์—ฌ ๋‹ด๋‹นํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด, ํ•˜๋‚˜์˜ AWS ๊ณ„์ •์— ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ์ด ์ ‘๊ทผํ•  ํ•„์š”์„ฑ์„ ๋Š๋ผ๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ, ๊ฐœ์ธ ๊ณ„์ •์„ ํŒ€์›๋“ค๊ณผ ๊ณต์œ ํ•˜๊ธฐ์—๋„ ์ฐ์ฐํ•˜๊ณ , ๊ทธ๋ ‡๋‹ค๊ณ  AWS ๋ฅผ ์‚ฌ์šฉํ•  ํŒ€์› ๋ชจ๋‘๊ฐ€ ๊ณ„์ •์„..