๐ŸŒˆ [Section4] 10. [Cloud] ์šด์˜ ํ™˜๊ฒฝ ๊ตฌ์„ฑ

ํ˜„์ฃผยท2022๋…„ 12์›” 3์ผ
0

bootcamp

๋ชฉ๋ก ๋ณด๊ธฐ
64/71

๐Ÿ“• ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ!

  • ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ… (Cloud Computing)
  • Deploy
  • EC2 (Elastic compute Cloud)
  • RDS (Relational Database Service)
  • S3 (Simple Storage Service)
  • 3 Tier-Architecture ๋ฐฐํฌ ์ „๋žต

โœ๏ธ ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ… (Cloud Computing)

  • ์ธํ„ฐ๋„ท(ํด๋ผ์šฐ๋“œ)์„ ํ†ตํ•ด ์ปดํ“จํŒ… ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค
    Ex. ์„œ๋ฒ„, ์Šคํ† ๋ฆฌ์ง€, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋“ฑ์„ ์ œ๊ณต

  • ๊ธฐ์—…์—์„œ ์ง์ ‘ ๋ฆฌ์†Œ์Šค๋ฅผ ์กฐ๋‹ฌํ•˜๊ฑฐ๋‚˜ ๊ตฌ์„ฑ, ๊ด€๋ฆฌํ•  ํ•„์š” X

  • ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์™€ ๋น„์Šทํ•œ ์—ญํ• ์„ ํ•˜์ง€๋งŒ ๋ฌผ๋ฆฌ์ ์ธ ์ปดํ“จํ„ฐ๊ฐ€ ์•„๋‹Œ, ๊ฐ€์ƒ์˜ ์ปดํ“จํ„ฐ๋ฅผ ๋Œ€์—ฌํ•˜์—ฌ ์‚ฌ์šฉ
    ( ๊ฐ€์ƒํ™”(Virtualization) ๊ธฐ์ˆ  ์‚ฌ์šฉ )

[์ฐธ๊ณ ] https://cloud.google.com/learn/what-is-cloud-computing?hl=ko

โœ” ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค์˜ ์žฅ์ 

  • ํ•„์š”ํ•  ๋•Œ๋งˆ๋‹ค ์ปดํ“จํŒ… ๋Šฅ๋ ฅ ์œ ์—ฐํ•˜๊ฒŒ ์กฐ์ ˆ ๊ฐ€๋Šฅ

  • ์‚ฌ์šฉํ•œ ๋งŒํผ์˜ ์š”๊ธˆ๋งŒ ์ง€๋ถˆ
    ( ์˜จํ”„๋ ˆ๋ฏธ์Šค๋Š” ๊ณ ์ •์ ์ธ ๋น„์šฉ์ด ๋“ค์–ด๊ฐ )

  • ์ปดํ“จํ„ฐ์˜ ์Šค๋ƒ…์ƒท(์ด๋ฏธ์ง€)์„ ์ด์šฉํ•ด ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ๋กœ ์ฆ‰์‹œ ์ด์ฃผ(migration) ๊ฐ€๋Šฅ

    Ex. ์ €๋ฒˆ์— ์ปดํ“จํ„ฐ SSD ๋ฐ”๊พธ๋Ÿฌ ๊ฐ”์„ ๋•Œ, ์ปดํ“จํ„ฐ ์Šค๋ƒ…์ƒท ์ด์šฉํ•ด์„œ ๊น”๋ ค์žˆ๋Š” ์–ดํ”Œ๋“ค ๊ทธ๋Œ€๋กœ ์žˆ์„ ๊ฑฐ๋ผ๊ณ  ํ–ˆ์—ˆ์Œ

โœ” ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค์˜ ๋‹จ์ 

  • ์šด์˜ํ™˜๊ฒฝ ์ž์ฒด๊ฐ€ ํด๋ผ์šฐ๋“œ ์ œ๊ณต์ž์—๊ฒŒ ์ข…์†
    โžœ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ์ž์ฒด์— ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธธ ๊ฒฝ์šฐ, ๋‚ด๊ฐ€ ๋ฐฐํฌ/๊ด€๋ฆฌ ํ•ด์•ผํ•˜๋Š” ํ™˜๊ฒฝ์—๋„ ์˜ํ–ฅ์„ ๋ฏธ์นจ

    ๐Ÿ’ก ์šด์˜ํ™˜๊ฒฝ์ด ํŠน์ • ํด๋ผ์šฐ๋“œ ์‚ฌ์—…์ž(vendor)์—๊ฒŒ ์ข…์†
    โžœ ๋ฐฑ์—”๋“œ ๊ตฌ์„ฑ ์ž์ฒด๊ฐ€ ํŠน์ • ํšŒ์‚ฌ์˜ ๊ธฐ์ˆ ๋กœ๋งŒ ๊ตฌ์„ฑํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜๋„ ์žˆ์Œ

โœ” ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ํ˜•ํƒœ

โญ ์˜จ-ํ”„๋ ˆ๋ฏธ์Šค (On-premise)

  • ์†Œํ”„ํŠธ์›จ์–ด ๋“ฑ ์†”๋ฃจ์…˜์„ ํด๋ผ์šฐ๋“œ๊ฐ™์ด ์›๊ฒฉ ํ™˜๊ฒฝ์ด ์•„๋‹Œ ์ž์ฒด์ ์œผ๋กœ ๋ณด์œ ํ•œ ์ „์‚ฐ์‹ค ์„œ๋ฒ„์— ์ง์ ‘ ์„ค์น˜ํ•˜์—ฌ ์šด์˜ํ•˜๋Š” ๋ฐฉ์‹

  • ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์—์„œ ์ œ๊ณตํ•˜๋Š” ์„œ๋ฒ„์˜ ์ž์›๊ณผ ๊ณต๊ฐ„, ๋ฐ ๋„คํŠธ์›Œํฌ ํ™˜๊ฒฝ

  • ์ฒจ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๋‹ค ๋‚ด๊ฐ€ ๊ตฌ์„ฑ ๊ด€๋ฆฌ ํ•ด์•ผํ•จ

  • ๊ณ ์ •์ ์ธ ๊ด€๋ฆฌ ๋น„์šฉ ๋“ค์–ด๊ฐ

โœ”๏ธ ํด๋ผ์šฐ๋“œ vs ์˜จํ”„๋ ˆ๋ฏธ์Šค
โ €
โœ”๏ธ ํด๋ผ์šฐ๋“œ

  • ์‚ฌ์šฉํ•œ ๋งŒํผ + ์ดˆ๊ธฐ ๋น„์šฉ ์—†์ด
  • ํ™•์žฅ์„ฑ ์œ ๋ฆฌ
  • ๊ตฌ์ถ•์— ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ด ๋น ๋ฆ„

โœ”๏ธ ์˜จํ”„๋ ˆ๋ฏธ์Šค

  • ์ดˆ๊ธฐ๋น„์šฉ + ์œ ์ง€๋น„์šฉ
  • ํ™•์žฅ์„ฑ ๋ถˆ๋ฆฌ
  • ๊ตฌ์ถ•์— ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ด ๊ฝค ๋จ

โญ IaaS (Infrastructure as a Service)

  • ํด๋ผ์šฐ๋“œ ์ œ๊ณต์ž๊ฐ€ ๊ฐ€์ƒ ์ปดํ“จํ„ฐ๊นŒ์ง€ ์ œ๊ณตํ•˜๋Š” ๊ฒฝ์šฐ

  • ํ•˜๋“œ์›จ์–ด์˜ ๊ธฐ๋ณธ์ ์ธ IT ์ž์›๋งŒ ์ œ๊ณต (์ปดํ“จํŒ… ๋ฆฌ์†Œ์Šค๋ฅผ ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ œ๊ณต)
    โžœ ์‚ฌ์šฉ์ž๊ฐ€ ์šด์˜์ฒด์ œ/๋ฏธ๋“ค์›จ์–ด/๋Ÿฐํƒ€์ž„/๋ฐ์ดํ„ฐ ๋“ฑ์„ ์ง์ ‘ ๊ตฌ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•ด์•ผํ•จ
    ( ์ƒˆ๋กœ ์ปดํ“จํ„ฐ๋ฅผ ๊ตฌ๋งคํ•˜๋Š” ๊ฐœ๋… )

    Ex. ์•„๋งˆ์กด์˜ AWS(Amazon Wed Service), ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์˜ ์• ์ €(Azure), ๊ตฌ๊ธ€์˜ GCE(Google Compute Engine) ๋“ฑ

    โœ”๏ธ IaaS ์žฅ์ 

    • ๋ฌผ๋ฆฌ์  ์ž์›์„ ์„œ๋น„์Šค ํ˜•ํƒœ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ณ ์ •๋น„๊ฐ€ ๋“ค์ง€ ์•Š์Œ
    • ๋ฌผ๋ฆฌ์  ์ž์›์— ๋Œ€ํ•œ ๊ทœ๋ชจ์˜ ํ™•์žฅ๊ณผ ์ถ•์†Œ๊ฐ€ ์ž์œ ๋กœ์›€

    โœ”๏ธ IaaS ๋‹จ์ 

    • ๊ตฌ์ถ•์— ์ „๋ฌธ์„ฑ์ด ํ•„์š”
    • ์œ ์ง€๋ณด์ˆ˜์˜ ๋ฒ”์œ„๊ฐ€ ๋„“์Œ

โญ PaaS (Platform as a Service)

  • ํด๋ผ์šฐ๋“œ ์ œ๊ณต์ž๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ๊ฐœ๋ฐœ ํ”Œ๋žซํผ๊นŒ์ง€ ์ œ๊ณตํ•˜๋Š” ๊ฒฝ์šฐ

  • ๊ฐœ๋ฐœ์ž๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์ œ๊ณต
    โžœ ์ฝ”๋“œ๋งŒ ๊ฐœ๋ฐœํ•ด์„œ ๋ฐฐํฌํ•˜๋ฉด ๊ณ ๊ฐ์—๊ฒŒ ์„œ๋น„์Šค ํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ ์ œ๊ณต

    Ex. ํ”Œ๋žซํผ ํ˜ธ์ŠคํŒ…์„ ์ œ๊ณตํ•˜๋Š” Heroku, ๋ ˆ๋“œํ–‡์˜ OpenShift, ๊ตฌ๊ธ€ ์•ฑ ์—”์ง„, ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ์• ์ €(Azure) ๋“ฑ

    โœ”๏ธ PaaS ์žฅ์ 

    • ํ•„์š”ํ•œ ํ”Œ๋žซํผ๋งŒ ์†Œ๋น„ ํ˜•ํƒœ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ดˆ๊ธฐ ๋น„์šฉ / ์‹œ๊ฐ„ ์ ˆ๊ฐ ๊ฐ€๋Šฅ
    • ๊ฐœ๋ฐœ ๋ฐ ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค ๋น ๋ฅด๊ฒŒ ํ™•๋ณด ๊ฐ€๋Šฅ
    • ์„œ๋น„์Šค / ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์— ์ „๋… ๊ฐ€๋Šฅ

    โœ”๏ธ PaaS ๋‹จ์ 

    • ํŠน์ • ํ”Œ๋žซํผ ์„œ๋น„์Šค์— ์ข…์†๋  ์ˆ˜ ์žˆ์Œ
    • ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์˜ ์ปค์Šคํ„ฐ๋งˆ์ด์ฆˆ ๊ฐ€๋Šฅ์„ฑ์ด ๋‚ฎ์Œ

โญ SaaS (Software as a Service)

  • ํด๋ผ์šฐ๋“œ ์ œ๊ณต์ž๊ฐ€ ๋‹น์žฅ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒฝ์šฐ

  • ๋Œ€๋ถ€๋ถ„์„ ํด๋ผ์šฐ๋“œ์‚ฌ์—์„œ ์ œ๊ณตํ•˜๋Š” ํ˜•ํƒœ

  • ๋ณ„๋„์˜ ์„ค์น˜ ๊ณผ์ •์ด ํ•„์š” X
    โžœ ์ธํ„ฐ๋„ท ๋„คํŠธ์›Œํฌ์—๋งŒ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์œผ๋ฉด ์ œ๊ณต๋˜๋Š” ์„œ๋น„์Šค๋ฅผ ์ด์šฉ ๊ฐ€๋Šฅ

    Ex. ๋„ค์ด๋ฒ„ ํด๋ผ์šฐ๋“œ, ๊ตฌ๊ธ€ ๋“œ๋ผ์ด๋ธŒ, MS Office 365, ๋…ธ์…˜ ๋“ฑ

    โœ”๏ธ SaaS ์žฅ์ 

    • ํ•„์š”ํ•œ ์„œ๋น„์Šค๋ฅผ ๊ตฌ๋… ์ฆ‰์‹œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
    • ์‹œ๊ฐ„ / ์žฅ์†Œ์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š๊ณ  ์‚ฌ์šฉ ๊ฐ€๋Šฅ

    โœ”๏ธ SaaS ๋‹จ์ 

    • ๋ช…ํ™•ํ•˜๊ฒŒ ์ œ์•ฝ์ด ๊ฑธ๋ ค์žˆ์–ด ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ๋ถˆ๊ฐ€

์ฐธ๊ณ  1
์ฐธ๊ณ  2

โœ”๏ธ ํ”ผ์ž๋กœ ์˜ˆ๋ฅผ ๋“ค๋ฉด

  • On-site โžœ ๋‚ด๊ฐ€ ํ•˜๋‚˜๋ถ€ํ„ฐ ์—ด๊ฐ€์ง€ ๋‹ค ๋งŒ๋“ค์–ด ๋จน๊ธฐ
  • IaaS โžœ ๋ฐ€ํ‚คํŠธ/๋ƒ‰๋™ํ”ผ์ž๊ฐ™์ด ๊ธฐ๋ณธ์ ์ธ ๊ฑด ๊ฐ–์ถฐ์ ธ ์žˆ๊ณ  ๋‚ด๊ฐ€ ๊ฑฐ๊ธฐ์— ํ–‰๋™์„ ๋”ํ•ด ๋จน๊ธฐ
  • PaaS โžœ ํ”ผ์ž๋ฅผ ๋ฐฐ๋‹ฌ์‹œ์ผœ ๋จน๊ธฐ / ๋‚˜๋Š” ๋จน์„ ์žฅ์†Œ๋งŒ ์žˆ์œผ๋ฉด ๋จ
  • SaaS โžœ ๋‚ด๊ฐ€ ์ค€๋น„ํ•  ๊ฑด ์•„๋ฌด๊ฒƒ๋„ ์—†๊ณ  ๊ทธ๋ƒฅ ๊ฐ€์„œ ๋จน์œผ๋ฉด ๋จ

โœ๏ธ ์†Œํ”„ํŠธ์›จ์–ด ๋ฐฐํฌ (Deploy)

  • ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“œ๋Š” ๋ชจ๋“  ํ™œ๋™
  • ์ตœ์ข… ์‚ฌ์šฉ์ž์—๊ฒŒ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ณผ์ •

โœ” ์„œ๋น„์Šค ๋ฐฐํฌ ๊ณผ์ •

1. Development

  • local ํ™˜๊ฒฝ์—์„œ ๊ฐœ๋ฐœ/ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ณผ์ •

  • ์‹ค์ œ ๋ฐ์ดํ„ฐ๊ฐ€ ์•„๋‹Œ ๋”๋ฏธ ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ํ…Œ์ŠคํŠธ

  • ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์žˆ์–ด๋„ ๋ฌธ์ œ X

  • ๋ชจ๋“  ๊ตฌ์„ฑ์›์ด ๊ฐ์ž์˜ ํ™˜๊ฒฝ์—์„œ ์ง„ํ–‰

2. Integration

  • ๊ฐ์ž์˜ ํ™˜๊ฒฝ์—์„œ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋ฅผ ํ•ฉ์น˜๋Š” ๊ณผ์ •

  • ์ฝ”๋“œ ๊ฐ„ conflict๊ฐ€ ์—†๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋‹จ๊ณ„

