Data Transmission Service (DTS) は、シャードキーのないソース MongoDB データベースからターゲットの MongoDB シャードクラスターにデータを移行します。移行中に、シャードキーがないコレクションにデフォルトのシャードキー値を割り当てることができます。このガイドでは、ソースとして ApsaraDB for MongoDB レプリカセットインスタンス、ターゲットとして ApsaraDB for MongoDB シャードクラスターインスタンスを使用しますが、この手順は他のソースアーキテクチャにも適用されます。
前提条件
開始する前に、以下を確認してください:
ターゲットの ApsaraDB for MongoDB シャードクラスターインスタンス。詳細については、「シャードクラスターインスタンスの作成」をご参照ください。
ターゲットインスタンスに十分なストレージ容量があること (ソースインスタンスの使用量より少なくとも 10% 多い容量)
(条件付き) ソースがシャードクラスターインスタンスの場合、すべてのシャードで同一のデータベースアカウントとパスワードを持つ各シャードノードのエンドポイントが必要です。詳細については、「シャードノードのエンドポイントをリクエストする」をご参照ください。
ソースとターゲットの両方でサポートされている MongoDB のバージョン。詳細については、「移行ソリューション」をご参照ください。
移行の計画
移行タスクの設定を開始する前に、以下の計画に関する考慮事項を確認してください。これらの決定は移行の動作に影響し、後で簡単に変更することはできません。
シャードキーの動作はターゲットの MongoDB バージョンに依存
DTS がデフォルトのシャードキー値をどのように処理するかは、ターゲットの MongoDB バージョンによって異なります:
ターゲットの MongoDB が 4.4 より前の場合: [データベースとテーブルフィールドの設定] ステップで設定したデフォルトのシャードキー値が有効になります。DTS は元のデータにこのデフォルト値を入力し、ターゲットに書き込みます。
ターゲットの MongoDB が 4.4 以降の場合: デフォルトのシャードキー値は有効になりません。DTS は元のデータをそのままターゲットに書き込みます。
続行する前に、ご利用のターゲットインスタンスにどちらの動作が適用されるかを評価してください。
データのシャーディングと事前シャーディング
ターゲットでシャーディングが必要な場合は、移行前にターゲットインスタンスにシャーディングが必要なデータベースとコレクションを作成してください。データのシャーディングを設定し、バランサーを有効にし、事前シャーディングを実行します。これにより、すべてのデータが単一のシャードに集中することを防ぎ、移行後のデータスキューを回避します。
詳細については、「シャードのパフォーマンスを最大化するためのデータシャーディングの設定」および「MongoDB シャードクラスターでの不均等なデータ分布に対処する方法」をご参照ください。
バージョンの互換性
ソースとターゲットの MongoDB のバージョンを同じにするか、古いバージョンから新しいバージョンに移行してください。新しいバージョンから古いバージョンへの移行は、互換性の問題を引き起こす可能性があります。
移行タイプ
DTS は 3 つの移行タイプをサポートしています。ご利用のシナリオに合わせて組み合わせを選択してください。
| 移行タイプ | 移行対象 | 範囲 |
|---|---|---|
| スキーマ移行 | データベーススキーマ、コレクション、インデックス | データベース、コレクション、インデックス |
| 完全なデータ移行 | タスク開始時点のすべての既存データ | データベース、コレクション |
| 増分データ移行 | 完全移行完了後の継続的な変更 | 以下のサポートされる操作をご参照ください |
1 回限りの移行を実行するには、[スキーマ移行] と [完全なデータ移行] を選択します。
移行中にターゲットを同期させ続ける (ダウンタイムを最小限に抑える) には、[スキーマ移行]、[完全なデータ移行]、[増分データ移行] の 3 つすべてを選択します。
oplog を使用した増分移行
DTS は、以下の操作を通じて増分データをキャプチャします:
CREATE COLLECTION、CREATE INDEX
DROP DATABASE、DROP COLLECTION、DROP INDEX
RENAME COLLECTION
ドキュメントの挿入、更新、削除操作
更新されたドキュメントについては、DTS は $set からの更新のみを移行します。増分移行では、タスク開始後に作成されたデータベースからのデータはキャプチャされません。可能な限り増分移行には oplog を使用してください。oplog は、change stream よりも高速なログのプルと低いレイテンシーを提供します。change stream を使用した増分移行
DTS は、以下の操作を通じて増分データをキャプチャします:
DROP DATABASE、DROP COLLECTION
RENAME COLLECTION
ドキュメントの挿入、更新、削除操作
更新されたドキュメントについては、DTS は $set からの更新のみを移行します。課金
| 移行タイプ | インスタンス料金 | インターネットトラフィック料金 |
|---|---|---|
| スキーマ移行 + 完全なデータ移行 | 無料 | 宛先の [アクセス方法] が [パブリック IP アドレス] の場合に課金されます。詳細については、「Billing overview」をご参照ください。 |
| 増分データ移行 | 課金対象です。詳細については、「Billing overview」をご参照ください。 | -- |
手順
| データベース | スキーマ移行と完全移行 | 増分移行 |
|---|---|---|
| ソース ApsaraDB for MongoDB | 移行するデータベースと config データベースに対する読み取り権限 | 移行するデータベース、admin データベース、local データベースに対する読み取り権限 |
| ターゲット ApsaraDB for MongoDB | ターゲットデータベースに対する dbAdminAnyDatabase、readWrite 権限、local データベースに対する読み取り権限、config データベースに対する読み取り権限 | スキーマ/完全移行と同じ |
権限の作成と付与については、「DMS を使用した MongoDB データベースユーザーの管理」をご参照ください。
制限事項
ソースデータベース
帯域幅: ソースサーバーには十分なアウトバウンド帯域幅が必要です。帯域幅が不足すると移行が遅くなります。
プライマリキーまたは一意制約が必要: 移行するコレクションには、一意のフィールドを持つプライマリキーまたは UNIQUE 制約が必要です。そうでない場合、ターゲットに重複データが表示される可能性があります。
タスクごとのコレクション制限: オブジェクト編集 (名前マッピングなど) を伴うコレクションレベルでの移行では、1 つのタスクで最大 1,000 コレクションまでサポートされます。この制限を超える場合は、コレクションを複数のタスクに分割するか、データベース全体を移行してください。
ドキュメントサイズ制限: ソースの各ドキュメントは 16 MB 以下である必要があります。これより大きいドキュメントはタスクの失敗を引き起こします。
Mongos ノード制限: ソースがシャードクラスターの場合、mongos ノードは 10 個以下である必要があります。
自己管理シャードクラスターのアクセス方法: [パブリック IP アドレス]、[Express Connect、VPN Gateway、または Smart Access Gateway]、および [Cloud Enterprise Network (CEN)] のみがサポートされています。
oplog を使用した MongoDB 8.0+: ソースが MongoDB 8.0 以降を実行している自己管理シャードクラスターで、[移行方法] が [Oplog] の場合、シャードアカウントに
directShardOperations権限を付与します:usernameを移行タスクに使用するシャードアカウントに置き換えます。db.adminCommand({ grantRolesToUser: "username", roles: [{ role: "directShardOperations", db: "admin"}]})Azure Cosmos DB / Amazon DocumentDB エラスティッククラスター: 完全なデータ移行のみがサポートされています。
増分移行のための Oplog 保持期間: oplog 機能を有効にし、少なくとも 7 日間の操作ログ保持期間を設定する必要があります。または、7 日間のサブスクリプションウィンドウで change stream を有効にします。DTS がログにアクセスできない場合、タスクが失敗し、データ不整合またはデータ損失が発生する可能性があります。DTS SLA はこれらの問題をカバーしません。
Change stream のバージョン要件: Change stream には MongoDB V4.0 以降が必要です。
非エラスティック Amazon DocumentDB クラスター: チェンジストリームを有効化し、[移行方法] を ChangeStream に設定し、[アーキテクチャ] を シャードクラスター に設定します。
TTL インデックス: ソースの TTL インデックスは、移行後にソースとターゲット間でデータ不整合を引き起こす可能性があります。
孤立ドキュメント: ソースシャードクラスターに孤立ドキュメントが存在しないことを確認してください。そうしないと、データ不整合またはタスクの失敗が発生する可能性があります。詳細については、「孤立ドキュメント」および「MongoDB シャードクラスターで孤立ドキュメントをクリーンアップする方法」をご参照ください。
バランサーのアクティビティ: ソースのシャードクラスターのバランサーがアクティブにデータをリバランスしている場合、インスタンスのレイテンシーが増加する可能性があります。
移行中の制限
スキーマ移行と完全なデータ移行: データベースやコレクションに対して、配列型の更新を含むスキーマ変更を行わないでください。スキーマ変更はタスクの失敗やデータ不整合を引き起こす可能性があります。
シャードクラスターソース: 移行インスタンスの実行中に、
shardCollection、reshardCollection、unshardCollection、moveCollection、またはmovePrimaryを実行してデータ分布を変更しないでください。そうしないと、データ不整合が発生する可能性があります。完全移行のみ (増分なし): ソースに新しいデータを書き込まないでください。リアルタイムの整合性を維持するには、[スキーマ移行]、[完全なデータ移行]、[増分データ移行] の 3 つの移行タイプすべてを選択してください。
一般的な制限事項
移行中の新しいコレクション: タスク開始後にソースに追加されたコレクションに対して、デフォルトのシャードキー値を設定することはできません。
SRV アドレス: DTS は SRV アドレスを介した MongoDB への接続をサポートしていません。
非シャードソースからシャードターゲットへ: ソースが非シャードクラスターで、ターゲットが Alibaba Cloud シャードクラスターの場合、タスクは [データベースとテーブルフィールドの設定] ステップに進みます。
除外されるデータベース: DTS は admin、config、または local データベースからデータを移行できません。
トランザクション: トランザクション情報は保持されません。ソースのトランザクションは、ターゲットでは個別のレコードに変換されます。
プライマリキー/ユニークキーの競合: 競合が発生した場合、DTS は競合する書き込みをスキップし、ターゲットの既存データを保持します。
フィールドの順序 (ソース < 3.6、ターゲット >= 3.6): ソースが MongoDB 3.6 より前で、ターゲットが 3.6 以降を実行している場合、データベースエンジンの実行計画の違いにより、移行後にフィールドの順序が不整合になる可能性があります。ビジネスロジックにネストされた構造でのマッチクエリが含まれる場合は、その影響を評価してください。
同時書き込みによるストレージオーバーヘッド: 完全移行は同時 INSERT 操作を実行するため、コレクションの断片化が発生します。ターゲットはソースよりも 5% から 10% 多いストレージを占有します。
タスクの自動再試行: DTS は過去 7 日以内に失敗したタスクを再試行します。ワークロードをターゲットに切り替える前に、タスクを停止またはリリースするか、ターゲットアカウントの書き込み権限を取り消してください。これにより、自動再開によってターゲットデータが上書きされるのを防ぎます。
一意なインデックスまたは capped コレクション: 一意なインデックスを持つコレクション、または
capped属性がtrueに設定されているコレクションは、増分移行中にシングルスレッド書き込みのみをサポートし (同時再生なし)、レイテンシーが増加する可能性があります。ドキュメント数のクエリ: ターゲットのドキュメント数をクエリするには、
db.$table_name.aggregate([{ $count:"myCount"}])を使用します。重複するプライマリキー (_id): ターゲットにソースと同じ
_id値を持つドキュメントがないことを確認してください。重複する_id値はデータ損失を引き起こします。ビジネスに影響がない場合は、移行前にターゲットの競合するドキュメントをクリアしてください。DTS タスクの障害復旧: タスクに障害が発生した場合、DTS のテクニカルサポートは 8 時間以内に復旧を試みます。復旧中、タスクが再起動されたり、DTS タスクパラメーターが変更されたりすることがあります。データベースパラメーターは変更されません。変更されるパラメーターには、インスタンスパラメーターを変更するに記載されているものなどが含まれます。
シャード化されたコレクションのコンプライアンス: ビジネスをターゲットに切り替えた後、すべてのビジネス運用はその MongoDB データベースのシャード化されたコレクションの要件に準拠する必要があります。
自己管理 MongoDB ソース
移行中のフェイルオーバー: 移行中にプライマリ/セカンダリのフェイルオーバーが発生した場合、タスクは失敗します。
レイテンシーの計算: DTS は、最後に移行されたエントリのタイムスタンプと現在時刻を比較してレイテンシーを計算します。ソースが長期間更新されていない場合、表示されるレイテンシーが不正確になることがあります。ソースで更新を実行してレイテンシーをリフレッシュしてください。
データベース全体の移行のためのハートビート: 定期的にデータ (例えば、1 秒ごと) を更新または書き込むハートビートコレクションを作成して、レイテンシーを正確に保ちます。
操作手順
ステップ 1:データ移行ページを開く
以下のいずれかの方法で [データ移行] ページに移動します。
DTS コンソール:
DTS コンソールにログインします。
左側のナビゲーションウィンドウで、[データ移行] をクリックします。
左上隅で、データ移行インスタンスが存在するリージョンを選択します。
DMS コンソール:
実際の操作は、DMS コンソールのモードとレイアウトによって異なる場合があります。詳細については、「シンプルモード」および「ビジネス要件に基づいた DMS コンソールの設定」をご参照ください。
DMS コンソールにログインします。
上部のナビゲーションバーで、[データ + AI] > [DTS (DTS)] > [データ移行] にカーソルを合わせます。
[データ移行タスク] の横にあるドロップダウンリストから、データ移行インスタンスが存在するリージョンを選択します。
ステップ 2:移行タスクを作成する
[タスクの作成] をクリックして、タスク設定ページを開きます。
ステップ 3:ソースデータベースとターゲットデータベースを設定する
ソースデータベースとターゲットデータベースに以下のパラメーターを設定します。
タスク設定
| パラメーター | 説明 |
|---|---|
| タスク名 | DTS は自動的に名前を生成します。タスクを識別するために、わかりやすい名前を指定してください。名前は一意である必要はありません。 |
ソースデータベース
| パラメーター | 説明 |
|---|---|
| 既存の接続情報の選択 | データベースインスタンスが DTS に登録されている場合は、ドロップダウンリストから選択します。DTS が接続パラメーターを自動的に入力します。「データベース接続の管理」をご参照ください。DMS コンソールで、[DMS データベースインスタンスの選択] ドロップダウンリストからインスタンスを選択します。インスタンスが登録されていない場合は、以下のパラメーターを手動で設定します。 |
| データベースタイプ | MongoDB を選択します。 |
| アクセス方法 | [Alibaba Cloud インスタンス] を選択します。 |
| インスタンスのリージョン | ソースインスタンスが存在するリージョンを選択します。 |
| Alibaba Cloud アカウント間でデータを複製 | [いいえ] を選択します (この例では同じアカウントを使用します)。 |
| アーキテクチャ | この例では [レプリカセット] を選択します。オプション:[レプリカセット] -- 高可用性と読み書き分離のために複数のノードをデプロイします。詳細については、「レプリカセットアーキテクチャ」をご参照ください。[シャードクラスター] -- mongos、シャード、および config サーバーコンポーネントを提供します。詳細については、「シャードクラスターアーキテクチャ」をご参照ください。[シャードクラスター] を選択した場合は、[シャードアカウント] と [シャードパスワード] も指定します。 |
| 移行方法 | 増分データの取得方法を選択します: [Oplog] (推奨): ソースで oplog が有効な場合に使用できます。セルフマネージドおよび ApsaraDB for MongoDB インスタンスの両方でデフォルトです。低レイテンシーの増分移行を提供します。[ChangeStream]: change streams が有効な場合に使用できます。「Change Streams」をご参照ください。非エラスティックな Amazon DocumentDB クラスターに必要です。[アーキテクチャ] で [シャードクラスター] を選択し、[ChangeStream] を使用する場合、[シャードアカウント] と [シャードパスワード] を設定する必要はありません。 |
| インスタンス ID | ソースの ApsaraDB for MongoDB インスタンスを選択します。 |
| 認証データベース | ソースアカウントが属するデータベース。デフォルト:[admin]。 |
| データベースアカウント | ソースデータベースアカウント。詳細については、「必要な権限」をご参照ください。 |
| データベースのパスワード | ソースデータベースアカウントのパスワード。 |
| 暗号化 | 接続の暗号化モードを選択します:[非暗号化]、[SSL 暗号化]、または [Mongo Atlas SSL]。利用可能なオプションは、[アクセス方法] と [アーキテクチャ] の設定によって異なります。制限事項:[アーキテクチャ] が [シャードクラスター] で、[移行方法] が [Oplog] の場合、[SSL 暗号化] は利用できません。ソースが [レプリカセット] アーキテクチャの自己管理 MongoDB データベースで、[アクセス方法] が [Alibaba Cloud インスタンス] ではなく、[暗号化] が [SSL 暗号化] の場合、CA 証明書をアップロードできます。 |
ターゲットデータベース
| パラメーター | 説明 |
|---|---|
| 既存の接続情報の選択 | ソースと同じ -- 登録済みのインスタンスを選択するか、手動で設定します。 |
| データベースタイプ | MongoDB を選択します。 |
| アクセス方法 | [Alibaba Cloud インスタンス] を選択します。 |
| インスタンスのリージョン | ターゲットインスタンスが存在するリージョンを選択します。 |
| Alibaba Cloud アカウント間でデータを複製 | [いいえ] を選択します (この例では同じアカウントを使用します)。 |
| アーキテクチャ | [シャードクラスター] を選択します。 |
| インスタンス ID | ターゲットの ApsaraDB for MongoDB シャードクラスターインスタンスを選択します。 |
| 認証データベース | ターゲットアカウントが属するデータベース。デフォルト:[admin]。 |
| データベースアカウント | ターゲットデータベースアカウント。詳細については、「必要な権限」をご参照ください。 |
| データベースのパスワード | ターゲットデータベースアカウントのパスワード。 |
| 暗号化 | 接続の暗号化モードを選択します:[非暗号化]、[SSL 暗号化]、または [Mongo Atlas SSL]。制限事項:ターゲットが [シャードクラスター] アーキテクチャの ApsaraDB for MongoDB インスタンスの場合、[SSL 暗号化] は利用できません。ターゲットが [レプリカセット] アーキテクチャの自己管理 MongoDB で、[アクセス方法] が [Alibaba Cloud インスタンス] ではなく、[暗号化] が [SSL 暗号化] の場合、CA 証明書をアップロードできます。 |
ステップ 4:接続性をテストする
ページ下部の [接続性をテストして続行] をクリックします。
DTS サーバーの CIDR ブロックが、ソースおよびターゲットデータベースのセキュリティ設定に追加されていることを確認してください。詳細については、「DTS サーバーの CIDR ブロックをオンプレミスデータベースのセキュリティ設定に追加する」をご参照ください。ソースまたはターゲットが自己管理データベースであり、その [アクセス方法] が [Alibaba Cloud インスタンス] でない場合は、[DTS サーバーの CIDR ブロック] ダイアログボックスで [接続テスト] をクリックします。
ステップ 5:移行オブジェクトを設定する
[オブジェクトの構成] ページで、以下の設定を行います。
| パラメーター | 説明 |
|---|---|
| 移行タイプ | このタスクの移行タイプを選択します。1 回限りの移行の場合は [スキーマ移行] と [完全なデータ移行]。継続的な同期のためには [増分データ移行] を追加します。[スキーマ移行] を選択しない場合は、まずターゲットにターゲットデータベースとコレクションを作成し、[選択したオブジェクト] でオブジェクト名マッピングを有効にします。[増分データ移行] を選択しない場合は、移行中にソースにデータを書き込まないでください。 |
| 競合するテーブルの処理モード | [事前チェックしてエラーを報告] -- 重複するコレクション名をチェックします。重複が存在する場合、事前チェックは失敗し、オブジェクトの名前を変更する必要があります。詳細については、「オブジェクト名のマッピング」をご参照ください。[エラーを無視して続行] -- 重複名チェックをスキップします。DTS は重複するプライマリキーを持つレコードをスキップし、既存のターゲットデータを保持します。データ整合性は保証されません。 |
| 移行先インスタンスでのオブジェクト名の大文字化 | データベース、テーブル、および列名の大文字小文字の区別を制御します。デフォルト: [DTS デフォルトポリシー]。詳細については、「オブジェクト名の大文字小文字の指定」をご参照ください。 |
| ソースオブジェクト / 選択したオブジェクト | [ソースオブジェクト] パネルからオブジェクトを選択し、[選択したオブジェクト] に移動します。データベースまたはコレクションレベルで選択できます。ターゲットデータベースの名前を変更するには:[選択したオブジェクト] の下にあるデータベースを右クリックし、スキーマの編集 ダイアログボックスで スキーマ名 を変更します。詳細については、「単一のデータベースまたはコレクションのマッピング」をご参照ください。ターゲットコレクションの名前を変更するには:[選択したオブジェクト] の下にあるコレクションを右クリックし、テーブルの編集 ダイアログボックスで テーブル名 を変更します (コレクションレベルの移行のみ)。データをフィルタリングするには:[選択したオブジェクト] のテーブルを右クリックし、フィルター条件を設定します。データフィルタリングは完全移行中にサポートされますが、増分移行ではサポートされません。詳細については、「フィルター条件の設定」をご参照ください。 |
オブジェクト名マッピングを使用すると、依存オブジェクトの移行が失敗する可能性があります。
ステップ 6:詳細設定を行う
[次へ:詳細設定] をクリックし、以下のパラメーターを設定します。
| パラメーター | 説明 |
|---|---|
| タスクのスケジュールに使用する専用クラスターの選択 | DTS 専用クラスターとはデフォルトでは、タスクは共有クラスターで実行されます。安定性を向上させるには、専用クラスターを購入してください。詳細は、「」をご参照ください。 |
| 接続失敗時の再試行時間 | ソースまたは宛先への接続が失敗した場合に DTS が再試行する時間です。範囲:10~1,440 分。デフォルト:720 分。この値は 30 分以上に設定してください。この期間内に DTS が再接続した場合、タスクは再開されます。再接続できない場合、タスクは失敗します。複数のタスクがデータベースを共有している場合、最後に設定された値が適用されます。再試行中もインスタンスは課金されます。 |
| その他の問題の再試行時間 | DDL または DML 操作が失敗した場合に DTS が再試行する時間です。範囲:1~1,440 分。デフォルト:10 分。この値は 10 分以上に設定してください。この値は 接続失敗時の再試行時間 よりも小さくする必要があります。 |
| 完全移行率を制限するかどうか | 完全データ移行中の読み書き負荷を制限します。ソースデータベースへの 1 秒あたりのクエリ数 (QPS)、完全データ移行の RPS、および 完全データ移行のデータ移行速度 (MB/秒) を設定します。完全データ移行 を選択した場合にのみ利用可能です。 |
| 同期するデータのうち、同一テーブル内のプライマリキー_id のデータ型が一意かどうか | 各コレクションの _id フィールドに単一のデータ型があるかどうかを指定します。[はい]:DTS はソース内の _id データ型のスキャンをスキップし、1 種類の型のみを移行します。[いいえ]:DTS はすべての _id データ型をスキャンし、それらすべてを移行します。ご利用のデータに基づいて有効にしてください。設定が正しくないと、データ損失が発生する可能性があります。完全データ移行 を選択した場合にのみ利用可能です。 |
| 増分移行率を制限するかどうか | 増分データ移行中の書き込み負荷を制限します。増分データ移行の RPS と 増分データ移行のデータ移行速度 (MB/秒) を設定します。増分データ移行 を選択した場合にのみ利用可能です。 |
| 環境タグ | (任意) インスタンスを識別するためのタグを選択します。 |
| ETL 機能の設定 | 抽出、変換、ロード (ETL) 機能を有効にするかどうかを指定します。[はい]データ移行またはデータ同期タスクでの ETL の設定:コードエディターでデータ処理文を入力します。詳細は、「」をご参照ください。[いいえ]ETL とは:ETL の設定をスキップします。詳細は、「」をご参照ください。 |
| 監視アラート | タスクのアラートを設定するかどうかを指定します。[はい]モニタリングとアラートの設定:アラートのしきい値と通知連絡先を設定します。詳細は、「」をご参照ください。[いいえ]:アラートの設定をスキップします。 |
ステップ 7:データ検証を設定する
[次のステップ: データ検証] をクリックして、データ検証タスクを設定します。詳細については、「データ検証タスクを設定する」をご参照ください。
ステップ 8:デフォルトのシャードキー値を設定する
次:データベースおよびテーブルのフィールド設定 をクリックして、シャードキーのないコレクションのデフォルトのシャードキー値を設定します。
ターゲットコレクションの行で、デフォルト値の設定 をクリックします。
コレクションの ShardKey の数 が [0] の場合、そのコレクションにはシャードキーがなく、デフォルト値は必要ありません。
ShardKey デフォルト値タイプ を選択します。
[string] と [int] 型のみがサポートされています。
シャードキーの デフォルト値 を入力します。
デフォルトのシャードキー値は、ターゲットの MongoDB バージョンが 4.4 より前の場合にのみ有効です。
移行するオブジェクトのすべてのシャードキーにデフォルト値を設定してください。値が欠落していると、事前チェックで警告がトリガーされ、タスクの失敗につながる可能性があります。
ステップ 9:事前チェックを実行する
[次へ:タスク設定を保存して事前チェック] をクリックします。
このタスクの API パラメーターをプレビューするには、ボタンにカーソルを合わせ、[OpenAPI パラメーターのプレビュー] をクリックします。
DTS は移行を開始する前に事前チェックを実行します。タスクは事前チェックに合格した後にのみ開始されます。
事前チェックが失敗した場合、失敗した各項目の横にある [詳細の表示] をクリックし、問題をトラブルシューティングして、再度事前チェックを実行します。
事前チェック項目で警告がトリガーされた場合:
警告を無視できない場合は、[詳細の表示] をクリックし、問題を修正して、再度事前チェックを実行します。
警告を無視できる場合は、[アラート詳細の確認] > [無視] > [OK] をクリックし、次に [再度事前チェック] をクリックします。警告を無視すると、データ不整合が発生する可能性があります。
ステップ 10:インスタンスを購入して移行を開始する
[成功率] が [100%] に達するまで待ってから、[次へ:インスタンスの購入] をクリックします。
[インスタンスの購入] ページで、インスタンスを設定します:
パラメーター 説明 [リソースグループ] データ移行インスタンスが属するリソースグループです。デフォルト値は [デフォルトリソースグループ] です。詳細については、「Resource Management の概要」をご参照ください。 [インスタンスクラス] 必要な移行速度に応じてインスタンスクラスを選択します。詳細については、「データ移行インスタンスのインスタンスクラス」をご参照ください。 [Data Transmission Service (従量課金) サービス規約] を読み、同意します。
[購入して開始] をクリックし、確認ダイアログで [OK] をクリックします。
タスクは [データ移行] ページに表示され、進行状況を監視できます。
タスクに増分移行が含まれていない場合、自動的に停止し、[ステータス] は [完了] と表示されます。
タスクに増分移行が含まれている場合、継続的に実行され、[ステータス] は [実行中] と表示されます。タスクは自動的に停止しません。
本番ワークロードに関する推奨事項
オフピーク時に移行する。 DTS は完全移行中にソースとターゲットの両方で読み取りおよび書き込みリソースを消費するため、サーバーの負荷が増加します。
各移行の前に事前チェックを実行する。 事前チェックは、DTS がデータ移動を開始する前に、接続性、権限、およびスキーマの互換性を検証します。
ワークロードを切り替える前にタスクを停止またはリリースする。 DTS は 7 日以内に失敗したタスクを再試行します。ターゲットに切り替えるときにタスクがまだアクティブな場合、自動再試行によってターゲットデータが上書きされる可能性があります。
本番ワークロードには 3 つの移行タイプすべてを選択する。 スキーマ移行、完全なデータ移行、および増分データ移行を選択すると、リアルタイムのデータ整合性が維持され、スイッチオーバーのダウンタイムが最小限に抑えられます。