๐ AWS DMS (Database Migration Service)๋?
- AWS Database Migration Service๋
๐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ค๋จ ์์ด(๋๋ ์ต์ ์ค๋จ์ผ๋ก) ๋ค๋ฅธ DB๋ก ์ฎ๊ฒจ์ฃผ๋ ์๋น์ค์ด๋ค.
ํ ์ค ์์ฝํ๋ฉด
โDB๋ฅผ ๊ฑฐ์ ๋ฉ์ถ์ง ์๊ณ AWS๋ก ์ด์ ํ๊ฑฐ๋, DB ์ข
๋ฅ๋ฅผ ๋ฐ๊ฟ ๋ ์ฐ๋ ์๋น์คโ
๐ฆ DMS๋ก ํ ์ ์๋ ๊ฒ
โ
์ง์ํ๋ ๋ง์ด๊ทธ๋ ์ด์
- ์จํ๋ ๋ฏธ์ค โ AWS
- AWS โ AWS
- ๋ค๋ฅธ ํด๋ผ์ฐ๋ โ AWS
โ
DB ์ข
๋ฅ
- ๋์ข
๋ง์ด๊ทธ๋ ์ด์
- MySQL โ MySQL
- Oracle โ Oracle
- ์ด์ข
๋ง์ด๊ทธ๋ ์ด์
- Oracle โ Aurora
- SQL Server โ MySQL
- PostgreSQL โ DynamoDB (์ผ๋ถ)
๐ง DMS ํต์ฌ ๊ตฌ์ฑ์์ (์ํ ๋จ๊ณจ)



