3229 ๋‹จ์–ด
16 ๋ถ„
๐Ÿ—„๏ธ AWS RDS & Aurora (๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค)

๐Ÿ—„๏ธ AWS RDS & Aurora (๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค)#

AWS ๊ด€๋ฆฌํ˜• ๊ด€๊ณ„ํ˜• DB ์„œ๋น„์Šค โ€” ์‹œํ—˜ ๊ณ ๋นˆ๋„ ์˜์—ญ

RDS๋Š” ๋‹ค์–‘ํ•œ ์—”์ง„์„ ์ง€์›ํ•˜๊ณ , Aurora๋Š” AWS ์ „์šฉ ๊ณ ์„ฑ๋Šฅ DB์ž…๋‹ˆ๋‹ค.


๋ชฉ์ฐจ#

  1. RDS ๊ฐœ์š”
  2. RDS vs EC2์—์„œ DB ์ง์ ‘ ์šด์˜
  3. RDS Storage Auto Scaling
  4. RDS Read Replicas (์ฝ๊ธฐ ๋ณต์ œ๋ณธ)
  5. RDS Multi-AZ (์žฌํ•ด ๋ณต๊ตฌ)
  6. RDS Custom
  7. Amazon Aurora
  8. Aurora ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ
  9. RDS & Aurora ๋ฐฑ์—…
  10. RDS & Aurora ๋ณด์•ˆ
  11. ํ•ต์‹ฌ ๋น„๊ต ์š”์•ฝ
  12. ์ฐธ๊ณ  ์ž๋ฃŒ

1. RDS ๊ฐœ์š”#

๐Ÿ”‘ RDS (Relational Database Service)๋ž€?#

  • SQL ๊ธฐ๋ฐ˜ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์œ„ํ•œ AWS ๊ด€๋ฆฌํ˜• ์„œ๋น„์Šค (Managed DB Service)
  • ์‚ฌ์šฉ์ž๊ฐ€ DB ์—”์ง„๋งŒ ์„ ํƒํ•˜๋ฉด ๋‚˜๋จธ์ง€๋Š” AWS๊ฐ€ ์šด์˜

์ง€์› DB ์—”์ง„#

์—”์ง„ํŠน์ง•
PostgreSQL์˜คํ”ˆ์†Œ์Šค, ๊ธฐ๋Šฅ ํ’๋ถ€
MySQL๊ฐ€์žฅ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ์˜คํ”ˆ์†Œ์Šค
MariaDBMySQL ํฌํฌ, ์˜คํ”ˆ์†Œ์Šค
Oracle์ƒ์šฉ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ DB
Microsoft SQL Server์ƒ์šฉ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ DB
IBM DB2์ƒ์šฉ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ DB
AuroraAWS ๋…์ž ๊ฐœ๋ฐœ (PostgreSQL/MySQL ํ˜ธํ™˜)

2. RDS vs EC2์—์„œ DB ์ง์ ‘ ์šด์˜#

ํ•ญ๋ชฉRDS (๊ด€๋ฆฌํ˜•)EC2์—์„œ ์ง์ ‘ ์šด์˜
ํ”„๋กœ๋น„์ €๋‹ยทOS ํŒจ์น˜AWS ์ž๋™์ง์ ‘ ๊ด€๋ฆฌ
์—ฐ์† ์ž๋™ ๋ฐฑ์—… (PITR)โœ…์ง์ ‘ ๊ตฌ์„ฑ
๋ชจ๋‹ˆํ„ฐ๋ง ๋Œ€์‹œ๋ณด๋“œโœ…์ง์ ‘ ๊ตฌ์„ฑ
์ฝ๊ธฐ ๋ณต์ œ๋ณธ (Read Replica)โœ… (๊ฐ„ํŽธ ์„ค์ •)์ง์ ‘ ๊ตฌ์„ฑ
Multi-AZ ๊ตฌ์„ฑโœ… (๊ฐ„ํŽธ ์„ค์ •)์ง์ ‘ ๊ตฌ์„ฑ
์œ ์ง€๋ณด์ˆ˜ ์ฐฝ (Maintenance Window)โœ…์ง์ ‘ ๊ด€๋ฆฌ
์Šคํ† ๋ฆฌ์ง€ ์ž๋™ ํ™•์žฅโœ…์ง์ ‘ ๊ด€๋ฆฌ
SSH ์ ‘์†โŒ (๊ด€๋ฆฌ ๋ถˆ๊ฐ€)โœ…
์Šคํ† ๋ฆฌ์ง€EBS ๊ธฐ๋ฐ˜์„ ํƒ ๊ฐ€๋Šฅ

3. RDS Storage Auto Scaling#

  • RDS ์ธ์Šคํ„ด์Šค์˜ ์Šคํ† ๋ฆฌ์ง€๊ฐ€ ๋ถ€์กฑํ•ด์งˆ ๋•Œ ์ž๋™์œผ๋กœ ์šฉ๋Ÿ‰ ํ™•์žฅ
  • ์ˆ˜๋™์œผ๋กœ DB ์Šคํ† ๋ฆฌ์ง€๋ฅผ ํ™•์žฅํ•  ํ•„์š” ์—†์Œ
  • Maximum Storage Threshold (์ตœ๋Œ€ ์Šคํ† ๋ฆฌ์ง€ ์ž„๊ณ„๊ฐ’) ์„ค์ • ํ•„์ˆ˜

์ž๋™ ํ™•์žฅ ์กฐ๊ฑด (๋ชจ๋‘ ์ถฉ์กฑ ์‹œ)#

1๏ธโƒฃ ์—ฌ์œ  ์Šคํ† ๋ฆฌ์ง€ < ํ• ๋‹น ์Šคํ† ๋ฆฌ์ง€์˜ 10%
AND
2๏ธโƒฃ ์ €์šฉ๋Ÿ‰ ์ƒํƒœ๊ฐ€ 5๋ถ„ ์ด์ƒ ์ง€์†
AND
3๏ธโƒฃ ๋งˆ์ง€๋ง‰ ์ˆ˜์ •์œผ๋กœ๋ถ€ํ„ฐ 6์‹œ๊ฐ„ ์ด์ƒ ๊ฒฝ๊ณผ

๐Ÿ’ก Use Case: ์˜ˆ์ธก ๋ถˆ๊ฐ€ํ•œ ์›Œํฌ๋กœ๋“œ(Unpredictable Workloads)๊ฐ€ ์žˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜. ๋ชจ๋“  RDS ์—”์ง„ ์ง€์›.


4. RDS Read Replicas (์ฝ๊ธฐ ๋ณต์ œ๋ณธ)#

๐Ÿ“– ๊ฐœ๋…#

  • ์ฝ๊ธฐ ์š”์ฒญ(SELECT)์„ ๋ฉ”์ธ DB์—์„œ ๋ถ„์‚ฐํ•˜์—ฌ ์ฝ๊ธฐ ์„ฑ๋Šฅ ํ–ฅ์ƒ
  • ๋น„๋™๊ธฐ ๋ณต์ œ (ASYNC Replication) โ†’ ์ตœ์ข… ์ผ๊ด€์„ฑ (Eventually Consistent)
    • ๋ณต์ œ ์ „์— ์ฝ์œผ๋ฉด ์•ฝ๊ฐ„ ์˜ค๋ž˜๋œ(Stale) ๋ฐ์ดํ„ฐ๊ฐ€ ์กฐํšŒ๋  ์ˆ˜ ์žˆ์Œ
[Primary DB] โ”€โ”€ASYNC ๋ณต์ œโ”€โ”€โ†’ [Read Replica 1]
โ”€โ”€ASYNC ๋ณต์ œโ”€โ”€โ†’ [Read Replica 2] โ† ์ฝ๊ธฐ ์ „์šฉ ์ฟผ๋ฆฌ
โ”€โ”€ASYNC ๋ณต์ œโ”€โ”€โ†’ [Read Replica N]

๐Ÿ“‹ ์ฃผ์š” ํŠน์„ฑ#

ํ•ญ๋ชฉ๋‚ด์šฉ
์ตœ๋Œ€ ๋ณต์ œ๋ณธ ์ˆ˜15๊ฐœ
๋ณต์ œ๋ณธ ์œ„์น˜๋™์ผ AZ, ๊ต์ฐจ AZ, ๊ต์ฐจ ๋ฆฌ์ „ ๋ชจ๋‘ ๊ฐ€๋Šฅ
๋ณต์ œ ๋ฐฉ์‹๋น„๋™๊ธฐ (ASYNC)
์Šน๊ฒฉ ๊ฐ€๋Šฅ ์—ฌ๋ถ€โœ… ๋…๋ฆฝ DB๋กœ ์Šน๊ฒฉ ๊ฐ€๋Šฅ (Promote to own DB)
์‚ฌ์šฉ ๊ฐ€๋Šฅ ์ž‘์—…SELECT๋งŒ (INSERT, UPDATE, DELETE ๋ถˆ๊ฐ€)
WARNING

โš ๏ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ˆ˜์ • ํ•„์š”: Read Replica๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์—ฐ๊ฒฐ ๋ฌธ์ž์—ด(Connection String)์„ ๋ณต์ œ๋ณธ ์—”๋“œํฌ์ธํŠธ๋กœ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•จ.


๐Ÿ’ฐ Read Replica ๋„คํŠธ์›Œํฌ ๋น„์šฉ#

๋ณต์ œ๋ณธ ์œ„์น˜๋ฐ์ดํ„ฐ ์ „์†ก ๋น„์šฉ
๋™์ผ ๋ฆฌ์ „ ๋‚ด (AZ๊ฐ€ ๋‹ฌ๋ผ๋„)๋ฌด๋ฃŒ
๊ต์ฐจ ๋ฆฌ์ „ (Cross Region)์š”๊ธˆ ๋ถ€๊ณผ (๋น„๋™๊ธฐ ๋ณต์ œ ๋ฐ์ดํ„ฐ ์ „์†ก)

๐Ÿ’ก Read Replica ํ™œ์šฉ ์‹œ๋‚˜๋ฆฌ์˜ค#