3. Staging

  • ์‹ค์ œ ์ถœ์‹œ ๋‹จ๊ณ„์ธ Production ๋‹จ๊ณ„์™€ ๊ฐ€์žฅ ์œ ์‚ฌํ•œ ํ™˜๊ฒฝ์—์„œ ํ…Œ์ŠคํŠธ ์ง„ํ–‰

  • ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์‚ฌํ•ด์„œ ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ์—์„œ ํ…Œ์ŠคํŠธ

  • ๋ชจ๋“  ๊ด€๊ณ„์ž๋“ค์ด ๊ฒ€์ฆํ•˜๋Š” ๋‹จ๊ณ„

4. Production

  • ๊ฐœ๋ฐœ๋œ ์„œ๋น„์Šค๋ฅผ ์ถœ์‹œํ•˜๋Š” ๋‹จ๊ณ„
    -> ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋ฉด ์•ˆ๋˜๋Š” ๋‹จ๊ณ„

  • ์‚ฌ์šฉ์ž๊ฐ€ ์ ‘์† ๊ฐ€๋Šฅํ•œ Production ํ™˜๊ฒฝ์—์„œ ์ฝ”๋“œ๋ฅผ ๊ตฌ๋™ํ•˜๊ณ  ์„œ๋น„์Šค ์ œ๊ณต
    ( ๊ฐœ๋ฐœ ํ™˜๊ฒฝ๊ณผ๋Š” ๊ตฌ๋ถ„๋œ ํ™˜๊ฒฝ )

โ— Development ํ™˜๊ฒฝ๊ณผ Production ํ™˜๊ฒฝ์ด ์„œ๋กœ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—,
ํ™˜๊ฒฝ ์„ค์ •์„ ์ฝ”๋“œ์™€ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š” !

โœ” ์ž‘์„ฑ ์ฝ”๋“œ๊ฐ€ ๋‹ค๋ฅธ ํ™˜๊ฒฝ์—์„œ๋„ ์ •์ƒ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋ ค๋ฉด

  • ์„ค์ •์„ ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— ์ €์žฅ
    โžœ ์ฝ”๋“œ ๋ณ€๊ฒฝ ์—†์ด ๋ฐฐํฌ ๋•Œ๋งˆ๋‹ค ์‰ฝ๊ฒŒ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ
    โžœ ์ž˜๋ชปํ•ด์„œ ์ฝ”๋“œ ์ €์žฅ์†Œ์— ์˜ฌ๋ผ๊ฐˆ ๊ฐ€๋Šฅ์„ฑ ๋‚ฎ์Œ

    ๐Ÿ’ก ํ™˜๊ฒฝ๋ณ€์ˆ˜ - environment variable / envvars / env๋ผ๊ณ ๋„ ๋ถˆ๋ฆผ

  • ์ ˆ๋Œ€๊ฒฝ๋กœ ๋Œ€์‹  ์ƒ๋Œ€๊ฒฝ๋กœ ์‚ฌ์šฉ

  • ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ํฌํŠธ๋ฅผ ๋ถ„๊ธฐํ•  ์ˆ˜ ์žˆ๋„๋ก ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ •
    Ex. application-server.yml

  • ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์ž์ฒด๋ฅผ ํ†ต์ผ์‹œํ‚ค๋Š” ์†”๋ฃจ์…˜ ์‚ฌ์šฉ
    Ex. Docker์™€ ๊ฐ™์€ ๊ฐ€์ƒํ™” ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ™˜๊ฒฝ ์ž์ฒด๋ฅผ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋กœ ๋‹ด์•„์„œ ์•„์˜ˆ ๋ชจ๋“  ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ํ†ต์ผ


โœ๏ธ EC2 (Elastic compute Cloud)

  • AWS์—์„œ ๋น„์šฉ, ์„ฑ๋Šฅ, ์šฉ๋Ÿ‰ ๋ฉด์—์„œ ํƒ„๋ ฅ์ ์ธ ํด๋ผ์šฐ๋“œ ์ปดํ“จํ„ฐ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์„œ๋น„์Šค

  • ์‚ฌ์šฉํ•œ ๋งŒํผ์˜ ๋น„์šฉ ์ง€๋ถˆ

  • ํ•„์š”์— ๋”ฐ๋ผ ์„ฑ๋Šฅ/์šฉ๋Ÿ‰ ์ž์œ ๋กญ๊ฒŒ ์กฐ์ ˆ ๊ฐ€๋Šฅ

โœ”๏ธ Elastic
โžœ ํƒ„๋ ฅ(์‹ ์ถ•์„ฑ)์žˆ๋Š”, ์œ ์—ฐํ•œ

๐Ÿ’ก AWS EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•œ๋‹ค
โžœ AMI๋ฅผ ํ† ๋Œ€๋กœ ์šด์˜์ฒด์ œ / CPU / RAM / ๋Ÿฐํƒ€์ž„ ๋“ฑ์ด ๊ตฌ์„ฑ๋œ ์ปดํ“จํ„ฐ๋ฅผ ๋นŒ๋ฆฌ๋Š” ๊ฒƒ
( โžœ ์ปดํ“จํ„ฐ๋กœ ํ•  ์ˆ˜ ์žˆ๋Š” ์ผ ๋ชจ๋‘ ๊ฐ€๋Šฅ )
โ €
But, ์ด ๋นŒ๋ฆฐ ์ปดํ“จํ„ฐ๋Š” ์•„๋งˆ์กด์˜ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ(์ธํ”„๋ผ)์— ๋งŒ๋“ค์–ด์ ธ ์žˆ์–ด์„œ
๋„คํŠธ์›Œํฌ(์ธํ„ฐ๋„ท)์„ ํ†ตํ•ด ์ปดํ“จํ„ฐ ์ œ์–ดํ•ด์•ผํ•จ

โœ”๏ธ ์ธ์Šคํ„ด์Šค
1๋Œ€์˜ ์ปดํ“จํ„ฐ๋ฅผ ์˜๋ฏธํ•˜๋Š” ๋‹จ์œ„
โ €
๐Ÿ’ก ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•œ๋‹ค == AWS์—์„œ ์ปดํ“จํ„ฐ๋ฅผ ๋นŒ๋ฆฌ๋Š” ๊ฒƒ

