

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

# Percona XtraBackup、Amazon EFS、Amazon S3 を使用してオンプレミスの MySQL データベースを Aurora MySQL に移行する
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3"></a>

*Amazon Web Services、Rohan Jamadagni、Udayasimha Theepireddy、sajith menon*

## 概要
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-summary"></a>

このパターンでは、Percona XtraBackup を使用して、大規模なオンプレミスの MySQL データベースを Amazon Aurora MySQL に効率的に移行する方法を説明します。Percona XtraBackup は、MySQL ベースのサーバー用のオープンソースのノンブロッキングバックアップユーティリティです。このパターンは、Amazon Elastic File System (Amazon EFS) を使用して Amazon Simple Storage Service (Amazon S3) にバックアップをアップロードする時間を短縮し、Amazon Aurora MySQL にバックアップを復元する方法を示しています。このパターンには、Percona のインクリメンタルバックアップを作成して、ターゲット Aurora MySQL データベースに適用されるバイナリログの数を最小限に抑える方法の詳細も記載されています。 

## 前提条件と制限事項
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-prereqs"></a>

**前提条件**
+ アクティブな AWS アカウント。
+ AWS Identity and Access Management (IAM) ロールとポリシーの作成権限
+ オンプレミスの MySQL データベースと AWS 上の仮想プライベートクラウド (VPC) 間のネットワーク接続

**制限事項**
+ ソースサーバーは、ネットワークファイルシステム (NFS) クライアント (nfs-utils/nfs-common) をインストールできる Linux ベースのシステムである必要があります。
+ バックアップファイルのアップロードに使用する S3 バケットは、サーバー側の暗号化 (SSE-S3/SSE-KMS) のみをサポートしています。
+ Amazon S3 では、バックアップファイルのサイズが 5 TB に制限されます。バックアップファイルが 5 TB を超える場合は、それを複数の小さいファイルに分割できます。
+ S3 バケットにアップロードされるソースファイルの数は、百万ファイルを超えることはできません。
+ このパターンでは、Percona XtraBackup 完全バックアップと増分バックアップのみがサポートされます。`--tables`、`--tables-exclude`、`--tables-file`、`--databases`、`--databases-exclude`、または `--databases-file` を使用する部分バックアップはサポートされていません。
+ Aurora は、ユーザー、関数、ストアドプロシージャ、またはタイムゾーン情報をソース MySQL データベースから復元しません。

**製品バージョン**
+ ソースデータベースは MySQL バージョン 5.5、5.6、または 5.7 である必要があります。
+ MySQL 5.7 では、Percona XtraBackup 2.4 を使用する必要があります。
+ MySQL 5.6 と 5.6 では、Percona XtraBackup 2.3 または 2.4 を使用する必要があります。

## アーキテクチャ
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-architecture"></a>

**ソーステクノロジースタック**
+ Linux ベースのオペレーティングシステム。
+ MySQL サーバー
+ Percona XtraBackup

**ターゲットテクノロジースタック**
+ Amazon Aurora
+ Amazon S3
+ Amazon EFS

**ターゲットアーキテクチャ**

![\[Percona XtraBackup を使用して、大規模な MySQL データベースを Amazon Aurora MySQL に移行するためのアーキテクチャです。\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/images/pattern-img/bf327776-bafd-484d-9ae2-a6f5c8af6edd/images/7a410539-1511-4106-90e2-8c0c8e95f92b.png)


## ツール
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-tools"></a>

*AWS サービス*
+ 「[Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMySQL.html)」はフルマネージドリレーショナルデータベースエンジンで、MySQL のデプロイを簡単に、コスト効率よく設定、操作、スケーリングすることができます。Aurora MySQL は MySQL のドロップイン代替品です。
+ 「[Amazon Elastic File System (Amazon EFS)](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html)」は、 AWS クラウドでの共有ファイルシステムの作成と設定に役立ちます。
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) は、あらゆる量のデータを保存、保護、取得できるクラウドベースのオブジェクトストレージサービスです。

