๐ŸŒŠ Infra

ยท๐ŸŒŠ Infra/CI · CD
1. Github Secrets ์„ค์ •  Github Actions๋ฅผ ์ ์šฉํ•  Repo์˜ Setting์—์„œ Secrets and variables์— ๋“ค์–ด๊ฐ€์ฃผ๋ฉดNew repository secret๋กœ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Œ DOCKERHUB_USERNAME=> Docker Hub ์‚ฌ์šฉ์ž ์ด๋ฆ„DOCKERHUB_PASSWORD=> Docker Hub ๋น„๋ฐ€๋ฒˆํ˜ธEC2_HOST=> EC2 ํผ๋ธ”๋ฆญ IPEC2_USER=> EC2์— SSH๋กœ ์ ‘์†ํ•  ๋•Œ ์‚ฌ์šฉํ•  ์‚ฌ์šฉ์ž ์ด๋ฆ„์ž„(์šฐ๋ถ„ํˆฌ EC2๋ฅผ ์‚ฌ์šฉ์ค‘์ด๊ธฐ์— ubuntu๋กœ ์ง€์ •ํ•˜์˜€์Œ)EC2_SSH_KEYhttps://hanjungyo.tistory.com/127 Jenkins์„ ์ด์šฉํ•œ Spring Boot ๋ฐฐํฌ ์ž๋™ํ™”๋กœ์ปฌ์—์„œ Spring Boot ๋นŒ๋“œํ•˜๊ณ  docker imag..
ยท๐ŸŒŠ Infra/CI · CD
๋กœ์ปฌ์—์„œ Spring Boot ๋นŒ๋“œํ•˜๊ณ  docker image ๋งŒ๋“ค์–ด์„œ docker hub์— ์˜ฌ๋ฆฌ๊ณ ..EC2 ๋“ค์–ด๊ฐ€์„œ docker hub์— ์žˆ๋Š” ์ด๋ฏธ์ง€ pull ๋ฐ›์•„์„œ run ์‹œํ‚ค๊ธฐ... ๊ฐœ๋ฐœ์„ ํ•˜๋ฉด ํ• ์ˆ˜๋ก CI/CD์˜ ์ค‘์š”์„ฑ์ด ๊นŠ๊ฒŒ ๋А๊ปด์ง€๋Š” ๊ฒƒ ๊ฐ™๋‹ค... ๋ฐฐํฌ์— ์žˆ์–ด์„œ ๋‚˜์™€ ๊ฐ™์ด ๊ท€์ฐฎ์Œ ํ˜น์€ ์–ด๋ ค์›€์„ ๋А๋ผ๊ณ  ์žˆ๋Š” ๋‹ค๋ฅธ ๋ถ„๋“ค์„ ์œ„ํ•ด ๊ธฐ๋ก์„ ๋‚จ๊ธฐ๋ ค๊ณ ํ•œ๋‹ค  ์‹œ์ž‘ํ•˜๊ธฐ์— ์•ž์„œ ์Šฌํ”ˆ ์‚ฌ์—ฐ (Jenkins ๋„์ž…๊ธฐ..) ์ผ๋‹จ ์‹œ์ž‘ํ•˜๊ธฐ์— ์•ž์„œ Jenkins์„ ๋„์ž…ํ•˜๊ธฐ๊นŒ์ง€์˜ ์Šฌํ”ˆ ์ „์„ค์ด ์žˆ๋‹ค.. https://hanjungyo.tistory.com/126 ์ฝ”๋“œ๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ๋งˆ๋‹ค ๋นŒ๋“œ, ํ…Œ์ŠคํŠธ, ๋ฐฐํฌ ๋“ฑ์˜ ์ž‘์—…์„ ์ž๋™์œผ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Œ Github" data-og-host="hanjungyo.tistory.com" dat..
ยท๐ŸŒŠ Infra/CI · CD
Github Actions์˜ ๊ธฐ๋ณธ ๊ฐœ๋… ์ผ๋‹จ Github Actions๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์ž๋™ํ™”ํ•  ์ˆ˜ ์žˆ๋Š” CI/CD ๋„๊ตฌ์ž„=> ์ฝ”๋“œ๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ๋งˆ๋‹ค ๋นŒ๋“œ, ํ…Œ์ŠคํŠธ, ๋ฐฐํฌ ๋“ฑ์˜ ์ž‘์—…์„ ์ž๋™์œผ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Œ Github Actions๋Š”  Github ๋‚ด์—์„œ ๋ฐ”๋กœ ์‹คํ–‰๋˜๊ธฐ์— ์ถ”๊ฐ€ ์„ค์ •์ด ์ ์–ด ๋‚œ์ด๋„๊ฐ€ ๋น„๊ต์  ์‰ฝ๊ณ  PR์ด๋‚˜ ์ปค๋ฐ‹, ์ด์Šˆ, ํƒœ๊ทธ ๋“ฑ ๋‹ค์–‘ํ•œ Github์˜ ์ด๋ฒคํŠธ์— ๋ฐ˜์‘์ด ๊ฐ€๋Šฅํ•จ!(ํผ๋ธ”๋ฆญ ๋ ˆํฌ์ง€ํ† ๋ฆฌ ๊ธฐ์ค€์œผ๋กœ ๋ฌด๋ฃŒ์ž„) ๊ตฌ์„ฑ ์š”์†Œ ์šฐ์„  ํ•œ ๋ฒˆ ์ญ‰ ์ฝ์–ด๋ณด๊ณ  ๋ฐ‘์˜ ์˜ˆ์ œ ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด๋ฉด ์ดํ•ด๊ฐ€ ๋” ์‰ฌ์›€ Workflow Github Actions์—์„œ ์‹คํ–‰๋˜๋Š” ์ž๋™ํ™”๋œ ํ”„๋กœ์„ธ์Šค๋กœ .github/workflows/ ๋””๋ ‰ํ† ๋ฆฌ์— .yml ํŒŒ์ผ๋กœ ์ •์˜๋จ=> ํ•˜๋‚˜ ์ด์ƒ์˜ Job์œผ๋กœ ๊ตฌ์„ฑ๋˜๊ณ  push, p..
ยท๐ŸŒŠ Infra/AWS
ํ”„๋กœ์ ํŠธ์—์„œ AWS IAM์„ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ด์œ  ์ด๋ฒˆ์— ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ AWS๋กœ ์ธํ”„๋ผ๋ฅผ ๊ตฌ์ถ•ํ•˜๊ฒŒ ๋˜์—ˆ์Œ ๋‹ค๋ฅธ ๊ธ€์—์„œ๋„ ๋‹ค๋ค˜์ง€๋งŒ AWS ๋ฃจํŠธ ๊ณ„์ •์„ ์ด์šฉํ•˜๋Š” ๊ฒƒ์€ ๊ทธ๋ ‡๊ฒŒ ์ข‹์€ ๋ฐฉ๋ฒ•์ด ์•„๋‹˜(ํŠนํžˆ๋‚˜ AWS ๊ด€๋ จ ์ž‘์—…์„ ํ•˜๋Š” ์‚ฌ๋žŒ์ด ์—ฌ๋Ÿฌ๋ช…์ธ ๊ฒฝ์šฐ) ๋ณด์•ˆ ๋ฌธ์ œ๋ฃจํŠธ ๊ณ„์ •์€ ๋ชจ๋“  ๊ถŒํ•œ์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์„œ ๋ฆฌ์Šคํฌ๊ฐ€ ๋„ˆ๋ฌด ํผ=> ์ด ๋ถ€๋ถ„์— ๋Œ€ํ•ด์„œ๋Š” ๋ฃจํŠธ ๊ณ„์ •์€ MFA๋ฅผ ์„ค์ •ํ•˜๊ณ  ์ดˆ๊ธฐ IAM ๊ณ„์ •์„ ๋งŒ๋“  ํ›„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด AWS Best Pracitce๋ผ๊ณ  ํ•จํŒ€์›๋“ค ๊ฐ์ž ๊ฐœ๋ณ„ ๊ณ„์ •์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ (+ ์œ ์—ฐํ•œ ๊ถŒํ•œ ๊ด€๋ฆฌ)IAM์œผ๋กœ ๊ฐ ํŒ€์›์—๊ฒŒ ๊ฐœ๋ณ„ AWS ๊ณ„์ •์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๊ณ  IAM User, IAM Role์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•„์š”ํ•œ ๊ถŒํ•œ๋งŒ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ์Œ=> ์กฐ๊ธˆ ๋” ์ •ํ™•ํžˆ๋Š” ํ•˜๋‚˜์˜ AWS ๊ณ„์ •์ด๊ณ  ๊ณ„์ • ๋‚ด์—์„œ ๊ฐœ๋ณ„..
Kubectl kubectl์€ Kubernetes Cluster๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ์ž„ ๋ฆฌ์†Œ์Šค ์ƒ์„ฑ (create), Update (apply) create -> ์ตœ์ดˆ ์ƒ์„ฑํ•  ๋•Œ ์‚ฌ์šฉํ•จapply -> ์ตœ์ดˆ๋“ , ์ค‘๊ฐ„์— ๊ฐ’์ด ๋ณ€๊ฒฝ๋œ ์ •๋ณด๋“  ๋‹ค ์‚ฌ์šฉ๊ฐ€๋Šฅ๋ฆฌ์†Œ์Šค ์‚ญ์ œ (delete) ๋ฆฌ์†Œ์Šค ์ƒ์„ฑ, ์‚ญ์ œ์—์„œ๋Š” -f๋กœ Manifest File์˜ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •=> ๊ฒฝ๋กœ์˜ Local Directory๊ฐ€ ๋  ์ˆ˜ ์žˆ๊ณ , http ๊ฒฝ๋กœ๋„ ๊ฐ€๋Šฅํ•จ ๋ฆฌ์†Œ์Šค ์ƒํƒœ ์กฐํšŒ (get) kubectl get {Resource Type} [Resource Name] [-Aw] [-n ]  -A : ๋ชจ๋“  namespace์— ๋Œ€ํ•ด์„œ ์กฐํšŒ-w : watchResource Typepoding (ingress)deploymentsvc (service)..
ยท๐ŸŒŠ Infra/AWS
๊ตญ๋ฏผ๋Œ€ํ•™๊ต์—์„œ "ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…" ๊ต๊ณผ๋ชฉ์„ ์ง„ํ–‰ํ•˜์‹œ๋Š”์ด๊ฒฝ์šฉ ๊ต์ˆ˜๋‹˜์˜ ๊ฐ•์˜ ๊ต์•ˆ์„ ์ด์šฉํ•˜์—ฌ ์ˆ˜์—… ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค  Decoupling Modules   Decoupling Modules๋ž€ ์ „์ฒด ์‹œ์Šคํ…œ์„ ๋…๋ฆฝ์ ์ธ ์ปดํฌ๋„ŒํŠธ๋กœ ๋””์ž์ธ ํ•˜๋Š” ๊ฒƒ์ž„ => ๊ฐ ์ปดํฌ๋„ŒํŠธ ๊ฐ„์˜ ์ข…์†์„ฑ์„ ์ตœ์†Œํ™”ํ•จ์œผ๋กœ ํŠน์ • ์ปดํฌ๋„ŒํŠธ์—์„œ ๋ฐœ์ƒํ•œ ๋ฌธ์ œ๊ฐ€ ๋‹ค๋ฅธ ๊ณณ์œผ๋กœ ์ „ํŒŒ๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•ด์•ผํ•จ Tightly coupled : ํ•œ ์‘์šฉ ์„œ๋ฒ„์˜ ๋ฌธ์ œ๊ฐ€ ๋ชจ๋“  ์›น์„œ๋ฒ„์— ๋ฌธ์ œ๋ฅผ ๋ฏธ์น  ์ˆ˜๋„ ์žˆ์ŒLoosely coupled : ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ๊ฐ€ ์‘์šฉ ์„œ๋ฒ„์˜ ์‹คํŒจ๋ฅผ ๊ฐ€๋ ค์คŒ(๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋Š” health check๋ฅผ ์‹คํ–‰ํ•จ)์‹œ์Šคํ…œ์ด loosely coupled ๋  ์ˆ˜๋ก ์‹œ์Šคํ…œ์˜ ํ™•์žฅ์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ๊ฒƒ์ด ์‰ฌ์›Œ์ง  ๋ชจ๋“ˆ์„ decoupling ํ•˜๋Š” ๋ฐฉ๋ฒ• ์„œ๋ฒ„๋ฅผ ๋งŒ๋“ค์ง€ ๋ง๊ณ  ..
Kubernetes๋ž€? Google์ด ๋งŒ๋“  Container Ochestration์„ ํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ์ž„ Container Ochestration์ด๋ž€? Container๋ฅผ ์ž๋™์œผ๋กœ ๊ด€๋ฆฌํ•ด์คŒ=>  ์ค‘์•™์—์„œ ๊ด€๋ฆฌCluster ์ฐจ์›์œผ๋กœ ๊ด€๋ฆฌ์ผ๋ฐ˜ Docker๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๋‹ค๋ฅด๊ฒŒ ํ™•์žฅ์˜ ์šฉ์ด์„ฑ์„ ์ œ๊ณตํ•ด์ฃผ๊ณ  ์—ฌ๋Ÿฌ ์„œ๋ฒ„๋ฅผ ๋™์‹œ์— ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์ŒKubernetes๊ฐ€ ์ œ๊ณตํ•ด์ฃผ๋Š” ๊ฐ€์น˜? ๊ด€๋ฆฌ ์ธก๋ฉด์—์„œ ์—ฌ๋Ÿฌ๊ฐ€์ง€๋ฅผ ์ž๋™์œผ๋กœ ๊ด€๋ฆฌํ•ด์ฃผ๊ณ , ์ถ”์ƒํ™”๋œ ๊ฐœ๋…์—์„œ ์ ‘๊ทผํ•˜๊ธฐ์— ํ›จ์”ฌ ํŽธํ•จ=> ๋Œ€๊ทœ๋ชจ ํ™˜๊ฒฝ ๊ด€๋ฆฌ๋ฐฐํฌ๊ฐ™์€ ๊ฒƒ๋“ค๋„ ๋งค์šฐ ํŽธ๋ฆฌํ•˜๊ณ  ํ•ฉ๋ฆฌ์ ์œผ๋กœ ํ•ด์คŒ Kubernetes ์ปดํฌ๋„ŒํŠธ  ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค Cluster๋Š” ์ปดํ“จํ„ฐ ์ง‘ํ•ฉ์ธ Node์™€ Control Plain ์œผ๋กœ ๊ตฌ์„ฑ๋จ ์šฐ์„  Node๋Š” ๋‘ ๊ฐ€์ง€ ์ข…๋ฅ˜๊ฐ€ ์žˆ์ŒMaster Node Clust..
ยท๐ŸŒŠ Infra/Docker
๊ตญ๋ฏผ๋Œ€ํ•™๊ต์—์„œ "ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…" ๊ต๊ณผ๋ชฉ์„ ์ง„ํ–‰ํ•˜์‹œ๋Š”์ด๊ฒฝ์šฉ ๊ต์ˆ˜๋‹˜์˜ ๊ฐ•์˜ ๊ต์•ˆ์„ ์ด์šฉํ•˜์—ฌ ์ˆ˜์—… ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค  ์‹œ์Šคํ…œ ๊ฐ€์ƒํ™” ๊ธฐ์ˆ  Virtual Machine  Hypervisor (Virtual Machine Monitor)๋ฅผ ํ†ตํ•œ ์—ฌ๋Ÿฌ ์šด์˜์ฒด์ œ๊ฐ„ ๋…๋ฆฝ์  ํ™˜๊ฒฝ ์ œ๊ณต๊ฐ VM์€ ๋…๋ฆฝ์ ์ธ ๋ณ„๋„์˜ ์ปค๋„(์šด์˜์ฒด์ œ), ์‹œ์Šคํ…œ ํ”„๋กœ์„ธ์Šค ๋“ฑ์„ ๊ด€๋ฆฌํ•˜๊ฒŒ๋จ=> ์ถ”๊ฐ€ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ํด ์ˆ˜ ์žˆ์Œ๊ฐ๊ฐ์˜ VM์€ ๋ณ„๋„์˜ ์ปค๋„์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๊ธฐ์—, ์„œ๋กœ ๋‹ค๋ฅธ ์šด์˜์ฒด์ œ์˜ ๋™์‹œ ๋™์ž‘ ๊ฐ€๋ŠฅVMM์„ ํ†ตํ•œ ์ž์› ๊ณต์œ ๋กœ ์ธํ•ด VM ๊ฐ„ ๊ฐ„์„ญ์€ ๋œํ•˜์ง€๋งŒ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์žˆ์–ด monolithic ๊ตฌ์กฐ์— ์ ํ•ฉContainer Technologies Container  ํ˜ธ์ŠคํŠธ ์šด์˜์ฒด์ œ๋‚ด์—์„œ ๋™์ž‘ํ•˜๋ฉฐ ์ปค๋„ ๋ฐ ๋งŽ์€ ์‹œ์Šคํ…œ ์ž์›์„ ํ˜ธ์ŠคํŠธ ๊ธฐ๊ธฐ์™€ ๊ณต์œ ๊ทน๋‹จ์ ์œผ..
ยท๐ŸŒŠ Infra
๊ตญ๋ฏผ๋Œ€ํ•™๊ต์—์„œ "ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…" ๊ต๊ณผ๋ชฉ์„ ์ง„ํ–‰ํ•˜์‹œ๋Š”์ด๊ฒฝ์šฉ ๊ต์ˆ˜๋‹˜์˜ ๊ฐ•์˜ ๊ต์•ˆ์„ ์ด์šฉํ•˜์—ฌ ์ˆ˜์—… ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค  Monolithic Application and Microservice Application Monolithic application  ํ•˜๋‚˜์˜ ์„œ๋ฒ„์—์„œ ๋‹ค๋ฅธ ๋ชฉ์ ์„ ๊ฐ€์ง€๋Š” ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋™์ž‘์„œ๋ฒ„์˜ ์šฉ๋Ÿ‰์ด ์ปค์•ผ ํ•  ํ•„์š”๊ฐ€ ์žˆ์Œ (์„œ๋น„์Šค ์ข…๋ฅ˜์˜ ํ™•์žฅ ๋ณด์žฅ)Scale-up ์ ‘๊ทผ์ด ์ ๋‹นํ•œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Œ=> ํ•˜๋‚˜์˜ ์„œ๋ฒ„์—์„œ ๋™์ž‘ํ•˜๋ฏ€๋กœScale-out์€ ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Œ=> ์ผ๋ถ€์˜ ๋ชจ๋“ˆ์ด ์ˆ˜ํ‰ํ™•์žฅ์„ ์ง€์›ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ (ex. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค)๋ฐ์ดํ„ฐ ์ผ๊ด€์„ฑ, ๋ฌด๊ฒฐ์„ฑ, ํŠธ๋žœ์žญ์…˜ ์ฒ˜๋ฆฌ(ACID ๊ทœ์น™) ๋“ฑ์ด ์ผ๋ฐ˜์ ์ธ RDBMS์—์„œ ๋งค์šฐ ์ค‘์š”ํ•œ ์š”์†Œ๋กœ ์ž‘์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— DB๋Š” ๋ณธ์งˆ์ ์œผ๋กœ๋Š” Scale-out ..
ยท๐ŸŒŠ Infra/AWS
๊ตญ๋ฏผ๋Œ€ํ•™๊ต์—์„œ "ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…" ๊ต๊ณผ๋ชฉ์„ ์ง„ํ–‰ํ•˜์‹œ๋Š”์ด๊ฒฝ์šฉ ๊ต์ˆ˜๋‹˜์˜ ๊ฐ•์˜ ๊ต์•ˆ์„ ์ด์šฉํ•˜์—ฌ ์ˆ˜์—… ๋‚ด์šฉ์„ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค  ๊ตฌ๋™์ค‘์ธ ์„œ๋ฒ„์— ๋ฌธ์ œ ๋ฐœ์ƒ ์‹œ ํ•ด๊ฒฐ ๋ฐฉ์•ˆ    => ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๊ณณ์—์„œ ์ž์›์˜ ์‹œ์ž‘, ์ข…๋ฃŒ, ์„ค์ •์„ ์ž๋™ํ™”๋ฅผ ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅ ์ˆ˜๋™์œผ๋กœ ๊ด€๋ฆฌ๋˜๋Š” ์ž์›๋“ค์„ ์ค„์ž„์œผ๋กœ ์‹œ์Šคํ…œ์˜ ์•ˆ์ •์„ฑ, ์ผ๊ด€์„ฑ, ํšจ์œจ์„ฑ์„ ๋†’์ด๋„๋ก ํ•ด์•ผํ•จ DevOps Development : ์„œ๋น„์Šค ๊ฐœ๋ฐœ Operations : ์„œ๋น„์Šค ์šด์šฉ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค์˜ ๋“ฑ์žฅ ๋ฐ ์›น ์„œ๋น„์Šค ๋ณดํŽธํ™”์— ๋”ฐ๋ฅธ Development์™€ Operations์˜ ๊ฒฝ๊ณ„ ๋ชจํ˜ธ ์›น ์„œ๋น„์Šค์˜ ๋น ๋ฅธ ๊ฐœ์„  ์ฃผ๊ธฐ๋กœ ์ธํ•œ ๊ฐ„๋‹จํ•œ ๋ฆด๋ฆฌ์ฆˆ ์‚ฌ์ดํด ํ•„์š”=> ์ฝ”๋“œ๋ฅผ ํ™œ์šฉํ•œ ์„œ๋น„์Šค ๋ฐฐํฌ ๋ณดํŽธํ™” (IaC)  Infrastructure-as-Code (์ฝ”๋“œ๋ฅผ ์ด์šฉํ•œ ์ž์› ๊ด€๋ฆฌ)  ์„œ๋น„..
ยท๐ŸŒŠ 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 ๋ณ„๋กœ ๊ฐ€๊ฒฉ์ด ๋‹ค๋ฆ„=> ๋ฐ์ดํ„ฐ์„ผํ„ฐ์˜ ์žฅ๋น„ ๊ฐ€๊ฒฉ๋“ฑ์„ ๊ณ ๋ คํ•ด๋ณด๋ฉด..
JJunGyo
'๐ŸŒŠ Infra' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก