๐๏ธ AWS RDS & Aurora (๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค)
๐๏ธ AWS RDS & Aurora (๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค)#
AWS ๊ด๋ฆฌํ ๊ด๊ณํ DB ์๋น์ค โ ์ํ ๊ณ ๋น๋ ์์ญ
RDS๋ ๋ค์ํ ์์ง์ ์ง์ํ๊ณ , Aurora๋ AWS ์ ์ฉ ๊ณ ์ฑ๋ฅ DB์
๋๋ค.
1. RDS ๊ฐ์# ๐ RDS (Relational Database Service)๋?#
SQL ๊ธฐ๋ฐ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ํ AWS ๊ด๋ฆฌํ ์๋น์ค (Managed DB Service)
์ฌ์ฉ์๊ฐ DB ์์ง๋ง ์ ํํ๋ฉด ๋๋จธ์ง๋ AWS๊ฐ ์ด์
์ง์ DB ์์ง#
์์ง ํน์ง PostgreSQL ์คํ์์ค, ๊ธฐ๋ฅ ํ๋ถ MySQL ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ์คํ์์ค MariaDB MySQL ํฌํฌ, ์คํ์์ค Oracle ์์ฉ ์ํฐํ๋ผ์ด์ฆ DB Microsoft SQL Server ์์ฉ ์ํฐํ๋ผ์ด์ฆ DB IBM DB2 ์์ฉ ์ํฐํ๋ผ์ด์ฆ DB Aurora AWS ๋
์ ๊ฐ๋ฐ (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%
2๏ธโฃ ์ ์ฉ๋ ์ํ๊ฐ 5๋ถ ์ด์ ์ง์
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 Replica Multi-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์ ๋ํ ๊ด๋ฆฌ์ ์์ค ์ ๊ทผ ๊ถํ ์ ๊ณต
๊ธฐ๋ฅ RDS RDS 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 & Security VPC, KMS ์ํธํ, IAM ํตํฉ Industry Compliance ๊ฐ์ข
๊ท์ ์ค์ Push-button Scaling ๋ฒํผ ํด๋ฆญ์ผ๋ก ์ฉ๋ ์กฐ์ Automated Patching Zero 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 SageMaker ML ๋ชจ๋ธ (๋ฒ์ฉ) 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)#
ํญ๋ชฉ RDS Aurora ๋ฐฑ์
์ฃผ๊ธฐ ๋งค์ผ ์ ์ฒด ๋ฐฑ์
(์ง์ ๋ฐฑ์
์ฐฝ) ์ง์ ๋ฐฑ์
ํธ๋์ญ์
๋ก๊ทธ 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 โ S3 Percona 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 โ ์ํธํ ๋ณํ ๋ฐฉ๋ฒ:
2. ์ค๋
์ท ๋ณต์ฌ ์ ์ํธํ ํ์ฑํ
3. ์ํธํ๋ ์ค๋
์ท์ผ๋ก ์ DB ๋ณต์
11. ํต์ฌ ๋น๊ต ์์ฝ# RDS vs Aurora#
ํญ๋ชฉ RDS Aurora ์์ง ์ฌ๋ฌ ์์ง ์ ํ 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-AZ Zero Downtime ์ ํ ๊ฐ๋ฅAurora ๋ณต์ฌ๋ณธ ์ 6๊ฐ (3 AZ, ๊ฐ 2๊ฐ)Aurora ์ฐ๊ธฐ ์ ์กฑ์ 6๊ฐ ์ค 4๊ฐ Aurora ์ฝ๊ธฐ ์ ์กฑ์ 6๊ฐ ์ค 3๊ฐ Aurora ํ์ผ์ค๋ฒ 30์ด ์ด๋ด Aurora Global ๋ณต์ ์ง์ฐ 1์ด ๋ฏธ๋ง Aurora Global RTO ๋ฆฌ์ ์น๊ฒฉ ์ 1๋ถ ๋ฏธ๋ง Aurora Backtrack ๋ฐฑ์
์์ด ํน์ ์์ ๋ณต์ Aurora Cloning Copy-on-Write , ์คํ
์ด์ง DB ์์ฑ์ ํ์ฉRDS ์๋ ๋ฐฑ์
๋ณด์กด ์ต๋ 35์ผ Aurora ์๋ ๋ฐฑ์
๋นํ์ฑํ ๋ถ๊ฐ MySQL Aurora S3 ๋ณต์ Percona XtraBackup ํ์RDS ์ํธํ ํค AWS KMS ์ํธํ DB ๋ณต์ ๋ณธ ๋ง์คํฐ ๋ฏธ์ํธํ ์ ๋ณต์ ๋ณธ ์ํธํ ๋ถ๊ฐ RDS Custom ์ง์ ์์ง Oracle, MS SQL Server๋ง