[์ƒํ™ฉ]
์šด์˜ DB: ์ •์ƒ ํŠธ๋ž˜ํ”ฝ ์ฒ˜๋ฆฌ ์ค‘
ํŒ€ ์š”์ฒญ: ๋ถ„์„์šฉ ๋ฆฌํฌํŒ… ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ถ”๊ฐ€
[์ž˜๋ชป๋œ ๋ฐฉ๋ฒ•] ์šด์˜ DB์—์„œ ์ง์ ‘ ๋ถ„์„ ์ฟผ๋ฆฌ ์‹คํ–‰ โ†’ ์„ฑ๋Šฅ ์ €ํ•˜
[์˜ฌ๋ฐ”๋ฅธ ๋ฐฉ๋ฒ•] Read Replica ์ƒ์„ฑ โ†’ ๋ถ„์„ ์ฟผ๋ฆฌ๋Š” ๋ณต์ œ๋ณธ์—์„œ ์‹คํ–‰
โ†’ ์šด์˜ DB ์˜ํ–ฅ ์—†์Œ

5. RDS Multi-AZ (์žฌํ•ด ๋ณต๊ตฌ)#

๐Ÿ”„ ๊ฐœ๋…#

  • ๋™๊ธฐ ๋ณต์ œ (SYNC Replication) โ€” ๋ฉ”์ธ DB์˜ ๋ชจ๋“  ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ฆ‰์‹œ Standby์— ๋™๊ธฐํ™”
  • ๋‹จ์ผ DNS ์ด๋ฆ„ โ€” ์žฅ์•  ์‹œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ˆ˜์ • ์—†์ด ์ž๋™ ํŽ˜์ผ์˜ค๋ฒ„ (Automatic Failover)
[Primary DB] โ”€โ”€SYNC ๋ณต์ œโ”€โ”€โ†’ [Standby DB]
โ”‚ โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€ ๋‹จ์ผ DNS โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
(์ž๋™ ์ „ํ™˜)

๐Ÿ“‹ ์ฃผ์š” ํŠน์„ฑ#

ํ•ญ๋ชฉ๋‚ด์šฉ
๋ณต์ œ ๋ฐฉ์‹๋™๊ธฐ (SYNC)
๋ชฉ์ ์žฌํ•ด ๋ณต๊ตฌ (Disaster Recovery, DR)
์—”๋“œํฌ์ธํŠธ๋‹จ์ผ DNS ์ด๋ฆ„ (ํŽ˜์ผ์˜ค๋ฒ„ ์‹œ ์•ฑ ์ˆ˜์ • ๋ถˆํ•„์š”)
ํŽ˜์ผ์˜ค๋ฒ„ ํŠธ๋ฆฌ๊ฑฐAZ ์žฅ์• , ๋„คํŠธ์›Œํฌ ์žฅ์• , ์ธ์Šคํ„ด์Šค ์žฅ์• , ์Šคํ† ๋ฆฌ์ง€ ์žฅ์• 
์Šค์ผ€์ผ๋ง ๋ชฉ์ โŒ (์ฝ๊ธฐ ๋ถ„์‚ฐ์— ์‚ฌ์šฉ ๋ถˆ๊ฐ€, ์Šค์ผ€์ผ๋ง ์•„๋‹˜)
TIP

๐Ÿ“Œ Read Replica๋Š” Multi-AZ๋กœ ์„ค์ • ๊ฐ€๋Šฅ โ†’ Standby ๋ณต์ œ๋ณธ์„ ์ด์ค‘ ๋ณดํ˜ธ


๐Ÿ”ง Single-AZ โ†’ Multi-AZ ์ „ํ™˜#

  • Zero Downtime โ€” DB ์ค‘์ง€ ์—†์ด ์ „ํ™˜ ๊ฐ€๋Šฅ
  • AWS ์ฝ˜์†”์—์„œ โ€œModify(์ˆ˜์ •)โ€ ํด๋ฆญ๋งŒ์œผ๋กœ ์™„๋ฃŒ
๋‚ด๋ถ€ ๋™์ž‘:
1. ํ˜„์žฌ DB ์Šค๋ƒ…์ƒท ์ƒ์„ฑ
2. ์ƒˆ AZ์— ์Šค๋ƒ…์ƒท์—์„œ Standby DB ๋ณต์›
3. ๋‘ DB ๊ฐ„ ๋™๊ธฐํ™” ํ™•๋ฆฝ ์™„๋ฃŒ

๐Ÿ“Š Read Replica vs Multi-AZ ๋น„๊ต#

ํ•ญ๋ชฉRead ReplicaMulti-AZ
๋ณต์ œ ๋ฐฉ์‹๋น„๋™๊ธฐ (ASYNC)๋™๊ธฐ (SYNC)
์ฃผ์š” ๋ชฉ์ ์ฝ๊ธฐ ์„ฑ๋Šฅ ํ–ฅ์ƒ์žฌํ•ด ๋ณต๊ตฌ (DR)
์“ฐ๊ธฐ ๊ฐ€๋Šฅ ์—ฌ๋ถ€โŒโŒ (Standby๋Š” ์“ฐ๊ธฐ ๋ถˆ๊ฐ€)
์—”๋“œํฌ์ธํŠธ๋ณต์ œ๋ณธ๋ณ„ ๋ณ„๋„๋‹จ์ผ DNS
AZ ์ˆ˜1๊ฐœ ์ด์ƒ2๊ฐœ (Primary + Standby)
์ˆ˜์ตœ๋Œ€ 15๊ฐœ1๊ฐœ (Standby)

6. RDS Custom#

  • Oracle, Microsoft SQL Server์—๋งŒ ์ง€์›
  • ํ‘œ์ค€ RDS: AWS๊ฐ€ DB์™€ OS๋ฅผ ์™„์ „ ๊ด€๋ฆฌ (SSH ๋ถˆ๊ฐ€)
  • RDS Custom: OS์™€ DB์— ๋Œ€ํ•œ ๊ด€๋ฆฌ์ž ์ˆ˜์ค€ ์ ‘๊ทผ ๊ถŒํ•œ ์ œ๊ณต
๊ธฐ๋ŠฅRDSRDS Custom
์„ค์ • ์ž๋™ํ™”โœ…โœ… (๊ธฐ๋ณธ)
OS ์ ‘๊ทผโŒโœ…
DB ์ ‘๊ทผ (SSH/SSM)โŒโœ…
ํŒจ์น˜ ์ง์ ‘ ์„ค์น˜โŒโœ…
๋„ค์ดํ‹ฐ๋ธŒ ๊ธฐ๋Šฅ ํ™œ์„ฑํ™”โŒโœ…
NOTE

๐Ÿ’ก ์ปค์Šคํ„ฐ๋งˆ์ด์ง• ์ „: ๋ฐ˜๋“œ์‹œ DB ์Šค๋ƒ…์ƒท ์ƒ์„ฑ ํ›„ Automation Mode ๋น„ํ™œ์„ฑํ™”


7. Amazon Aurora#

โœจ ๊ฐœ์š”#

  • AWS๊ฐ€ ๋…์ž ๊ฐœ๋ฐœํ•œ ๋…์  ๊ธฐ์ˆ  (Proprietary Technology) (์˜คํ”ˆ์†Œ์Šค ์•„๋‹˜)
  • PostgreSQL, MySQL๊ณผ ํ˜ธํ™˜ (๋“œ๋ผ์ด๋ฒ„ ๊ต์ฒด๋งŒ์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ฐ€๋Šฅ)
  • AWS ํด๋ผ์šฐ๋“œ์— ์ตœ์ ํ™”: MySQL ๋Œ€๋น„ 5๋ฐฐ, PostgreSQL ๋Œ€๋น„ 3๋ฐฐ ์„ฑ๋Šฅ ํ–ฅ์ƒ ์ฃผ์žฅ
  • ์Šคํ† ๋ฆฌ์ง€ ์ž๋™ ์ฆ๊ฐ€: 10GB ๋‹จ์œ„, ์ตœ๋Œ€ 128TB (์ด์ „ 256TB์—์„œ ์—…๋ฐ์ดํŠธ)
  • ์ตœ๋Œ€ 15๊ฐœ ๋ณต์ œ๋ณธ, ๋ณต์ œ ์ง€์—ฐ 10ms ๋ฏธ๋งŒ (Sub 10ms replica lag)
  • ์ฆ‰๊ฐ์ ์ธ ํŽ˜์ผ์˜ค๋ฒ„ (Instantaneous Failover) โ€” HA Native
  • RDS ๋Œ€๋น„ ์•ฝ 20% ๋น„์šฉ ์ฆ๊ฐ€ (ํ•˜์ง€๋งŒ ํšจ์œจ์„ฑ์œผ๋กœ ์ƒ์‡„)

๐Ÿ—๏ธ Aurora ๊ณ ๊ฐ€์šฉ์„ฑ & ์Šคํ† ๋ฆฌ์ง€ ์•„ํ‚คํ…์ฒ˜#

[Aurora Writer (Master)] โ†’ [Read Replica] ร— ์ตœ๋Œ€ 15๊ฐœ
โ”‚
โ–ผ
[๋ถ„์‚ฐ ์Šคํ† ๋ฆฌ์ง€ ํด๋Ÿฌ์Šคํ„ฐ]
โ”œโ”€โ”€ AZ 1: ๋ณต์‚ฌ๋ณธ 2๊ฐœ
โ”œโ”€โ”€ AZ 2: ๋ณต์‚ฌ๋ณธ 2๊ฐœ
โ””โ”€โ”€ AZ 3: ๋ณต์‚ฌ๋ณธ 2๊ฐœ
โ†’ ์ด 6๊ฐœ ๋ณต์‚ฌ๋ณธ (3 AZ ร— 2)
ํ•ญ๋ชฉ๋‚ด์šฉ
์ด ๋ฐ์ดํ„ฐ ๋ณต์‚ฌ๋ณธ6๊ฐœ (3๊ฐœ AZ์— ๊ฐ 2๊ฐœ์”ฉ)
์“ฐ๊ธฐ ์„ฑ๊ณต ๊ธฐ์ค€6๊ฐœ ์ค‘ 4๊ฐœ ์ด์ƒ ์„ฑ๊ณต ์‹œ
์ฝ๊ธฐ ์„ฑ๊ณต ๊ธฐ์ค€6๊ฐœ ์ค‘ 3๊ฐœ ์ด์ƒ ๊ฐ€๋Šฅ
์ž๊ฐ€ ๋ณต๊ตฌPeer-to-Peer ๋ณต์ œ๋กœ ์ž๋™ ๋ณต๊ตฌ (Self-healing)
์Šคํ† ๋ฆฌ์ง€ ๊ตฌ์„ฑ์ˆ˜๋ฐฑ ๊ฐœ ๋ณผ๋ฅจ์— ์ŠคํŠธ๋ผ์ดํ•‘(Striped)
Master ํŽ˜์ผ์˜ค๋ฒ„30์ดˆ ์ด๋‚ด ์ž๋™ ์ „ํ™˜

๐Ÿ”— Aurora ์—”๋“œํฌ์ธํŠธ#

[Writer Endpoint] โ”€โ”€โ†’ [Master (์“ฐ๊ธฐ)] โ† ํ•ญ์ƒ ๋งˆ์Šคํ„ฐ๋ฅผ ๊ฐ€๋ฆฌํ‚ด
[Reader Endpoint] โ”€โ”€โ†’ [Read Replicas (์ฝ๊ธฐ)] โ† ๋ณต์ œ๋ณธ ๊ฐ„ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ
[Custom Endpoint] โ”€โ”€โ†’ [ํŠน์ • ๋ณต์ œ๋ณธ ์„œ๋ธŒ์…‹] โ† ๋ถ„์„ ์ฟผ๋ฆฌ ๋“ฑ ํŠน์ˆ˜ ๋ชฉ์ 
์—”๋“œํฌ์ธํŠธ ์œ ํ˜•์„ค๋ช…
Writer Endpoint๋งˆ์Šคํ„ฐ ์ž๋™ ์ถ”์  (ํŽ˜์ผ์˜ค๋ฒ„ ์‹œ ์ž๋™ ์ „ํ™˜)
Reader Endpoint๋ชจ๋“  Read Replica์— ์—ฐ๊ฒฐ ๋ถ„์‚ฐ
Custom EndpointํŠน์ • ์ธ์Šคํ„ด์Šค ์„œ๋ธŒ์…‹ ์ง€์ • (๊ณ ์„ฑ๋Šฅ ์ธ์Šคํ„ด์Šค์—๋งŒ ๋ถ„์„ ์ฟผ๋ฆฌ ์ „๋‹ฌ)

โš™๏ธ Aurora DB ํด๋Ÿฌ์Šคํ„ฐ ์ฃผ์š” ๊ธฐ๋Šฅ#

๊ธฐ๋Šฅ์„ค๋ช…
Automatic Failover (์ž๋™ ํŽ˜์ผ์˜ค๋ฒ„)Master ์žฅ์•  ์‹œ 30์ดˆ ๋‚ด ์ž๋™ ์ „ํ™˜
Backup & Recovery์ž๋™ ๋ฐฑ์—…, PITR ์ง€์›
Isolation & SecurityVPC, KMS ์•”ํ˜ธํ™”, IAM ํ†ตํ•ฉ
Industry Compliance๊ฐ์ข… ๊ทœ์ • ์ค€์ˆ˜
Push-button Scaling๋ฒ„ํŠผ ํด๋ฆญ์œผ๋กœ ์šฉ๋Ÿ‰ ์กฐ์ •
Automated PatchingZero Downtime ์ž๋™ ํŒจ์น˜
Advanced Monitoring์„ธ๋ฐ€ํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง
Backtrack๋ฐฑ์—… ์—†์ด ํŠน์ • ์‹œ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ ๋ณต์› (Restore data at any point in time without using backups)

8. Aurora ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ#

๐ŸŒ Aurora Serverless#

  • ์‹ค์ œ ์‚ฌ์šฉ๋Ÿ‰ ๊ธฐ๋ฐ˜ ์ž๋™ DB ์ธ์Šคํ„ด์Šคํ™” ๋ฐ ์˜คํ† ์Šค์ผ€์ผ๋ง
  • ๋น„์ •๊ธฐ์ (Infrequent), ๊ฐ„ํ—์ (Intermittent), ์˜ˆ์ธก ๋ถˆ๊ฐ€ํ•œ(Unpredictable) ์›Œํฌ๋กœ๋“œ์— ์ ํ•ฉ
  • ์šฉ๋Ÿ‰ ๊ณ„ํš ๋ถˆํ•„์š”
  • ์ดˆ ๋‹จ์œ„ ๊ณผ๊ธˆ (Pay per second) โ€” ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ๋น„์šฉ ํšจ์œจ์ 

๐ŸŒ Global Aurora#