โœ” EC2 ์žฅ์ 

  • ๊ตฌ์„ฑํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์‹œ๊ฐ„์ด ์งง์Œ
    ( ๋ช‡๋ฒˆ์˜ ํด๋ฆญ๋งŒ์œผ๋กœ PC ๊ตฌ์„ฑ ๊ฐ€๋Šฅ )

  • ์šฉ๋„์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ์šด์˜์ฒด์ œ์— ๋Œ€ํ•œ ์„ ํƒ ๊ฐ€๋Šฅ
    โžœ EC2์—์„œ ์ œ๊ณตํ•˜๋Š” AMI๋กœ ํ•„์š”์— ๋”ฐ๋ผ ์†์‰ฝ๊ฒŒ ์šด์˜์ฒด์ œ๋ฅผ ์„ ํƒํ•˜๊ณ  ๊ตฌ์„ฑ ๊ฐ€๋Šฅ
    ( ์šด์˜์ฒด์ œ๋ฟ๋งŒ์ด ์•„๋‹ˆ๋ผ CPU / RAM / ์šฉ๋Ÿ‰๊นŒ์ง€๋„ ์†์‰ฝ๊ฒŒ ๊ตฌ์„ฑ ๊ฐ€๋Šฅ )

    โœ”๏ธ AMI (Amazon Machine Image)

    • ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์„ฑ์ด ํฌํ•จ๋œ ํ…œํ”Œ๋ฆฟ
      Ex. ์šด์˜์ฒด์ œ / ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ / ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜
      โ €โ €
    • AMI๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ ์šฉ๋„์— ๋งž๊ฒŒ ์šด์˜์ฒด์ œ / ๋Ÿฐํƒ€์ž„ ๋“ฑ์ด ๊ตฌ์„ฑ๋œ Setting ๊ฐ€๋Šฅ
      โ €โ €
    • ์ด๋ฏธ์ง€ ์ข…๋ฅ˜๋กœ๋Š” ๋‹จ์ˆœํžˆ ์šด์˜์ฒด์ œ๋งŒ ๊น”๋ ค์žˆ๋Š” ํ…œํ”Œ๋ฆฟ์„ ์„ ํƒํ•  ์ˆ˜๋„ ์žˆ๊ณ ,
      ์•„์˜ˆ ํŠน์ • ๋Ÿฐํƒ€์ž„์ด ์„ค์น˜๋˜์–ด ์žˆ๋Š” ํ…œํ”Œ๋ฆฟ์ด ์ œ๊ณต๋˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์Œ
      Ex.
      • ์šด์˜์ฒด์ œ๋งŒ ๊น”๋ ค์žˆ๋Š” ํ…œํ”Œ๋ฆฟ - ์œˆ๋„์šฐ/์šฐ๋ถ„ํˆฌ ๋ฆฌ๋ˆ…์Šค ๋“ฑ
      • ํŠน์ • ๋Ÿฐํƒ€์ž„์ด ์„ค์น˜๋˜์–ด ์žˆ๋Š” ํ…œํ”Œ๋ฆฟ - ์šฐ๋ถ„ํˆฌ + node.js, ์œˆ๋„์šฐ + JVM
        โ €โ €
    • ๋งŽ์€ ์–‘์˜ Image๊ฐ€ AWS์— ์ค€๋น„๋˜์–ด ์žˆ๊ณ ,
      ์„ ํƒ๋œ Image๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ Instance์˜ ์šด์˜์ฒด์ œ๊ฐ€ ๊ฒฐ์ •๋จ
      ( ์ด๋ฏธ์ง€๋Š” ๊ทธ๋ƒฅ ์šด์˜์ฒด์ œ + ๋ฒ„์ „, ๋Ÿฐํƒ€์ž„ + ๋ฒ„์ „ ๋“ฑ์ด ์ •ํ•ด์ ธ์žˆ๋Š” ๊ฑฐ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋จ )

โœ๏ธ S3 (Simple Storage Service)

  • AWS์—์„œ ์ œ๊ณตํ•˜๋Š” ํด๋ผ์šฐ๋“œ ์Šคํ† ๋ฆฌ์ง€ ์„œ๋น„์Šค

    โœ”๏ธ ํด๋ผ์šฐ๋“œ ์Šคํ† ๋ฆฌ์ง€ (Cloud Storage)
    โžœ ์ธํ„ฐ๋„ท ๊ณต๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์ €์žฅ์†Œ
    Ex. ๊ตฌ๊ธ€์˜ Google Drive, ๋„ค์ด๋ฒ„์˜ MYBOX, ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์˜ Onedrive์™€ ๊ฐ™์€ ์„œ๋น„์Šค
    โ €
    โœ”๏ธ ์žฅ์ 

    • ๋›ฐ์–ด๋‚œ ์ ‘๊ทผ์„ฑ
      โžœ ์›น ํ™˜๊ฒฝ์ด๋ผ๋ฉด ์–ธ์ œ ์–ด๋””์„œ๋‚˜ ์ €์žฅ๋œ ํŒŒ์ผ์— ์ ‘๊ทผ ๊ฐ€๋Šฅ
      ( ๊ตณ์ด ์ปดํ“จํ„ฐ๊ฐ€ ์•„๋‹ˆ์–ด๋„ ์›น ์ ‘์†์ด ๊ฐ€๋Šฅํ•˜๋ฉด ๋‹ค๋ฅธ ์ „์ž๊ธฐ๊ธฐ๋„ ๊ฐ€๋Šฅ )

    โœ”๏ธ S3 ์‚ฌ์šฉ์ž๋“ค์ด ๋Œ€ํ‘œ์ ์œผ๋กœ ๋งŽ์ด ์„ ํƒํ•˜๋Š” ์Šคํ† ๋ฆฌ์ง€ ํด๋ž˜์Šค

    • Standard ํด๋ž˜์Šค
      • ๋ฒ”์šฉ์ ์ธ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์ข‹์Œ
      • ๋ฐ์ดํ„ฐ์— ๋น ๋ฅธ ์†๋„๋กœ ์ ‘๊ทผ ๊ฐ€๋Šฅ
      • ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค ์š”์ฒญ ์ฒ˜๋ฆฌ ์†๋„๊ฐ€ ๋น ๋ฆ„
      • But, ๋ณด๊ด€ ๋น„์šฉ์ด ๋†’๊ฒŒ ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๋ฅผ ์˜ค๋ž˜ ๋ณด๊ด€ํ•˜๊ธฐ์—” ์ข‹์ง€ ์•Š์Œ
        โ €
    • Glacier ํด๋ž˜์Šค
      • ์žฅ๊ธฐ์ ์ธ ๋ณด๊ด€ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ์Šค
      • ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ์— ์•ก์„ธ์Šคํ•˜๋Š” ์†๋„๋Š” ๋Š๋ฆฌ์ง€๋งŒ, ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ด€ํ•˜๋Š” ๋น„์šฉ์ด ๋งค์šฐ ์ €๋ ด
        โ €
    • ์ด ์™ธ์—๋„ Standard-IA, One Zone-IA, S3 Glacier Deep Archive ๋“ฑ์ด ์กด์žฌ

โœ” S3 ์žฅ์ 

  • ๋›ฐ์–ด๋‚œ ์ ‘๊ทผ์„ฑ

  • ๋†’์€ ํ™•์žฅ์„ฑ
    โžœ ๋งŽ์€ ์‹œ๊ฐ„๊ณผ ์ˆ˜๊ณ ๋ฅผ ๋“ค์ด์ง€ ์•Š๊ณ  ์Šคํ† ๋ฆฌ์ง€ ๊ทœ๋ชจ๋ฅผ ํ™•์žฅ/์ถ•์†Œ ๊ฐ€๋Šฅ

  • ๋ฐ์ดํ„ฐ ๋ฌดํ•œํžˆ ์ €์žฅ ๊ฐ€๋Šฅ / ์‚ฌ์šฉํ•œ ๋งŒํผ ๋น„์šฉ ์ง€๋ถˆ
    โžœ ๋น„์šฉ์  ์ธก๋ฉด์—์„œ ๋งค์šฐ ํšจ์œจ์ 

  • ๊ฐ•๋ ฅํ•œ ๋‚ด๊ตฌ์„ฑ (99.999999999%์˜ ๋‚ด๊ตฌ์„ฑ ๋ณด์žฅ)
    โžœ ์ €์žฅ๋œ ํŒŒ์ผ ์œ ์‹ค ๊ฐ€๋Šฅ์„ฑ ์ ์–ด์ง
    ( S3์— ์ €์žฅ๋œ ํŒŒ์ผ์„ ์žƒ์–ด๋ฒ„๋ฆด ํ™•๋ฅ ๋ณด๋‹ค, ๊ธธ์„ ๊ฑท๋‹ค ๋ฒผ๋ฝ๋งž์„ ํ™•๋ฅ ์ด 700๋ฐฐ๋‚˜ ๋” ํผ ใ…‹ใ…‹ )

  • ๋†’์€ ๊ฐ€์šฉ์„ฑ (99.99%์˜ ๊ฐ€์šฉ์„ฑ ๋ณด์žฅ)
    โžœ ๊ฐ€์šฉ์„ฑ์ด ๋†’์„ ์ˆ˜๋ก ์Šคํ† ๋ฆฌ์ง€์— ์ €์žฅ๋œ ํŒŒ์ผ๋“ค์„ ์ •์ƒ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๊ฐ„์ด ๊ธธ์–ด์ง