その他のツール
+ 「[Percona XtraBackup](https://www.percona.com/doc/percona-xtrabackup/2.4/index.html)」は、データベースを中断したりブロックしたりすることなく、MySQLデータベースのストリーミング、圧縮、および増分バックアップを実行するオープンソースのユーティリティです。

## エピック
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-epics"></a>

### Amazon EFS ファイルシステムを作成する
<a name="create-an-amazon-efs-file-system"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| Amazon EFS マウントターゲットに関連付けるセキュリティグループを作成します。 | AWS Transit Gateway 経由でオンプレミスデータベースに VPN アタッチメントを設定したセキュリティグループを VPC に作成します。このストーリーやその他のストーリーで説明されているコマンドと手順の詳細については、このパターンの最後にある「関連リソース」セクションのリンクを参照してください。 | AWS DevOps/データベース管理者 | 
| セキュリティグループルールを編集します。 | NFS タイプ、ポート 2049、オンプレミスデータベースサーバーの IP 範囲をソースとして使用して、インバウンドルールを追加します。デフォルトでは、アウトバウンドルールはすべてのトラフィックの流出を許可します。そうでない場合は、NFS ポートへの接続を開くアウトバウンドルールを追加してください。さらに 2 つのインバウンドルールを追加します。ポート 2049 (ソース:同じセキュリティグループのセキュリティグループ ID) とポート 22 (ソース:EC2 インスタンスに接続する IP 範囲) です。 | AWS DevOps/データベース管理者 | 
| ファイルシステムを作成します。 | マウントターゲットでは、前の記事で作成した VPC とセキュリティグループを使用します。オンプレミスデータベースの I/O 要件に基づいてスループットモードとパフォーマンスを選択します。オプションで、保管時の暗号化を有効にします。 | AWS DevOps/データベース管理者 | 

### ファイルシステムをマウントします。
<a name="mount-the-file-system"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| EC2 インスタンスに関連付ける IAM インスタンスプロファイルロールを作成します。 | Amazon S3 にオブジェクトをアップロードしてアクセスするためのアクセス許可を持つ IAM ロールを作成します。バックアップをポリシーリソースとして保存する S3 バケットを選択します。 | AWS DevOps | 
| EC2 インスタンスを作成します。 | Linux ベースの EC2 インスタンスを起動し、前のステップで作成した IAM インスタンスプロファイルロールと、前に作成したセキュリティグループをアタッチします。 | AWS DevOps | 
| NFS クライアントをインストールします。 | オンプレミスのデータベースサーバーと EC2 インスタンスに NFS クライアントをインストールします。インストール手順については、「追加情報」を参照してください。 | DevOps | 
| Amazon EFS ファイルシステムをマウントします。 | オンプレミスと EC2 インスタンスに、Amazon EFS ファイルシステムをマウントします。各サーバーで、バックアップを保存するディレクトリを作成し、マウントターゲットエンドポイントを使用してファイルシステムをマウントします。例については、「追加情報」を参照してください。 | DevOps | 

### MySQL ソースデータベースのバックアップの作成
<a name="make-a-backup-of-the-mysql-source-database"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| Percona XtraBackup のインストール | Percona XtraBackup 2.3 または 2.4 (MySQL データベースのバージョンによって異なります) をオンプレミスのデータベースサーバーにインストールします。インストールリンクについては、「関連リソース」セクションを参照してください。 | データベース管理者 | 
| ソースデータベースのスキーマとテーブルの数を数えます。 | ソース MySQL データベース内のスキーマとオブジェクトの数を収集して書き留めます。これらの数を使用して、移行後に Aurora MySQL データベースを検証します。 | データベース管理者 | 
| (オプション) ソースデータベースの最新のバイナリログシーケンスを書き留めておきます。 | ダウンタイムを最小限に抑えるために、ソースデータベースと Aurora MySQL 間でバイナリログのレプリケーションを確立する場合は、このステップを実行します。log-bin を有効にし、server\$1id が一意である必要があります。バックアップを開始する直前に、ソースデータベースの現在のバイナリログシーケンスを書き留めておきます。完全バックアップのみを使用する場合は、完全バックアップの直前にこの手順を実行してください。完全バックアップの後に増分バックアップを行う予定の場合は、Aurora MySQL DB インスタンスで復元する最後の増分バックアップの直前にこのステップを実行してください。 | データベース管理者 | 
| ソース MySQL データベースのフルバックアップを開始します。 | Percona XtraBackup を使用して MySQL ソースデータベースの完全バックアップを作成します。フルバックアップと増分バックアップのコマンドの例については、「追加情報」セクションを参照してください。 | データベース管理者 | 
| (オプション) Percona XtraBackup を使用して増分バックアップを作成します。 | インクリメンタルバックアップを使用すると、ソースデータベースを Aurora MySQL と同期するために適用する必要があるバイナリログの量を減らすことができます。サイズが大きくてトランザクション量の多いデータベースでは、バックアップ中に大量のバイナリログが生成されることがあります。増分バックアップを作成して共有の Amazon EFS ファイルシステムに保存することで、データベースのバックアップとアップロードにかかる時間を大幅に短縮できます。詳細については、「追加情報」を参照してください。Aurora への移行プロセスを開始する準備が整うまで、引き続き増分バックアップを行います。 | データベース管理者 | 
| バックアップの作成 | このステップでは、バックアップ中に処理されていたトランザクションのトランザクションログがバックアップに適用されます。引き続き、各増分バックアップにトランザクションログ (--apply-log-only) を適用して、最後のバックアップを除いてバックアップをマージします。例については、「追加情報」セクションを参照してください。このステップの後、マージされた完全バックアップは「\$1/<efs\$1mount\$1name>/fullbackup」に保存されます。 | データベース管理者 | 
| 最後にマージされたバックアップを圧縮して分割します。 | 最終的な統合バックアップを準備したら、tar、zip、split コマンドを使用して、バックアップの小さな ZIP ファイルを作成します。例については、「追加情報」セクションを参照してください。 | データベース管理者 | 

### Aurora MySQL DB クラスターにバックアップを復元します。
<a name="restore-the-backup-to-an-aurora-mysql-db-cluster"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| Amazon S3 にバックアップファイルをアップロードします。 | バックアップファイルが保存されている Amazon EFS ファイルシステムは、オンプレミスデータベースと EC2 インスタンスの両方にマウントされるため、バックアップファイルは EC2 インスタンスですぐに使用できます。Secure Shell (SSH) を使用して EC2 インスタンスに接続し、圧縮されたバックアップファイルを新規または既存の S3 バケットにアップロードします。例: aws s3 sync \$1/<efs\$1mount\$1name>/fullbackup s3://<bucket\$1name>/fullbackup 詳細については、「関連リソース」セクションのリンクを参照してください。 | AWS DevOps | 
| Aurora が Amazon S3 にアクセスするためのサービスロールを作成します。 | 「rds.amazonaws.com」という信頼のある IAM ロールと、バックアップファイルが保存されている S3 バケットに Aurora がアクセスできるようにするポリシーを作成します。必要な権限は、ListBucket、GetObject、GetObjectVersion です。 | AWS DevOps | 
| Aurora のネットワーク設定を作成します。 | 少なくとも 2 つのアベイラビリティーゾーンと、ソースデータベースへのアウトバウンド接続を可能にするサブネットルートテーブル設定を含むクラスター DB サブネットグループを作成します。オンプレミスデータベースへのアウトバウンド接続を許可し、管理者が Aurora DB クラスターに接続できるようにするセキュリティグループを作成します。詳細については、「関連リソース」セクションのリンクを参照してください。 | AWS DevOps/データベース管理者 | 
| Aurora MySQL DB クラスターにバックアップを復元します。 | Amazon S3 にデータをアップロードしたバックアップから復元します。ソースデータベースの MySQL バージョンを指定し、バックアップファイルをアップロードした S3 バケット名とフォルダパスのプレフィックスを指定し (例えば、「追加情報」セクションの例では「フルバックアップ」)、Aurora に Amazon S3 へのアクセスを許可するために作成した IAM ロールを指定します。 | AWS DevOps/データベース管理者 | 
| Aurora MySQL データベースを検証します。 | 復元された Aurora DB クラスター内のスキーマとオブジェクトの数を、ソースデータベースから取得した数と照合して検証します。 | データベース管理者 | 
| バイナリログのレプリケーションを設定します。 | Aurora DB クラスターに復元された最後のバックアップを作成する前に、前にメモしたバイナリログシーケンスを使用してください。ソースデータベースにレプリケーションユーザーを作成し、「追加情報」セクションの指示に従って適切な権限を付与し、Aurora でのレプリケーションを有効にし、レプリケーションが同期されていることを確認します。 | AWS DevOps/データベース管理者 | 

## 関連リソース
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-resources"></a>

**Amazon EFS ファイルシステムの作成**
+ 「[セキュリティグループの作成](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#CreatingSecurityGroups)」(Amazon VPC ドキュメント)
+ 「[トランジットゲートウェイ VPN アタッチメント](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-vpn-attachments.html)」(Amazon VPC ドキュメント)
+ 「[AWS Transit Gateway を使用した VPN スループットのスケーリング](https://aws.amazon.com/blogs/networking-and-content-delivery/scaling-vpn-throughput-using-aws-transit-gateway/)」(ネットワーキングとコンテンツ配信に関するブログ)
+ 「[Amazon EFS ファイルシステムの作成](https://docs.aws.amazon.com/efs/latest/ug/efs-onpremises.html#wt5-step1-efs)」(Amazon EFS ドキュメント)
+ 「[マウントターゲットの作成](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html)」(Amazon EFS ドキュメント)
+ 「[保管中のデータの暗号化](https://docs.aws.amazon.com/efs/latest/ug/encryption-at-rest.html)」(Amazon EFS のドキュメント)

ファイルシステムのマウント
+ [Amazon EC2 の IAM ロール](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) (Amazon EC2 のドキュメント)
+ 「[Amazon EC2 Linux インスタンスの起動](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html#ec2-launch-instance)」(Amazon EC2 ドキュメント)
+ 「[NFS クライアントのインストール](https://docs.aws.amazon.com/efs/latest/ug/efs-onpremises.html#wt5-step4-install-nfs)」 (Amazon EFS ドキュメント)
+ 「[オンプレミスクライアントに Amazon EFS ファイルシステムをマウントする](https://docs.aws.amazon.com/efs/latest/ug/efs-onpremises.html#wt5-step3-connect)」(Amazon EFS ドキュメント)
+ 「[EFS ファイルシステムのマウント](https://docs.aws.amazon.com/efs/latest/ug/mounting-fs.html)」(Amazon EFS ドキュメント)

MySQL ソースデータベースのバックアップの作成
+ 「[Percona XtraBackup 2.3 のインストール](https://www.percona.com/doc/percona-xtrabackup/2.3/installation.html)」(Percona XtraBackup ドキュメント)
+ 「[Percona XtraBackup 2.4 のインストール](https://www.percona.com/doc/percona-xtrabackup/2.4/installation.html)」(Percona XtraBackup ドキュメント) 
+ 「[レプリケーションマスター構成の設定](https://dev.mysql.com/doc/refman/5.7/en/replication-howto-masterbaseconfig.html)」(MySQL ドキュメント)
+ 「[外部 MySQL データベースから Aurora MySQL DB クラスターへのデータ移行](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.ExtMySQL.html)」(Aurora ドキュメント)
+ 「[インクリメンタルバックアップ](https://www.percona.com/doc/percona-xtrabackup/2.4/backup_scenarios/incremental_backup.html)」(Percona XtraBackup ドキュメンテーション)

Amazon Aurora MySQL へのバックアップの復元
+ 「[バケットの作成](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#create-bucket-intro)」(Amazon S3 ドキュメント)
+ 「[SSH を使用した Linux インスタンスへの接続](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html)」(Amazon EFS ドキュメント)
+ 「[AWS CLI の設定](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)」(AWS CLI ドキュメント)
+ 「[同期コマンド](https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html)」(AWS CLI コマンドリファレンス)
+ 「[Amazon S3 リソースにアクセスするための IAM ポリシーの作成](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Authorizing.IAM.S3CreatePolicy.html)」(Aurora ドキュメント)
+ 「[DB クラスターの前提条件](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html#Aurora.CreateInstance.Prerequisites)」 (Aurora ドキュメント)
+ 「[DB サブネットグループの使用](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Subnets)」(Aurora ドキュメント)
+ 「[プライベート DB インスタンスの VPC セキュリティグループの作成](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Tutorials.WebServerDB.CreateVPC.html#CHAP_Tutorials.WebServerDB.CreateVPC.SecurityGroupDB)」(Aurora ドキュメント)
+ 「[S3 バケットからの Aurora MySQL DB クラスターの復元](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.ExtMySQL.html#AuroraMySQL.Migrating.ExtMySQL.S3.Restore)」(Aurora ドキュメント)
+ 「[MySQL または別の Aurora DB クラスターとのレプリケーションの設定](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Replication.MySQL.html#AuroraMySQL.Replication.MySQL.SettingUp)」(Aurora ドキュメント)
+ 「[mysql.rds\$1set\$1external\$1master プロシージャ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/mysql_rds_set_external_master.html)」(Amazon RDS 上の MySQL SQL リファレンス)
+ 「[mysql.rds\$1start\$1replication プロシージャ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/mysql_rds_start_replication.html)」(Amazon RDS 上の MySQL SQL リファレンス)

その他のリファレンス
+ 「[外部 MySQL データベースから Aurora MySQL DB クラスターへのデータ移行](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.ExtMySQL.html)」(Aurora ドキュメント)
+ 「[MySQL サーバーのダウンロード](https://downloads.mysql.com/archives/community/)」(Oracle ウェブサイト)

**チュートリアルと動画**
+  「[Amazon S3 を使用して MySQL データを Aurora MySQL DB クラスターに移行](https://aws.amazon.com/premiumsupport/knowledge-center/migrate-mysql-aurora-innobackup/)」(AWS ナレッジセンター)
+  「[Amazon EFS のセットアップとマウント](https://www.youtube.com/watch?v=NR8rVsSn_dY)」(ビデオ)

## 追加情報
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-additional"></a>

NFS クライアントのインストール
+ Red Hat または類似の Linux オペレーティングシステムを使用している場合は、以下のコマンドを使用してください。 

```
$ sudo yum -y install nfs-utils
```
+ Ubuntu または類似の Linux オペレーティングシステムを使用している場合は、以下のコマンドを使用してください。 

```
$ sudo apt-get -y install nfs-common
```

詳細については、Amazon EFS ドキュメント」の「[チュートリアル](https://docs.aws.amazon.com/efs/latest/ug/efs-onpremises.html#wt5-step4-install-nfs)」を参照してください。

Amazon EFS ファイルシステムのマウント

次のコマンドを使用してください。

```
mkdir ~/<efs_mount_name>
$ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-IP:/ ~/<efs_mount_name>
```

詳細については、Amazon EFS ドキュメントの「[チュートリアル](https://docs.aws.amazon.com/efs/latest/ug/efs-onpremises.html#wt5-step3-connect)」と「[EFS ファイルシステムのマウント](https://docs.aws.amazon.com/efs/latest/ug/mounting-fs.html)」を参照してください。

MySQL ソースデータベースのバックアップの作成

フルバックアップ

次のようなコマンドを使用して、バックアップを取って圧縮し、それぞれ 1 GB の小さなチャンクに分割します。

```
xtrabackup --backup --user=dbuser --password=<password> --binlog-info=AUTO --stream=tar --target-dir=~/<efs_mount_name>/fullbackup | gzip - | split -d --bytes=1024MB - ~/<efs_mount_name>/fullbackup/backup.tar.gz &
```

完全バックアップの後にインクリメンタルバックアップを行う予定がある場合は、バックアップを圧縮したり分割したりしないでください。代わりに、以下のようなコマンドを使用します。

```
xtrabackup --backup --user=dbuser --password=<password> --target-dir=~/<efs_mount_name>/fullbackup/
```

増分バックアップ

`--incremental-basedir` パラメータにはフルバックアップパスを使用してください。例:

```
xtrabackup --backup --user=dbuser --password=<password> --target-dir=~/<efs_mount_name>/incremental/backupdate --incremental-basedir=~/<efs_mount_name>/fullbackup
```

この際、*[basedir]* はフルバックアップと「xtrabackup\$1checkpoints」ファイルへのパスとして機能します。

バックアップの詳細については、Aurora ドキュメントの「[外部の MySQL データベースから Amazon Aurora MySQL DB クラスターへのデータ移行](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.ExtMySQL.html)」を参照してください。

バックアップの準備

フルバックアップを準備するには:

```
xtrabackup --prepare --apply-log-only --target-dir=~/<efs_mount_name>/fullbackup
```

増分バックアップを準備するには:

```
xtrabackup --prepare --apply-log-only --target-dir=~/<efs_mount_name>/fullbackup --incremental-dir=~/<efs_mount_name>/incremental/06062020
```

最終バックアップを準備するには:

```
xtrabackup --prepare --target-dir=~/<efs_mount_name>/fullbackup --incremental-dir=~/<efs_mount_name>/incremental/06072020
```

詳細については、Percona XtraBackup ドキュメントの「[インクリメンタルバックアップ](https://www.percona.com/doc/percona-xtrabackup/2.4/backup_scenarios/incremental_backup.html)」を参照してください。

マージしたバックアップを圧縮して分割する

統合したバックアップを「 \$1/<efs\$1mount\$1name>/fullbackup」に圧縮するには:

```
tar -zcvf <backupfilename.tar.gz> ~/<efs_mount_name>/fullbackup
```

バックアップを分割するには:

```
split -d -b1024M --verbose  <backupfilename.tar.gz> <backupfilename.tar.gz>
```

バイナリログのレプリケーションをセットアップする

ソースデータベースにレプリケーションユーザーを作成し、適切な権限を付与するには:

```
CREATE USER 'repl_user'@'' IDENTIFIED BY ''; GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'';
```

Aurora DB クラスターに接続して Aurora でのレプリケーションを有効にするには、DB クラスターパラメータグループのバイナリログを有効にします。設定 `binlog_format = mixed` (混合モードを推奨)。この変更では、更新を適用するためにインスタンスを再起動する必要があります。

```
CALL mysql.rds_set_external_master ('sourcedbinstanceIP', sourcedbport, 'repl_user', '', 'binlog_file_name', binlog_file_position, 0); CALL mysql.rds_start_replication;
```

レプリケーションが同期していることを確認するには:

```
SHOW Slave Status \G;
```

「**マスターに対する遅れ秒数**」フィールドには、オンプレミスデータベースから Aurora がどれだけ遅れているかが示されます。