์œ ํ˜•์„ค๋ช…
Aurora Cross Region Read Replicas์žฌํ•ด ๋ณต๊ตฌ(DR)์šฉ, ๊ฐ„๋‹จํžˆ ๊ตฌ์„ฑ ๊ฐ€๋Šฅ
Aurora Global DB โญ์ „์šฉ ๊ธ€๋กœ๋ฒŒ ์•„ํ‚คํ…์ฒ˜

Aurora Global DB ํŠน์„ฑ:

  • 1๊ฐœ Primary Region (์ฝ๊ธฐ/์“ฐ๊ธฐ)
  • ์ตœ๋Œ€ 5๊ฐœ Secondary(๋ณด์กฐ) ๋ฆฌ์ „ (์ฝ๊ธฐ ์ „์šฉ)
  • ๋ณด์กฐ ๋ฆฌ์ „๋‹น ์ตœ๋Œ€ 16๊ฐœ Read Replica
  • ๋ฆฌ์ „ ๊ฐ„ ๋ณต์ œ ์ง€์—ฐ 1์ดˆ ๋ฏธ๋งŒ (< 1 second)
  • ๋ณด์กฐ ๋ฆฌ์ „ ์Šน๊ฒฉ ์‹œ RTO(Recovery Time Objective) < 1๋ถ„
  • ์ง€์—ญ๋ณ„ ์ง€์—ฐ ์‹œ๊ฐ„ ๊ฐ์†Œ์— ํšจ๊ณผ์ 

๐Ÿค– Aurora Machine Learning#

  • Aurora์—์„œ SQL ์ฟผ๋ฆฌ๋กœ ML ๊ธฐ๋ฐ˜ ์˜ˆ์ธก ์ˆ˜ํ–‰
  • Aurora โ†” AWS ML ์„œ๋น„์Šค ๊ฐ„ ์ตœ์ ํ™”๋œ ๋ณด์•ˆ ํ†ตํ•ฉ
์ง€์› ์„œ๋น„์Šค์šฉ๋„
Amazon SageMakerML ๋ชจ๋ธ (๋ฒ”์šฉ)
Amazon Comprehend๊ฐ์„ฑ ๋ถ„์„ (Sentiment Analysis)

Use Case: ์‚ฌ๊ธฐ ํƒ์ง€(Fraud Detection), ๊ด‘๊ณ  ํƒ€๊ฒŸํŒ…, ๊ฐ์„ฑ ๋ถ„์„, ์ƒํ’ˆ ์ถ”์ฒœ


๐Ÿ”„ Babelfish for Aurora PostgreSQL#

  • Aurora PostgreSQL์ด Microsoft SQL Server์˜ T-SQL ๋ช…๋ น์„ ์ดํ•ดํ•˜๋„๋ก ์ง€์›
  • MS SQL Server ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ฝ”๋“œ ์ˆ˜์ • ๊ฑฐ์˜ ์—†์ด Aurora PostgreSQL๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ฐ€๋Šฅ

9. RDS & Aurora ๋ฐฑ์—…#

๐Ÿ”„ ์ž๋™ ๋ฐฑ์—… (Automated Backups)#

ํ•ญ๋ชฉRDSAurora
๋ฐฑ์—… ์ฃผ๊ธฐ๋งค์ผ ์ „์ฒด ๋ฐฑ์—… (์ง€์ • ๋ฐฑ์—… ์ฐฝ)์ง€์† ๋ฐฑ์—…
ํŠธ๋žœ์žญ์…˜ ๋กœ๊ทธ5๋ถ„๋งˆ๋‹ค ๋ฐฑ์—…์ง€์†
PITR (Point-in-Time Recovery)์ตœ๊ทผ 5๋ถ„ ์ „๊นŒ์ง€ ๋ณต์› ๊ฐ€๋Šฅ๋™์ผ
๋ณด์กด ๊ธฐ๊ฐ„1~35์ผ (0์œผ๋กœ ์„ค์ • ์‹œ ๋น„ํ™œ์„ฑํ™”)1~35์ผ (๋น„ํ™œ์„ฑํ™” ๋ถˆ๊ฐ€)

๐Ÿ“ธ ์ˆ˜๋™ ์Šค๋ƒ…์ƒท (Manual DB Snapshots)#

  • ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ํŠธ๋ฆฌ๊ฑฐ
  • ๋ณด์กด ๊ธฐ๊ฐ„ ๋ฌด์ œํ•œ (์ž๋™ ๋ฐฑ์—…์€ ์ตœ๋Œ€ 35์ผ)
  • ์˜ค๋ž˜ DB๋ฅผ ์ค‘์ง€ํ•  ๊ฒฝ์šฐ: ์Šค๋ƒ…์ƒท ์ €์žฅ ํ›„ ์‚ญ์ œ โ†’ ๋‚˜์ค‘์— ๋ณต์› (์Šคํ† ๋ฆฌ์ง€ ๋น„์šฉ ์ ˆ๊ฐ)

๐Ÿ”ƒ ๋ณต์› ์˜ต์…˜ (Restore Options)#

