๐ŸŒŠ Infra

ยท๐ŸŒŠ Infra/AWS
๊ตญ๋ฏผ๋Œ€ํ•™๊ต์—์„œ "ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…" ๊ต๊ณผ๋ชฉ์„ ์ง„ํ–‰ํ•˜์‹œ๋Š”์ด๊ฒฝ์šฉ ๊ต์ˆ˜๋‹˜์˜ ๊ฐ•์˜ ๊ต์•ˆ์„ ์ด์šฉํ•˜์—ฌ ์ˆ˜์—… ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค   AWS High Availability (๊ณ ๊ฐ€์šฉ์„ฑ) Fault-tolerance์™€ Scalability ๊ด€์ ์—์„œ ์‚ดํŽด๋ณด์ž  ๊ณ ๊ฐ€์šฉ์„ฑ (High Availability)๋ž€? ์„œ๋น„์Šค๋ฅผ ์šด์šฉํ•˜๋Š” ์‚ฌ๋žŒ์ด ๊ด€๋ฆฌ๋ฅผ ํ•˜์ง€ ์•Š์•„๋„ ์„œ๋น„์Šค๊ฐ€ ๋™์ž‘ํ•˜์ง€ ์•Š๋Š” ์‹œ๊ฐ„์„ ์ตœ์†Œํ™”ํ•ด์„œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์˜ˆ์ธก๋œ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•ด์ค„ ์ˆ˜ ์žˆ๋Š” ์ฒ™๋„ ๊ณ ๊ฐ€์šฉ์„ฑ์˜ ๊ตฌํ˜„ ์š”์†Œ๋“ค Fault tolerance ์‘์šฉ์˜ˆ์ œ ์ž์ฒด์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒ์‹œ์—๋„ ์‚ฌ์šฉ์ž์—๊ฒŒ ์˜ํ–ฅ์„ ์ „ํŒŒํ•˜์ง€ ์•Š๋Š” ๋Šฅ๋ ฅ=> fault๊ฐ€ failure๊ฐ€ ๋˜์ง€ ์•Š๊ฒŒ๋ฐฑ์—… ์„œ๋ฒ„์˜ ๊ตฌ๋™ ๋“ฑ Scalability ์‹œ์Šคํ…œ์˜ ๋””์ž์ธ์„ ๋ฐ”๊พธ์ง€ ์•Š๊ณ ๋„ ์ฆ๊ฐ€ํ•˜๋Š” ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ ์‚ฌ์šฉ์ž ..
ยท๐ŸŒŠ Infra/AWS
๊ตญ๋ฏผ๋Œ€ํ•™๊ต์—์„œ "ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…" ๊ต๊ณผ๋ชฉ์„ ์ง„ํ–‰ํ•˜์‹œ๋Š”์ด๊ฒฝ์šฉ ๊ต์ˆ˜๋‹˜์˜ ๊ฐ•์˜ ๊ต์•ˆ์„ ์ด์šฉํ•˜์—ฌ ์ˆ˜์—… ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค   AWS์˜ Region๋“ค us-west-2, ap-southeast-1 ์ฒ˜๋Ÿผ ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Œ => ๋ณดํ†ต์€ ์ˆซ์ž 1๋กœ ๊ฐˆ์ˆ˜๋ก ํฐ ๋„์‹œ๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ  ์ฃผ์š” Region๋ถ€ํ„ฐ ๊ธฐ๋Šฅ์ด ๋ฐฐํฌ๋จ  AWS์—์„œ Region์„ ์„ ํƒํ•  ๋•Œ ๊ณ ๋ ค ์‚ฌํ•ญ๋“ค ๋ฒ•๋ฅ ์  ์ œ์•ฝ ์‚ฌํ•ญ=> ํŠน์ • ๋ฐ์ดํ„ฐ๋Š” ๋ณธ๊ตญ์„ ๋– ๋‚˜์„œ๋Š” ์•ˆ๋จ ๋“ฑ์˜ ์ œ์•ฝ ์‚ฌํ•ญ ๊ณ ๋ ค์ฃผ์š” ์‚ฌ์šฉ์ž์™€ ๊ฐ€๊นŒ์šด ๊ณณ์— ์œ„์น˜=> ์‘๋‹ต์‹œ๊ฐ„ ์ธก๋ฉด์—์„œ ๋ฐ”๋ผ๋ด์•ผํ•จ์ง€์—ญ๋ณ„๋กœ ๊ฐ€์šฉํ•œ ์„œ๋น„์Šค๊ฐ€ ๋‹ค๋ฆ„=> ์ฃผ๋กœ ๋ฏธ๊ตญ ์„œ๋ถ€(us-west-2) ๋ฐ ๋™๋ถ€ (us-east-1) Region ๋ถ€ํ„ฐ ์ƒˆ๋กœ์šด ์„œ๋น„์Šค๊ฐ€ ๊ฐ€๋Šฅํ•ด์งRegion ๋ณ„๋กœ ๊ฐ€๊ฒฉ์ด ๋‹ค๋ฆ„=> ๋ฐ์ดํ„ฐ์„ผํ„ฐ์˜ ์žฅ๋น„ ๊ฐ€๊ฒฉ๋“ฑ์„ ๊ณ ๋ คํ•ด๋ณด๋ฉด..
ยท๐ŸŒŠ Infra/AWS
๊ตญ๋ฏผ๋Œ€ํ•™๊ต์—์„œ "ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…" ๊ต๊ณผ๋ชฉ์„ ์ง„ํ–‰ํ•˜์‹œ๋Š”์ด๊ฒฝ์šฉ ๊ต์ˆ˜๋‹˜์˜ ๊ฐ•์˜ ๊ต์•ˆ์„ ์ด์šฉํ•˜์—ฌ ์ˆ˜์—… ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค    Cloud Infrastructure ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ์„ผํ„ฐ์—๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ˆ˜์ฒœ๋Œ€์˜ ์„œ๋ฒ„๊ฐ€ ์žฅ์ฐฉ๋˜์–ด ์žˆ์Œ  ๋ฐ์ดํ„ฐ ์„ผํ„ฐ ๋‚ด์— ์„œ๋ฒ„๋Š” ๋ž™์œผ๋กœ ๊ตฌ์„ฑ๋จ => ๊ฐ™์€ ๋ž™์—์„œ๋Š” ์‹ฑ๊ธ€ ๋„คํŠธ์›Œํฌ ์Šค์œ„์น˜๋ฅผ ํ†ตํ•ด์„œ ์—ฐ๊ฒฐ => ์—ฌ๋Ÿฌ ๋ž™์€ ๊ณ ์„ฑ๋Šฅ ๋„คํŠธ์›Œํฌ ์Šค์œ„์น˜๋กœ ์—ฐ๊ฒฐ AWS Infrastructure - Region & Availability Zone (AZ) Region ๋ฌผ๋ฆฌ์  ์ง€๋ฆฌ์  ์œ„์น˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ตฌ์„ฑ๋œ ์ž์› ์„ธํŠธ(๋ฏธ๊ตญ ์„œ๋ถ€, ๋ฏธ๊ตญ ๋™๋ถ€, ์•„์‹œ์•„ ์„œ์šธ, ์•„์‹œ์•„ ์ผ๋ณธ ์ง€์—ญ ๋“ฑ..) ํ•˜๋‚˜์˜ Region์€ ์ตœ์†Œ 2๊ฐœ ์ด์ƒ์˜ Availability Zone์œผ๋กœ ๊ตฌ์„ฑ๋จ Availability Zone ํ•˜๋‚˜ ๋˜๋Š” ..
ยท๐ŸŒŠ Infra/Linux
Linux Scurity Model์€ ๋ฆฌ๋ˆ…์Šค ์šด์˜ ์ฒด์ œ์—์„œ ์‹œ์Šคํ…œ ์ž์›์— ๋Œ€ํ•œ ์ ‘๊ทผ ๊ถŒํ•œ์„ ๊ด€๋ฆฌํ•˜๊ณ , ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋œ ๋‹ค์–‘ํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์˜๋ฏธํ•จ=> ์‚ฌ์šฉ์ž, ํ”„๋กœ์„ธ์Šค, ํŒŒ์ผ, ๋„คํŠธ์›Œํฌ ์ž์› ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ์ œ์–ดํ•˜๊ณ , ๋ถˆ๋ฒ•์ ์ธ ์ ‘๊ทผ์ด๋‚˜ ํ•ดํ‚น์„ ๋ฐฉ์ง€ํ•˜๋Š” ๋ฐ ๋„์›€์„ ์คŒ Linux Security Mdoel์€ ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€ ์ฃผ์š” ์ ‘๊ทผ ์ œ์–ด ๋ฐฉ์‹์œผ๋กœ ๋‚˜๋‰จ Discretionary Access Control (DAC) DAC๋Š” ๋ฆฌ๋ˆ…์Šค์—์„œ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋ณด์•ˆ ๋ชจ๋ธ๋กœ ์‹œ์Šคํ…œ ์ž์›์˜ ์†Œ์œ ์ž๊ฐ€ ํŒŒ์ผ์ด๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ ๋“ฑ์˜ ์ž์›์— ๋Œ€ํ•ด ์ฝ๊ธฐ, ์“ฐ๊ธฐ, ์‹คํ–‰ ๊ถŒํ•œ์„ ๋ถ€์—ฌํ•˜๊ฑฐ๋‚˜ ์ œํ•œํ•  ์ˆ˜ ์žˆ์Œ! => ํŒŒ์ผ ๊ถŒํ•œ๊ณผ ์†Œ์œ ์ž ์ •๋ณด๋Š” chmod, chown, chgrp ๋ช…๋ น์„ ํ†ตํ•ด ๊ด€๋ฆฌ ๊ฐ€๋Šฅ(๊ฐ์ฒด์˜ ์ฃผ์ฒด๊ฐ€ ์ ‘๊ทผ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋ถ„..
ยท๐ŸŒŠ Infra/AWS
๊ตญ๋ฏผ๋Œ€ํ•™๊ต์—์„œ "ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…" ๊ต๊ณผ๋ชฉ์„ ์ง„ํ–‰ํ•˜์‹œ๋Š” ์ด๊ฒฝ์šฉ ๊ต์ˆ˜๋‹˜์˜ ๊ฐ•์˜ ๊ต์•ˆ์„ ์ด์šฉํ•˜์—ฌ ์ˆ˜์—… ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค   ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ… ์„œ๋น„์Šค์˜ ๋Œ€์ค‘ํ™” ์šฐ์„  ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…์— ๋Œ€ํ•ด ์•Œ์•„์•ผ ํ•˜๋Š”๋ฐ   ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…์€ ์ปดํ“จํŒ…์„ ํ•˜๋“œ์›จ์–ด ๊ด€์ ์ด ์•„๋‹Œ ์†Œํ”„ํŠธ์›จ์–ด ๊ด€์ ์—์„œ ํ™œ์šฉํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค! ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ… ์„œ๋น„์Šค์˜ ํŠน์ง• ์ปดํ“จํ„ฐ ์ž์›์˜ ์ดˆ๊ธฐ ๊ตฌ๋งค ์—†์ด ํ•„์š” ํ• ๋•Œ ๋งˆ๋‹ค ๋Œ€์—ฌ ํ›„ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋น„์Šค์ธํ„ฐ๋„ท์„ ํ†ตํ•œ ์„œ๋น„์Šค ์ œ๊ณต์—…์ฒด ์ปดํ“จํ„ฐ๋กœ ์—ฐ๊ฒฐ๊ณผ๊ธˆ์€ ์‹œ๊ฐ„๋‹น ์ด๋ฃจ์–ด ์ง (ex. CPU 4์ฝ”์–ด, 16๊ธฐ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ๋Š” ์‹œ๊ฐ„๋‹น 20์„ผํŠธ : ์ „๊ธฐ์„ธ์™€ ๋น„๊ต)์ปดํ“จํŒ… ์ž์›์˜ ์œ ์ง€๋ณด์ˆ˜, ๊ด€๋ฆฌ ๋ถ€๋‹ด์„ ๋œ์–ด ์คŒ์ปดํ“จํŒ… ์ž์› ๋ฟ ์•„๋‹ˆ๋ผ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜ ์‚ฌ์šฉ์ž ์นœํ™”ํ˜• ์„œ๋น„์Šค๊ฐ€ ์ œ๊ณต๋˜๊ณ  ์žˆ์Œ ์ด๋ ‡๊ฒŒ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ์ œ๊ณต ์—…์ฒด๋Š” ์ž์› ๋ฐ ํ•„์š” ์†Œํ”„..
ยท๐ŸŒŠ Infra/Linux
set nu : ์ค„๋ฒˆํ˜ธ ํ‘œ์‹œ(number) set ic : ๊ฒ€์ƒ‰์‹œ ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ X (ignorecase) set si : ์ž๋™ ๋“ค์—ฌ์“ฐ๊ธฐ (smart indenter) ์œ„ ์˜ต์…˜๋“ค์„ vimrc์— ๋„ฃ์–ด์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๊ฒŒ๋” ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ์ž๊พธ vimrc๊ฐ€ root์— ๋Œ€ํ•ด rw-๋ผ๊ณ  ํ‘œ์‹œ๊ฐ€ ๋˜์–ด์žˆ๋Š”๋ฐ read only์ด๋ผ ์ €์žฅ์ด ์•ˆ๋˜๋Š” ์ด์Šˆ๊ฐ€ ์žˆ์Œ (ํ˜„์žฌ Mac ์‚ฌ์šฉ์ค‘) ์ฐพ์•„๋ณด๋‹ˆ ๋ฃจํŠธ ํŒŒ์ผ ์‹œ์Šคํ…œ์ด ์ฝ๊ธฐ ์ „์šฉ(read-only)์œผ๋กœ ๋งˆ์šดํŠธ ๋˜์–ด ์žˆ๋‹ค๊ณ  ํ•จ (macOS์—์„œ ๋ณด์•ˆ ๋งค์ปค๋‹ˆ์ฆ˜?) ์ฆ‰, macOS์˜ ์ตœ์‹  ๋ฒ„์ „์—์„œ๋Š” ๋ณด์•ˆ ๊ธฐ๋Šฅ์œผ๋กœ ์ธํ•ด /usr, /System, /bin ๋“ฑ ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ฝ๊ธฐ ์ „์šฉ ๋ชจ๋“œ๋กœ ์„ค์ •๋จ => ์ด๋กœ ์ธํ•ด ์‹œ์Šคํ…œ ํŒŒ์ผ์„ ์ˆ˜์ •ํ•˜๋ ค๊ณ  ํ•  ๋•Œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”๊ฑฐ์˜€์Œ.. ์‹œ์Šค..
ยท๐ŸŒŠ Infra/AWS
ํ”„๋กœ์ ํŠธ๋ฅผ ๋ฐฐํฌํ•˜๋˜ ์ค‘ AWS EC2์—์„œ ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ ํ˜„์ƒ์œผ๋กœ ssh ์ ‘์†์ด ์•ˆ๋˜๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ–ˆ๋‹ค...(ํ”„๋ฆฌํ‹ฐ์–ด ์‚ฌ์šฉ์ค‘)  ํ”„๋ฆฌํ‹ฐ์–ด๋กœ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋Š” t2.micro ์ธ์Šคํ„ด์Šค ์œ ํ˜•์€ ๋žจ์ด 1GB์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑํ˜„์ƒ์ด ์ผ์–ด๋‚  ์ˆ˜ ์žˆ๋‹ค! => swap file์„ ์ด์šฉํ•˜์—ฌ swap memory ํ• ๋‹น์„ ํ•ด๋ณด์ž!(ํ˜„์žฌ ์ƒ์„ฑํ•œ EC2๋Š” ubuntu ํ™˜๊ฒฝ์ž„)  EC2 ๋žจ์ด ๊ฐ€๋“ ์ฐผ๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์ œ ๋””์Šคํฌ์˜ ์šฉ๋Ÿ‰์„ ์ด์šฉํ•˜์—ฌ ๋ถ€์กฑํ•œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋Œ€์ฒดํ•  ๊ณต๊ฐ„์„ swap memory ๋ผ๊ณ  ํ•จ! => ๋ณดํ†ต swap memory๋Š” ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ์˜ 2๋ฐฐ๋ฅผ ์ถ”์ฒœํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ํ•จ! ์Šค์™‘ ๋ฉ”๋ชจ๋ฆฌ๋Š” RAM์„ ๋Œ€์‹ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, RAM์ด ๋ถ€์กฑํ•  ๋•Œ ์ž„์‹œ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋น„์ƒ ๋ฉ”์ปค๋‹ˆ์ฆ˜์œผ๋กœ ์ƒ๊ฐํ•˜๋Š”๊ฒŒ ์ข‹์Œ=> ๋””์Šคํฌ์— ์ €์žฅ๋œ ์Šค์™‘ ๋ฉ”๋ชจ๋ฆฌ๋Š” R..
ยท๐ŸŒŠ Infra/AWS
EC2์— mysql์„ docker๋ฅผ ์ด์šฉํ•ด์„œ ์˜ฌ๋ ค๋ณด์ž  https://hanjungyo.tistory.com/74 [Spring Boot] Docker๋ฅผ ์ด์šฉํ•ด EC2์— ๋ฐฐํฌํ•ด๋ณด๊ธฐEC2 ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ๋ฐฉ๋ฒ•์€ ์ด์ „ ํฌ์ŠคํŒ…์„ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š”!๋กœ์ปฌ์—์„œ Docker ์„ค์ • Jar ํŒŒ์ผ ๋นŒ๋“œํ•˜๊ธฐ ๋ณดํ†ต ๋นŒ๋“œ๋ฅผ ํ•  ๋•Œ ./graldew clean build ๋ฅผ ๋งŽ์ด ๋ดค์„ํ…๋ฐ  ์ด๋ฒˆ์—๋Š” ./gradlew clean bootJar๋ฅผ ํ†ตํ•ด Spring Bhanjungyo.tistory.com EC2์— docker๊ฐ€ ์„ค์น˜๋˜์–ด์žˆ์ง€ ์•Š๋‹ค๋ฉด ์œ„ ๋งํฌ์˜ docker ์„ค์น˜ํ•˜๊ธฐ ๋ถ€๋ถ„์„ ์ฐธ๊ณ   EC2์— ssh๋กœ ์ ‘์†์„ ํ•˜๊ณ  MySQL Docker Image ๋‹ค์šด๋กœ๋“œ sudo docker pull mysql // ์ œ์ผ ์ตœ์‹  ๋ฒ„์ „ ๋‹ค์šด๋กœ๋“œ// ..
ยท๐ŸŒŠ Infra/Docker
Docker๋ฅผ ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ปจํ…Œ์ด๋„ˆ์™€ ๊ฐ€์ƒํ™”์— ๋Œ€ํ•ด ๋จผ์ € ์ด์•ผ๊ธฐ๋ฅผ ํ•ด์•ผํ•œ๋‹ค! ์ปจํ…Œ์ด๋„ˆ ๊ทธ๋Ÿผ ์ปจํ…Œ์ด๋„ˆ๋ž€ ๋ฌด์—‡์ผ๊นŒ? ์†Œํ”„ํŠธ์›จ์–ด์™€ SW๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๋ชจ๋“  ๊ตฌ์„ฑ ํŒŒ์ผ์„ ํฌํ•จํ•œ ์†Œํ”„ํŠธ์›จ์–ด ํŒจํ‚ค์ง€๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋จ! ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์™œ ํ•„์š”ํ• ๊นŒ? ๋งŒ์•ฝ FastAPI ์™€ Flask๋ฅผ ์ด์šฉํ•ด ๊ฐ๊ฐ ์„œ๋ฒ„๋ฅผ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•ด ๋กœ์ปฌ์— ์ง์ ‘ python ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์„ ์„ค์น˜ํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž ํ”„๋กœ์ ํŠธ ๊ฐ„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์˜์กด์„ฑ ์ถฉ๋Œ ๋ฌธ์ œ, python ๋ฒ„์ „ ์ถฉ๋Œ ๋ฌธ์ œ ๋“ฑ๋“ฑ ์—ฌ๋Ÿฌ ๋ฌธ์ œ๋“ค์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค => ์ด๋ฅผ ์œ„ํ•ด ํ”„๋กœ์ ํŠธ(์„œ๋น„์Šค)๋งˆ๋‹ค ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋งŒ๋“ค์–ด์„œ ํ™˜๊ฒฝ์„ ๊ฒฉ๋ฆฌํ•˜๋Š”๊ฒŒ ์ข‹์Œ!   Dockerfile์€ ๋งŒ๋“ค๊ณ ์ž ํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ์˜ ์„ธ๋ถ€์‚ฌํ•ญ์„ ์ ์–ด๋†“์€ ํŒŒ์ผ์ด๊ณ Requirements.txt๋Š” ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์— ์„ค์น˜ํ•  ํŒŒ์ด์ฌ ๋ผ์ด๋ธŒ๋Ÿฌ..
ยท๐ŸŒŠ Infra/CI · CD
CI/CD๋ž€? ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฐœ๋ฐœ์„ ํ•  ๋•Œ 1. IDE์— ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑ 2. ์ฝ”๋“œ ํ…Œ์ŠคํŠธ 3. ๋นŒ๋“œ 4. ๋นŒ๋“œ๋œ ์•„ํ‹ฐํŒฉํŠธ๋ฅผ ๋ฐฐํฌ 5. ๋ฒ„๊ทธ๊ฐ€ ๋ฐœ์ƒ ํ•˜๋ฉด 1๋ฒˆ์œผ๋กœ ๋Œ์•„๊ฐ€ ์ฝ”๋“œ๋ฅผ ๋‹ค์‹œ ์ž‘์„ฑ ์˜ ์‚ฌ์ดํด์„ ๋Œ๊ฒŒ๋œ๋‹ค => ์ฝ”๋“œ ์ˆ˜์ •์€ ์˜ค๋ž˜ ์Œ“์•„๋‘์—ˆ๋‹ค๊ฐ€ ํ•œ๋ฒˆ์— ํ•˜๊ธฐ๋ณด๋‹ค๋Š” ์งง์€ ์ฃผ๊ธฐ๋กœ ๋นจ๋ฆฌ๋นจ๋ฆฌ ํ•˜๋Š”๊ฒŒ ์ข‹์Œ ๊ทธ๋ž˜์„œ ์ƒˆ๋กญ๊ฒŒ ๋– ์˜ค๋ฅด๊ณ  ์žˆ๋Š” ์ปจ์…‰์ด Continuous Integration (CI) ์ž„!(์ง€์†์ ์ธ ํ†ตํ•ฉ) ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ์˜ ํ’€ ์‚ฌ์ดํด์„ ์งง์€ ์ฃผ๊ธฐ๋กœ ๋Œ๋ ค์„œ ๋น ๋ฅด๊ฒŒ ์ž๋™ํ™” ์‹œํ‚ค๊ณ , ๊ฐœ์„ ์„ ํ•˜์ž๋Š” CI ์ปจ์…‰์ด๋‹ค => ์ฝ”๋“œ, ๋นŒ๋“œ, ํ…Œ์ŠคํŠธ ๋ถ€๋ถ„์„ ์ž๋™ํ™”ํ•ด์„œ ์กฐ๊ธˆ ๋” ์žฆ์€ ์ฃผ๊ธฐ๋กœ ๊ทธ ์ƒ๋ช…์ฃผ๊ธฐ๋ฅผ ์งง๊ฒŒ ํ•ด๋ณด์ž๋Š” ์ด์•ผ๊ธฐ! Continuous Delivery / Deployment (CD) ์ž„!(์ง€์†์ ์ธ ์ œ๊ณต / ๋ฐฐํฌ) ๋ณด..
ยท๐ŸŒŠ Infra/AWS
์œˆ๋„์šฐ์—์„œ vscode๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœ์ค‘์ธ๋ฐํ„ฐ๋ฏธ๋„์—์„œ EC2 ์„œ๋ฒ„(ubuntu)์— ์ ‘์†ํ•˜๋ ค๊ณ  ๋ช…๋ น์–ด๋ฅผ ์ณค๋Š”๋ฐ....!!!! Permissions for 'key.pem' are too open์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒ....๐Ÿ˜ซ ์ •๋ง 2์‹œ๊ฐ„์ •๋„ ๊ตฌ๊ธ€๋ง์„ ํ•œ๊ฑฐ ๊ฐ™์€๋ฐ  ์šฐ์„  ๋ฐœ์ƒ ์›์ธ์€ ์œˆ๋„์šฐ์—์„œ ubuntu EC2๋กœ ์—ฐ๊ฒฐํ•  ์‹œ์— pemํŒŒ์ผ์˜๊ถŒํ•œ์ด ๋„ˆ๋ฌด ๋†’๊ฒŒ ๋ถ€์—ฌ ๋˜์–ด EC2์—์„œ ํ‚ค๋ฅผ ๊ฑฐ๋ถ€ํ•˜๋Š” ๊ฒƒ์ด์—ˆ๋‹ค => ์œˆ๋„์šฐ์—์„œ ์„ค์ •๋œ ๋ณด์•ˆ ๊ถŒํ•œ์ด ์ž๋™์œผ๋กœ pemํŒŒ์ผ์— ์ ์šฉ๋˜์–ด ์„ค์ •๋œ ๋ชจ๋“  ์‚ฌ์šฉ์ž๊ฐ€ pem์˜ ๊ถŒํ•œ์„ ๊ฐ–๊ธฐ ๋•Œ๋ฌธ   ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ 2์‹œ๊ฐ„ ๋™์•ˆ ์ฐพ์€ ๊ฑฐ์น˜๊ณ ๋Š” ๊ฝค ๊ฐ„๋‹จ..? ํ–ˆ์Œ   1. pem ํŒŒ์ผ์— ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ์†์„ฑ์— ๋“ค์–ด๊ฐ„ ํ›„ ๋ณด์•ˆํƒญ์—์„œ ๊ณ ๊ธ‰์„ ํด๋ฆญ 2.  ์ƒ์† ์‚ฌ์šฉ ์•ˆํ•จ์„ ํด๋ฆญ("์ด ๊ฐœ์ฒด์—์„œ ์ƒ์†๋œ ์‚ฌ..
'AWS ๊ต๊ณผ์„œ' ์ฑ…์ด ๋์ด ๋ณด์ด๊ธฐ ์‹œ์ž‘ํ•˜๋„ค์š”.. ์›Œ๋“œํ”„๋ ˆ์Šค ์†Œ๊ฐœ ์ง€๊ธˆ๊นŒ์ง€ ๊ฐœ๋ณ„์ ์ธ AWS ์„œ๋น„์Šค๋“ค์„ ํ•™์Šตํ•ด์™”๊ณ  10์žฅ์—์„œ๋Š” AWS ์„œ๋น„์Šค๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์›Œ๋“œํ”„๋ ˆ์Šค(wordpress) ๋ธ”๋กœ๊ทธ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š”๋ฐ ์—ฌ๊ธฐ์„œ ์›Œ๋“œํ”„๋ ˆ์Šค๋Š” ์†์‰ฝ๊ฒŒ ๋ธ”๋กœ๊ทธ, ์›น ์‚ฌ์ดํŠธ, ์‡ผํ•‘๋ชฐ ๋“ฑ ์›น ์‚ฌ์ดํŠธ๋ฅผ ์ œ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ์˜คํ”ˆ ์†Œ์Šค ํ”Œ๋žซํผ์ด๋‹ค ์›น ์‹œ์Šคํ…œ ๊ตฌ์„ฑ ์š”์†Œ ์ผ๋ฐ˜์ ์œผ๋กœ ์›น ์‹œ์Šคํ…œ์„ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด ์›น ์„œ๋ฒ„, ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„๊ฐ€ ํ•„์š”ํ•˜๋‹ค ์›น ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์— ๋Œ€ํ•ด ์ •์ , ๋™์  ์ฝ˜ํ…์ธ ๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ, ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ ์š”์ฒญ์— ๋”ฐ๋ผ ๋™์  ์ฝ˜ํ…์ธ ๋ฅผ ์ œ๊ณตํ•œ๋‹ค ๊ทธ๋ฆฌ๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ฑฐ๋‚˜ ์ €์žฅํ•ด์„œ ํ™œ์šฉํ•œ๋‹ค ์›น ์‚ฌ์šฉ์ž๊ฐ€ ์–ผ๋งˆ ๋˜์ง€ ์•Š๊ณ  ์†Œ๊ทœ๋ชจ์ผ ๋•Œ ์›น ์‹œ์Šคํ…œ์„ ํ•˜๋‚˜์˜ ์„œ๋ฒ„์—์„œ ๊ตฌ์„ฑํ•˜์—ฌ ์„œ๋น„..
JJunGyo
'๐ŸŒŠ Infra' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (2 Page)