๐ŸŽ‰ berenickt ๋ธ”๋กœ๊ทธ์— ์˜จ ๊ฑธ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค. ๐ŸŽ‰
DevOps
07-RDS

1. RDS

  • RDS๋Š” Relational Database Service์˜ ์•ฝ์ž
    • AWS์—์„œ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ œ๊ณตํ•ด์ฃผ๋Š” ์„œ๋น„์Šค
  • ํ•˜์ง€๋งŒ ๋‹จ์ˆœํžˆ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋งŒ์„ ์ œ๊ณตํ•ด์ฃผ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ DB์™€ ๊ด€๋ จ๋œ ๋ชจ๋“  ์ž‘์—…๋“ค์„ ์ œ๊ณต
  • ๊ทธ๋ž˜์„œ RDS๋ฅผ Fully Managed Relational Database(์™„์ „ ๊ด€๋ฆฌํ˜• ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค)๋ผ๊ณ  ๋ถ€๋ฆ„
  • ์™„์ „ ๊ด€๋ฆฌํ˜•์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๊ด€๋ จ๋œ ๋ชจ๋“  ์ž‘์—…์„ ๋‹ค ํ•ด์ค€๋‹ค.
  • Oracle, MySQL, PostgreSQL, MariaDB, Aurora ๋“ฑ ๋‹ค์–‘ํ•œ DB์—”์ง„์„ ์ œ๊ณตํ•œ๋‹ค.
  • ์ง์ ‘ ํ•˜๋ ค๋ฉด ๋ฒˆ๊ฑฐ๋กœ์šด DB ์ด์ค‘ํ™” ์ž‘์—…์ด๋‚˜ Read Replica ์ƒ์„ฑ๋„ ์†์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • Multi-AZ์˜ AZ๋Š” Availability Zone. ์ฆ‰, ๊ฐ€์šฉ ์˜์—ญ์„ ์˜๋ฏธ
    • ๊ทธ๋ž˜์„œ Multi-AZ๋ผ๊ณ  ํ•˜๋ฉด ๋ณต์ˆ˜ ๊ฐœ์˜ ๊ฐ€์šฉ ์˜์—ญ์— DB ์ธ์Šคํ„ด์Šค๋ฅผ ๋‘ ์œผ๋กœ์จ ์ด์ค‘ํ™”ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธ
  • ์ธ์Šคํ„ด์Šค ํ™•์žฅ ์—ญ์‹œ ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

2. RDS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

๋‹ค์Œ ๋‘ ๊ฐ€์ง€ ๊ฒฝ์šฐ๋ฅผ ๋น„๊ตํ–ˆ์„ ๋•Œ, ์–ด๋–ค ๊ฒฝ์šฐ์— ์šฐ๋ฆฌ๊ฐ€ ์ง์ ‘ ํ•ด์•ผํ•  ์ผ๋“ค์ด ๋งŽ์„๊นŒ?

  • EC2 ๊ฐ™์€ ์„œ๋ฒ„์— ์ง์ ‘ DB๋ฅผ ์„ค์น˜ํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ vs RDS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ
  • DBA(Database Administrator)๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ์ž๋กœ DB ๊ด€๋ จ๋œ ์ž‘์—…๋“ค๋งŒ ์ „๋‹ดํ•œ๋‹ค.
    • ์ฆ‰, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ๋งŒ ํ•ด๋„ ํ•  ์ผ์ด ๊ต‰์žฅํžˆ ๋งŽ๋‹ค.
    • e.g. DB ์„ค์น˜, ์—…๊ทธ๋ ˆ์ด๋“œ, ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜, ๋ฐฑ์—… ๋ฐ ๋ณต๊ตฌ, ๋ณด์•ˆ ์„ค์ •, ์Šคํ† ๋ฆฌ์ง€ ์šฉ๋Ÿ‰ ๊ณ„ํš ์„ธ์šฐ๊ธฐ, ์„ฑ๋Šฅ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ํŠœ๋‹, ๋ฌธ์ œํ•ด๊ฒฐ ๋“ฑ
  • RDS๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ๋ชจ๋“  ์ผ๋“ค์„ ์•Œ์•„์„œ ์ฒ˜๋ฆฌํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์—, ์‹ ๊ฒฝ์“ธ๊ฒŒ ์ ์–ด์ง€๊ณ  ํŽธํ•ด์ง„๋‹ค.

3. RDS ๊ธฐ๋ณธ ๊ตฌ์กฐ

rds_structure

AWS ๋ฆฌ์ „๊ณผ ๊ฐ€์šฉ ์˜์—ญ์ด ๋‚˜ํƒ€๋‚˜ ์žˆ๊ณ , ๊ทธ ์ค‘ ๊ฐ€์šฉ ์˜์—ญ 1๋ฒˆ์— M์ด๋ผ๊ณ  ์จ์žˆ๋Š” Master DB ์ธ์Šคํ„ด์Šค๊ฐ€ ์žˆ๋‹ค.

  • ์ด Master DB๋ฅผ ํ†ตํ•ด ์ฝ๊ธฐ์™€ ์“ฐ๊ธฐ ์ž‘์—…์ด ์ด๋ค„์ง„๋‹ค.
  • cf. Master DB๋Š” Primary DB๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๋„ ํ•จ.

๊ทธ๋ฆฌ๊ณ  ๊ฐ™์€ ๋ฆฌ์ „ ๋‚ด์— ๋‹ค๋ฅธ ๊ฐ€์šฉ ์˜์—ญ์— S๋ผ๊ณ  ์จ์žˆ๋Š” Standby DB๊ฐ€ ์žˆ๋‹ค.

  • ์œ„ ๊ทธ๋ฆผ์—์„œ๋Š” ํ˜„์žฌ 2๋ฒˆ ๊ฐ€์šฉ ์˜์—ญ์— ์กด์žฌํ•œ๋‹ค.
  • Standby DB๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ฑฐ๋‚˜ ์“ฐ๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ,
    • ์žฅ์• ๋ฅผ ์˜ˆ๋ฐฉํ•˜๊ธฐ ์œ„ํ•ด์„œ DB ์ด์ค‘ํ™” ์ž‘์—…์„ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค.
    • ์•ž์—์„œ ์ž ๊น ๋“ฑ์žฅํ–ˆ๋˜ Multi-AZ๊ฐ€ ๋ฐ”๋กœ ์ด๊ฒƒ์ด๋ผ๊ณ  ๋ณด๋ฉด ๋ฉ๋‹ˆ๋‹ค.
    • Standby๋ผ๋Š” ๋‹จ์–ด์˜ ์˜๋ฏธ ๊ทธ๋Œ€๋กœ ๋Œ€๊ธฐ ์ค‘์ธ ์ธ์Šคํ„ด์Šค์ด๋‹ค.

Master DB์˜ ๋ฐ์ดํ„ฐ๋Š” Standby DB๋กœ ๋™๊ธฐ ๋ณต์ œ๊ฐ€ ์ด๋ค„์ง„๋‹ค.

  • ๊ทธ๋ž˜์„œ Master DB์™€ Standby DB๋Š” ๋ชจ๋“  ์‹œ์ ์— ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ๋™์ผํ•˜๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  R์ด๋ผ๊ณ  ์จ์žˆ๋Š” ์ธ์Šคํ„ด์Šค๋Š” Read Replica(์ฝ๊ธฐ ์ „์šฉ ๋ณต์ œ๋ณธ)์ด๋‹ค.

  • ๋ฐ์ดํ„ฐ๋ฅผ ์“ฐ๋Š” ์šฉ๋„๊ฐ€ ์•„๋‹Œ ์ฝ๊ธฐ๋งŒ ํ•˜๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉํ•˜๋Š” ์ธ์Šคํ„ด์Šค๋‹ค.
  • Read Replica๋Š” Master DB์™€ ๊ฐ™์€ ๋ฆฌ์ „์— ์žˆ์„ ์ˆ˜๋„ ์žˆ์œผ๋ฉฐ, ๋‹ค๋ฅธ ๋ฆฌ์ „์— ์กด์žฌํ•  ์ˆ˜๋„ ์žˆ๋‹ค.
  • ๋‹ค๋ฅธ ๋ฆฌ์ „์— Read Replica๋ฅผ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ, ๋ฉ€๋ฆฌ ๋–จ์–ด์ ธ ์žˆ๋Š” ๊ตญ๊ฐ€์—์„œ๋„ ๋น ๋ฅด๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  Master DB์˜ ๋ฐ์ดํ„ฐ๋Š” Read Replica๋กœ ๋น„๋™๊ธฐ ๋ณต์ œ๊ฐ€ ์ด๋ค„์ง„๋‹ค.

  • ๊ทธ๋ž˜์„œ Master DB์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ํ•ญ์ƒ Read Replica์— ์žˆ๋‹ค๊ณ ๋Š” ํ•  ์ˆ˜ ์—†์ง€๋งŒ,
  • ๋น„๋™๊ธฐ ๋ณต์ œ ์ž์ฒด๊ฐ€ ๊ต‰์žฅํžˆ ์งง์€ ์‹œ๊ฐ„ ๋‚ด์— ์ด๋ค„์ง€๊ธฐ ๋•Œ๋ฌธ์— ๊ฑฐ์˜ ๋™์ผํ•˜๊ฒŒ ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์ง€๋œ๋‹ค๊ณ  ๋ด๋„ ๋ฉ๋‹ˆ๋‹ค.

