Amazon S3 を使用して MySQL データを Aurora MySQL DB クラスターに移行するにはどうすればよいですか?

最終更新日: 2019 年 5 月 29 日

MySQL から Amazon Aurora MySQL DB クラスターにデータを移行したいと考えています。Amazon Simple Storage Service (Amazon S3) を使用して MySQL データを Aurora MySQL DB クラスターに復元するにはどうすればよいですか?

解決方法

Amazon Aurora MySQL には MySQL 5.6 および MySQL 5.7 バージョンとの互換性があります。MySQL innobackupex バックアップを復元するには、まず Percona ウェブサイトにアクセスして、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスにバージョン 2.3 以降の Percona Xtrabackup をインストールします。

sudo yum install percona-xtrabackup-file_name_and_extension

注意: file_name_and_extension は、Percona Xtrabackup パッケージに基づいた適切なファイル名と拡張子に置き換えてください。以下の例を参照してください。

sudo yum install percona-xtrabackup-24-2.4.7-1.el7.x86_64.rpm

Percona Xtrabackup をインストールしたら、Aurora MySQL に移行させるデータをバックアップします。次に、そのバックアップを Amazon S3 にアップロードして、復元を実行します。詳細については、バックアップサイクルに関する Percona ドキュメントを参照してください。

EC2 インスタンスに接続して MySQL データベースをバックアップする

1.    SSH を使用して、MySQL データベースが実行されているインスタンスに接続します

2.    Percona Xtrabackup をインストールします。

sudo yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm -y
sudo yum install perl-DBD-MySQL -y
sudo yum install percona-xtrabackup -y

3.    データベースをバックアップします。

xtrabackup --backup --user=<myuser> --password=<password> --stream=xbstream \
--target-dir=</on-premises/s3-restore/backup> | split -d --bytes=500MB \
- </on-premises/s3-restore/backup/backup>.xbstream

このコマンドは、複数の xbstream ファイルに分割された MySQL データベースのバックアップを作成します。

注意: Aurora はソースからすべてを復元するわけではありません。データベースが正常に復元されたら、以下を再度作成できます。

  • ユーザーアカウント
  • 関数
  • ストアドプロシージャ
  • タイムゾーン情報

バックアップを S3 バケットにアップロードする

1.   S3 バケットを作成します。
注意: バケットは、EC2 インスタンスおよび新しい Amazon Aurora クラスターと同じリージョンにある必要があります。

2.   作成したバケットを選択してから、[Create Folder★] を選択します。

3.    フォルダを選択してから、[アップロード] を選択します。

4.   ファイルをアップロードしてから、アクセス許可を設定します。

5.   プロパティを設定してから、[アップロード] を選択します。

注意: Amazon S3 バケットにファイルをアップロードするときは、サーバー側の暗号化を使用してデータを暗号化できます。

データベースを Amazon S3 から Aurora にインポートする

1.    Amazon Relational Database Service (Amazon RDS) コンソールを開いて、ナビゲーションペインの [ダッシュボード] を選択します。

2.    [Restore Aurora DB Cluster from S3★] を選択します。

3.    先ほどメモしたソースエンジンのバージョンを入力します。

4.    S3 バケットの場所のドロップダウンメニューから、作成した S3 バケットを選択します。S3 バケットのプレフィックスを入力します。
注意: S3 バケットのプレフィックスフィールドにバケット名を入力するときは、先頭または末尾にスラッシュ ("/") を使用しないでください。

5.    Amazon RDS に S3 バケットへのアクセス許可を付与する AWS Identity and Access Management (IAM) ロールを作成して、[次へ] を選択します。

6.    DB の詳細を指定し、[Next Step★] を選択します。

7.    詳細設定データベースのオプションを設定します。DB クラスター識別子用に作成した IAM ロールを入力します。

8.    [Launch DB Instance★] を選択します。

9.    クラスターが利用可能になったら、[DB インスタンスの表示] を選択して、Aurora DB インスタンスが正常に作成されたことを確認します。