MyDumper - AWS 規範ガイダンス

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

MyDumper

MyDumper (GitHub) は、2 つのユーティリティで構成されるオープンソースの論理移行ツールです。

  • MyDumper は、MySQL データベースの一貫したバックアップをエクスポートします。複数の並列スレッドを使用してデータベースをバックアップし、使用可能な CPU コアごとに最大 1 つのスレッドをサポートします。

  • myloader は、MyDumper によって作成されたバックアップファイルを読み取り、ターゲットデータベースインスタンスに接続してから、データベースを復元します。

次の図は、MyDumper バックアップファイルを使用したデータベースの移行に関する大まかな手順を示しています。このアーキテクチャ図には、バックアップファイルをオンプレミスデータセンターから の EC2 インスタンスに移行するための 3 つのオプションが含まれています AWS クラウド。

MyDumper バックアップファイルを移行し、myloader を使用して AWS DB インスタンスに復元する図。

MyDumper を使用してデータベースを に移行する手順は次のとおりです AWS クラウド。

  1. MyDumper と myloader をインストールします。手順については、「mydumper/myloader のインストール方法 (GitHub)」を参照してください。

  2. MyDumper を使用して、ソース MySQL または MariaDB データベースのバックアップを作成します。手順については、MyDumper の使用方法」を参照してください。

  3. 次のいずれかの方法 AWS クラウド を使用して、バックアップファイルを の EC2 インスタンスに移動します。

    アプローチ 3A – データベースインスタンスを実行するオンプレミスサーバーに Amazon FSx または Amazon Elastic File System (Amazon EFS) ファイルシステムをマウントします。 AWS Direct Connect または を使用して接続 Site-to-Site VPN を確立できます。データベースをマウントされたファイル共有に直接バックアップすることも、データベースをローカルファイルシステムにバックアップしてからマウントされた FSx または EFS ボリュームにアップロードすることで、2 つのステップでバックアップを実行することもできます。次に、オンプレミスサーバーにもマウントされている Amazon FSx または Amazon EFS ファイルシステムを EC2 インスタンスにマウントします。

    アプローチ 3B – AWS CLI、 AWS SDK、または Amazon S3 REST API を使用して、バックアップファイルをオンプレミスサーバーから S3 バケットに直接移動します。ターゲット S3 バケットがデータセンターから AWS リージョン 遠く離れた にある場合は、Amazon S3 Transfer Acceleration を使用してファイルをより迅速に転送できます。s3fs-fuse ファイルシステムを使用して、EC2 インスタンスに S3 バケットをマウントします。

    アプローチ 3C – AWS DataSync オンプレミスデータセンターに エージェントをインストールし、 AWS DataSyncを使用してバックアップファイルを Amazon S3 バケットに移動します。s3fs-fuse ファイルシステムを使用して、EC2 インスタンスに S3 バケットをマウントします。

    注記

    Amazon S3 File Gateway を使用して、大規模なデータベースバックアップファイルを の S3 バケットに転送することもできます AWS クラウド。詳細については、このガイドの「Amazon S3 File Gateway を使用したバックアップファイルの転送」を参照してください。

  4. myloader を使用して、ターゲットデータベースインスタンスのバックアップを復元します。手順については、「myloader usage (GitHub)」を参照してください。

  5. (オプション) ソースデータベースとターゲットデータベースインスタンス間のレプリケーションを設定できます。バイナリログ (binlog) レプリケーションを使用すると、ダウンタイムを短縮できます。詳細については次を参照してください:

利点

  • MyDumper は、マルチスレッドを使用して並列処理をサポートしているため、バックアップおよび復元オペレーションの速度が向上します。

  • MyDumper は高価な文字セット変換ルーチンを回避し、コードの効率を高めるのに役立ちます。

  • MyDumper は、テーブルとメタデータに個別のファイルをダンプすることで、データビューと解析を簡素化します。

  • MyDumper は、すべてのスレッドにわたってスナップショットを維持し、プライマリログとセカンダリログの正確な位置を提供します。

  • Perl Compatible Regular Expressions (PCRE) を使用して、テーブルまたはデータベースを含めるか除外するかを指定できます。

制限

  • データ変換プロセスで SQL 形式ではなくフラット形式の中間ダンプファイルが必要な場合は、別のツールを選択できます。

  • myloader はデータベースユーザーアカウントを自動的にインポートしません。Amazon RDS または Aurora にバックアップを復元する場合は、必要なアクセス許可を持つユーザーを再作成します。詳細については、Amazon RDS ドキュメントの「マスターユーザーアカウント権限」を参照してください。Amazon EC2 データベースインスタンスにバックアップを復元する場合は、ソースデータベースユーザーアカウントを手動でエクスポートし、EC2 インスタンスにインポートできます。

ベストプラクティス

  • MyDumper を設定して、各テーブルを各セグメントの 10,000 行などのセグメントに分割し、各セグメントを個別のファイルに書き込みます。これにより、後でデータを並行してインポートできます。

  • InnoDB エンジンを使用している場合は、 --trx-consistency-onlyオプションを使用してロックを最小限に抑えます。

  • MyDumper を使用してデータベースをエクスポートすると、読み取りが集中し、プロセスが本番データベースの全体的なパフォーマンスに影響を与える可能性があります。レプリカデータベースインスタンスがある場合は、レプリカからエクスポートプロセスを実行します。レプリカからエクスポートを実行する前に、レプリケーション SQL スレッドを停止します。これにより、エクスポートプロセスをより迅速に実行できます。

  • ピーク時の営業時間中にデータベースをエクスポートしないでください。ピーク時間を回避すると、データベースのエクスポート中にプライマリ本番稼働用データベースのパフォーマンスが安定する可能性があります。

  • Amazon RDS for MySQL はkeyring_awsプラグインをサポートしていません。詳細については、「既知の問題と制限」を参照してください。オンプレミスの暗号化されたテーブルを Amazon RDS インスタンスに移行するには、バックアップスクリプトで、 CREATE TABLE 構文DEFAULT ENCRYPTIONから ENCRYPTIONまたは を削除する必要があります。保管時の暗号化には、 AWS Key Management Service (AWS KMS) キーを使用できます。詳細については、「Amazon RDS リソースの暗号化」を参照してください。