( ์‚ฌ์ง„์€ ์—ฌ๊ธฐ์„œ ๊ฐ€์ ธ์˜ด )
โ €
โœ”๏ธ ๋ฆฌ์ „ (Region)

  • AWS์—์„œ ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ์šด์˜ํ•˜๋Š” ๋ฌผ๋ฆฌ์ ์ธ ์„œ๋ฒ„์˜ ์œ„์น˜
    โ €
  • ์œ„ ์ง€๋„์—์„œ ์ฃผํ™ฉ์ƒ‰ ๋™๊ทธ๋ผ๋ฏธ ์ณ์ง„ ์ง€์—ญ
    โ €
  • ์ฃผํ™ฉ์ƒ‰ ๋™๊ทธ๋ผ๋ฏธ ์•ˆ์— ์ˆ˜ โžœ ๋ฆฌ์ „์— ์œ„์น˜ํ•œ ๊ฐ€์šฉ ์˜์—ญ์˜ ์ˆ˜

โœ”๏ธ ๊ฐ€์šฉ ์˜์—ญ (Availability Zone)

  • ๊ฐ ๋ฆฌ์ „ ์•ˆ์— ์กด์žฌํ•˜๋Š” ๋ฐ์ดํ„ฐ ์„ผํ„ฐ(IDC)
    โ €
  • ๊ฐ€์šฉ ์˜์—ญ์€ ๊ฐ๊ฐ ๊ฐœ๋ณ„์ ์ธ ์œ„์น˜์— ๋–จ์–ด์ ธ์„œ ์กด์žฌ
    ( ํ•œ ๊ณณ์˜ ๊ฐ€๋™์ด ๋ถˆ๊ฐ€๋Šฅํ•ด์ง€๋”๋ผ๋„ ๋‹ค๋ฅธ ๊ณณ์—์„œ ๋ฐฑ์—… ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฌธ์ œ ์—†๋„๋ก )

โœ” S3 ์‚ฌ์šฉ ์‹œ ์ด์ 

  • ๋ฒ„ํ‚ท์„ ํ†ตํ•ด ์ •์  ์›น ์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ… ๊ฐ€๋Šฅ

โœ”๏ธ ์ •์  ํŒŒ์ผ

  • ์„œ๋ฒ„์˜ ๊ฐœ์ž… ์—†์ด ํด๋ผ์ด์–ธํŠธ์— ์ œ๊ณต๋  ์ˆ˜ ์žˆ๋Š” ํŒŒ์ผ

โœ”๏ธ ๋™์  ํŒŒ์ผ

  • ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด, ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ์— ๋งž์ถ”์–ด ๊ทธ ์ž๋ฆฌ์—์„œ ์ƒ์„ฑํ•œ ํŒŒ์ผ

โœ”๏ธ ์›น ํ˜ธ์ŠคํŒ… (Web Hosting)

  • ์„œ๋ฒ„์˜ ํ•œ ๊ณต๊ฐ„์„ ์ž„๋Œ€ํ•ด์ฃผ๋Š” ์„œ๋น„์Šค
    ( ์ด ์ด ์›น ํ˜ธ์ŠคํŒ… ์—…์ฒด๊ฐ€ ์ œ๊ณตํ•˜๋Š” ์„œ๋ฒ„์˜ ํ•œ ๊ณต๊ฐ„์„ ๋นŒ๋ ค์„œ ์›ํ•˜๋Š” ์„œ๋น„์Šค ๋ฐฐํฌ ๊ฐ€๋Šฅ )

โœ”๏ธ ๋ฒ„ํ‚ท

  • ํŒŒ์ผ(๊ฐ์ฒด)์„ ๋‹ด๋Š” ๋ฐ”๊ตฌ๋‹ˆ (์ตœ์ƒ์œ„ ๋””๋ ‰ํ† ๋ฆฌ)
  • ๋ฌดํ•œํžˆ ๋งŽ์€ ํŒŒ์ผ(๊ฐ์ฒด) ์ €์žฅ ๊ฐ€๋Šฅ
  • ๋ฒ„ํ‚ท์˜ ์ด๋ฆ„์€ ๊ฐ ๋ฆฌ์ „์—์„œ ๊ณ ์œ ํ•ด์•ผํ•จ
  • ๋ฒ„ํ‚ท์˜ ์ •์ฑ…์„ ์ƒ์„ฑํ•˜์—ฌ ์•ก์„ธ์Šค ๊ถŒํ•œ ๋ถ€์—ฌ ๊ฐ€๋Šฅ

โœ”๏ธ ๊ฐ์ฒด

  • ๋ฒ„ํ‚ท์— ๋‹ด๊ธฐ๋Š” ํŒŒ์ผ
    โžœ S3์—์„œ ์ €์žฅ์†Œ์— ๋ฐ์ดํ„ฐ ์ €์žฅํ•  ๋•Œ ํ‚ค-๊ฐ’ ํŽ˜์–ด ํ˜•์‹์œผ๋กœ ๋ฐ์ดํ„ฐ ์ €์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ์ฒด๋ผ๊ณ  ํ•จ
  • ํŒŒ์ผ / ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ๋กœ ๊ตฌ์„ฑ
    โžœ ํŒŒ์ผ : ์‹ค์ œ ๋ฐ์ดํ„ฐ ์ €์žฅ (์ตœ๋Œ€ ํฌ๊ธฐ 5TB)
    โžœ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ : ๊ฐ์ฒด์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ๋‹ด๊ธด ๋ฐ์ดํ„ฐ
  • ๋ชจ๋“  ๊ฐ์ฒด๋Š” ๊ณ ์œ ํ•œ ํ‚ค ๊ฐ€์ง ( ์‹๋ณ„์ž ์—ญํ•  )
  • URL ์ฃผ์†Œ๋ฅผ ํ†ตํ•ด ๊ฐ์ฒด์— ์ ‘๊ทผ ๊ฐ€๋Šฅ
    โžœ http://[๋ฒ„ํ‚ท์˜ ์ด๋ฆ„].S3.amazonaws.com/[๊ฐ์ฒด์˜ ํ‚ค]์˜ ํ˜•ํƒœ
  • ๊ฐ์ฒด ๊ณ ์œ  ํ‚ค, URL ์ฃผ์†Œ ๊ฐ๊ฐ์œผ๋กœ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผ ๊ฐ€๋Šฅ

โœ” ์ •์  ์›น ์‚ฌ์ดํŠธ๋ฅผ ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ๊ณผ์ •

  1. ์ •์  ์›นํŽ˜์ด์ง€ ๋นŒ๋“œ

  2. ๋ฒ„ํ‚ท ์ƒ์„ฑ ๋ฐ ์ •์  ์›น ์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ… ์šฉ์œผ๋กœ ๊ตฌ์„ฑ

  3. ๋นŒ๋“œ๋œ ์ •์  ์›น ํŽ˜์ด์ง€ ์—…๋กœ๋“œ

  4. ํผ๋ธ”๋ฆญ ์•ก์„ธ์Šค ์ฐจ๋‹จ ํ•ด์ œ ๋ฐ ์ •์ฑ… ์ƒ์„ฑ


โœ๏ธ RDS (Relational Database Service)

  • AWS์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋น„์Šค

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์œ ์ง€ ๋ณด์ˆ˜ ๊ด€๋ จ ์ผ๋“ค์„ ์ž๋™ ๊ด€๋ฆฌํ•ด์คŒ
    ( ์‚ฌ์šฉ์ž๊ฐ€ ํ•ด์•ผํ•  ์ผ์€ ์ดˆ๊ธฐ ์„ค์ • / ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ๋ฟ )

  • ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—”์ง„ ์„ ํƒ์ง€ ์ œ๊ณต
    โžœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—”์ง„๋งˆ๋‹ค ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฅด๊ธฐ์— ํ•„์š”์™€ ๋ชฉ์ ์— ๋งž๊ฒŒ ์„ ํƒํ•˜์—ฌ ํšจ์œจ์„ฑ ๋†’์ผ ์ˆ˜ ์žˆ์Œ
    Ex. MySQL / Oracle ๋“ฑ

