

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

# Percona XtraBackup
<a name="percona-xtrabackup"></a>

**重要**  
Percona XtraBackup は MariaDB バージョン 10.3 以降ではサポートされておらず、バージョン 10.1 および 10.2 では部分的にのみサポートされています。

[Percona XtraBackup](https://docs.percona.com/percona-xtrabackup/8.0/index.html) は、MySQL および MariaDB 用の一般的なオープンソースのウォームバックアップソフトウェアで、InnoDB および XtraDB ストレージエンジンのノンブロッキングバックアップを作成します。MySQL または MariaDB サーバーで動作します。このツールとその機能や利点の詳細については、Percona XtraBackup ドキュメントの「[Percona XtraBackup の概要](https://docs.percona.com/percona-xtrabackup/8.0/about-xtrabackup.html)」を参照してください。

このツールは、物理的な移行アプローチを使用します。MySQL または MariaDB のデータディレクトリとその中のファイルを直接コピーします。そのため、100 GB を超えるような大規模なデータベースでは、他のツールよりも復元時間を大幅に短縮することができます。オンプレミスのソースデータベースのバックアップを作成し、バックアップファイルをクラウドに移行してから、新しいターゲットデータベースインスタンスにバックアップを復元します。

次の図は、Percona XtraBackup バックアップファイルを使用したデータベースの移行に関する大まかな手順を示しています。バックアップファイルのサイズに応じて、 AWS クラウドの Amazon Simple Storage Service (Amazon S3) バケットにバックアップを転送するオプションが 2 つあります。



![Percona XtraBackup ファイルの AWS DB インスタンスへの移行と復元を示す図。](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/migration-large-mysql-mariadb-databases/images/percona-xtrabackup-migration-aws.png)


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

1. Percona XtraBackup をオンプレミスサーバーにインストールします。Amazon Aurora MySQL バージョン 2 または Amazon RDS を使用している場合は、「[Installing Percona XtraBackup 2.4](https://docs.percona.com/percona-xtrabackup/2.4/installation.html)」を参照してください。Amazon Aurora MySQL バージョン 3 を使用している場合は、Percona XtraBackup ドキュメントの「[Installing Percona XtraBackup 8.0](https://docs.percona.com/percona-xtrabackup/8.0/installation.html)」を参照してください。

1. ソース MySQL または MariaDB データベースのフルバックアップを作成します。Percona XtraBackup 2.4 の手順については、「[完全バックアップ](https://docs.percona.com/percona-xtrabackup/2.4/backup_scenarios/full_backup.html)」を参照してください。Percona XtraBackup 8.0 の手順については、「[完全バックアップの作成](https://docs.percona.com/percona-xtrabackup/8.0/create-full-backup.html)」を参照してください。

1. 次のような組織内の承認されたサービスまたはツールを使用して、バックアップファイルをインターネット経由で転送します。
   + [AWS Site-to-Site VPN](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html)
   + [AWS Client VPN](https://docs.aws.amazon.com/vpn/latest/clientvpn-user/client-vpn-user-what-is.html)
   + [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html)
   + [Amazon S3 File Gateway](https://docs.aws.amazon.com/filegateway/latest/files3/what-is-file-s3.html) (詳細については、このガイドの「[Amazon S3 File Gateway を使用したバックアップファイルの転送](amazon-s3-file-gateway.md)」を参照してください。)
   + [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/getting-started/hands-on/backup-to-s3-cli/)

1. Amazon S3 バケットから、バックアップファイルをターゲットデータベースインスタンスに復元します。手順については、以下を参照してください。
   + Aurora MySQL 互換エディションについては、Amazon RDS ドキュメントの「[Migrating data from MySQL by using an Amazon S3 bucket](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.ExtMySQL.html#AuroraMySQL.Migrating.ExtMySQL.S3.Restore)」を参照してください。
   + Amazon RDS for MySQL または Amazon EC2 については、「[Importing data into a MySQL DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.Other.html)」を参照してください。
   + Amazon RDS for MariaDB または Amazon EC2 については、「[Importing data into a MariaDB DB instance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MariaDB.Procedural.Importing.html)」を参照してください。

1. (オプション) ソースデータベースとターゲットデータベースインスタンス間のレプリケーションを設定できます。バイナリログ (binlog) レプリケーションを使用すると、ダウンタイムを短縮できます。詳細については次を参照してください:
   + MySQL ドキュメントの「[Setting the Replication Source Configuration](https://dev.mysql.com/doc/refman/5.7/en/replication-howto-masterbaseconfig.html)」
   + Amazon Aurora については、以下を参照してください。
     + Aurora ドキュメントの「[Synchronizing the Amazon Aurora MySQL DB cluster with the MySQL database using replication](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.ExtMySQL.html#AuroraMySQL.Migrating.ExtMySQL.S3.RepSync)」
     + Aurora ドキュメントの「[Using binlog replication in Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Replication.MySQL.html)」
   + Amazon RDS については、以下を参照してください。
     + Amazon RDS ドキュメントの「[MySQL のレプリケーションの使用](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_MySQL.Replication.html)」
     + Amazon RDS ドキュメントの「[MariaDB のレプリケーションの使用](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_MariaDB.Replication.html)」
   + Amazon EC2 については、以下を参照してください。
     + MySQL ドキュメントの「[Setting Up Binary Log File Position Based Replication](https://dev.mysql.com/doc/mysql-replication-excerpt/8.0/en/replication-howto.html)」
     + MySQL ドキュメントの「[Setting Up Replicas](https://dev.mysql.com/doc/refman/8.0/en/replication-setup-replicas.html)」
     + MariaDB ドキュメントの「[Setting Up Replication](https://mariadb.com/kb/en/setting-up-replication/)」

## 利点
<a name="advantages-percona-xtrabackup"></a>
+ Percona XtraBackup は物理的な移行アプローチを使用するため、復元プロセスは通常、論理的な移行アプローチを使用するツールよりも高速になります。これは、パフォーマンスの制限がデータ処理に必要なコンピューティングリソースによるものではなく、ディスクまたはネットワークのスループットによるためです。
+ 復元プロセスでは S3 バケットからターゲットデータベースインスタンスへファイルが直接コピーされるため、Percona XtraBackup ファイルは通常、他のツールで作成されたバックアップファイルよりも短時間で復元されます。
+ Percona XtraBackup は順応性があります。例えば、ファイルをすばやくコピーできるように複数のスレッドをサポートし、バックアップサイズを減らすための圧縮をサポートしています。

## 制限事項
<a name="limitations-percona-xtrabackup"></a>
+ Percona XtraBackup はソースデータベースサーバーにアクセスできる必要があるため、オフラインバックアップはできません。
+ Percona XtraBackup は、同一のシステムアーキテクチャを持つシステムでのみ使用できます。例えば、Intel for Windows Server で実行されているソースデータベースのバックアップを、ARM for Linux のターゲットサーバーに復元することはできません。
+ Percona XtraBackup は MariaDB バージョン 10.3 以降ではサポートされておらず、MariaDB バージョン 10.2 およびバージョン 10.1 では部分的にのみサポートされています。詳細については、MariaDB ナレッジベースの「[Percona XtraBackup Overview: Compatibility with MariaDB](https://mariadb.com/kb/en/percona-xtrabackup-overview/#compatibility-with-mariadb)」を参照してください。
+ Percona XtraBackup を使用して、ソース MariaDB データベースを Amazon RDS for MySQL や Aurora MySQL 互換などのターゲット MySQL データベースインスタンスに復元することはできません。
+ S3 バケットに保存できるデータの合計量とオブジェクトの数は無制限ですが、最大ファイルサイズは 5 TB です。バックアップファイルが 5 TB を超える場合は、複数の小さいファイルに分割できます。
+ `innodb_file_per_table` 設定がオフの場合、Percona XtraBackup は、`--tables`、`--tables-exclude`、`--tables-file`、`--databases`、`--databases-exclude`、または `--databases-file` を使用する部分バックアップをサポートしていません。Percona XtraBackup バージョン 2.4 の詳細については、「[部分バックアップ](https://docs.percona.com/percona-xtrabackup/2.4/innobackupex/partial_backups_innobackupex.html)」を参照してください。Percona XtraBackup バージョン 8.0 の詳細については、「[部分バックアップの作成](https://docs.percona.com/percona-xtrabackup/8.0/create-partial-backup.html)」を参照してください。

## ベストプラクティス
<a name="best-practices-percona-xtrabackup"></a>
+ バックアッププロセスのパフォーマンスを向上させるには、以下を実行します。
  + [--parallel=<threads>](https://docs.percona.com/percona-xtrabackup/2.4/xtrabackup_bin/xbk_option_reference.html#-parallel) を使用して複数のファイルを並行してコピーする
  + [--compress-threads=<threads>](https://docs.percona.com/percona-xtrabackup/2.4/xtrabackup_bin/xbk_option_reference.html#-compress-threads) を使用して複数のファイルを並行して圧縮する
  + [--use-memory=<size>](https://docs.percona.com/percona-xtrabackup/2.4/xtrabackup_bin/xbk_option_reference.html#-use-memory) を使用してメモリを増やす
  + [--encrypt-threads=<threads>](https://docs.percona.com/percona-xtrabackup/2.4/xtrabackup_bin/xbk_option_reference.html#-encrypt-threads) を使用して複数のファイルを並行して暗号化する
+ ソースサーバーに、データベースバックアップファイルを取得するのに十分なスペースがあることを確認します。
+ Percona xbstream (.xbstream) 形式のファイルを使用してデータベースバックアップを生成します。詳細については、Percona XtraBackup ドキュメントの「[The xbstream binary overview](https://docs.percona.com/percona-xtrabackup/8.0/xbstream-binary-overview.html)」を参照してください。