レプリケーションインスタンス用に最適なサイズを選択する - AWS Database Migration Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

レプリケーションインスタンス用に最適なサイズを選択する

適切なレプリケーションインスタンスの選択は、ユースケースのいくつかの要因によって異なります。レプリケーションインスタンスリソースの使用方法を理解しやすいように、次の説明を参照してください。全ロードと CDC タスクの一般的なシナリオを説明します。

全ロードタスク中、AWS DMS はテーブルを個別にロードします。デフォルトでは、一度に 8 つのテーブルがロードされます。AWS DMS では完全ロードタスク中に継続的な変更がキャプチャされるため、この変更を後でターゲットエンドポイントに適用することができます。変更はメモリにキャッシュされます。使用可能なメモリがなくなると、変更はディスクにキャッシュされます。テーブルの全ロードタスクが完了すると、AWS DMS はキャッシュされた変更をただちにターゲットテーブルに適用します。

テーブルのキャッシュされた変更がすべて適用されると、ターゲットエンドポイントはトランザクション上一貫性のある状態になります。この時点で、ターゲットは、最後にキャッシュされた変更に関して、ソースエンドポイントと同期しています。次に AWS DMS はソースとターゲット間の継続的なレプリケーションを開始します。これを行うには、AWS DMSは、ソーストランザクションログからの変更オペレーションを行い、トランザクションに一貫性のある方法でターゲットに適用します。(このプロセスでは、バッチ最適化適用が選択されていないことを前提としています)。AWS DMS可能な場合、レプリケーションインスタンスのメモリを介して、継続的な変更をストリーミングします。それ以外の場合、AWS DMS は、ターゲットに適用できるようになるまで変更をレプリケーションインスタンスのディスクに書き込みます。

レプリケーションインスタンスが変更処理をどのように処理するか、およびそのプロセスでメモリがどのように使用されるかについて、何らかの制御があります。変更処理のチューニング方法の詳細については、「変更処理のチューニング設定」を参照してください。

上記の説明から、使用可能なメモリの合計が重要な考慮事項であることがわかります。レプリケーションインスタンスに十分なメモリがあるため、AWS DMS でキャッシュされた継続的な変更をディスクに書き込まずにストリーミングできる場合は、移行のパフォーマンスが大幅に向上します。同様に、変更キャッシングとログストレージに対応するのに十分なディスク容量を持つレプリケーションインスタンスを設定すると、パフォーマンスも向上します。有効な最大 IOPS は選択したディスクサイズによって異なります。

レプリケーションインスタンスクラスと使用可能なディスクストレージを選択する際、次の要素を考慮してください。

  • テーブルサイズ - 大きいテーブルでは、ロードに時間がかかり、そのため、テーブルがロードされるまでこれらのテーブルのトランザクションはキャッシュされる必要があります。テーブルにロードされたら、これらのキャッシュされたトランザクションが適用されて、ディスクでは保持されなくなります。

  • データ操作言語 (DML) のアクティビティ - 使用中のデータベースはさらにトランザクションを生成します。これらのトランザクションはテーブルがロードされるまでキャッシュされる必要があります。すべてのテーブルがロードされるまで、テーブルがロードされると直ちに個々のテーブルにトランザクションが適用されます。

  • トランザクションサイズ – 長時間実行されるトランザクションでは、多くの変更が生成される可能性があります。最適なパフォーマンスを得るために、AWS DMS がトランザクションモードで変更を適用する場合は、トランザクションのすべての変更をストリーミングするのに十分なメモリが利用できる状態である必要があります。

  • 移行の合計サイズ - 大規模な移行には時間がかかり、それ比例して多数のログファイルが生成されます。

  • タスクの数 - さらに多くのタスクとキャッシュが必要となり、さらに多くのログファイルが生成されます。

  • ラージオブジェクト -LOB でテーブルをロードするには時間がかかります。

事例証拠は、ログファイルがAWSDMS. デフォルトのストレージ設定は、通常は十分です。

ただし、複数のタスクを実行するレプリケーションインスタンスには、さらに多くのディスク容量が必要な場合があります。さらに、データベースに大きいアクティブなテーブルが含まれる場合は、全ロードタスク中にディスクにキャッシュされるトランザクションのためのディスクスペースを増やさなければならない場合があります。たとえば、ロードに 24 時間かかり、1 時間あたり 2 GB のトランザクションが発生するとします。この場合、キャッシュされるトランザクションに対応するために 48 GB の空き領域があることを確認します。また、レプリケーションインスタンスに割り当てるストレージ領域が増えるほど、取得する IOPS も高くなります。

上記のガイドラインは考えられるすべてのシナリオをカバーしていません。レプリケーションインスタンスのサイズを決定する際に、特定のユースケースの詳細を検討することが重要です。移行が実行されたら、レプリケーションインスタンスの CPU、空きメモリ、空き領域、および IOPS を監視します。収集したデータに基づいて、必要に応じてレプリケーションインスタンスのサイズを増減することができます。