[AWS Black Belt Online Seminar]
AWS Database Migration Service

サービスカットシリーズ

内山 義夫
2021/2/16© 2021, Amazon Web Services, Inc. or its Affiliates.

AWS 公式 Webinar
https://amzn.to/JPWebinar

過去資料
https://amzn.to/JPArchiveAWS Black Belt Online Seminar とは「サービス別」「ソリューション別」「業種別」のそれぞれのテーマに分かれて、アマゾ
ン ウェブ サービス ジャパン株式会社が主催するオンラインセミナーシリーズです。
質問を投げることができます！
• 書き込んだ質問は、主催者にしか見えません• 今後のロードマップに関するご質問はお答えできませんのでご了承下さい① 吹き出しをクリック② 質問を入力③ Sendをクリック

Twitter ハッシュタグは以下をご利用ください#awsblackbelt© 2021, Amazon Web Services, Inc. or its Affiliates.

内容についての注意点• 本資料では2021 年 2 月 16 日現在のサービス内容および価格についてご説明しています。最新の情報はAWS公式ウェブサイト(http://aws.amazon.com)にてご確認ください。
• 資料作成には十分注意しておりますが、資料内の価格とAWS公式ウェブサイト記載の価格に相違があった場合、
AWS公式ウェブサイトの価格を優先とさせていただきます。
• 価格は税抜表記となっています。日本居住者のお客様には別途消費税をご請求させていただきます。
• AWS does not offer binding price quotes. AWS pricing is publicly available and is subject to change inaccordance with the AWS Customer Agreement available at http://aws.amazon.com/agreement/. Any
pricing information included in this document is provided only as an estimate of usage charges for AWS
services based on certain information that you have provided. Monthly charges will be based on youractual use of AWS services, and may vary from the estimates provided.

© 2021, Amazon Web Services, Inc. or its Affiliates.

自己紹介

内山 義夫
アマゾン ウェブ サービス ジャパン株式会社
データベース ソリューションアーキテクト

好きなAWSサービス•
Amazon Aurora/RDS•
AWS Database Migration Service© 2021, Amazon Web Services, Inc. or its Affiliates.

本日のアジェンダ
•
•
•
•
•
•
•
•

イントロダクション
AWS Database Migration Service概要
DMSアーキテクチャ
DMSアーキテクチャ(SourceがOracleの場合）
レプリケーションインスタンスのサイジング
DMSの機能最後にまとめ© 2021, Amazon Web Services, Inc. or its Affiliates.

イントロダクション© 2021, Amazon Web Services, Inc. or its Affiliates.

フルマネージドデータベースへの移行

オンプレミスや自己管理しているデータベースをフルマネージドサービスにAmazonAuroraAmazonRDS

Relational
databases© 2021, Amazon Web Services, Inc. or its Affiliates.

AmazonDocumentDB

AmazonElastiCache

Non-relational
databases

AmazonKeyspaces移行する理由
インフラストラクチャ• ハードウェアのEOL• 冗長性や自動化の欠如• 異なるレイヤーでの障害

拡張性• インスタンスサイズの変更• リージョンを超えたスケール

コスト最適化• 使った分だけ課金• オープンソースでライセンスコスト削減• フルマネージドデータベース

革新性• データベースのモダナイズ• ワークロードに最適なデータベースの選択© 2021, Amazon Web Services, Inc. or its Affiliates.

移行プロセスを支えるAWSサービス

計画
ディスカバリ

運用

移行
設計

変換

移行

 AWS Migration Hub
 AWS TSO Logic
 AWS TCO Calculator
 AWS Application Discovery
Service© 2021, Amazon Web Services, Inc. or its Affiliates.

 Cloud Endure Migration
 AWS Server Migration Service
 AWS Database Migration
Service AWS Schema Conversion Tool AWS Data Sync
 AWS Transfer for SFTP

運用

最適化

 AWS Systems Manager
 AWS Config
 AWS CloudFormation
 AWS CloudWatch AWS CloudTrail AWS Service Catalog

AWS Database Migration Service概要© 2021, Amazon Web Services, Inc. or its Affiliates.

AWS Database Migration Service（DMS）• DBのデータ連携を支援するサービス• セットアップ・利用が容易• 使った分だけの安価な費用• 異機種間のデータ連携も対応• テーブル定義を補助するツールの提供• 低負荷で継続的なレプリケーション© 2021, Amazon Web Services, Inc. or its Affiliates.

同種/異種データベース間での移行

AWS DMSAWS DMSAWS DMS© 2021, Amazon Web Services, Inc. or its Affiliates.

Amazon Aurora

Amazon S3

マイクロサービスアーキテクチャでの使用

Amazon ES

AWS DMS

Amazon Kinesis
Data Streams

Amazon Aurora

Amazon S3© 2021, Amazon Web Services, Inc. or its Affiliates.

Amazon Redshift一般的なユースケース
Migrate• ミッションクリティカルアプリケーションの移行• データウェアハウスをRedshiftへ 移行• メジャー/マイナーバージョンアップグレード• シャードをAmazon Auroraに集約• 過去データをAmazon S3へアーカイブ• NoSQLからSQL, SQLからNoSQL, NoSQLからNoSQLへの 移行

Replicate• クロスリージョンリードレプリカの作成• クラウドでアナリティクスの実行• データレイクへの転送• ストリーミングプラットフォームへのレプリケーション© 2021, Amazon Web Services, Inc. or its Affiliates.

DMSでサポートされているデータベース
Relational

Sources

Amazon Aurora

Targets

Amazon Aurora© 2021, Amazon Web Services, Inc. or its Affiliates.

NoSQL

Analytics

Data warehouse*

Amazon S3 AWS Snowball

Amazon DynamoDB Amazon Elasticsearch Amazon Kinesis
Service (Amazon ES) Data Streams
Amazon Redshift

Amazon DocumentDB (withMongoDB compatibility)* Supported via SCT data extractors
Amazon S3

Amazon Managed
Streaming for Kafka対応データベース詳細（ソース）
プラットフォーム

バージョン

備考

Oracle Database

10.2 以降 (バージョン 10.x)、11g、12.2、
18c、および 19c まで

Microsoft SQL Server

2005、2008、2008R2、2012、2014、
2016、2017、2019

MySQL

5.5,5.6,5.7,8.0

MariaDB

10.0.24 から 10.0.28、10.1、10.2、10.3、 10.3.13、10.4

PostgreSQL

9.4 以降 (バージョン 9.x 用)、10.x、11.x、 CDCは論理レプリケーションを設定できる
および 12.x
場合のみ使用可能（RDSは 9.4.9 以降および 9.5.4 以降、Auroraは10.6以降）

MongoDB

3.X、4.0

SAP ASE12.5、15、15.5、15.7、16 以降

IBM DB2

9.7、10.1、10.5、11.1

Microsoft Azure SQL Database

すべて

S3

すべて

CDCはEnterprise、Developer、Standard(2016 SP1以降）

CDCには未対応

https://docs.aws.amazon.com/ja_jp/dms/latest/userguide/CHAP_Source.html© 2021, Amazon Web Services, Inc. or its Affiliates.

対応データベース詳細（ターゲット）
プラットフォーム

バージョン

備考

Oracle Database

10g、11g、12c、18c、19c

Microsoft SQL Server

2005、2008、2008R2、2012、2014、2016、2017、2019

MySQL

5.5,5.6,5.7,8.0

MariaDB

10.0.24 から 10.0.28、10.1、10.2、
10.3、10.3.13、10.4

PostgreSQL

9.4 以降 (バージョン 9.x 用)、10.x、 10.12 と互換性のある PostgreSQL
11.x、および 12.xのターゲットとして使用

MongoDB

3.X、4.0

SAP ASE15、15.5、15.7、16 以降

IBM DB2

9.7、10.1、10.5、11.1

S3,Amazon Redshift,Amazon
DynamoDB,Kinesis Data Streams,ApacheKafka,Amazon Elasticsearch Service,Amazon
DocumentDB,Amazon Neptune

すべて

https://docs.aws.amazon.com/ja_jp/dms/latest/userguide/CHAP_Introduction.Targets.html© 2021, Amazon Web Services, Inc. or its Affiliates.

DMSアーキテクチャ© 2021, Amazon Web Services, Inc. or its Affiliates.

一般的なレプリケーション方式
物理レプリケーション
SOURCETARGET

論理レプリケーション
SOURCETARGET---------------------

トランザクション
ログファイル

トランザクション
ログファイル

トランザクション
ログファイル• ソースデータベースで作成されたトランザク
ションログファイルをターゲットに転送し、ターゲットに適用• データベースのリカバリと同等© 2021, Amazon Web Services, Inc. or its Affiliates.

INSERT 1
INSERT 2• ソースデータベースで作成されたトランザク
ションログファイルからDMLを作成し、ター
ゲットに適用• １つのアプリケーション

レプリケーション方式の違い
物理レプリケーション

論理レプリケーション

レプリケーション方式

トランザクションログをターゲットに適用

トランザクションログからDMLを作成しターゲットに適用

連携単位

データベース単位

テーブル単位データの整合性差が発生する可能性が低い

差が発生する可能性がある
Ex)
ターゲット側への更新エラー
文字の文字化けユーザーによるターゲット側更新

主な制約

ソース、ターゲットでバージョンが同じである必要がある
単位はデータベース単位であり、特定のテーブルを指定することができない

テーブルデータとテーブル定義、一部制約のみ連携される（製品により異なる）

ターゲット側への処理

参照のみ

参照・更新可能

主な製品・サービス

DBエンジンの機能- Oracle DataGuard- PostgreSQL ストリーミングレプリケー
ション

AWS Database Migration Service
Oracle GoldenGate
Qlik Replicate© 2021, Amazon Web Services, Inc. or its Affiliates.

DMSの連携対象
SOURCETARGET

テーブル
制約
インデックスプロシージャ
ビュー

テーブル------トランザクション
ログファイルINSERT 1

制約

INSERT 2

インデックスプロシージャ
ビュー• DMSで作成されるオブジェクトはテーブルと主キーなどの一部の制約のみ• インデックスやプロシージャ、ビューはターゲット側に手動で反映する必要がある• DRのような同一構成を維持する必要がある場合、ソース、ターゲット両方のデータベースにオブジェクトを作成する必要がある© 2021, Amazon Web Services, Inc. or its Affiliates.

DMSアーキテクチャ• フルロード• 既存データの連携• CDC（Change Data Capture）• 更新差分データの連携© 2021, Amazon Web Services, Inc. or its Affiliates.

FULL Load

既存データの連携
SOURCE

ユーザーA

TARGETAWS DMS

INSERT 1
COMMIT

メモリ

1.SOURCE_UNLOAD

2.TARGET_LOAD

受信バッファ

ユーザーB

INSERT 1

INSERT 2
INSERT 1

INSERT 2

INSERT 2

トランザクション
ログファイル------CSVファイル

1. ソースのデータベースに対してselect を実行（1万件毎）し、データをアンロード（SOURCE_UNLOAD）
テーブルは複数テーブルを同時にアンロード（デフォルト8テーブル）
2. ターゲットのデータベースに対してデータをロード（TARGET_LOAD）。ロード方法はターゲットのエンジンにより異なる。
Oracle,SQL Serverはメモリ上のデータを直接ターゲットにロード、MySQL,PostgreSQLはCSVファイルに出力後ロード。
※フルロード中に発生した更新差分データは受信バッファで保持© 2021, Amazon Web Services, Inc. or its Affiliates.

CDC（Change Data Capture）
更新差分データの連携
SOURCE

ユーザーA

TARGETAWS DMS

INSERT 1
COMMIT

メモリ

受信バッファ

ユーザーB

2.SORTER

INSERT 1

INSERT 1

INSERT 2

INSERT 2

INSERT 1

送信バッファ
INSERT 1

INSERT 1

INSERT 2

INSERT 2

1.SOURCE_CAPTURE

3.TARGET_APPLY

トランザクション
ログファイル

1. ソースで発生したデータ変更は受信バッファにキャプチャ（SOURCE_CAPTURE）
2. CDC において、ソースからターゲットへキャプチャされたデータ変更を仲介するバッファ（SORTER）
Ex) COMMITの順番にソート、COMMIT済みのデータのみ送信バッファに移動など
3. 送信バッファにキャプチャされたデータ変更をターゲットへ適用（TARGET_APPLY）© 2021, Amazon Web Services, Inc. or its Affiliates.

トランザクションログのキャプチャに必要な条件•

Oracle Database••

ARCHIVELOGモード and FORCE LOGGING
サプリメンタルロギング••

Microsoft SQL Server•

MS-Replication or MS-CDC
•

•

MySQL
•

https://docs.aws.amazon.com/ja_jp/dms/latest/userguide/CHAP_Source.SQLServer.html

binlog_format=ROWのバイナリログ••

https://docs.aws.amazon.com/ja_jp/dms/latest/userguide/CHAP_Source.Oracle.html

https://docs.aws.amazon.com/ja_jp/dms/latest/userguide/CHAP_Source.MySQL.html

PostgreSQL•

論理レプリケーション•

https://docs.aws.amazon.com/ja_jp/dms/latest/userguide/CHAP_Source.PostgreSQL.html© 2021, Amazon Web Services, Inc. or its Affiliates.

DMSアーキテクチャ(SourceがOracleの場
合）© 2021, Amazon Web Services, Inc. or its Affiliates.

ソースがOracleの場合のログ読み取り方式• LogMiner• オンライン REDO ログとアーカイブ REDO ログファイルを読み取る OracleAPI• DMSのデフォルト• Binary Reader• REDO ログファイルを DMSが直接解析（BFILE で取得）
• DMS独自の方式© 2021, Amazon Web Services, Inc. or its Affiliates.

Logminer アーキテクチャ（CDC）
ORDER_LINEテーブルを指定した例
SOURCE
ユーザーA

INSERT 1① 要求
ORDERSAWS DMS② 更新情報取得

ユーザーB

④ 転送

INSERT 1

ORDER_LINE

INSERT 2

INSERT 1

INSERT 2
INSERT 2

REDO/アーカイブ
ログファイル© 2021, Amazon Web Services, Inc. or its Affiliates.

INSERT 2③ フィルター

INSERT 2

Logminerのポイント• ログの解析はソース側のDBサーバー• REDOログやアーカイブログファイルを解析してSQL文を作成する処理はソース側のDBサーバー上で実行• REDOログへの更新が多い場合、解析処理によるDBサーバーの負荷がかかる
可能性有• ネットワークの転送量は指定したテーブルのみ• ソースデータベースからレプリケーションインスタンスへの転送は、DMSで指定したテーブルのみ• テーブルを指定することで、ネットワーク転送量を抑えることが可能• ASM使用有無に依存しない• Logminerの場合、ファイルシステムとASMで設定や転送方式に差異はない© 2021, Amazon Web Services, Inc. or its Affiliates.

Binary Reader アーキテクチャ
ORDER_LINEテーブルを指定した例
SOURCE
ユーザーA

INSERT 1① 要求
AWS DMS

ORDERS④ フィルター② 転送
ユーザーB
ORDER_LINE
INSERT 2© 2021, Amazon Web Services, Inc. or its Affiliates.

INSERT 1

INSERT 1

INSERT 1

INSERT 2

INSERT 2

INSERT 2

REDO/アーカイブ
ログファイル③ 更新情報取得

INSERT 2

Binary Readerのポイント• ログの解析はレプリケーションインスタンス• REDOログやアーカイブログファイルを解析する処理はレプリケーションイン
スタンス側で実行• Logminerと比較してDBサーバーへの負荷は低い• ネットワークの転送はログファイル全体• ソースデータベースからレプリケーションインスタンスへは、REDOログファ
イル、アーカイブログファイルを転送• タスクでテーブルを指定しても、ネットワーク転送量は削減できない• タスク毎にログファイルを転送する為、タスクを複数作成するとタスク毎にログファイルが転送されてしまい、ネットワーク転送が増大する可能性がある• ASM使用有無で内部処理が異なる• ASMの場合、ASM用のAPIで転送© 2021, Amazon Web Services, Inc. or its Affiliates.

Binary Reader アーキテクチャ（ASM）
ORDER_LINEテーブルを指定した例
SOURCE
ユーザーA

INSERT 1① 要求
AWS DMS

ORDERSASM
ユーザーB
ORDER_LINE
INSERT 2© 2021, Amazon Web Services, Inc. or its Affiliates.

② 転送（ ASM API）

INSERT 1

INSERT 1

INSERT 1

INSERT 2

INSERT 2

INSERT 2

REDO/アーカイブ
ログファイル④ フィルター③ 更新情報取得

INSERT 2

Oracle ASM時のチューニング• DMS 3.1以前のバージョン• ASMのAPI が1回の呼び出しで最大 32KB で読み取る為、パフォーマンスが出ないケースも• CopyToTempFolderを指定することでパフォーマンス改善• https://aws.amazon.com/jp/blogs/news/how-to-migrate-from-oracleasm-to-aws-using-aws-dms/• DMS 3.3.0以降のバージョン• 並列スレッド数 (parallelASMReadThreads) および先読みバッファ数(readAheadBlocks) を追加の接続属性に指定することよりパフォーマンス
が向上

• Ex)
useLogMinerReader=N;useBfile=Y;asm_user=asm_username;asm_ser
ver=RAC_server_ip_address:port_number/+ASM;
parallelASMReadThreads=6;readAheadBlocks=150000;© 2021, Amazon Web Services, Inc. or its Affiliates.

LogminerとBinary Readerの比較
機能
設定が簡単

LogMiner(ログマイナー)
はいBinary Reader
いいえ

ソースシステムの I/O および CPU への影響 いいえ
を下げる
CDC パフォーマンスの向上
いいえ

はい

Oracle テーブルクラスターをサポート

いいえ

はい

すべてのタイプの Oracle Hybrid Columnar はいCompression (HCC) をサポートします。

Oracle 12c での LOB 列のサポート

いいえ

LOB 列にのみ影響を与える UPDATE ステー いいえ
トメントをサポート
Oracle 透過的データ暗号化 (TDE) をサポー はいト
すべての Oracle 圧縮方法をサポートします。はいpluggable database(PDB）をサポートしま いいえ
す。

はい
部分的
Binary Reader は、CDC を使用するタ
スクで QUERY LOW をサポートしていません。他のすべての HCC タイプは完
全にサポートされています。
はい
はい
部分的
Binary Reader は、セルフマネージド型 Oracle データベースに対してのみ
TDE をサポートします。
いいえはいhttps://docs.aws.amazon.com/ja_jp/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.CDC© 2021, Amazon Web Services, Inc. or its Affiliates.

LogMinerとBinary Readerの使い分け• デフォルトであるLogminerの使用を第一候補に検討• 以下のようなケースでは、Binary Readerを検討• LogMinerの制約に該当する場合（LOBの使用等）• ソースDBへの負荷を抑えたい場合• REDOログの生成量が多く、レプリケーションラグが発生する場合• Binary Readerを使用する際の注意• ネットワーク転送量が多くなる可能性がある• 同一ソースに対して複数タスクを作成すると、タスク毎にログを転送する• ASMの場合、parallelASMReadThreadsとreadAheadBlocksを指定する© 2021, Amazon Web Services, Inc. or its Affiliates.

レプリケーションインスタンスのサイジング© 2021, Amazon Web Services, Inc. or its Affiliates.

レプリケーションインスタンスのサイジング• レプリケーションインスタンスのサイジングはテーブル数、データ量、変更差分の量等様々な要因に依存する為、事前に決定することは難しい• 検証を実施して最適なインスタンスタイプを確認する必要がある• サイジングに影響する要因について理解しておく
• CPU
• メモリ
• ディスク• ネットワーク© 2021, Amazon Web Services, Inc. or its Affiliates.

サイジングへの影響（CPU、メモリ）
SOURCE
ユーザーA

TARGETAWS DMS

INSERT 1
COMMIT

メモリ

SOURCE_UNLOAD

TARGET_LOAD

メモリ
CPU

受信バッファ

ユーザーB
INSERT 1
・FULL Loadによるテーブルデータの並列転送

・大量のトランザクションログの更新※バッチ処理等による大量のトランザクションログの更新
INSERT 2
により転送量が増大する可能性
INSERT 2

INSERT 1

INSERT 2

トランザクション
ログファイル© 2021, Amazon Web Services, Inc. or its Affiliates.

・FULL Loadの結果のキャッシュ※FULL Loadは並列で実行（デフォルト8テーブル）※キャッシュ量はテーブルサイズに依存
・CDCのキャッシュ※FULL Load中のCDCもキャッシュ--※FULL Load時間が長い場合、キャッシュ量も--増加する可能性有--CSVファイルサイジングへの影響（ディスク）
SOURCE
ユーザーA

TARGETAWS DMS

INSERT 1
COMMIT

メモリ

SOURCE_UNLOAD

TARGET_LOAD

受信バッファ

ユーザーB

・FULL LoadのデータをCSVに出力・出力したCSVをターゲットにImport

INSERT 1

INSERT 2
INSERT 1

INSERT 2

INSERT 2

トランザクション
ログファイル・メモリ不足時に、バッファ情報をファイルに出力※フルロード時やソース側DBで長い
トランザクションが実行された時に発生しやすい© 2021, Amazon Web Services, Inc. or its Affiliates.

---------------------

CSVファイル

DMSのログファイル・DMSのログファイル(デバッグモード時にログ量増加)

サイジングへの影響（ネットワーク）
SOURCE・FULL Loadデータの転送

TARGET※FULL Load時の並列数に依存

ユーザーA

AWS DMS

INSERT 1
COMMIT

メモリ

SOURCE_UNLOAD

TARGET_LOAD

受信バッファ

ユーザーB

INSERT 1

INSERT 2
INSERT 1

INSERT 2

INSERT 2

トランザクション
ログファイル・CDCの転送※バッチ処理等による大量のトランザクションログの更新により増大する可能性有※Binary Readerの場合、ログファイルを転送する
為、転送量が増加する可能性有※複数タスクを作成した場合、タスク毎に転送が発生© 2021, Amazon Web Services, Inc. or its Affiliates.

------CSVファイル

サイジングに向けた情報収集• サイジングで監視すべきメトリクス• ネットワーク• CPU• CPUUtilization• メモリ• FreeableMemory• SwapUsage• ディスク• FreeStorageSpace© 2021, Amazon Web Services, Inc. or its Affiliates.

• NetworkTransmitThroughput• NetworkReceiveThroughput• レプリケーションラグ• CDCLatencySource• CDCLatencyTargetDMSの機能© 2021, Amazon Web Services, Inc. or its Affiliates.

DMSの機能DMSによるレプリケーション対象の制御• 選択ルール• 変換ルール

移行後のデータ比較• 移行タスクの検証© 2021, Amazon Web Services, Inc. or its Affiliates.

選択ルール• 行のフィルタ
ID >= 3• 列の削除

remove coloumn:stocks© 2021, Amazon Web Services, Inc. or its Affiliates.

total_stocksテーブル
ID

name

stocks1 applenamestocks100

3 grape80

2 banama

300

4 Mango20

3 grape80

4 mango

20

ID

ID

name

stocksID

name1 apple100

1 apple2 banama

300

2 banama

3 grape80

3 grape4 mango20

4 mango参考) 条件を指定したルール• 条件毎に別テーブルに移行
task1
ID <= 1000:total_stock_atask2
ID >= 1001:total_stock_b© 2021, Amazon Web Services, Inc. or its Affiliates.

total_stocksテーブル

ID

name

stocks1 apple100

2 banama

300

3 grape80

4 mango20

1001 tomato

21002 lettuce

11003 cabbage

31004 carrot

1

total_stocks_aテーブル
ID
namestocks1 apple100

2 banama

300

3 grape80

4 mango20

total_stocks_bテーブル
ID
namestocks1001 tomato

21002 lettuce

11003 cabbage

31004 carrot

1変換ルール
total_stocksテーブル• テーブル名の変更 ID name

• 列名の変更© 2021, Amazon Web Services, Inc. or its Affiliates.

stockstotal_stocks_2021テーブル
ID

name

stocks1 apple100

1 apple100

2 banama

300

2 banama

300

3 grape80

3 grape80

4 mango20

4 mango

20

ID

ID

product stocks

namestocks1 apple100

1 apple100

2 banama

300

2 banama

300

3 grape80

3 grape80

4 mango20

4 mango20

変換ルール• ターゲットのテーブルに式を使用して列を追加••"value": "Full_name","expression": "$First_name||'_’||$Last_name"customers

customers

ID First_name Last_name

ID First_name Last_name Full_name1

DonaldTrump

1

DonaldTrump

Donald Trump

2

BarackObama

2

BarackObama

Barack Obama

3

GeorgeBush

3GeorgeBushGeorge Bush

4

William

Clinton4

William

ClintonWilliam Clinton© 2021, Amazon Web Services, Inc. or its Affiliates.

移行後のデータ比較• タスクの検証• データがソースからターゲットに正確に移行されたことを確認• Full Load時、CDC時のどちらでも検証可能© 2021, Amazon Web Services, Inc. or its Affiliates.

タスクの検証
FULL Load時
SOURCETARGETAWS DMS

検証
検証
検証

検証結果を格納awsdms_validation_failures_v1

データをパーティションという単位で分割し、分割したパーティション毎に検証
パーティションはデフォルトで10,000（PartitionSize）
Defaultでは5スレッドで実行（ThreadCount）
検証した結果差異が発生した場合、awsdms_validation_failures_v1テーブルに診断情報を格納© 2021,
Amazon Web Services, Inc. or its Affiliates.

タスクの検証

Change Data Capture時
SOURCETARGETAWS DMS

検証
検証

検証結果を格納awsdms_validation_failures_v1

変更された行のみ検証
検証した結果差異が発生した場合、awsdms_validation_failures_v1テーブルに診断情報を格納
変更行が多い場合、フルロードと同じようなパーティション単位で検証© 2021, Amazon Web Services, Inc. or its Affiliates.

タスクの検証の主な制限事項• テーブルに主キー/一意キーが存在している必要がある• ソース側、ターゲット側のデータベースに負荷がかかる可能性がある• 検証用のクエリが実行される為• DMSでフィルタリングを使用している場合や、複数のデータベースを１つに統合する場合、検証できない• ターゲットデータベースがDMS以外で変更された場合、検証できない• 検証中に１行かそれ以上の行が継続的に変更されている場合、それらの行を検証できない• 検証中に 10,000 (FailureMaxCount) 件を超える Failed/Suspended が検出されると、検証が停止
https://docs.aws.amazon.com/ja_jp/dms/latest/userguide/CHAP_Validating.html#CHAP_Validating.Limitations© 2021, Amazon Web Services, Inc. or its Affiliates.

最後に© 2021, Amazon Web Services, Inc. or its Affiliates.

DMSの制限（ソース）• Oracleをソースとして使用する場合の制限•

https://docs.aws.amazon.com/ja_jp/dms/latest/userguide/CHAP_Source.Oracle.html#CH
AP_Source.Oracle.CDC• SQL Serverをソースとして使用する場合の制限•

https://docs.aws.amazon.com/ja_jp/dms/latest/userguide/CHAP_Source.SQLServer.html#CHAP_Source.SQLServer.Limitations• MySQLをソースとして使用する場合の制限•

https://docs.aws.amazon.com/ja_jp/dms/latest/userguide/CHAP_Source.MySQL.html#C
HAP_Source.MySQL.Limitations• PostgreSQLをソースとして使用する場合の制限•

https://docs.aws.amazon.com/ja_jp/dms/latest/userguide/CHAP_Source.PostgreSQL.htm
l#CHAP_Source.PostgreSQL.Limitations© 2021, Amazon Web Services, Inc. or its Affiliates.

DMSの制限（ターゲット）• Oracleをターゲットとして使用する場合の制限•

https://docs.aws.amazon.com/ja_jp/dms/latest/userguide/CHAP_Target.Oracle.html#CH
AP_Target.Oracle.Limitations• SQL Serverをターゲットとして使用する場合の制限•

https://docs.aws.amazon.com/ja_jp/dms/latest/userguide/CHAP_Target.SQLServer.html#CHAP_Target.SQLServer.Limitations• MySQLをターゲットとして使用する場合の制限•

https://docs.aws.amazon.com/ja_jp/dms/latest/userguide/CHAP_Target.MySQL.html#CH
AP_Target.MySQL.Limitations• PostgreSQLをターゲットとして使用する場合の制限•

https://docs.aws.amazon.com/ja_jp/dms/latest/userguide/CHAP_Target.PostgreSQL.html#CHAP_Target.PostgreSQL.Limitations• Redshiftをターゲットとして使用する場合の制限•

https://docs.aws.amazon.com/ja_jp/dms/latest/userguide/CHAP_Target.Redshift.html#C
HAP_Target.Redshift.Limitations© 2021, Amazon Web Services, Inc. or its Affiliates.

トラブルシューティング（1/2）• トラブル発生時の原因調査の為に、CloudWatchログを有効化することを推奨• 制御テーブルを設定して、タスクに関する情報を収集しておくことでより詳細な情報を取得可能（デフォルトではawsdms_apply_exceptionsのみ有効）© 2021, Amazon Web Services, Inc. or its Affiliates.

トラブルシューティング（2/2）• トラブルが解決しない場合はAWSサポートまでお問い合わせ下さい。お問い合
わせの際に以下にある診断スクリプトで情報を収集頂くと調査がスムーズに進みます。
•

https://docs.aws.amazon.com/dms/latest/userguide/CHAP_SupportScripts.html© 2021, Amazon Web Services, Inc. or its Affiliates.

東京リージョンでの料金
インスタンス
+
ストレージ
+
データ転送

© 2021, Amazon Web Services, Inc. or its Affiliates.

t3.micro: 0.028USD/時 から
r4.8xlarge: 3.97USD/時 までの33種類
マルチAZの場合は2倍
汎用 (SSD) ストレージ：0.138USD/GB/月
マルチAZの場合は2倍
受信: 無料
同一AZ内への送信: 無料
別AZへの送信: 0.01USD/GB
別リージョンへの送信: 0.09USD/GB
インターネットへの送信(9.999 TB以下): 0.114USD/GB

まとめ© 2021, Amazon Web Services, Inc. or its Affiliates.

まとめ• データベースの移行やレプリケーションでデータベース間でデータを連携したい場合、AWS Database Migration Serviceを利用すると解決できます• 同一データベースのアップグレードや異なるデータベースエンジン間でのデータ連携も可能• 触ってみたいと思われた方は、公開されているハンズオンで試してみてくだ
さいhttps://bit.ly/38yI4ph© 2021, Amazon Web Services, Inc. or its Affiliates.

Q&A
お答えできなかったご質問については
AWS Japan Blog https://aws.amazon.com/jp/blogs/news/ に後日掲載します。

© 2021, Amazon Web Services, Inc. or its Affiliates.

AWS の日本語資料の場所「AWS 資料」で検索

https://amzn.to/JPArchive© 2021, Amazon Web Services, Inc. or its Affiliates.

AWS Well-Architected 個別技術相談会

毎週”W-A個別技術相談会”を実施中• AWSのソリューションアーキテクト(SA)に対策などを相談することも可能• 申込みはイベント告知サイトから(https://aws.amazon.com/jp/about-aws/events/)

AWS イベント© 2021, Amazon Web Services, Inc. or its Affiliates.

で[検索]ご視聴ありがとうございました

AWS 公式 Webinar
https://amzn.to/JPWebinar© 2021, Amazon Web Services, Inc. or its Affiliates.

過去資料
https://amzn.to/JPArchive