๐Ÿ’ก EC2 ์ธ์Šคํ„ด์Šค์— MySQL ๊ฐ™์€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—”์ง„ ์„ค์น˜ํ•˜์ง€ ์•Š๊ณ ,
๊ตณ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋งŒ ๋”ฐ๋กœ ๋ถ„๋ฆฌํ•ด์„œ RDS ์„œ๋น„์Šค ์ด์šฉํ•˜๋Š” ์ด์œ 
โ €
โžœ EC2 ์ธ์Šคํ„ด์Šค ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๊ด€๋ จํ•ด์„œ ์ž๋™์œผ๋กœ ๊ด€๋ฆฌ๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ๋ถ€๋ถ„์ด ๋งค์šฐ ์ ์Œ
โžœ ๋”ฐ๋ผ์„œ, ์‚ฌ์šฉ์ž๊ฐ€ ์ผ์ผ์ด ์‹œ๊ฐ„์„ ํˆฌ์žํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—”์ง„์˜ ์„ค์น˜์™€ ๋ฒ„์ „ ๊ด€๋ฆฌ, ๋ฐ์ดํ„ฐ ๋ฐฑ์—… ๋“ฑ์˜ ์ผ์„ํ•ด์•ผํ•˜๊ณ ,
๊ฐ€์šฉ์„ฑ๊ณผ ๋‚ด๊ตฌ์„ฑ์ด ํ™•๋ณด๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์‹ค๋˜๊ฑฐ๋‚˜ ์ •์ƒ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•  ํ™•๋ฅ ์ด ์ปค์ง€๋ฉฐ, ํ›„์— ํ•„์š”์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ทœ๋ชจ๋ฅผ ํ™•์žฅํ•˜๊ธฐ ์–ด๋ ค์›€ !


โœ๏ธ 3 Tier-Architecture ๋ฐฐํฌ ์ „๋žต

( ์œ„ ๋ฐฉ์‹๋“ค ์ด ์ •๋ฆฌ )

โœ”๏ธ client application ๋ฐฐํฌ ๋ฐฉ๋ฒ•

โžœ AWS ์„œ๋น„์Šค ์ค‘ ํ•˜๋‚˜์ธ S3๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ client application์„ ์ •์  ํŒŒ์ผ๋กœ ๋นŒ๋“œํ•˜์—ฌ ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ๋ฐฐํฌ

๐Ÿ’ก ๋นŒ๋“œ (Build)

  • ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์—†์• ๊ณ , ํ†ตํ•ฉ/์••์ถ•ํ•˜์—ฌ ๋ฐฐํฌํ•˜๊ธฐ ์ตœ์ ํ™”๋œ ์ƒํƒœ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ
    โžœ ๋ฐ์ดํ„ฐ์˜ ์šฉ๋Ÿ‰์ด ์ค„์–ด๋“ค๊ณ  ์›น ์‚ฌ์ดํŠธ ๋กœ๋”ฉ ์†๋„๊ฐ€ ๋นจ๋ผ์ง
  • ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๋ฒˆ๋“ค๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ปดํŒŒ์ผ ๊ณผ์ •
  • ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ๋นŒ๋“œ ๊ณผ์ •์€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Œ

โœ”๏ธ Server Application ๋ฐฐํฌ ๋ฐฉ๋ฒ•

โžœ AWS ์„œ๋น„์Šค ์ค‘ ํ•˜๋‚˜์ธ EC2๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์†์‰ฝ๊ฒŒ ์„œ๋ฒ„๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ  ์„œ๋น„์Šค ์ œ๊ณต

๐Ÿ’ก Server Application
โžœ ์‚ฌ์šฉ์ž๋“ค์ด ์ œ๊ณต๋ฐ›์€ Client Application์„ ํ†ตํ•ด ์š”์ฒญ์„ ์ „๋‹ฌํ•˜๋Š” ์—ญํ• 

โ— S3, EC2๋ฅผ ์ด์šฉํ•ด์„œ ๋ฐฐํฌ๋œ ์„œ๋น„์Šค๋Š” IP์ฃผ์†Œ๋‚˜ ์„œ๋น„์Šค์™€ ์ƒ๊ด€์—†๋Š” ๊ธด ๋„๋ฉ”์ธ์ฃผ์†Œ๋กœ ์ ‘๊ทผํ•ด์•ผํ•จ
Ex. www.hello.ap-northeast-2.compute.amazonaws.com
โ €
โžœ AWS์—์„œ ์ œ๊ณตํ•˜๋Š” Route 53 ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•˜๋ฉด,
์ง๊ด€์ ์ธ ๋„๋ฉ”์ธ ์ฃผ์†Œ๋ฅผ ํ†ตํ•ด ์„œ๋น„์Šค์— ์ ‘๊ทผํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์Œ
Ex. www.hello.com

โœ”๏ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐฐํฌ ๋ฐฉ๋ฒ•

โžœ AWS์—์„œ ์ œ๊ณตํ•˜๋Š” Database ํŠนํ™” ์„œ๋น„์Šค์ธ RDS ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž๋™ ์œ ์ง€ ๋ณด์ˆ˜ ๋ฐ ์ฆ‰์‹œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก
EC2๋ฅผ ํ†ตํ•ด ๋ฐฐํฌ๋œ Server Application์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ, ์ œ๊ณตํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐฐํฌ ๊ฐ€๋Šฅ

โ— ๊ฒฐ๋ก ์ ์œผ๋กœ ๋ฐฐํฌ๋Š” ๋Œ€๋žต RDS โžœ EC2 โžœ S3 โžœ Route53 ์ด ์„œ๋น„์Šค๋“ค์„ ๊ฑฐ์ณ ์™„๋ฃŒ๋จ !

โœ”๏ธ ๋น ๋ฅด๊ฒŒ ์„œ๋น„์Šค ์ œ๊ณตํ•˜๋Š” ๋ฐฉ๋ฒ•

  • AWS์—์„œ ์ œ๊ณตํ•˜๋Š” CDN ์„œ๋น„์Šค์ธ CloudFront๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ฝ˜ํ…์ธ ๋ฅผ ๋” ๋นจ๋ฆฌ ๋ฐฐํฌ ๊ฐ€๋Šฅ
    โžœ CloudFront๋ฅผ ํ†ตํ•ด ๊ฐ์ง€์˜ ๋ฐ์ดํ„ฐ์„ผํ„ฐ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์‚ฐ์‹œ์ผœ ์ €์žฅํ•ด๋‘์—ˆ๋‹ค๊ฐ€ ๊ฐ€๊นŒ์šด ์ง€์—‘์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ๋น ๋ฅด๊ฒŒ ์„œ๋น„์Šค ์ œ๊ณต

๐Ÿ˜œ ์‹ค์Šต

AWS์—์„œ EC2 / S3 / RDS ์„ธ๊ฐ€์ง€๋ฅผ ์—ฐ๋™ํ•˜๋Š” ์‹ค์Šต์„ ํ–ˆ๋‹ค !

์‚ฌ์‹ค ์ž์„ธํ•œ ๊ฑฐ ํ•˜๋‚˜ํ•˜๋‚˜ ์ ๊ธฐ๊ฐ€ ํž˜๋“ค๊ณ  ์ ๋Š”๋‹ค๋ฉด ์‚ฌ์ง„๊นŒ์ง€ ์บก์ณํ•ด์•ผํ•  ๋ถ€๋ถ„์ด ๋„ˆ๋ฌด ๋งŽ์•„์„œ AWS์— ๋“ค์–ด๊ฐ€์„œ ์„ค์ •ํ•œ ๋ถ€๋ถ„์€ ๋นผ๊ณ  ํ„ฐ๋ฏธ๋„๋กœ ๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ์‚ฌ์ง„๋“ค๋งŒ ๊ฐ€์ ธ์™”๋‹ค.

EC2 ๋ถ€๋ถ„์€ ์บก์ณ๋ฅผ ๋ชปํ–ˆ๊ธฐ์— ์ผ๋‹จ ๋„˜์–ด๊ฐ€๋„๋ก ํ•˜๊ณ ,

์œ ์–ดํด๋ž˜์Šค ๋‚ด์˜ ํด๋ผ์ด์–ธํŠธ ๋ฐฐํฌ / ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ์ด ๋‘๊ฐœ ์‹ค์Šต๋งŒ ๋ณด๋ ค๊ณ  ํ•œ๋‹ค !

