Amazon S3 を使用して MySQL データを Amazon Aurora MySQL DB クラスターに移行する方法を教えてください。

所要時間2分
0

Amazon Simple Storage Service (Amazon S3) を使用して、セルフマネージド MySQL データベースから Amazon Aurora MySQL 互換エディション DB クラスターにデータを移行しようとしています。

解決策

Percona Xtrabackupをインストールする

MySQL データディレクトリとそのファイルを直接コピーするには、Percona XtraBackup ツールを使用します。復元時間を短縮するには、このツールは 100 ギガバイト (GB) を超えるデータベースに使用することをおすすめします。ツールの詳細については、Percona XtraBackup のウェブサイトで「Percona XtraBackupについて」を参照してください。

注: [S3 から復元] オプションを使用して Amazon S3 にエクスポートしたスナップショットは、復元できません。

MySQL 5.7 での移行については、Percona XtraBackup のウェブサイトで「Percona XtraBackup 2.4 のインストール」を参照してください。MySQL 8.0 での移行については、Percona XtraBackup のウェブサイトで「Percona XtraBackup 8.0 のインストール概要」を参照してください。Percona XtraBackup のバージョンがソースデータベースのエンジンバージョンと互換性があることを確認してください。

データをバックアップする

次の手順を実行します。

  1. MySQL データベースを実行する、Amazon Elastic Compute Cloud (Amazon EC2) インスタンスまたはオンプレミスサーバーに接続します。

  2. データベースをバックアップするには、次のコマンドを実行します。

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

    注: 実際のものでそれぞれ、myuser をソースデータベースのユーザー名に、/on-premises/s3-restore/backup を出力ファイルの作成先ディレクトリに置き換えます。このコマンドでは、複数の xbstream ファイルに分割された MySQL データベースのバックアップを作成します。

一部のリソースは、Aurora ではソースから復元されません。次のリソースは手動で再作成する必要があります。

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

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

次の手順を実行します。

  1. S3 バケットを作成します
    注: バケットは、EC2 インスタンスおよび Aurora DB クラスターと同じ AWS リージョンに配置する必要があります。
  2. 新しいバケットを選択し、[フォルダの作成] を選択します。
  3. 新しいフォルダを選択し、[アップロード] を選択します。
  4. Percona XtraBackup ツールが作成したファイルをアップロードします。
    (オプション) ユースケースに応じて、アクセス許可やプロパティなどの追加プロパティを設定します。
  5. [アップロード] を選択します。
    注: S3 バケットにファイルをアップロードする際、サーバー側の暗号化を使用してデータを暗号化できます。

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

次の手順を実行します。

  1. Amazon Relational Database Service (Amazon RDS) コンソールを開きます。
  2. ナビゲーションペインで [ダッシュボード] を選択します。
  3. [S3 から Aurora DB クラスターを復元する] を選択します。
  4. [ソースエンジンのバージョン] にソース MySQL エンジンのバージョンを入力します。それよりも新しいエンジンバージョンを入力してもかまいません。
  5. [S3 バックアップの場所] ドロップダウンリストで、作成した S3 バケットを選択します。
  6. [S3 バケットのプレフィックス] にバケット名を入力します。
    重要: バケット名を入力する際、先頭または末尾にスラッシュ (/) を使用しないでください。
  7. Amazon RDS が S3 バケットにアクセスできるようにする AWS Identity and Access Management (IAM) ロールを作成してから、[次のステップ] を選択します。
  8. DB インスタンスの詳細を設定し、[次のステップ] を選択します。
  9. [詳細設定][データベースオプション] を設定します。[DB クラスター識別子] に該当する IAM ロールを入力します。
  10. [DB インスタンスを起動] を選択します。
  11. クラスターが Available 状態になるまで待ちます。次に、[DB インスタンスを表示] を選択し、Aurora DB インスタンスが作成済みであることを確認します。

関連情報

バックアップサイクル - 完全バックアップ (Percona XtraBackup のウェブサイト)

外部の MySQL データベースから Amazon Aurora MySQL DB クラスターにデータを移行する

Percona XtraBackup と Amazon S3 を使用して MySQL からの物理的な移行を行う

AWS公式
AWS公式更新しました 2ヶ月前
コメントはありません

関連するコンテンツ