1๏ธโฃ Source DB (์์ค)
- ๊ธฐ์กด์ ์ฐ๊ณ ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ์: ์จํ๋ ๋ฏธ์ค Oracle, RDS MySQL
2๏ธโฃ Target DB (ํ๊ฒ)
- ์ฎ๊ธธ ๋ชฉ์ ์ง DB
- ์: Amazon Aurora, RDS, DynamoDB
3๏ธโฃ Replication Instance
- DMS์ ํต์ฌ
- ๋ฐ์ดํฐ ์ด๋์ ์ค์ ๋ก ์ํํ๋ ์ค๊ฐ ์๋ฒ
- EC2 ๊ธฐ๋ฐ, ๋ฉํฐ AZ ๊ฐ๋ฅ
๐ ๋ง์ด๊ทธ๋ ์ด์
๋ฐฉ์ (์ํ์ ์์ฃผ ๋์ด)
โ Full Load
- ๊ธฐ์กด ๋ฐ์ดํฐ ํ ๋ฒ์ ์ ๋ถ ๋ณต์ฌ
- ์ด๊ธฐ ๋ง์ด๊ทธ๋ ์ด์
์ฉ
โก CDC (Change Data Capture)
- ๋ณ๊ฒฝ๋๋ ๋ฐ์ดํฐ๋ง ๊ณ์ ์ถ์
- ์๋น์ค ์ค๋จ ์์ด ๋ง์ด๊ทธ๋ ์ด์
๊ฐ๋ฅ
๐ ์ค๋ฌด/์ํ์์ ๊ฐ์ฅ ๋ง์ด ๋์ค๋ ์กฐํฉ
FullLoad + CDC
= ์ฒ์ ํ ๋ฒ ์ ์ฒด ๋ณต์ฌ โ ์ดํ ๋ณ๊ฒฝ๋ถ ์ค์๊ฐ ๋๊ธฐํ
๐ ๏ธ DMS vs SCT (์ํ ํจ์ ํฌ์ธํธ)
| ๊ตฌ๋ถ | DMS | SCT |
|---|
| ์ญํ | ๋ฐ์ดํฐ ์ด๋ | ์คํค๋ง ๋ณํ |
| ํ
์ด๋ธ/์ธ๋ฑ์ค | โ ์ ์ฎ๊น | โ
๋ณํ |
| ๋ฐ์ดํฐ | โ
์ฎ๊น | โ |
| ์ธ์ ์ฐ๋ | ์ค์ ๋ง์ด๊ทธ๋ ์ด์
| ์ฌ์ ์ค๋น |
๐ ์ ๋ต ํจํด
โ์ด์ข
DB ๋ง์ด๊ทธ๋ ์ด์
โ
โ SCT + DMS ๊ฐ์ด ์ฌ์ฉ
๐ ๋ณด์ & ์ด์ ํน์ง
- IAM์ผ๋ก ๊ถํ ๊ด๋ฆฌ
- SSL/TLS ์ง์
- ๋ฐ์ดํฐ ์ํธํ (KMS)
- CloudWatch ๋ชจ๋ํฐ๋ง
- ์คํจ ์ ์ฌ์๋ ๊ฐ๋ฅ
๐ฏ SAA ์ํ์ ์ด๋ ๊ฒ ๋์์
โ ๋ฌธ์ ์ ํ 1
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ฑฐ์ ์ค๋จ ์์ด AWS๋ก ์ด์ ํด์ผ ํ๋ค
๐ ์ ๋ต: AWS DMS
โ ๋ฌธ์ ์ ํ 2
Oracle โ Aurora PostgreSQL๋ก ์ด์ ํด์ผ ํ๋ฉฐ
์คํค๋ง์ ๋ฐ์ดํฐ ๋ชจ๋ ์ด์ ํด์ผ ํ๋ค
๐ ์ ๋ต: SCT + DMS
โ ๋ฌธ์ ์ ํ 3
๋ง์ด๊ทธ๋ ์ด์
์ค์๋ ๋ฐ์ดํฐ ๋ณ๊ฒฝ์ ๊ณ์ ๋ฐ์ํด์ผ ํ๋ค
๐ ์ ๋ต ํค์๋: CDC ์ฌ์ฉ
๐งฉ ์ธ์ DMS ์ฐ๋ฉด ์ ๋ ๊น?
- ๋จ์ ๋ฐฑ์
/๋ณต์ โ โ (์ค๋
์ท, dump๊ฐ ๋ ์ ํฉ)
- ์ค์๊ฐ ์๋ฐฉํฅ DB ๋๊ธฐํ โ โ
- DB๊ฐ ์๋ ํ์ผ โ โ (DataSync, Snowball)
๐ ํ ์ค ์ต์ข
์ ๋ฆฌ (์๊ธฐ์ฉ)
AWS DMS = ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ค๋จ ์์ด AWS๋ก ์ด์ ํ๋ ์๋น์ค
์ด์ข
DB๋ฉด SCT๋ ๊ฐ์ด ์ด๋ค
1๏ธโฃ Source DB (์์ค)
- ๊ธฐ์กด์ ์ฐ๊ณ ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ์: ์จํ๋ ๋ฏธ์ค Oracle, RDS MySQL
2๏ธโฃ Target DB (ํ๊ฒ)
- ์ฎ๊ธธ ๋ชฉ์ ์ง DB
- ์: Amazon Aurora, RDS, DynamoDB
3๏ธโฃ Replication Instance
- DMS์ ํต์ฌ
- ๋ฐ์ดํฐ ์ด๋์ ์ค์ ๋ก ์ํํ๋ ์ค๊ฐ ์๋ฒ
- EC2 ๊ธฐ๋ฐ, ๋ฉํฐ AZ ๊ฐ๋ฅ
๐ ๋ง์ด๊ทธ๋ ์ด์
๋ฐฉ์ (์ํ์ ์์ฃผ ๋์ด)
โ Full Load
- ๊ธฐ์กด ๋ฐ์ดํฐ ํ ๋ฒ์ ์ ๋ถ ๋ณต์ฌ
- ์ด๊ธฐ ๋ง์ด๊ทธ๋ ์ด์
์ฉ
โก CDC (Change Data Capture)
- ๋ณ๊ฒฝ๋๋ ๋ฐ์ดํฐ๋ง ๊ณ์ ์ถ์
- ์๋น์ค ์ค๋จ ์์ด ๋ง์ด๊ทธ๋ ์ด์
๊ฐ๋ฅ
๐ ์ค๋ฌด/์ํ์์ ๊ฐ์ฅ ๋ง์ด ๋์ค๋ ์กฐํฉ
FullLoad + CDC
= ์ฒ์ ํ ๋ฒ ์ ์ฒด ๋ณต์ฌ โ ์ดํ ๋ณ๊ฒฝ๋ถ ์ค์๊ฐ ๋๊ธฐํ
๐ ๏ธ DMS vs SCT (์ํ ํจ์ ํฌ์ธํธ)
| ๊ตฌ๋ถ | DMS | SCT |
|---|
| ์ญํ | ๋ฐ์ดํฐ ์ด๋ | ์คํค๋ง ๋ณํ |
| ํ
์ด๋ธ/์ธ๋ฑ์ค | โ ์ ์ฎ๊น | โ
๋ณํ |
| ๋ฐ์ดํฐ | โ
์ฎ๊น | โ |
| ์ธ์ ์ฐ๋ | ์ค์ ๋ง์ด๊ทธ๋ ์ด์
| ์ฌ์ ์ค๋น |
๐ ์ ๋ต ํจํด
โ์ด์ข
DB ๋ง์ด๊ทธ๋ ์ด์
โ
โ SCT + DMS ๊ฐ์ด ์ฌ์ฉ
๐ ๋ณด์ & ์ด์ ํน์ง
- IAM์ผ๋ก ๊ถํ ๊ด๋ฆฌ
- SSL/TLS ์ง์
- ๋ฐ์ดํฐ ์ํธํ (KMS)
- CloudWatch ๋ชจ๋ํฐ๋ง
- ์คํจ ์ ์ฌ์๋ ๊ฐ๋ฅ
๐ฏ SAA ์ํ์ ์ด๋ ๊ฒ ๋์์
โ ๋ฌธ์ ์ ํ 1
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ฑฐ์ ์ค๋จ ์์ด AWS๋ก ์ด์ ํด์ผ ํ๋ค
๐ ์ ๋ต: AWS DMS
โ ๋ฌธ์ ์ ํ 2
Oracle โ Aurora PostgreSQL๋ก ์ด์ ํด์ผ ํ๋ฉฐ
์คํค๋ง์ ๋ฐ์ดํฐ ๋ชจ๋ ์ด์ ํด์ผ ํ๋ค
๐ ์ ๋ต: SCT + DMS
โ ๋ฌธ์ ์ ํ 3
๋ง์ด๊ทธ๋ ์ด์
์ค์๋ ๋ฐ์ดํฐ ๋ณ๊ฒฝ์ ๊ณ์ ๋ฐ์ํด์ผ ํ๋ค
๐ ์ ๋ต ํค์๋: CDC ์ฌ์ฉ
๐งฉ ์ธ์ DMS ์ฐ๋ฉด ์ ๋ ๊น?
- ๋จ์ ๋ฐฑ์
/๋ณต์ โ โ (์ค๋
์ท, dump๊ฐ ๋ ์ ํฉ)
- ์ค์๊ฐ ์๋ฐฉํฅ DB ๋๊ธฐํ โ โ
- DB๊ฐ ์๋ ํ์ผ โ โ (DataSync, Snowball)
๐ ํ ์ค ์ต์ข
์ ๋ฆฌ (์๊ธฐ์ฉ)
AWS DMS = ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ค๋จ ์์ด AWS๋ก ์ด์ ํ๋ ์๋น์ค
์ด์ข
DB๋ฉด SCT๋ ๊ฐ์ด ์ด๋ค