๋‚˜๋จธ์ง€๋Š” ์œ ์–ดํด๋ž˜์Šค - Section4 - [Cloud] ์šด์˜ ํ™˜๊ฒฝ ๊ตฌ์„ฑ ๋ถ€๋ถ„์„ ์ฐธ๊ณ ํ•˜๊ธฐ !

1. ์ผ๋‹จ ๋จผ์ € ์šฐ๋ถ„ํˆฌ๋ฅผ ์ผœ์„œ nvm๊ณผ node.js๋ฅผ ์„ค์น˜ํ•œ๋‹ค.
( nvm์€ ์ˆ˜์‹œ๋กœ ๋ฐ”๋€Œ๋Š” node.js์˜ ๋ฒ„์ „์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•จ )

// nvm ์„ค์น˜
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
โ €
nvm --version // ์ž˜ ์„ค์น˜๋๋Š”์ง€ ๋ฒ„์ „ ํ™•์ธ
โ €
// node.js ์„ค์น˜
nvm install 16
โ €
node -v // ์ž˜ ์„ค์น˜๋๋Š”์ง€ ๋ฒ„์ „ ํ™•์ธ

2. ์œ ์–ดํด๋ž˜์Šค์˜ Repository ํด๋ก  ํ›„, ํ•ด๋‹น ํด๋”์˜ client ํด๋”๋กœ ๋“ค์–ด๊ฐ„๋‹ค.
( ๋‚˜๋Š” forkํ•˜๊ณ  cloneํ–ˆ๋Š”๋ฐ, ๊ทธ๋ƒฅ cloneํ•ด๋„ ๋˜๋Š”์ง€๋Š” ๋ชจ๋ฆ„ )

cd mnt/c/Users/USER/Desktop/git/be-sprint-deployment/clinet
// ์šฐ๋ถ„ํˆฌ๋กœ Desktop ๋“ค์–ด๊ฐˆ๋ ค๋ฉด ์ด๋ ‡๊ฒŒ ๋“ค์–ด๊ฐ€์•ผํ•จ !!! ( ์ด๊ฑฐ ๋ชฐ๋ผ์„œ 1์‹œ๊ฐ„ ํ—ค๋งจ๋“ฏ )
// ๋‚˜๋Š” Desktop์˜ git ํŒŒ์ผ์— clone ํ•จ

3. npm์„ ์„ค์น˜ํ•ด์ค€๋‹ค.
( ํด๋ผ์ด์–ธํŠธ์˜ ์˜์กด์„ฑ ๋ชจ๋“ˆ )

npm install

4. client ํด๋” ๋‚ด์˜ .env.example ํŒŒ์ผ์— ๋“ค์–ด๊ฐ€์„œ,
REACT_APP_API_URL= ๋’ค์— http:// + ๋‚ด EC2 ์„œ๋ฒ„ ์ฃผ์†Œ:ํฌํŠธ๋ฒˆํ˜ธ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.

5. ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •์„ ์™„๋ฃŒํ•˜๊ณ , ์šฐ๋ถ„ํˆฌ๋กœ ๋Œ์•„์™€์„œ ์•„๋ž˜ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.

npm run build

์‚ฌ์‹ค ์ฒ˜์Œ์— ์—๋Ÿฌ๊ฐ€ ๋–ด์—ˆ๋Š”๋ฐ,
์•„๊นŒ ์„ค์น˜ํ•ด์ฃผ์—ˆ๋˜ nvm 16 ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด nvm use 16์œผ๋กœ nvm์˜ ๋ฒ„์ „์„ ๋ฐ”๊ฟ”์ฃผ๊ณ 
๋‹ค์‹œ ๋ช…๋ น์–ด ์ž…๋ ฅํ•˜๋ฉด ์ž˜ ๋œ๋‹ค !
( ์‹ค์Šต ์‚ฌ์ง„์€ ์ฒ˜์Œ๋ถ€ํ„ฐ 16 ๋ฒ„์ „์„ ์„ค์น˜ํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ค‘๊ฐ„์— 16 ๋ฒ„์ „์„ ์„ค์น˜ํ•ด์ฃผ์—ˆ๋‹ค )

6. ์ด๋ ‡๊ฒŒ ๋นŒ๋“œ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด client ํด๋” ๋‚ด์— build ํด๋”๊ฐ€ ์ƒ์„ฑ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

7. ์ด์ œ AWS ํ™ˆํŽ˜์ด์ง€์˜ S3 ์ฝ˜์†”๋กœ ๊ฐ€์„œ ์ •์  ์›น์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ…์„ ์œ„ํ•ด ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์„ค์ •ํ•ด์ฃผ๊ณ ,
( ์œ ์–ดํด๋ž˜์Šค - ํด๋ผ์ด์–ธํŠธ ๋ฐฐํฌ ์ฑ•ํ„ฐ ๋‚ด์˜ S3 ํ˜ธ์ŠคํŒ… ํŠœํ† ๋ฆฌ์–ผ ์ฐธ๊ณ  )

8. S3 ์†์„ฑ ๋งจ ๋ฐ‘์—์žˆ๋Š” ๋ฒ„ํ‚ท ์›น ์‚ฌ์ดํŠธ ์—”๋“œํฌ์ธํŠธ์˜ ์ฃผ์†Œ๋กœ ๋“ค์–ด๊ฐ€๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ๋กœ๊ทธ์ธ ํ™”๋ฉด์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

But, ์ด ํ™”๋ฉด์€ ์•„์ง RDS ์™€ ์—ฐ๊ฒฐํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ๋กœ๊ทธ์ธ์„ ๋ˆŒ๋Ÿฌ๋„ ์‘๋‹ตํ•˜์ง€ ์•Š๋Š”๋‹ค.

9. RDS์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ƒ์„ฑํ•ด์ฃผ๊ณ , ํ•ด๋‹น ์—”๋“œํฌ์ธํŠธ์˜ ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ•ด์™€์„œ
ํ„ฐ๋ฏธ๋„์—์„œ MySQL์„ ์‹คํ–‰ํ•ด ์•„๋ž˜ ๋ช…๋ น์–ด๋กœ ์—ฐ๊ฒฐํ•œ๋‹ค.

mysql -u [๋งˆ์Šคํ„ฐ ์ด๋ฆ„] --host [์—”๋“œ ํฌ์ธํŠธ ์ฃผ์†Œ] -P 13306(ํฌํŠธ ๋ฒˆํ˜ธ) -p

โœ”๏ธ MySQL ํด๋ผ์ด์–ธํŠธ๋ฅผ ํ†ตํ•ด RDS์˜ DB ์ธ์Šคํ„ด์Šค์— ์—ฐ๊ฒฐ์„ ์œ„ํ•ด ํ•„์š”ํ•œ ์ •๋ณด
1. DB ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ์‹œ ๊ธฐ์žฌํ•œ ๋งˆ์Šคํ„ฐ ์ด๋ฆ„, ๋งˆ์Šคํ„ฐ ๋น„๋ฐ€๋ฒˆํ˜ธ
2. ํฌํŠธ ๋ฒˆํ˜ธ
3. ์ƒ์„ฑํ•œ DB ์ธ์Šคํ„ด์Šค์˜ ์—”๋“œ ํฌ์ธํŠธ ์ฃผ์†Œ

MySQL ํ„ฐ๋ฏธ๋„๋กœ ๋“ค์–ด๊ฐ€์„œ ํ–ˆ๋”๋‹ˆ ๋ช…๋ น์–ด๊ฐ€ ์•ˆ๋จน๋Š” ๊ฒŒ ์žˆ์–ด์„œ,
๋ช…๋ น ํ”„๋กฌํ”„ํŠธ์— ๋“ค์–ด๊ฐ€์„œ ํ•˜๋ ค๊ณ  ํ–ˆ๋”๋‹ˆ MySQL๊ณผ ์—ฐ๋™์ด ์•ˆ๋˜์–ด์žˆ๊ธธ๋ž˜
https://e2e2e2.tistory.com/22
์œ„ ๋งํฌ๋Œ€๋กœ ๋”ฐ๋ผํ•ด์„œ ํ™˜๊ฒฝ๋ณ€์ˆ˜์— ์ถ”๊ฐ€๋ฅผ ํ•ด์ค€ ํ›„์— ์‹คํ–‰ํ•˜์˜€๋‹ค.

