Amazon Relational Database Service
ユーザーガイド (API バージョン 2014-10-31)

Amazon Aurora MySQL DB クラスターへのデータの移行

既存のデータベースから Amazon Aurora MySQL DB クラスターにデータを移行するために、複数のオプションがあります。また、移行オプションは、移行元のデータベースおよび移行するデータのサイズによっても異なります。

移行には物理と論理の 2 つのタイプがあります。物理移行とは、データベースファイルの物理コピーを使用してデータベースを移行することです。論理移行とは、挿入、更新、削除などの論理的な変更を適用することでデータベースを移行することです。

物理移行には以下の利点があります。

  • 物理移行は、特にデータベースのサイズが大きい場合、論理移行よりも高速です。

  • 物理移行用にバックアップを作成するとき、データベースのパフォーマンスが低下しません。

  • 物理移行では、複雑なデータベースコンポーネントを含め、ソースデータベースのすべての内容を移行できます。

物理移行には以下の制限があります。

  • innodb_page_size パラメータは、デフォルト値 (16KB) に設定する必要があります。

  • innodb_data_file_path は、デフォルトのデータファイル名 "ibdata1" に設定する必要があります。"innodb_data_file_path=ibdata1:50M; ibdata2:50M:autoextend""innodb_data_file_path=ibdata01:50M:autoextend" などのファイル名は使用できません。

  • innodb_log_files_in_group パラメータは、デフォルト値 (2) に設定する必要があります。

論理移行には以下の利点があります。

  • 特定のテーブルやテーブルの一部など、データベースのサブセットを移行できます。

  • データは、物理ストレージ構造に関係なく移行できます。

論理移行には以下の制限があります。

  • 論理移行は通常、物理移行よりも低速です。

  • 複雑なデータベースコンポーネントにより、論理移行プロセスの速度が遅くなることがあります。場合によっては、複雑なデータベースコンポーネントにより、論理移行がブロックされることさえあります。

以下の表に示しているのは、移行のオプションと各オプションで使用する移行のタイプです。

移行元 移行タイプ ソリューション

Amazon RDS MySQL DB インスタンス

物理

まず MySQL DB インスタンスの Aurora MySQL リードレプリカを作成することにより、RDS MySQL DB インスタンスから移行できます。MySQL DB インスタンスと Aurora MySQL リードレプリカとの間のレプリカラグが 0 である場合は、クライアントアプリケーションで Aurora リードレプリカから読み取り、レプリケーションを停止することで、Aurora MySQL リードレプリカを読み取りと書き込み用のスタンドアロンの Aurora MySQL DB クラスターにすることができます。詳細については、「Aurora リードレプリカを使用した、MySQL DB インスタンスから Amazon Aurora MySQL DB クラスターへのデータの移行」を参照してください。

RDS MySQL DB インスタンス

物理

Amazon RDS MySQL DB スナップショットから Amazon Aurora MySQL DB クラスターに直接データを移行できます。詳細については、「DB スナップショットを使用した MySQL DB インスタンスから Amazon Aurora MySQL DB クラスターへのデータ移行」を参照してください。

Amazon RDS 外部の MySQL データベース

論理

mysqldump ユーティリティを使用してデータのダンプを作成し、そのデータを既存の Amazon Aurora MySQL DB クラスターにインポートできます。詳細については、「mysqldump を使用した MySQL から Amazon Aurora への移行」を参照してください。

Amazon RDS 外部の MySQL データベース

物理

データベースから Amazon Simple Storage Service (Amazon S3) バケットにバックアップファイルをコピーし、それらのファイルから Amazon Aurora MySQL DB クラスターを復元できます。このオプションは、mysqldump を使用したデータの移行よりもかなり高速になる場合があります。詳細については、「Amazon S3 バケットを使用した MySQL からのデータ移行」を参照してください。

Amazon RDS 外部の MySQL データベース

論理

データベースのデータをテキストファイルとして保存し、そのファイルを Amazon S3 バケットにコピーできます。次に、LOAD DATA FROM S3 MySQL コマンドを使用して、そのデータを既存の Aurora MySQL DB クラスター内にロードできます。詳細については、「Amazon S3 バケットのテキストファイルから Amazon Aurora MySQL DB クラスターへのデータのロード」を参照してください。

MySQL と互換性がないデータベース

論理

AWS Database Migration Service (AWS DMS) は、MySQL との互換性がないデータベースからのデータを移行するのに使用できます。AWS DMS の詳細については、「AWS Database Migration Service とは」を参照してください。

注記

  • 外部の MySQL データベースを Amazon RDS に移行する場合、表で説明している移行のオプションは、データベースが InnoDB または MyISAM テーブルスペースをサポートしている場合にのみサポートされます。

  • Aurora MySQL に移行中の MySQL データベースで memcached が使用されている場合は、移行前に memcached を削除します。