๋ฐฉ๋ฒ•์„ค๋ช…
๋ฐฑ์—…/์Šค๋ƒ…์ƒท ๋ณต์›์ƒˆ DB ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ (๊ธฐ์กด DB ๋ฎ์–ด์“ฐ๊ธฐ ๋ถˆ๊ฐ€)
MySQL RDS โ† S3์˜จํ”„๋ ˆ๋ฏธ์Šค DB ๋ฐฑ์—…์„ S3์— ์ €์žฅ ํ›„ ์ƒˆ RDS์— ๋ณต์›
MySQL Aurora โ† S3Percona XtraBackup์œผ๋กœ ๋ฐฑ์—… โ†’ S3 โ†’ ์ƒˆ Aurora ํด๋Ÿฌ์Šคํ„ฐ ๋ณต์›

๐Ÿ” Aurora Database Cloning (ํด๋กœ๋‹)#

  • ๊ธฐ์กด Aurora DB ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์ƒˆ ํด๋Ÿฌ์Šคํ„ฐ ๋น ๋ฅด๊ฒŒ ์ƒ์„ฑ
  • ์Šค๋ƒ…์ƒท & ๋ณต์›๋ณด๋‹ค ๋น ๋ฆ„
  • Copy-on-Write ํ”„๋กœํ† ์ฝœ ์‚ฌ์šฉ:
์ดˆ๊ธฐ ์ƒํƒœ: ์›๋ณธ๊ณผ ํด๋ก ์ด ๋™์ผํ•œ ์Šคํ† ๋ฆฌ์ง€ ๋ณผ๋ฅจ ๊ณต์œ  (๋ณต์‚ฌ ์—†์Œ โ†’ ๋น ๋ฆ„)
โ”‚
โ–ผ
ํด๋ก ์— ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ ๋ฐœ์ƒ ์‹œ: ๋ณ€๊ฒฝ๋œ ๋ฐ์ดํ„ฐ๋งŒ ๋ณ„๋„ ์Šคํ† ๋ฆฌ์ง€์— ๋ถ„๋ฆฌ ์ €์žฅ

Use Case: ํ”„๋กœ๋•์…˜ DB์— ์˜ํ–ฅ ์—†์ด ์Šคํ…Œ์ด์ง• DB ์ฆ‰์‹œ ์ƒ์„ฑ (Useful to create a staging database from a production database without impacting the production database)


10. RDS & Aurora ๋ณด์•ˆ#

๐Ÿ” ๋ณด์•ˆ ๋ ˆ์ด์–ด#

๋ณด์•ˆ ํ•ญ๋ชฉ๋‚ด์šฉ
์ €์žฅ ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™” (At-rest Encryption)AWS KMS ์‚ฌ์šฉ, ์ƒ์„ฑ ์‹œ ์ •์˜ ํ•„์ˆ˜
์ „์†ก ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™” (In-flight Encryption)TLS ๊ธฐ๋ณธ ํ™œ์„ฑํ™” (AWS TLS ๋ฃจํŠธ ์ธ์ฆ์„œ ์‚ฌ์šฉ)
IAM ์ธ์ฆ์‚ฌ์šฉ์ž๋ช…/๋น„๋ฐ€๋ฒˆํ˜ธ ๋Œ€์‹  IAM ์—ญํ• ๋กœ DB ์ ‘์†
๋ณด์•ˆ ๊ทธ๋ฃน (Security Groups)RDS/Aurora์— ๋Œ€ํ•œ ๋„คํŠธ์›Œํฌ ์ ‘๊ทผ ์ œ์–ด
SSH ์ ‘์†โŒ ๋ถˆ๊ฐ€ (RDS Custom ์ œ์™ธ)
๊ฐ์‚ฌ ๋กœ๊ทธ (Audit Logs)ํ™œ์„ฑํ™” ์‹œ CloudWatch Logs๋กœ ์ „์†ก (์žฅ๊ธฐ ๋ณด์กด)

๐Ÿ”‘ ์•”ํ˜ธํ™” ๊ด€๋ จ ํ•ต์‹ฌ ๊ทœ์น™#

๋งˆ์Šคํ„ฐ ์•”ํ˜ธํ™” โ† Read Replica ์•”ํ˜ธํ™” ์—ฌ๋ถ€ ๊ฒฐ์ •
โ”‚
โ”œโ”€โ”€ ๋งˆ์Šคํ„ฐ ์•”ํ˜ธํ™” โ†’ ๋ณต์ œ๋ณธ๋„ ์•”ํ˜ธํ™” ๊ฐ€๋Šฅ
โ””โ”€โ”€ ๋งˆ์Šคํ„ฐ ๋ฏธ์•”ํ˜ธํ™” โ†’ ๋ณต์ œ๋ณธ ์•”ํ˜ธํ™” ๋ถˆ๊ฐ€ โŒ
๋ฏธ์•”ํ˜ธํ™” DB โ†’ ์•”ํ˜ธํ™” ๋ณ€ํ™˜ ๋ฐฉ๋ฒ•:
1. DB ์Šค๋ƒ…์ƒท ์ƒ์„ฑ
2. ์Šค๋ƒ…์ƒท ๋ณต์‚ฌ ์‹œ ์•”ํ˜ธํ™” ํ™œ์„ฑํ™”
3. ์•”ํ˜ธํ™”๋œ ์Šค๋ƒ…์ƒท์œผ๋กœ ์ƒˆ DB ๋ณต์›