ํ„ฐ๋ฏธ๋„์„ ์—ด์–ด์„œ mysql -u root -p ํ•˜๊ณ  ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ ์œผ๋ฉด ํ„ฐ๋ฏธ๋„์—์„œ mysql์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค !

10. ์œ„์™€ ๊ฐ™์ด ์—ฐ๊ฒฐํ•ด์ฃผ์—ˆ๊ณ  ์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ด๋ฆ„์ธ test๊ฐ€ ๋ณด์ด๋ฉด ์„ฑ๊ณต !

11. ์ด์ œ EC2 ์ธ์Šคํ„ด์Šค ํ„ฐ๋ฏธ๋„๋กœ ๊ฐ€์„œ, ์•„๋ž˜ ๋ช…๋ น์–ด ์น˜๊ธฐ.

bash // bash ์‰˜ ์‚ฌ์šฉ
โ €
cd ~ // ๋ฃจํŠธ ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™
โ €
cd be-sprint-deployment/DeployServer/ // ์ด์ „ ์‹ค์Šต์—์„œ cloneํ•˜์—ฌ EC2์™€ ์—ฐ๊ฒฐํ•œ ๋ ˆํฌ๋กœ ๋“ค์–ด๊ฐ€๊ธฐ
โ €
nano src/main/resources/application.properties
// application.properties ํŒŒ์ผ์— ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ •ํ•˜๊ธฐ
โ €
// ์„ค์ • ์™„๋ฃŒ ํ›„
ctrl + x // ์ €์žฅ
y
enter

โœ”๏ธ nano ํ•ด์„œ ๋ฐ”๊ฟ”์•ผํ•  ๊ฒƒ๋“ค์€ ( ์•„๋ž˜ ์‚ฌ์ง„ ์ฐธ๊ณ  )

  • spring.datasource.url - AWS RDS '์—”๋“œํฌ์ธํŠธ ์ฃผ์†Œ:ํฌํŠธ'๊ฐ€ ๋“ค์–ด๊ฐ€์•ผ ํ•จ
  • spring.datasource.username - AWS RDS Mysql ๋งˆ์Šคํ„ฐ ์‚ฌ์šฉ์ž ์ด๋ฆ„
  • spring.datasource.password - AWS RDS Mysql ๋งˆ์Šคํ„ฐ ์•”ํ˜ธ
  • config.domain - AWS S3 Endpoint ์ฃผ์†Œ
    ( ๊ผญ ์•ž์— http:// ํฌํ•จ )
    ( CORS ์„ค์ •์„ ์œ„ํ•ด ํ†ต์‹ ํ•  ํด๋ผ์ด์–ธํŠธ์˜ ๋„๋ฉ”์ธ ์ž…๋ ฅ์ด ํ•„์š” )

12. ํ™˜๊ฒฝ ์„ค์ •์ด ์™„๋ฃŒ๋˜๋ฉด, ์ด์ „ ๋นŒ๋“œ๋ฅผ ์‚ญ์ œํ•˜๊ณ , ๋‹ค์‹œ ๋นŒ๋“œ๋ฅผ ์ง„ํ–‰ํ•œ ์ดํ›„์—, ์„œ๋ฒ„ ๋‹ค์‹œ ์‹คํ–‰

./gradlew clean // ์ด์ „ ๋นŒ๋“œ ์‚ญ์ œ
โ €
./gradlew build // ๋นŒ๋“œ ์ง„ํ–‰
โ €
java -jar build/libs/DeployServer-0.0.1-SNAPSHOT.jar // ์„œ๋ฒ„ ์‹คํ–‰

13. ์ดํ›„, S3 ์—”๋“œํฌ์ธํŠธ ์ฃผ์†Œ๋กœ ์ ‘์†ํ•ด์„œ ๋กœ๊ทธ์ธ์„ ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์„ฑ๊ณตํ•œ ํ™”๋ฉด์ด ๋‚˜์˜ด ~

์ฐธ๊ณ ๋กœ ๋งŒ๋‚ฌ๋˜ ์—๋Ÿฌ ์ค‘์—,
์•„๋ž˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ์ธ์Šคํ„ด์Šค์˜ ํผ๋ธ”๋ฆญ DNS ์ฃผ์†Œ์™€ ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€์—์„œ ๋กœ๊ทธ์ธ์„ ํ•œ ํ›„ F12๋ฅผ ๋ˆŒ๋ €์„ ๋•Œ ๋ณด์ด๋Š” ์—๋Ÿฌ ๋ฉ”์„ธ์ง€์˜ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ๋˜๋Š” ์„œ๋ฒ„ ์ฃผ์†Œ๊ฐ€ ๋‹ฌ๋ผ์„œ ์—๋Ÿฌ๊ฐ€ ๋‚œ ์ ์ด ์žˆ์—ˆ๋‹ค.
โ €
โžœ .env ํŒŒ์ผ์— ์ฃผ์†Œ๋ฅผ ๋‹ค์‹œ ์ž‘์„ฑ ํ›„์— S3 ์„ค์ •๋„ ๋‹ค์‹œ ํ•ด๋ณด๋‹ˆ ์ฃผ์†Œ๋„ ๊ฐ™์•„์ง€๊ณ  ์‘๋‹ต์ด ์ž˜ ์˜ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค !


๐ŸŒˆ ๋Š๋‚€์ 

AWS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์Šคํ„ด์Šค ์„œ๋ฒ„๋ฅผ ํ•˜๋‚˜ ๋งŒ๋“ค๊ณ  ๋Œ๋ ค๋ณด๋Š” ์‹ค์Šต์„ ํ–ˆ๋Š”๋ฐ ๋ญ”๊ฐ€ ๋ฐ”๋กœ๋ฐ”๋กœ ๊ฒฐ๊ณผ๊ฐ€ ๋ˆˆ์— ๋ณด์—ฌ์„œ ๊ทธ๋Ÿฐ์ง€ ์žฌ๋ฐŒ์—ˆ๊ณ ,
๊ทผ๋ฐ ๋˜ AWS์—์„œ ๋ญ”๊ฐ€๋ฅผ ์ž˜๋ชป๋ˆ„๋ฅด๊ฑฐ๋‚˜ ์–ด๋–ป๊ฒŒ ๋ผ์„œ ๊ณผ๊ธˆ๋˜๋Š” ์‚ฌ๋žŒ๋“ค์ด ๋งŽ๊ธธ๋ž˜ ์ข€ ๋ฌด์„ญ๊ธฐ๋„ ํ–ˆ๋‹ค,,
์‚ฌ์‹ค ์–ด์ œ๊นŒ์ง€ ๊ดœ์ฐฎ์•˜๋Š”๋ฐ ์˜ค๋Š˜ S3 + RDS ์‹ค์Šตํ•˜๋ฉด์„œ ์—๋Ÿฌ๋ฅผ ๋„ˆ๋ฌด ๋งŽ์ด ๋งŒ๋‚˜์„œ ์‚ฌ์‹ค ์ข€ ๊ณ ๋‹จํ•œ ํ•˜๋ฃจ์˜€๋Š”๋ฐ ๊ทธ๋ž˜๋„ ์ •๋ง ๋ช‡์‹œ๊ฐ„์ด๊ณ  ๊ฑธ๋ ค์„œ ์–ด๋–ป๊ฒŒ ์ž˜ ํ•ด๊ฒฐํ–ˆ๋‹ค..!
ํ•˜๋ฉด์„œ ๋‚ด๊ฐ€ ์ดํ•ด๋ฅผ ํ•˜๋ฉด์„œ ํ•˜๋Š” ๊ฑด์ง€๋Š” ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ ..^^ ๋ชฐ๋ผ ๋‚˜๋„ ใ…Ž
๊ณง ํ”„๋กœ์ ํŠธ๋ผ๋‹ˆ ๋ง๋„ ์•ˆ๋ผ

0๊ฐœ์˜ ๋Œ“๊ธ€