rds_failover

๊ทธ๋ฆฌ๊ณ  ๋งŒ์•ฝ ์œ„ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ Master DB์— ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋˜๋ฉด ์žฅ์• ๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•œ Failover๊ฐ€ ์ด๋ค„์ง„๋‹ค.

  • ์ด๋•Œ Standby DB๊ฐ€ Master์˜ ์—ญํ• ์„ ํ•˜๊ฒŒ ๋œ๋‹ค.
  • ๊ทธ๋ž˜์„œ ์ฝ๊ธฐ์™€ ์“ฐ๊ธฐ ์ž‘์—…์ด Standby DB๋ฅผ ํ†ตํ•ด ์ด๋ค„์ง„๋‹ค.

3.1 ๋‹ค์ค‘ AZ์™€ ์ฝ๊ธฐ ์ „์šฉ ๋ณต์ œ๋ณธ ๋น„๊ต

๋‹ค์ค‘ AZ ๋ฐฐํฌ์ฝ๊ธฐ ์ „์šฉ ๋ณต์ œ๋ณธ
๋™๊ธฐ์‹ ๋ณต์ œ - ๋†’์€ ์•ˆ์ •์„ฑ๋น„๋™๊ธฐ์‹ ๋ณต์ œ - ๋†’์€ ํ™•์žฅ์„ฑ
๊ธฐ๋ณธ ์ธ์Šคํ„ด์Šค์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—”์ง„๋งŒ ํ™œ์„ฑ๋ชจ๋“  ์ฝ๊ธฐ ์ „์šฉ ๋ณต์ œ๋ณธ์€ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ ์ฝ๊ธฐ ํ™•์žฅ๋„ ๊ฐ€๋Šฅ
์ž๋™ ๋ฐฑ์—…์€ ๋Œ€๊ธฐ ์ƒํƒœ์—์„œ ์ˆ˜ํ–‰๊ธฐ๋ณธ ์ œ๊ณต๋œ ๋ฐฑ์—… ๊ตฌ์„ฑ ์—†์Œ
๋‹จ์ผ ์ง€์—ญ ๋‚ด์— ํ•ญ์ƒ 2๊ฐœ์˜ ๊ฐ€์šฉ์„ฑ ์˜์—ญ์„ ํ™•์žฅ๊ฐ€์šฉ ์˜์—ญ, ๊ต์ฐจ AZ ๋˜๋Š” ๊ต์ฐจ ์ง€์—ญ ๋‚ด์—์žˆ์„ ์ˆ˜ ์žˆ์Œ
๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—”์ง„ ๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ๋ฐœ์ƒ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—”์ง„ ๋ฒ„์ „ ์—…๊ทธ๋ ˆ์ด๋“œ๋Š” ์›๋ณธ ์ธ์Šคํ„ด์Šค์™€ ๋…๋ฆฝ๋จ
๋ฌธ์ œ๊ฐ€ ๊ฐ์ง€๋˜๋ฉด ๋Œ€๊ธฐ ๋ชจ๋“œ๋กœ ์ž๋™ Failover ์กฐ์น˜๋…๋ฆฝํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ธ์Šคํ„ด์Šค๋กœ ์ˆ˜๋™ ์Šน๊ฒฉ ๋  ์ˆ˜ ์žˆ์Œ

4. (์‹ค์Šต) RDS ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ

[RDS] โ†’ ๋Œ€์‹œ๋ณด๋“œ ์•„๋ž˜์— [๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ํ™”๋ฉด์ด ๋‚˜์˜จ๋‹ค.

  • ์—”์ง„์˜ต์…˜ : MySQL ์„ ํƒ
  • ํ…œํ”Œ๋ฆฟ : ํ”„๋ฆฌํ‹ฐ์–ด ์„ ํƒ
    • ํ”„๋ฆฌํ‹ฐ์–ด๋ฅผ ์„ ํƒํ•˜๊ฒŒ ๋˜๋ฉด, ๋ฐ‘์— ๋‚˜์˜ค๋Š” ๋ฐฐํฌ ์˜ต์…˜์ด ๋น„ํ™œ์„ฑํ™”๋จ
  • ์„ค์ •
    • DB ์ธ์Šคํ„ด์Šค ์‹๋ณ„์ž : my-database
    • ๋งˆ์Šคํ„ฐ ์‚ฌ์šฉ์ž์ด๋ฆ„์€ admin
    • ์•”ํ˜ธ์ž๋™์ƒ์„ฑ ์ฒดํฌ
  • ์ธ์Šคํ„ด์Šค ๊ตฌ์„ฑ : db.t3.micro ํ”„๋ฆฌํ‹ฐ์–ด ์„ค์ • ๊ทธ๋Œ€๋กœ ๋‘๊ธฐ
  • ์Šคํ† ๋ฆฌ์ง€ ์œ ํ˜• : ๊ทธ๋Œ€๋กœ ๋‘๊ธฐ
  • ์—ฐ๊ฒฐ :
    • ํผ๋ธ”๋ฆญ ์•ก์„ธ์Šค๋ฅผ ์˜ˆ๋กœ ์ฒดํฌ
    • VPC ๋ณด์•ˆ ๊ทธ๋ฃน(๋ฐฉํ™”๋ฒฝ)์„ ์ƒˆ๋กœ ์ƒ์„ฑ ์ฒดํฌ
    • ์ƒˆ VPC ๋ณด์•ˆ ๊ทธ๋ฃน ์ด๋ฆ„์€ rds-my-database
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ธ์ฆ, ๋ชจ๋‹ˆํ„ฐ๋ง ๋“ฑ์˜ ์„ค์ •์€ ๊ทธ๋Œ€๋กœ ๋‘๊ธฐ
  • ์ด์ œ ํ™”๋ฉด์„ ์ œ์ผ ๋๊นŒ์ง€ ๋‚ด๋ฆฌ๋ฉด, ์˜ˆ์ƒ ์š”๊ธˆ์ด ๋‚˜์˜จ๋‹ค.
  • [๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ] ๋ฒ„ํŠผ์„ ํด๋ฆญ

cf. EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑ๊ณผ ๋‹ฌ๋ฆฌ RDS ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ์€ ์‹œ๊ฐ„์ด ๊ฝค ๊ฑธ๋ฆฐ๋‹ค.

๋Œ€๋žต 5๋ถ„์—์„œ 10๋ถ„ ์ •๋„๋Š” ๊ธฐ๋‹ค๋ ค์•ผ ์ •์ƒ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ƒํƒœ๊ฐ€ ๋œ๋‹ค

์ค‘์š”ํ•œ ๊ฒƒ์ด ํ•˜๋‚˜ ์žˆ๋Š”๋ฐ ์œ„์— ๋‚˜์˜ค๋Š” ํŒŒ๋ž€ ๋ถ€๋ถ„์„ ๋‹ซ์ง€ ๋ง๊ณ ,

  • ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์— ์žˆ๋Š” [์ž๊ฒฉ์ฆ๋ช… ์„ธ๋ถ€์ •๋ณด ๋ณด๊ธฐ] ๋ฒ„ํŠผ์„ ํด๋ฆญ.
  • ๊ทธ๋Ÿฌ๋ฉด DB ์ธ์Šคํ„ด์Šค์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋Š” ๋งˆ์Šคํ„ฐ ์‚ฌ์šฉ์ž์˜ ์ด๋ฆ„๊ณผ ์•”ํ˜ธ๊ฐ€ ๋‚˜์˜จ๋‹ค.
    • ์—ฌ๊ธฐ์„œ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์ง€๊ธˆ์ด ์ด ์•”ํ˜ธ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ๊ธฐํšŒ์ด๊ธฐ ๋•Œ๋ฌธ์—,
    • ๊ผญ ์•”ํ˜ธ๋ฅผ ์ž˜ ๋ณต์‚ฌํ•ด๋‘ฌ์•ผ ํ•œ๋‹ค. โญ๏ธ
  • ์ดํ›„ ์‹œ๊ฐ„์ด ์กฐ๊ธˆ ๋” ์ง€๋‚˜๋ฉด, db ์ธ์Šคํ„ด์Šค์˜ ์ƒํƒœ๊ฐ€ ๋ฐฑ์—… ์ค‘์œผ๋กœ ๋ฐ”๋€Œ๊ณ ,
  • ์กฐ๊ธˆ ๋” ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ์ด๋ ‡๊ฒŒ [์‚ฌ์šฉ ๊ฐ€๋Šฅ] ์ƒํƒœ๋กœ ๋ฐ”๋€Œ๊ฒŒ ๋œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  dbinstance๋ฅผ ๋ˆŒ๋Ÿฌ์„œ ๋“ค์–ด๊ฐ€ ๋ณด๋ฉด,

  • dbinstance์— ๊ด€ํ•œ ์ƒ์„ธ ์ •๋ณด๋“ค์ด ๋‚˜์˜ค๋Š”๋ฐ, [์—ฐ๊ฒฐ ๋ฐ ๋ณด์•ˆ] ํƒญ์˜ ๋ฐ‘์—์„œ ์—”๋“œํฌ์ธํŠธ๋„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ด ์ฃผ์†Œ๊ฐ€ ๋ฐ”๋กœ dbinstance์— ์ ‘์†ํ•˜๊ธฐ ์œ„ํ•œ ์ฃผ์†Œ๋‹ค.
  • ๋’ค์— ๋‚˜์˜ฌ ์‹ค์Šต์—์„œ ์ด ์—”๋“œํฌ์ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ถ€๋ถ„๋„ ์ž˜ ๊ธฐ์–ตํ•ด๋‘๊ธฐ

์ง€๊ธˆ๊นŒ์ง€ ๋งŒ๋“  ๊ตฌ์กฐ๋Š” ๋ฆฌ์ „ ๋‚ด์— ํ•˜๋‚˜์˜ ๊ฐ€์šฉ ์˜์—ญ์— master dbinstance๋ฅผ ์ƒ์„ฑํ•œ ๊ฒƒ์ด๋‹ค.


5. (์‹ค์Šต) DB ์ธ์Šคํ„ด์Šค ๋‹ค์ค‘ AZ ๋ฐฐํฌ๋กœ ์ „ํ™˜

cf. ๋‹ค์ค‘ AZ ๋ฐฐํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์•ฝ๊ฐ„ ๊ณผ๊ธˆ์ด ๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๊ณผ๊ธˆ์ด ๊ฑฑ์ •๋˜๋ฉด, ์‹ค์Šต์„ ์ง„ํ–‰ํ•˜์ง€ ์•Š๊ณ  ๊ฐ•์˜๋งŒ ๋ณด๊ณ  ์–ด๋–ป๊ฒŒ ํ•˜๋Š”์ง€๋งŒ ํŒŒ์•…ํ•ด๋„ ๋œ๋‹ค.

๋จผ์ € ์ƒ์„ฑํ•ด๋‘” [DB ์ธ์Šคํ„ด์Šค] ์ƒ์„ธ ํŽ˜์ด์ง€์—์„œ [๊ตฌ์„ฑ] ํƒญ์„ ํด๋ฆญ.

  • ๊ตฌ์„ฑ ํƒญ์—์„œ ํ™”๋ฉด์„ ๋ฐ‘์œผ๋กœ ๋‚ด๋ฆฌ๋‹ค ๋ณด๋ฉด, ๋‹ค์ค‘ ์—์ด์ง€ ์„ค์ • ์ƒํƒœ๊ฐ€ ๋‚˜์˜จ๋‹ค.
    • ์ง€๊ธˆ์€ ๋‹ค์ค‘ ์—์ด์ง€๋ฅผ ์„ค์ •ํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ์•„๋‹ˆ์š”๋ผ๊ณ  ๋˜์–ด ์žˆ๋‹ค.
  • ๋‹ค์‹œ ํ™”๋ฉด์„ ์œ„๋กœ ์˜ฌ๋ ค์„œ ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์— ์žˆ๋Š” [์ž‘์—…] ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญํ•˜๊ณ ,
    • ํ•˜์œ„ ๋ฉ”๋‰ด ์ค‘์—์„œ [๋‹ค์ค‘ AZ ๋ฐฐํฌ๋กœ ๋ณ€ํ™˜]์„ ํด๋ฆญ
    • ๊ทธ๋Ÿฌ๋ฉด ํ™•์ธ ๋‹ค์ด์–ผ๋กœ๊ทธ๊ฐ€ ๋‚˜์˜ค๋Š”๋ฐ, ์ฆ‰์‹œ ์ ์šฉ์„ ์„ ํƒํ•˜๊ณ ,
    • ์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ์— ์žˆ๋Š” [๋‹ค์ค‘ AZ๋กœ ๋ณ€ํ™˜] ๋ฒ„ํŠผ์„ ํด๋ฆญ
    • cf. ๋‹ค์ค‘ AZ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ž‘์—…๋„ ์ƒ๊ฐ๋ณด๋‹ค๋Š” ์‹œ๊ฐ„์ด ๊ฝค ๊ฑธ๋ฆฐ๋‹ค.
  • [๋กœ๊ทธ ๋ฐ ์ด๋ฒคํŠธ] ํƒญ์„ ํด๋ฆญํ•˜๋ฉด,
    • ๊ทธ๋Ÿฌ๋ฉด ์ตœ๊ทผ ์ด๋ฒคํŠธ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋Š”๋ฐ,
    • ์—ฌ๊ธฐ์— ๋ฉ€ํ‹ฐ AZ๋กœ ๋ณ€ํ™˜ํ•œ ์ด๋ฒคํŠธ๋„ ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
  • ๊ทธ๋ฆฌ๊ณ  ์–ด๋А ์ •๋„ ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด,
    • ์ธ์Šคํ„ด์Šค์˜ [๊ตฌ์„ฑ] ํƒญ์—์„œ ๋‹ค์ค‘AZ ๋ถ€๋ถ„์ด ์˜ˆ ๋ผ๊ณ  ๋ฐ”๋€ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์ด๋ฒˆ์—๋Š” DB ์ธ์Šคํ„ด์Šค๋ฅผ ์žฅ์•  ์กฐ์น˜๋กœ ์žฌ๋ถ€ํŒ…ํ•ด๋ณธ๋‹ค.

  • ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์—์„œ [์ž‘์—…] ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญํ•˜๊ณ , ํ•˜์œ„ ๋ฉ”๋‰ด ์ค‘์—์„œ [์žฌ๋ถ€ํŒ…]์„ ํด๋ฆญ
  • ๊ทธ๋ฆฌ๊ณ  ๋‚˜์˜ค๋Š” ํ™”๋ฉด์—์„œ [์žฅ์•  ์กฐ์น˜๋กœ ์žฌ๋ถ€ํŒ…]์„ ์ฒดํฌ
  • ์ฒดํฌํ•œ ๋’ค์— [ํ™•์ธ] ๋ฒ„ํŠผ์„ ํด๋ฆญ.
  • ๊ทธ๋Ÿฌ๋ฉด ์ด๋ ‡๊ฒŒ ์ธ์Šคํ„ด์Šค ์žฌ๋ถ€ํŒ…์ด ์‹œ์ž‘๋œ๋‹ค.

์žฌ๋ถ€ํŒ…์ด ์™„๋ฃŒ๋œ ์ดํ›„์— [๋กœ๊ทธ ๋ฐ ์ด๋ฒคํŠธ] ํƒญ์„ ํด๋ฆญํ•ด๋ณด๋ฉด,

  • ์ตœ๊ทผ ์ด๋ฒคํŠธ ๋ชฉ๋ก์—์„œ ๋ฉ€ํ‹ฐ AZ ์ธ์Šคํ„ด์Šค FailOver๊ฐ€ ์‹œ์ž‘๋˜์—ˆ๊ณ ,
  • ์™„๋ฃŒ๋œ ๊ธฐ๋ก์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
  • cf. ๋Œ€๋žต 1๋ถ„ ๋‚ด๋กœ ํŽ˜์ผ์˜ค๋ฒ„๊ฐ€ ์™„๋ฃŒ๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ์ง€๊ธˆ๊นŒ์ง€ ๋งŒ๋“  ๊ตฌ์กฐ๋Š”

  • ๋ฉ€ํ‹ฐAZ๋ฅผ ์ ์šฉํ•จ์œผ๋กœ์จ ๋งˆ์Šคํ„ฐ๋””๋น„(M) ์ธ์Šคํ„ด์Šค์™€
  • ๋‹ค๋ฅธ ๊ฐ€์šฉ ์˜์—ญ์— ์Šคํƒ ๋ฐ”์ด๋””๋น„(S) ์ธ์Šคํ„ด์Šค๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ๊ณ 
  • ๋งˆ์Šคํ„ฐ๋””๋น„(M)์˜ ๋ฐ์ดํ„ฐ๋Š” ์Šคํƒ ๋ฐ”์ด(S) ๋””๋น„๋กœ ๋™๊ธฐ ๋ณต์ œ๊ฐ€ ์ด๋ค„์ง„๋‹ค.

cf. AWS RDS ๋ฉ€ํ‹ฐAZ ์†Œ๊ฐœ ์˜์ƒ


6. (์‹ค์Šต) ๋‹ค๋ฅธ ๋ฆฌ์ „์— ์ฝ๊ธฐ ์ „์šฉ ๋ณต์ œ๋ณธ ์ƒ์„ฑ

[RDS] โ†’ [๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค] ์ธ์Šคํ„ด์Šค ๋ชฉ๋ก์—์„œ ์ƒ์„ฑํ•ด๋‘” ์ธ์Šคํ„ด์Šค๋ฅผ ํด๋ฆญ.

  • ํ•ด๋‹น ์ธ์Šคํ„ด์Šค ์ƒ์„ธ ํŽ˜์ด์ง€์—์„œ ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์˜ [์ž‘์—…] ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญ
  • ๊ทธ๋ฆฌ๊ณ  ๋‚˜์˜ค๋Š” ํ•˜์œ„ ๋ฉ”๋‰ด์—์„œ [์ฝ๊ธฐ ์ „์šฉ ๋ณต์ œ๋ณธ ์ƒ์„ฑ]์„ ํด๋ฆญ

(์ฝ๊ธฐ ์ „์šฉ ๋ณต์ œ๋ณธ ์ƒ์„ฑ) ํŽ˜์ด์ง€

  • DB ์ธ์Šคํ„ด์Šค ์‹๋ณ„์ž : my-database
  • ์ธ์Šคํ„ด์Šค ๊ตฌ์„ฑ : db.t3.micro๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉ
  • AWS ๋ฆฌ์ „ : ๊ฐ€์žฅ ์œ„์— ์žˆ๋Š” US East North Virginia๋ฅผ ์„ ํƒ
    • ๋ฆฌ์ „์„ ๋ณ€๊ฒฝํ•˜๋ฉด, ๋‹ค์‹œ ํ™”๋ฉด์ด ๋กœ๋”ฉ๋œ๋‹ค.
    • cf. ์—ฌ๊ธฐ์„œ ํ˜„์žฌ ๋ฆฌ์ „๊ณผ ๋‹ค๋ฅธ ๋ฆฌ์ „์„ ์„ ํƒํ•ด์•ผ ํ•จ (์„œ์šธ ๋ฆฌ์ „์œผ๋กœ ์ง„ํ–‰์ค‘)
  • ์Šคํ† ๋ฆฌ์ง€ : ๊ธฐ๋ณธ ์„ค์ • ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉ
  • ๊ฐ€์šฉ์„ฑ : ๋‹ค์ค‘ AZ๋ฅผ ์„ ํƒํ•˜๋Š” ๋ถ€๋ถ„์—์„œ ๋‹จ์ผ DB ์ธ์Šคํ„ด์Šค๋ฅผ ์„ ํƒ
    • cf. ์ฃผ์˜ํ•  ์ ์€ ๋งŒ์•ฝ ๋‹ค์ค‘ AZ๋ฅผ ์„ ํƒํ•˜๋ฉด ์š”๊ธˆ์ด ๊ณผ๊ธˆ๋  ์ˆ˜ ์žˆ๋‹ค.
    • ๊ทธ๋ž˜์„œ ๊ผญ ๋‹จ์ผ DB ์ธ์Šคํ„ด์Šค๋ฅผ ์„ ํƒ
  • ์—ฐ๊ฒฐ : Public Access ๊ฐ€๋Šฅ์„ ์„ ํƒ
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ธ์ฆ : ๊ทธ๋Œ€๋กœ ๋‘๊ธฐ
  • ํ™”๋ฉด์„ ์ œ์ผ ํ•˜๋‹จ์œผ๋กœ ๋‚ด๋ ค์„œ [์ฝ๊ธฐ ์ „์šฉ ๋ณต์ œ๋ณธ ์ƒ์„ฑ] ๋ฒ„ํŠผ์„ ํด๋ฆญ

๊ทธ๋Ÿผ ์ฝ๊ธฐ ์ „์šฉ ๋ณต์ œ๋ณธ ์ƒ์„ฑ์ด ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.

  • ๊ธฐ์กด ๋งˆ์Šคํ„ฐ DB์˜ ์ธ์Šคํ„ด์Šค ์ƒํƒœ๊ฐ€ [์ˆ˜์ • ์ค‘]์œผ๋กœ ๋ฐ”๋€๋‹ค.
  • ์–ด๋А ์ •๋„ ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด, [์‚ฌ์šฉ ๊ฐ€๋Šฅ]์œผ๋กœ ์ƒํƒœ๊ฐ€ ๋ฐ”๋€๋‹ค.

DB ์ธ์Šคํ„ด์Šค๋ฅผ ๋ˆŒ๋Ÿฌ์„œ, ์ƒ์„ธ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•œ๋‹ค.

  • ์ƒ์„ธ ํŽ˜์ด์ง€์˜ [์—ฐ๊ฒฐ ๋ฐ ๋ณด์•ˆ] ํƒญ์—์„œ ํ™”๋ฉด์„ ์•„๋ž˜๋กœ ๋‚ด๋ ค๋ณด๋ฉด,
  • ๋ณต์ œ๋ผ๋Š” ๋ถ€๋ถ„์—, ๋ฐฉ๊ธˆ ์ƒ์„ฑํ•œ ์ฝ๊ธฐ ์ „์šฉ ๋ณต์ œ๋ณธ์ด ๋‚˜์˜จ๋‹ค.
  • ์ด ์ฝ๊ธฐ ์ „์šฉ ๋ณต์ œ๋ณธ์„ ํด๋ฆญ
  • ๊ทธ๋Ÿฌ๋ฉด ์ด๋ ‡๊ฒŒ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ชฉ๋ก ํ™”๋ฉด์ด ๋‚˜์˜จ๋‹ค.
  • ์–ผํ• ๋ดค์„ ๋•Œ๋Š” ๋ญ”๊ฐ€ ๊ธฐ์กด๊ณผ ๋‹ค๋ฅธ ๋ถ€๋ถ„์ด ์—†์–ด๋ณด์ด์ง€๋งŒ,
    • ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์— ํ˜„์žฌ ๋ฆฌ์ „์ด ๋ฒ„์ง€๋‹ˆ์•„ ๋ถ๋ถ€๋กœ ๋ฐ”๋€ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
    • ๊ทธ๋ฆฌ๊ณ  DB ์ธ์Šคํ„ด์Šค์˜ ์—ญํ• ์ด ๋ณต์ œ๋ณธ์ด๋ผ๊ณ  ๋˜์–ด ์žˆ๋Š” ๊ฒƒ๋„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
  • ํ˜„์žฌ ํ™”๋ฉด์— ๋ณด์ด๋Š” db ์ธ์Šคํ„ด์Šค๋Š” ๋ฒ„์ง€๋‹ˆ์•„ ๋ถ๋ถ€์— ์žˆ๋Š” ์ฝ๊ธฐ ์ „์šฉ ๋ณต์ œ๋ณธ์ด๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ์ง€๊ธˆ๊นŒ์ง€ ๋งŒ๋“  ๊ตฌ์กฐ๋Š”

  • ํ•˜๋‚˜์˜ ๋ฆฌ์ „ ๋‚ด์— ์žˆ๋Š” ๊ฐ€์šฉ ์˜์—ญ์— ๋งˆ์Šคํ„ฐDB ์ธ์Šคํ„ด์Šค๊ฐ€ ์กด์žฌํ•˜๊ณ ,
  • ๋งˆ์Šคํ„ฐDB์™€ ๊ฐ™์€ ๋ฆฌ์ „ ๋‚ด์— ๋‹ค๋ฅธ ๊ฐ€์šฉ ์˜์—ญ์— standbyDB ์ธ์Šคํ„ด์Šค๊ฐ€ ์กด์žฌํ•œ๋‹ค.
  • ๋งˆ์Šคํ„ฐDB์™€ ๋‹ค๋ฅธ ๋ฆฌ์ „์˜ ์ฝ๊ธฐ ์ „์šฉ ๋ณต์ œ๋ณธ์ธ Read Replica๊ฐ€ ์กด์žฌํ•˜๋ฉฐ,
    • Read Replica๋ฅผ ํ†ตํ•ด ์ฝ๊ธฐ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋งˆ์Šคํ„ฐDB์˜ ๋ฐ์ดํ„ฐ๋Š” Read Replica๋กœ ๋น„๋™๊ธฐ ๋ณต์ œ๊ฐ€ ์ด๋ค„์ง„๋‹ค.

7. (์‹ค์Šต) MySQL Workbench ์„ค์น˜ ๋ฐ ์—ฐ๊ฒฐ

๋จผ์ € ๊ตฌ๊ธ€์—์„œ ์ด๋ ‡๊ฒŒ MySQL Workbench๋ผ๊ณ  ๊ฒ€์ƒ‰ํ•œ๋‹ค.

  • ์ดํ›„ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ์—์„œ ์ œ์ผ ์ฒ˜์Œ์— ๋‚˜์˜ค๋Š” Download MySQL Workbench๋ฅผ ํด๋ฆญ.
    • ์ฟ ํ‚ค ์„ค์ •์ฐฝ์€ ๋ชจ๋‘ ์Šน์ธ์„ ๋ˆŒ๋Ÿฌ์„œ ๋‹ซ์•„์ค€๋‹ค.
    • ์ดํ›„ ๋‚ด ์ปดํ“จํ„ฐ์˜ ์šด์˜์ฒด์ œ์™€ OS ๋ฒ„์ „์— ๋งž๋Š” ๊ฒƒ์„ ๋‹ค์šด๋กœ๋“œํ•œ๋‹ค.
    • ๊ทธ๋Ÿฌ๋ฉด ์ด๋ ‡๊ฒŒ ์„ค์น˜ ํŒŒ์ผ์ด ๋‹ค์šด๋กœ๋“œ๋œ๋‹ค.
    • ๋‹ค์šด๋ฐ›์€ ์„ค์น˜ ํŒŒ์ผ์„ ์‹คํ–‰ํ•ด์„œ ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•œ๋‹ค.
  • MySQL Workbench๋ฅผ ์„ค์น˜ํ•˜๊ณ  ์‹คํ–‰ํ•œ๋‹ค.
    • ํ”Œ๋Ÿฌ์Šค ์•„์ด์ฝ˜์œผ๋กœ ๋˜์–ด ์žˆ๋Š” ์ปค๋„ฅ์…˜ ์ถ”๊ฐ€ ๋ฒ„ํŠผ์„ ํด๋ฆญ
  • ๊ทธ๋Ÿฌ๋ฉด ์ƒˆ๋กœ์šด ์—ฐ๊ฒฐ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๋‹ค์ด์–ผ๋กœ๊ทธ๊ฐ€ ๋‚˜์˜ต๋‹ˆ๋‹ค.
  • ์—ฌ๊ธฐ์— ๋ณด๋ฉด ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•˜๋„๋ก ๋˜์–ด ์žˆ๋Š”๋ฐ, ์—ฌ๊ธฐ์„œ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•œ๋‹ค.
    • Connection Name : my-database-connection
    • HostNmae : AWS RDS DB ์ธ์Šคํ„ด์Šค์˜ ์—”๋“œ ํฌ์ธํŠธ๋ฅผ ๋ณต๋ถ™
      • cf. my-database.cneigewmemxh.ap-northeast-2.rds.amazonaws.com
    • Username : DB ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ๊ธฐ๋ณธ ๊ฐ’์ธ admin์„ ์‚ฌ์šฉํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— admin์„ ์ž…๋ ฅ
    • ์ดํ›„ [Store in Keychain] ๋ฒ„ํŠผ์„ ํด๋ฆญ.
  • ๊ทธ๋Ÿผ ์ƒˆ๋กœ์šด ๋‹ค์ด์–ผ๋กœ๊ทธ๊ฐ€ ํ•˜๋‚˜ ๋œจ๋Š”๋ฐ, ์—ฌ๊ธฐ์„œ ์ด์ „์— ๋ณต์‚ฌํ•ด๋‘” ๋งˆ์Šคํ„ฐ ์‚ฌ์šฉ์ž ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋ณต๋ถ™ํ•œ๋‹ค.
    • ์ด๋ ‡๊ฒŒ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๋ถ™์—ฌ๋„ฃ๊ณ  OK ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅธ๋‹ค.
    • ์ดํ›„ ์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ์— ์žˆ๋Š” ํ…Œ์ŠคํŠธ ์ปค๋„ฅ์…˜์„ ๋ˆŒ๋Ÿฌ์„œ ์—ฐ๊ฒฐ์ด ์ž˜ ๋˜๋Š”์ง€ ๋ฏธ๋ฆฌ ํ…Œ์ŠคํŠธํ•œ๋‹ค.
    • ์ •์ƒ์ ์œผ๋กœ ์—ฐ๊ฒฐ์ด ๋˜์—ˆ๋‹ค๋ฉด ์ด๋ ‡๊ฒŒ ์—ฐ๊ฒฐ์ด ์„ฑ๊ณตํ–ˆ๋‹ค๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ๋‚˜์˜จ๋‹ค.
    • cf. ๋งŒ์•ฝ ์—ฐ๊ฒฐ์ด ๋˜์ง€ ์•Š์„ ๊ฒฝ์šฐ, ๋ณด์•ˆ ๊ทธ๋ฃน ๊ทœ์น™์„ ํ•œ๋ฒˆ ํ™•์ธํ•ด ๋ณด๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.
    • cf. ๋งŽ์€ ๋ถ„๋“ค์ด ๋ณด์•ˆ ๊ทธ๋ฃน ๊ทœ์น™ ๋•Œ๋ฌธ์— ์ ‘์†๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.
    • ์—ฐ๊ฒฐ์ด ์„ฑ๊ณตํ•˜๋ฉด, ์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ์˜ OK ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์—ฐ๊ฒฐ ์ •๋ณด๊ฐ€ MySQL Workbench์— ์ €์žฅ๋œ๋‹ค.
  • ์—ฐ๊ฒฐ ๋ชฉ๋ก์— ์ƒˆ๋กœ์šด ์—ฐ๊ฒฐ์ด ์ƒ๊ธฐ๊ฒŒ ๋˜๊ณ , ์ด๊ฑธ ๋ˆ„๋ฅด๋ฉด ๊ณง๋ฐ”๋กœ DB์— ์ ‘์†ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์ด ๋ฒ„ํŠผ์„ ํ•œ๋ฒˆ ๋ˆ„๋ฅด๋ฉด, DB์— ์ ‘์†๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
    • ์—ฌ๊ธฐ์„œ ์™ผ์ชฝ์— ์žˆ๋Š” [Server Status]๋ฅผ ๋ˆŒ๋Ÿฌ๋ณด๋ฉด, ํ˜„์žฌ ์„œ๋ฒ„์˜ ์ƒํƒœ์™€ ์š”์•ฝ ์ •๋ณด๊ฐ€ ๋‚˜์˜จ๋‹ค.

8. (์‹ค์Šต) WordPress DB ํ…Œ์ด๋ธ” ์ƒ์„ฑ

  • https://github.com/soaple/first-met-aws-practice/blob/master/chapter_07/backup.sql
  • ๋งํฌ์— ์ ‘์†ํ•ด WordPress DB ์ƒ์„ฑ ์ฟผ๋ฆฌ๋ฌธ์„ ๋ณต์‚ฌํ•œ๋‹ค.
  • ์ด ์ฟผ๋ฆฌ๋“ค์€ WordPress์˜ ๊ธฐ๋ณธ DB ์Šคํ‚ค๋งˆ๋ฅผ ์ƒ์„ฑํ•ด์ฃผ๋Š” ์ฟผ๋ฆฌ๋ฌธ์ด๋‹ค.
    • cf. ์—ฌ๊ธฐ์— wp__users๋ผ๋Š” ํ…Œ์ด๋ธ”์— ๊ธฐ๋ณธ ์‚ฌ์šฉ์ž์˜ ID์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋‹ค.
  • ๋‹ค์Œ์œผ๋กœ๋Š” MySQL Workbench๋กœ RDS ์ธ์Šคํ„ด์Šค์— ์ ‘์†ํ•œ ๋’ค์—
    • ๋ณต์‚ฌํ•œ ์ฟผ๋ฆฌ๋ฌธ์„ ๋ถ™์—ฌ๋„ฃ๊ณ , [๋ฒˆ๊ฐœ๋ชจ์–‘ ์•„์ด์ฝ˜]์„ ํด๋ฆญํ•ด์„œ ์ „์ฒด ์ฟผ๋ฆฌ๋ฌธ์„ ์‹คํ–‰ํ•œ๋‹ค.
    • ์ฟผ๋ฆฌ๋ฌธ์„ ์‹คํ–‰ํ•˜๋ฉด, ํ•˜๋‹จ์— ๊ฐ ์ฟผ๋ฆฌ๋ฌธ์˜ ์‹คํ–‰ ๊ฒฐ๊ณผ๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค.
  • ๋ชจ๋“  ์ฟผ๋ฆฌ ์‹คํ–‰์ด ์™„๋ฃŒ๋˜๋ฉด, ์™ผ์ชฝ ๋ฉ”๋‰ด์— [Schemas] ํƒญ์„ ํด๋ฆญํ•œ๋‹ค.
  • ์ดํ›„ bitnami_wordpress๋ผ๋Š” ์Šคํ‚ค๋งˆ์™€ ํ…Œ์ด๋ธ”๋“ค์ด ์ œ๋Œ€๋กœ ์ƒ์„ฑ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.
    • ๋งŒ์•ฝ ์Šคํ‚ค๋งˆ๋‚˜ ํ…Œ์ด๋ธ”์ด ๋ณด์ด์ง€ ์•Š๋Š”๋‹ค๋ฉด, [์ƒˆ๋กœ ๊ณ ์นจ] ๋ฒ„ํŠผ์„ ํด๋ฆญ.

9. (์‹ค์Šต) WordPress์˜ MySQL ์—ฐ๊ฒฐ ์ •๋ณด

์ด์ „์— ํ–ˆ๋˜ ๊ฒƒ๊ณผ ๋™์ผํ•œ ๋ฐฉ์‹์œผ๋กœ SSH๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ WordPress ์ธ์Šคํ„ด์Šค์— ์ ‘์†

1
$ ssh -i [key-pair๊ฒฝ๋กœ] bitnami@[ํผ๋ธ”๋ฆญIPv4]
2
3
bitnami@ip-172-31-43-30:~$ vim /opt/bitnami/wordpress/wp-config.php
  • ์ด๋•Œ ์ ‘์†ํ•˜๋Š” ์ธ์Šคํ„ด์Šค๋Š” ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ์ธ์Šคํ„ด์Šค ์ค‘ ์•„๋ฌด๊ฑฐ๋‚˜ ํ•˜๋‚˜์— ์ ‘์†ํ•˜๋ฉด ๋œ๋‹ค.
  • ์ดํ›„ wp-config.php ํŒŒ์ผ์„ vim ํŽธ์ง‘๊ธฐ๋กœ ์—ฐ๋‹ค.
    • cf. vim์€ ์œ ๋‹‰์Šค ํ™˜๊ฒฝ์—์„œ ํ…์ŠคํŠธ๋ฅผ ํŽธ์ง‘ํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋žจ.
    • GUI ํ™˜๊ฒฝ์ด ์—†๋Š” ์„œ๋ฒ„์—์„œ ๋งŽ์ด ์‚ฌ์šฉ

๐Ÿ’ก vim ์—๋””ํ„ฐ ์‚ฌ์šฉ๋ฒ•

  • ์ปค๋งจ ๋ชจ๋“œ(๊ธฐ๋ณธ ๋ชจ๋“œ) - ์ž…๋ ฅ๋ชจ๋“œ์—์„œ ESC
  • ์ž…๋ ฅ๋ชจ๋“œ - iํ‚ค
  • ๋‚˜๊ฐ€๊ธฐ : ์ปค๋งจ๋“œ ๋ชจ๋“œ์—์„œ :q ์ž…๋ ฅ(quit)
  • ์ €์žฅ ๋ฐ ๋‚˜๊ฐ€๊ธฐ : ์ปค๋งจ๋“œ ๋ชจ๋“œ์—์„œ :wq ์ž…๋ ฅ (write and quit)
  • ๋ฐฉํ–ฅํ‚ค๋ฅผ ์ด์šฉํ•ด์„œ ์•„๋ž˜๋กœ ๋‚ด๋ ค๊ฐ€๋‹ค ๋ณด๋ฉด ์ด๋ ‡๊ฒŒ 40์—์„œ 60๋ฒˆ์งธ ์ค„ ์‚ฌ์ด์—
    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ ‘์† ์ •๋ณด๊ฐ€ ์ ํ˜€ ์žˆ๋Š” ๋ถ€๋ถ„์ด ๋‚˜์˜จ๋‹ค.
    • iํ‚ค๋ฅผ ๋ˆŒ๋Ÿฌ์„œ ์ž…๋ ฅ ๋ชจ๋“œ๋กœ ๋ณ€๊ฒฝํ•œ ๋’ค, ์ด 3๊ฐ€์ง€ ์ •๋ณด๋ฅผ ๋ณ€๊ฒฝํ•œ๋‹ค.
    • db-user, db-password, db-host๋ฅผ ๊ฐ์ž์˜ ํ™˜๊ฒฝ์— ๋งž๊ฒŒ ์ž…๋ ฅํ•œ๋‹ค.
1
/** Database username */
2
3
define( 'DB_USER', 'admin' );
4
5
6
/** Database password */
7
8
define( 'DB_PASSWORD', 'pVjkJeIXeKF8IVmZTkE4' );
9
10
11
/** Database hostname */
12
13
define( 'DB_HOST', 'my-database.cneigewmemxh.ap-northeast-2.rds.amazonaws.com' );

๋ชจ๋“  ์ •๋ณด๋ฅผ ์ˆ˜์ •ํ–ˆ๋‹ค๋ฉด escํ‚ค๋ฅผ ๋ˆŒ๋Ÿฌ์„œ Command ๋ชจ๋“œ๋กœ ๋ณ€๊ฒฝํ•œ ๋’ค์— :wq๋ฅผ ์ž…๋ ฅํ•ด์„œ ํŒŒ์ผ์„ ์ €์žฅํ•˜๊ณ  ๋ฐ–์œผ๋กœ ๋‚˜๊ฐ„๋‹ค.

์ดํ›„ ๋ณ€๊ฒฝ๋œ ์ ‘์† ์ •๋ณด๋ฅผ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Bitnami ์„œ๋น„์Šค๋ฅผ ์žฌ์‹œ์ž‘ํ•ด์•ผ ํ•œ๋‹ค.

  • ํ•˜์ง€๋งŒ ์ด ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ๋จผ์ € ์ƒˆ๋กœ์šด AMI๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค.
  • ๊ทธ๋ž˜์„œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์ง€ ๋ง๊ณ  ๋‹ค์Œ ์‹ค์Šต์„ ๊ณง๋ฐ”๋กœ ์ด์–ด์„œ ์ง„ํ–‰ํ•œ๋‹ค.
1
bitnami@ip-172-31-43-30:~$ sudo service bitnami restart

10. (์‹ค์Šต) ์ƒˆ๋กœ์šด AMI ์ƒ์„ฑ

EC2 ์ธ์Šคํ„ด์Šค ๋ชฉ๋ก์—์„œ ์ด์ „ ์‹ค์Šต์—์„œ ์ ‘์† ์ •๋ณด๋ฅผ ๋ณ€๊ฒฝํ•œ ์ธ์Šคํ„ด์Šค๋ฅผ ์„ ํƒํ•œ๋‹ค.

  • ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์˜ [์ž‘์—…] โ†’ [์ด๋ฏธ์ง€ ๋ฐ ํ…œํ”Œ๋ฆฟ] โ†’ [์ด๋ฏธ์ง€ ์ƒ์„ฑ] ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญํ•œ๋‹ค.
  • ๊ทธ๋Ÿผ AMI๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ํ™”๋ฉด์ด ๋‚˜์˜จ๋‹ค.

10.1 (์ด๋ฏธ์ง€ ์ƒ์„ฑ) ํŽ˜์ด์ง€

  • ์ด๋ฏธ์ง€ ์ด๋ฆ„ : MyWordpressAMI-New
  • ํ™”๋ฉด์„ ๋ฐ‘์œผ๋กœ ๋‚ด๋ ค์„œ [์ด๋ฏธ์ง€ ์ƒ์„ฑ] ๋ฒ„ํŠผ์„ ํด๋ฆญ

์™ผ์ชฝ์— ์žˆ๋Š” [AMI] ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญํ•ด์„œ ์ด๋ฏธ์ง€๋ฅผ ํ™•์ธํ•œ๋‹ค.

  • ๋ฐฉ๊ธˆ ์ƒ์„ฑ ์š”์ฒญํ•œ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ธ๋ณด๊ธฐ ํ•ด๋ณด๋ฉด, ํ˜„์žฌ ์ƒํƒœ๋Š” [๋Œ€๊ธฐ ์ค‘]์œผ๋กœ ๋‚˜์˜จ๋‹ค.
  • ์ด ์ƒํƒœ์—์„œ ์‹œ๊ฐ„์ด ์กฐ๊ธˆ ์ง€๋‚˜๋ฉด, [์‚ฌ์šฉ ๊ฐ€๋Šฅ]์œผ๋กœ ์ƒํƒœ๊ฐ€ ๋ณ€๊ฒฝ๋œ๋‹ค.

11. (์‹ค์Šต) RDS ๋ณด์•ˆ ๊ทธ๋ฃน ๊ทœ์น™ ๋ณ€๊ฒฝ

๋ณด์•ˆ ๊ทธ๋ฃน ๊ทœ์น™์„ ๋ณ€๊ฒฝํ•˜๋Š” ์ด์œ ๋Š” ์ฒ˜์Œ์— RDS ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ–ˆ์„ ๋•Œ, ์™ธ๋ถ€์—์„œ ์•„๋ฌด๋‚˜ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ทœ์น™์ด ์„ค์ •๋˜์–ด ์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

[RDS] โ†’ [๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค] โ†’ ์ธ์Šคํ„ด์Šค ์ƒ์„ธ ํŽ˜์ด์ง€์—์„œ [์—ฐ๊ฒฐ ๋ฐ ๋ณด์•ˆ] ํƒญ์— ์ ‘์†ํ•œ๋‹ค.

  • ์—ฌ๊ธฐ์„œ ๋ณด์•ˆ์ด๋ผ๊ณ  ๋˜์–ด ์žˆ๋Š” ๋ถ€๋ถ„์„ ๋ณด๋ฉด,
    • ํ˜„์žฌ RDS์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๋ณด์•ˆ ๊ทธ๋ฃน ๋งํฌ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์ด ๋งํฌ๋ฅผ ๋ˆŒ๋Ÿฌ์„œ ๋“ค์–ด๊ฐ€๋ณธ๋‹ค.
  • ๊ทธ๋Ÿฌ๋ฉด ๋ณด์•ˆ๊ทธ๋ฃน ํŽ˜์ด์ง€์— ํ•ด๋‹น ๋ณด์•ˆ๊ทธ๋ฃน๋งŒ ํ•„ํ„ฐ๋ง๋˜์–ด ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค.
    • ํ•ด๋‹น ๋ณด์•ˆ ๊ทธ๋ฃน์„ ์ฒดํฌํ•ด ์ƒ์„ธ์ •๋ณด๋ฅผ ๋ณธ๋‹ค.
    • ์—ฌ๊ธฐ์„œ [์ธ๋ฐ”์šด๋“œ ๊ทœ์น™ ํŽธ์ง‘] ๋ฒ„ํŠผ์„ ํด๋ฆญ.
  • ๊ทธ๋Ÿฌ๋ฉด Inbound ๊ทœ์น™์ด ๋‚˜์˜ค๋Š”๋ฐ,
    • [์†Œ์Šค]๊ฐ€ [๋‚ด IP]๋ผ๊ณ  ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
    • ๊ทธ๋ž˜์„œ ์ง€๊ธˆ์€ ๋‚ด IP์—์„œ๋งŒ DB ์ธ์Šคํ„ด์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์ด ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญํ•ด์„œ Anywhere-IPv4๋ฅผ ์„ ํƒ.
  • ๊ทธ๋Ÿฌ๋ฉด ์ด์ œ ๋ชจ๋“  IP์—์„œ 3306 ํฌํŠธ๋ฅผ ์ด์šฉํ•˜์—ฌ DB ์ธ์Šคํ„ด์Šค์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.
  • ๊ทœ์น™์„ ์ˆ˜์ •ํ–ˆ๋‹ค๋ฉด [๊ทœ์น™ ์ €์žฅ] ๋ฒ„ํŠผ์„ ํด๋ฆญ.
  • ๊ทธ๋Ÿฌ๋ฉด ๋ณด์•ˆ๊ทธ๋ฃน ๊ทœ์น™ ํŽธ์ง‘์ด ์™„๋ฃŒ๋ฉ๋‹ˆ๋‹ค.

12. (์‹ค์Šต) ์ƒˆ๋กœ์šด ์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ ์ƒ์„ฑ

[EC2] โ†’ ์™ผ์ชฝ์— ์žˆ๋Š” ๋ฉ”๋‰ด ์ค‘์—์„œ [์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ] ๋ฉ”๋‰ด๋กœ ์ด๋™ํ•œ๋‹ค. ์ดํ›„ ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์— ์žˆ๋Š” [์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ ์ƒ์„ฑ] ๋ฒ„ํŠผ์„ ํด๋ฆญ.

(์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ ์ƒ์„ฑ) ํŽ˜์ด์ง€

  • ์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ ์ด๋ฆ„ : MyTemplateNew
  • Application and OS Images
    • ์—ฌ๊ธฐ์„œ ๋‚ด AMI ํƒญ์„ ํด๋ฆญ.
    • ์—ฌ๊ธฐ์„œ AMI ๋ชฉ๋ก์„ ํด๋ฆญ.
    • ๊ทธ๋ฆฌ๊ณ  ๋‚˜์˜ค๋Š” AMI ์ค‘์—์„œ ์•ž์—์„œ ์ƒˆ๋กœ ์ƒ์„ฑํ•œ AMI๋ฅผ ์„ ํƒํ•œ๋‹ค.
      • cf. MyWordpressAMI-New
    • ์ด AMI๋Š” WordPress DB ์ •๋ณด๊ฐ€ RDS ์ธ์Šคํ„ด์Šค๋ฅผ ๋ฐ”๋ผ๋ณด๋„๋ก ๋ณ€๊ฒฝ๋œ AMI๋‹ค.
  • ์ธ์Šคํ„ด์Šค ์œ ํ˜• : ํ”„๋ฆฌํ‹ฐ์–ด ์‚ฌ์šฉ ๊ฐ€๋Šฅ์ด๋ผ๊ณ  ํ‘œ์‹œ๋˜์–ด ์žˆ๋Š” T2.micro๋ฅผ ์„ ํƒ
  • ํ‚ค ํŽ˜์–ด : ์ด์ „ ์‹ค์Šต๊ณผ ๋™์ผํ•œ ํ‚คํŽ˜์–ด๋ฅผ ์„ ํƒ
  • ๋ณด์•ˆ๊ทธ๋ฃน : [๋ณด์•ˆ ๊ทธ๋ฃน ์„ ํƒ] ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญ.
    • ์ดํ›„ ๋ณด์•ˆ ๊ทธ๋ฃน ๋ชฉ๋ก์—์„œ WordPress ๋ณด์•ˆ ๊ทธ๋ฃน์„ ์„ ํƒ.
    • cf. WordPress Certified by Bitnami ~~~
  • ๋‚˜๋จธ์ง€ ์„ค์ •์€ ๊ทธ๋Œ€๋กœ ๋‘๊ณ  ์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ์— ์žˆ๋Š” [์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ ์ƒ์„ฑ] ๋ฒ„ํŠผ์„ ํด๋ฆญ

[์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ ๋ณด๊ธฐ] ๋ฒ„ํŠผ์„ ํ•œ๋ฒˆ ๋ˆŒ๋Ÿฌ๋ณด๋ฉด, ๋ฐฉ๊ธˆ ์ƒ์„ฑํ•œ ์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ์„ ํฌํ•จํ•ด์„œ ์ด 2๊ฐœ์˜ ์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ์ด ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.


13. (์‹ค์Šต) Auto Scaling Group์˜ ์‹œ์ž‘ํ…œํ”Œ๋ฆฟ ๋ณ€๊ฒฝ

[EC2] โ†’ ์™ผ์ชฝ ๋ฉ”๋‰ด์—์„œ [์˜คํ† ์Šค์ผ€์ผ๋ง ๊ทธ๋ฃน] ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญํ•ด์„œ ์ƒ์„ธํŽ˜์ด์ง€๋กœ ์ด๋™ํ•œ๋‹ค.

  • ์ƒ์„ธ ์ •๋ณด ํŽ˜์ด์ง€๊ฐ€ ๋‚˜์˜ค๋ฉด, [์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ] ์„น์…˜์˜ ์˜ค๋ฅธ์ชฝ์— [ํŽธ์ง‘] ๋ฒ„ํŠผ์„ ํด๋ฆญ.
    • ๊ทธ๋Ÿผ ์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ํ™”๋ฉด์ด ๋‚˜์˜จ๋‹ค.
  • ์—ฌ๊ธฐ์„œ [์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ ์„ ํƒ] ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
    • ๊ทธ๋Ÿฌ๋ฉด ๋ชฉ๋ก์— ์ด๋ ‡๊ฒŒ ์ด 2๊ฐœ์˜ ์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ์ด ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
    • ์—ฌ๊ธฐ์„œ ์ƒˆ๋กœ ๋งŒ๋“  ์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ์„ ์„ ํƒํ•œ๋‹ค. (cf. MyTemplateNew)
    • ์ดํ›„ ํ™”๋ฉด์„ ์ œ์ผ ํ•˜๋‹จ์œผ๋กœ ๋‚ด๋ ค์„œ [์—…๋ฐ์ดํŠธ] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ๋‹ค.
  • ๊ทธ๋Ÿฌ๋ฉด ์ด๋ ‡๊ฒŒ ์˜คํ† ์Šค์ผ€์ผ๋ง ๊ทธ๋ฃน์˜ ์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ์ด ๋ณ€๊ฒฝ๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

14. (์‹ค์Šต) RDS ์ •์ƒ ์ž‘๋™ ํ…Œ์ŠคํŠธ

๊ธฐ์กด์— ์‹คํ–‰ ์ค‘์ธ EC2 ์ธ์Šคํ„ด์Šค๋“ค์€ ๋ชจ๋‘ ์ž์ฒด DB๋ฅผ ๋ฐ”๋ผ๋ณด๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ข…๋ฃŒํ•˜๊ณ , ์ƒˆ๋กœ์šด ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค.

  • ๊ทธ๋ž˜์„œ EC2 ์ธ์Šคํ„ด์Šค ๋ชฉ๋ก์— ๋“ค์–ด๊ฐ€์„œ ๋ชจ๋“  ์ธ์Šคํ„ด์Šค๋ฅผ ์„ ํƒํ•œ๋‹ค.
    • ์ดํ›„ [์ธ์Šคํ„ด์Šค ์ƒํƒœ] ๋ฉ”๋‰ด์—์„œ [์ธ์Šคํ„ด์Šค ์ข…๋ฃŒ] ๋ฉ”๋‰ด๋ฅผ ํด๋ฆญํ•œ๋‹ค.
    • ๊ทธ๋Ÿฌ๋ฉด ํ™•์ธ ๋‹ค์ด์–ผ๋กœ๊ทธ๊ฐ€ ๋‚˜์˜ค๊ณ , [์ข…๋ฃŒ] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ๋‹ค.
  • ๋ชจ๋“  ์ธ์Šคํ„ด์Šค์˜ ์ƒํƒœ๊ฐ€ [์ข…๋ฃŒ ์ค‘]์œผ๋กœ ๋ฐ”๋€Œ๊ฒŒ ๋˜๊ณ , ์ผ์ • ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ์ข…๋ฃŒ๋œ๋‹ค.
  • ๊ทธ๋ ‡๊ฒŒ ๋ชจ๋“  ์ธ์Šคํ„ด์Šค๊ฐ€ ์ข…๋ฃŒ๋˜๊ณ , ๋ช‡ ๋ถ„์ด ์ง€๋‚˜๋ฉด ์ƒˆ๋กœ์šด EC2 ์ธ์Šคํ„ด์Šค๊ฐ€ ์ž๋™์œผ๋กœ ์‹คํ–‰๋œ๋‹ค.
    • ์ด๋ ‡๊ฒŒ ๋˜๋Š” ์ด์œ ๋Š” ์˜คํ† ์Šค์ผ€์ผ๋ง ๊ทธ๋ฃน์— Healthy ์ƒํƒœ์ธ ์ธ์Šคํ„ด์Šค๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์—
    • ์ธ์Šคํ„ด์Šค๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
  • ๊ทธ๋ž˜์„œ [EC2] โ†’ [Auto Scaling ๊ทธ๋ฃน] ํŽ˜์ด์ง€์— ์ ‘์†ํ•ด์„œ
    • [ํ™œ๋™] ํƒญ์„ ํด๋ฆญํ•ด๋ณด๋ฉด ์ž‘์—… ๊ธฐ๋ก์—์„œ ์ƒˆ๋กœ์šด EC2 ์ธ์Šคํ„ด์Šค๊ฐ€ ์‹คํ–‰๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
    • [์ธ์Šคํ„ด์Šค ๊ด€๋ฆฌ] ํƒญ์— ๊ฐ€๋ณด๋ฉด, ์ƒˆ๋กœ์šด ์‹œ์ž‘ ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•ด์„œ ์ƒ์„ฑ๋œ EC2 ์ธ์Šคํ„ด์Šค๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
    • ๊ทธ๋ฆฌ๊ณ  EC2 ์ธ์Šคํ„ด์Šค ๋ชฉ๋ก์—์„œ๋„ ์ƒˆ๋กœ ์‹คํ–‰๋œ ์ธ์Šคํ„ด์Šค๋“ค์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด์ œ ELB์˜ DNS ์ด๋ฆ„์œผ๋กœ ํ•œ๋ฒˆ ์ ‘์†ํ•ด ๋ณด๊ฒ ๋‹ค.

  • [๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ] ํŽ˜์ด์ง€์— ์ ‘์†ํ•ด์„œ ์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“  ELB๋ฅผ ์„ ํƒํ•œ๋‹ค.
  • ๊ทธ๋ฆฌ๊ณ  ์ƒ์„ธ ์ •๋ณด ํ•˜๋‹จ์— ๋‚˜์˜ค๋Š” DNS ์ด๋ฆ„์„ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค.
  • DNS ์ด๋ฆ„์„ ๋ธŒ๋ผ์šฐ์ € ์ฃผ์†Œ์ฐฝ์— ๋ณต๋ถ™ํ•˜๋ฉด WordPress ํŽ˜์ด์ง€๊ฐ€ ๋‚˜์˜จ๋‹ค.

์ด๋ฒˆ์—๋Š” ์‹คํ–‰ ์ค‘์ธ ์ธ์Šคํ„ด์Šค ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ด์„œ ๊ธ€์„ ์ž‘์„ฑํ•ด๋ณด์ž.

  • ์ธ์Šคํ„ด์Šค ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•˜๊ณ  Public IPv4 ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค.
  • ๋ณต์‚ฌํ•œ IP ์ฃผ์†Œ ๋’ค์— /admin์„ ๋ถ™์—ฌ์„œ ๊ด€๋ฆฌ ํŽ˜์ด์ง€๋กœ ์ ‘์†ํ•ฉ๋‹ˆ๋‹ค.
  • RDS์˜ WordPress DB ์Šคํ‚ค๋งˆ๋ฅผ ์ƒ์„ฑํ•  ๋•Œ,
    • ๊ธฐ๋ณธ ์‚ฌ์šฉ์ž ์ด๋ฆ„์€ user, ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” 1234๋กœ ๋˜์–ด ์žˆ๋‹ค.
    • ์ž…๋ ฅ์ฐฝ์— ์ž…๋ ฅํ•˜๊ณ  ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ๋‹ค.
  • ์ดํ›„ ์ƒˆ๋กœ์šด ๊ธ€์„ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ ์™ผ์ชฝ ํฌ์ŠคํŠธ ๋ฉ”๋‰ด์—์„œ Add New๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  • ๊ธ€์„ ์ž‘์„ฑํ•œ ํ™”๋ฉด์ด ๋‚˜์˜ค๋ฉด, ๊ธ€์˜ ์ œ๋ชฉ๊ณผ ๋‚ด์šฉ์„ ์ž‘์„ฑํ•œ ๋’ค์—
    • cf. ์ œ๋ชฉ : ๋ชจ๋“  ์ธ์Šคํ„ด์Šค์—์„œ ๋ณด์ผ๊นŒ์š”
    • ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ์— ์žˆ๋Š” Publish ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ด์„œ ๊ธ€์„ ๋“ฑ๋กํ•œ๋‹ค.
  • ๊ธ€ ์ž‘์„ฑ์ด ์™„๋ฃŒ๋˜์—ˆ๋‹ค๋ฉด, ELB์˜ DNS ์ด๋ฆ„์œผ๋กœ ๋‹ค์‹œ ์ ‘์†ํ•œ๋‹ค.
    • ๊ทธ๋Ÿฌ๋ฉด ์ƒˆ๋กœ ์ž‘์„ฑํ•œ ๊ธ€์ด ๋ชฉ๋ก์— ์ž˜ ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
  • ๊ทธ๋ฆฌ๊ณ  MySQL Workbench์—์„œ wp_posts๋ผ๋Š” ํ…Œ์ด๋ธ”์„ ์กฐํšŒํ•ด๋ณด๋ฉด,
    • ์ž‘์„ฑํ•œ ๊ธ€์ด ํ…Œ์ด๋ธ”์— ์ž˜ ๋“ค์–ด๊ฐ€ ์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

14.1 ์ง€๊ธˆ๊นŒ์ง€ ๋งŒ๋“  ๊ตฌ์กฐ

1
ELB โŽฏโŽฏโŽฏโŽฏ> (EC2, WordPress) โŽฏโŽฏโŽฏโŽฏ> ( RDS, MySQL )
2
โŽฏโŽฏโŽฏโŽฏ> (EC2, WordPress) โŽฏโŽฏโŽฏโŽฏ>
  • MySQL ์„œ๋ฒ„๊ฐ€ ๊ฐ ์ธ์Šคํ„ด์Šค ๋‚ด์—์„œ ๋Œ์•„๊ฐ€๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ,
  • RDS๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ณ„๋„์˜ DB ์ธ์Šคํ„ด์Šค์—์„œ ๋Œ์•„๊ฐ€๋„๋ก ๋งŒ๋“ค๊ณ ,
  • ๋ชจ๋“  EC2 ์ธ์Šคํ„ด์Šค๋“ค์ด ํ•ด๋‹น DB๋ฅผ ๋ฐ”๋ผ๋ณด๋„๋ก ๋งŒ๋“  ๊ฒƒ
  • ๊ทธ๋ž˜์„œ ์–ด๋А ์ธ์Šคํ„ด์Šค์—์„œ ๊ธ€์„ ์ž‘์„ฑํ•˜๋“ ์ง€,
    • ๋ฐ์ดํ„ฐ๋Š” ํ•˜๋‚˜์˜ DB์— ์ €์žฅ๋˜๊ณ  ๊ด€๋ฆฌ๋œ๋‹ค.