11. ํ•ต์‹ฌ ๋น„๊ต ์š”์•ฝ#

RDS vs Aurora#

ํ•ญ๋ชฉRDSAurora
์—”์ง„์—ฌ๋Ÿฌ ์—”์ง„ ์„ ํƒPostgreSQL/MySQL ํ˜ธํ™˜
์„ฑ๋Šฅํ‘œ์ค€MySQL 5๋ฐฐ, PostgreSQL 3๋ฐฐ
์Šคํ† ๋ฆฌ์ง€EBS (์ˆ˜๋™ ํ™•์žฅ)์ž๋™ ํ™•์žฅ (์ตœ๋Œ€ 128TB)
Read Replica ์ˆ˜์ตœ๋Œ€ 15๊ฐœ์ตœ๋Œ€ 15๊ฐœ
๋ณต์ œ ์ง€์—ฐ์ผ๋ฐ˜์ Sub 10ms
ํŽ˜์ผ์˜ค๋ฒ„์ˆ˜๋ถ„30์ดˆ ์ด๋‚ด
๋น„์šฉ๊ธฐ์ค€20% ๋†’์Œ
๋ฐ์ดํ„ฐ ๋ณต์‚ฌ๋ณธ1~2๊ฐœ6๊ฐœ (3 AZ ร— 2)
SSH ์ ‘์†โŒโŒ
BacktrackโŒโœ…
ServerlessโŒโœ…

๐Ÿ“Œ ์‹œํ—˜ ์ž์ฃผ ์ถœ์ œ ํฌ์ธํŠธ#

ํฌ์ธํŠธ๋‚ด์šฉ
Read Replica ๋ณต์ œ๋น„๋™๊ธฐ (ASYNC) โ†’ ์ตœ์ข… ์ผ๊ด€์„ฑ
Multi-AZ ๋ณต์ œ๋™๊ธฐ (SYNC) โ†’ ์žฌํ•ด ๋ณต๊ตฌ ๋ชฉ์ 
Multi-AZ ๋ชฉ์ DR (์žฌํ•ด ๋ณต๊ตฌ), ์Šค์ผ€์ผ๋ง ์•„๋‹˜
Read Replica ๋น„์šฉ๋™์ผ ๋ฆฌ์ „์€ ๋ฌด๋ฃŒ, ๊ต์ฐจ ๋ฆฌ์ „์€ ์œ ๋ฃŒ
Read Replica ์šฉ๋„SELECT๋งŒ (์“ฐ๊ธฐ ๋ถˆ๊ฐ€)
Singleโ†’Multi-AZZero Downtime ์ „ํ™˜ ๊ฐ€๋Šฅ
Aurora ๋ณต์‚ฌ๋ณธ ์ˆ˜6๊ฐœ (3 AZ, ๊ฐ 2๊ฐœ)
Aurora ์“ฐ๊ธฐ ์ •์กฑ์ˆ˜6๊ฐœ ์ค‘ 4๊ฐœ
Aurora ์ฝ๊ธฐ ์ •์กฑ์ˆ˜6๊ฐœ ์ค‘ 3๊ฐœ
Aurora ํŽ˜์ผ์˜ค๋ฒ„30์ดˆ ์ด๋‚ด
Aurora Global ๋ณต์ œ ์ง€์—ฐ1์ดˆ ๋ฏธ๋งŒ
Aurora Global RTO๋ฆฌ์ „ ์Šน๊ฒฉ ์‹œ 1๋ถ„ ๋ฏธ๋งŒ
Aurora Backtrack๋ฐฑ์—… ์—†์ด ํŠน์ • ์‹œ์  ๋ณต์›
Aurora CloningCopy-on-Write, ์Šคํ…Œ์ด์ง• DB ์ƒ์„ฑ์— ํ™œ์šฉ
RDS ์ž๋™ ๋ฐฑ์—… ๋ณด์กด์ตœ๋Œ€ 35์ผ
Aurora ์ž๋™ ๋ฐฑ์—…๋น„ํ™œ์„ฑํ™” ๋ถˆ๊ฐ€
MySQL Aurora S3 ๋ณต์›Percona XtraBackup ํ•„์š”
RDS ์•”ํ˜ธํ™” ํ‚คAWS KMS
์•”ํ˜ธํ™” DB ๋ณต์ œ๋ณธ๋งˆ์Šคํ„ฐ ๋ฏธ์•”ํ˜ธํ™” ์‹œ ๋ณต์ œ๋ณธ ์•”ํ˜ธํ™” ๋ถˆ๊ฐ€
RDS Custom ์ง€์› ์—”์ง„Oracle, MS SQL Server๋งŒ

๐Ÿ“š ์ฐธ๊ณ  ์ž๋ฃŒ#