メニュー
Amazon Relational Database Service
ユーザーガイド (API Version 2014-10-31)

MySQL DB インスタンスから Amazon Aurora DB クラスターへのデータ移行 (リードレプリカを使用)

Amazon RDS では、MySQL DB エンジンのバイナリログレプリケーション機能を使用し、ソースの MySQL DB に対して、Aurora リードレプリカと呼ばれる特殊なタイプの DB クラスターが作成されます。ソースの MySQL DB インスタンスに加えられた更新は、Aurora リードレプリカに非同期的にレプリケートされます。

ソース MySQL DB インスタンスの Aurora リードレプリカを作成して MySQL DB インスタンスから Aurora DB クラスターに移行する場合は、この機能の使用をお勧めします。MySQL DB インスタンスと Aurora リードレプリカとの間のレプリカラグが 0 である場合は、クライアントアプリケーションを Aurora リードレプリカに誘導してからレプリケーションを停止することで、Aurora リードレプリカをスタンドアロンの Aurora DB クラスターにすることができます。移行では、データ 1 テラバイト (TB) ごとに数時間程度の時間がかかります。

Aurora を使用できるリージョンのリストについては、「現在利用できるリージョン 」を参照してください。

MySQL DB インスタンスの Aurora リードレプリカを作成すると、Amazon RDS により、ソース MySQL DB インスタンスの DB スナップショットが作成されます (Amazon RDS に対してプライベートであり、料金はかかりません)。次に Amazon RDS は DB スナップショットから Aurora リードレプリカにデータを移行します。DB スナップショットのデータが新しい Aurora DB クラスターに移行された後、Amazon RDS は、MySQL DB インスタンスと Aurora DB クラスターとの間でレプリケーションを開始します。MySQL DB インスタンスに、InnoDB 以外のストレージエンジンを使用するテーブルまたは圧縮行形式を使用するテーブルが含まれている場合は、Aurora リードレプリカを作成する前に InnoDB ストレージエンジンと動的行形式が使用されるようにテーブルを変更することで、Aurora リードレプリカの作成プロセスをスピードアップできます。MySQL DB スナップショットを Aurora DB クラスターにコピーするプロセスの詳細については、「RDS MySQL スナップショットの Aurora への移行」を参照してください。

1 つの MySQL DB インスタンスに対して作成できる Aurora リードレプリカは、1 つだけです。暗号化されていない Aurora DB クラスターについてのみ、Aurora リードレプリカを作成できます。

注記

レプリケーションマスターである RDS MySQL DB インスタンスの MySQL データベースエンジンバージョンと Amazon Aurora との間に存在する特性の相違が原因で、レプリケーションの問題が発生することがあります。エラーが発生した場合は、Amazon RDS コミュニティフォーラムでヘルプ状態を参照するか、AWS サポート にご連絡ください。

MySQL リードレプリカの詳細については、「PostgreSQL、MySQL、および MariaDB リードレプリカの使用」を参照してください。

Aurora リードレプリカの作成

コンソールまたは AWS CLI を使用して、MySQL DB インスタンスの Aurora リードレプリカを作成できます。

AWS マネジメントコンソール

To create an Aurora Read Replica from a source MySQL DB instance

  1. AWS マネジメントコンソールにサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. In the navigation pane, choose Instances.

  3. Choose the MySQL DB instance that you want to use as the source for your Aurora Read Replica and choose Create Aurora Read Replica from Instance Actions.

    
                                Create Aurora Read Replica
  4. Choose the DB cluster specifications you want to use for the Aurora Read Replica, as described in the following table.

    Option Description

    DB Instance Class

    Choose a DB instance class that defines the processing and memory requirements for the primary instance in the DB cluster. For more information about DB instance class options, see DB インスタンスクラス.

    Multi-AZ Deployment

    Choose Create Replica in Different Zone to create a standby replica of the new DB cluster in another Availability Zone in the target region for failover support. For more information about multiple Availability Zones, see リージョンとアベイラビリティーゾーン.

    DB Instance Identifier

    Type a name for the primary instance in your Aurora Read Replica DB cluster. This identifier is used in the endpoint address for the primary instance of the new DB cluster.

    The DB instance identifier has the following constraints:

    • It must contain from 1 to 63 alphanumeric characters or hyphens.

    • Its first character must be a letter.

    • It cannot end with a hyphen or contain two consecutive hyphens.

    • It must be unique for all DB instances for each AWS account, for each region.

    Because the Aurora Read Replica DB cluster is created from a snapshot of the source DB instance, the master user name and master password for the Aurora Read Replica are the same as the master user name and master password for the source DB instance.

    VPC

    Select the VPC that will host the DB cluster. Select Create a New VPC to have Amazon RDS create a VPC for you. For more information, see DB クラスターの前提条件.

    Subnet Group

    Select the DB subnet group to use for the DB cluster. Select Create a New DB Subnet Group to have Amazon RDS create a DB subnet group for you. For more information, see DB クラスターの前提条件.

    Publicly Accessible

    Select Yes to give the DB cluster a public IP address; otherwise, select No. The instances in your DB cluster can be a mix of both public and private DB instances. For more information about hiding instances from public access, see VPC の DB インスタンスをインターネットから隠す.

    Availability Zone

    Determine if you want to specify a particular Availability Zone. For more information about Availability Zones, see リージョンとアベイラビリティーゾーン.

    VPC Security Group(s)

    Select one or more VPC security groups to secure network access to the DB cluster. Select Create a New VPC Security Group to have Amazon RDS create a VPC security group for you. For more information, see DB クラスターの前提条件.

    DB Cluster Identifier

    Type a name for your Aurora Read Replica DB cluster that is unique for your account in the target AWS Region for your replica. This identifier will be used in the cluster endpoint address for your DB cluster. For information on the cluster endpoint, see Aurora エンドポイント.

    The DB cluster identifier has the following constraints:

    • It must contain from 1 to 63 alphanumeric characters or hyphens.

    • Its first character must be a letter.

    • It cannot end with a hyphen or contain two consecutive hyphens.

    • It must be unique for all DB clusters for each AWS account, for each region.

    Database Port

    Specify the port that applications and utilities will use to access the database. Aurora DB clusters default to the default MySQL port, 3306. Firewalls at some companies block connections to this port. If your company firewall blocks the default port, choose another port for the new DB cluster.

    DB Parameter Group

    Select a DB parameter group for the Aurora DB cluster. Aurora has a default DB parameter group you can use, or you can create your own DB parameter group. For more information about DB parameter groups, see DB パラメータグループを使用する.

    DB Cluster Parameter Group

    Select a DB cluster parameter group for the Aurora DB cluster. Aurora has a default DB cluster parameter group you can use, or you can create your own DB cluster parameter group. For more information about DB cluster parameter groups, see DB パラメータグループを使用する.

    Enable Encryption

    Not available.

    Priority

    Choose a failover priority for the DB cluster. If you don't select a value, the default is tier-1. This priority determines the order in which Aurora Replicas are promoted when recovering from a primary instance failure. For more information, see Aurora DB クラスターの耐障害性.

    Backup Retention Period

    Select the length of time, from 1 to 35 days, that Aurora will retain backup copies of the database. Backup copies can be used for point-in-time restores (PITR) of your database down to the second.

    Enable Enhanced Monitoring

    Choose Yes to enable gathering metrics in real time for the operating system that your DB cluster runs on. For more information, see 拡張モニタリング.

    Monitoring Role

    The IAM role to use for Enhanced Monitoring. For more information, see 拡張モニタリングの設定と有効化.

    Granularity

    Only available if Enable Enhanced Monitoring is set to Yes. Set the interval, in seconds, between when metrics are collected for your DB cluster.

    Auto Minor Version Upgrade

    Select Yes if you want to enable your Aurora DB cluster to receive minor MySQL DB Engine version upgrades automatically when they become available.

    The Auto Minor Version Upgrade option only applies to upgrades to MySQL minor engine versions for your Amazon Aurora DB cluster. It doesn't apply to regular patches applied to maintain system stability.

    Maintenance Window

    Select the weekly time range during which system maintenance can occur.

  5. Choose Create Read Replica.

AWS CLI

ソース MySQL DB インスタンスから Aurora リードレプリカを作成するには、AWS CLI コマンド create-db-clustercreate-db-instance を使用して、新しい Aurora DB クラスターを作成します。create-db-cluster コマンドを呼び出すときは、--replication-source-identifier パラメータを含めて、ソース MySQL DB インスタンスの Amazon リソースネーム (ARN) を指定します。Amazon RDS ARN の詳細については、「Amazon Relational Database Service (Amazon RDS)」を参照してください。

ソース MySQL DB インスタンスと同じマスターユーザー名、マスターパスワード、またはデータベース名を Aurora リードレプリカで指定しないでください。

Linux、OS X、Unix の場合:

Copy
aws rds create-db-cluster --db-cluster-identifier sample-replica-cluster --engine aurora \ --db-subnet-group-name mysubnetgroup --vpc-security-group-ids sg-c7e5b0d2 \ --replication-source-identifier arn:aws:rds:us-west-2:123456789012:db:master-mysql-instance

Windows の場合:

Copy
aws rds create-db-cluster --db-cluster-identifier sample-replica-cluster --engine aurora ^ --db-subnet-group-name mysubnetgroup --vpc-security-group-ids sg-c7e5b0d2 ^ --replication-source-identifier arn:aws:rds:us-west-2:123456789012:db:master-mysql-instance

コンソールを使用して Aurora リードレプリカを作成すると、DB クラスターの Aurora リードレプリカのプライマリインスタンスが Amazon RDS によって自動的に作成されます。AWS CLI を使用して Aurora リードレプリカを作成する場合は、DB クラスターの Aurora リードレプリカのプライマリインスタンスを明示的に作成する必要があります。プライマリ インスタンスは、DB クラスターで作成される最初の DB インスタンスです。

DB クラスターのプライマリインスタンスを作成するには、AWS CLI の create-db-instance コマンドを呼び出します。--db-cluster-identifier パラメータの値として DB クラスターの名前を含めます。

Linux、OS X、Unix の場合:

Copy
aws rds create-db-instance --db-instance-identifier sample-replica-instance \ --db-cluster-identifier sample-replica-cluster --engine aurora --db-instance-class db.r3.large

Windows の場合:

Copy
aws rds create-db-instance --db-instance-identifier sample-replica-instance ^ --db-cluster-identifier sample-replica-cluster --engine aurora --db-instance-class db.r3.large

Aurora リードレプリカの表示

コンソールまたは AWS CLI を使用すると、Aurora DB クラスターに関する MySQL から Aurora へのレプリケーション関係を確認できます。

AWS マネジメントコンソール

To view the Aurora Read Replica for a MySQL DB instance

  1. AWS マネジメントコンソールにサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. In the navigation pane, choose Instances.

  3. Expand the MySQL DB instance and choose the Replication tab. The Aurora Read Replica information will be in the Deployment DB Clusters table in the row with a role of replica.

    
                                View Aurora Read Replica

To view the master MySQL DB instance for an Aurora Read Replica

  1. AWS マネジメントコンソールにサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. In the navigation pane, choose Clusters.

  3. Expand the DB cluster for the Aurora Read Replica and choose the Replication tab. The master MySQL DB instance information will be in the Replication Source field.

    
                                View MySQL master

AWS CLI

AWS CLI を使用して、Aurora DB クラスターに関する MySQL から Aurora へのレプリケーション関係を確認するには、describe-db-clusters コマンドおよび describe-db-instances コマンドを使用します。

どの MySQL DB インスタンスがマスターであるかを判別するには、describe-db-clusters を使用して、Aurora リードレプリカのクラスター識別子を --db-cluster-identifier オプションに指定します。レプリケーションマスターである DB インスタンスの ARN については、出力の ReplicationSourceIdentifier 要素を参照してください。

どの DB クラスターが Aurora リードレプリカであるかを判別するには、describe-db-instances を使用して、MySQL DB インスタンスのインスタンス識別子を --db-instance-identifier オプションに指定します。Aurora リードレプリカの DB クラスター識別子については、出力のReadReplicaDBClusterIdentifiers 要素を参照してください。

Linux、OS X、Unix の場合:

Copy
aws rds describe-db-clusters \ --db-cluster-identifier myreadreplicacluster
Copy
aws rds describe-db-instances \ --db-instance-identifier mysqlmaster

Windows の場合:

Copy
aws rds describe-db-clusters ^ --db-cluster-identifier myreadreplicacluster
Copy
aws rds describe-db-instances ^ --db-instance-identifier mysqlmaster

Aurora リードレプリカの昇格

移行が完了したら、Aurora リードレプリカをスタンドアロンの DB クラスターに昇格し、 Aurora リードレプリカのエンドポイントにクライアントアプリケーションを誘導できます。Aurora エンドポイントの詳細については、「Aurora エンドポイント」を参照してください。昇格はすばやく完了し、昇格中も Aurora リードレプリカに対する読み取り/書き込みを行うことができます。ただし昇格中に、マスター MySQL DB インスタンスを削除したり、DB インスタンスと Aurora リードレプリカのリンクを解除する操作は行うことができません。

Aurora リードレプリカを昇格する前に、ソース MySQL DB インスタンスに対するトランザクションの書き込みをすべて停止し、Aurora リードレプリカのレプリカラグが 0 になるまで待ちます。Aurora リードレプリカのレプリカラグを確認するには、Aurora リードレプリカで SHOW SLAVE STATUS コマンドを呼び出し、Seconds behind master 値を確認します。

マスターへの書き込みトランザクションが停止し、レプリカラグが 0 になったら、Aurora AWS CLI コマンドへの書き込みを開始できます。それより前に Aurora リードレプリカへの書き込みを行い、MySQL マスターでも変更されているテーブルを変更した場合、Aurora へのレプリケーションが失われるおそれがあります。その場合は、Aurora リードレプリカを削除して、作り直す必要があります。

昇格したら、昇格が完了したことを確認します。これには、ナビゲーションペインの [Instances] を選択し、Aurora リードレプリカに対する [Promoted Read Replica cluster to stand-alone database cluster] イベントが存在することを確認します。昇格が完了したら、マスター MySQL DB インスタンスと Aurora リードレプリカのリンクは解除され、DB インスタンスは必要に応じて安全に削除できるようになります。

AWS マネジメントコンソール

To promote an Aurora Read Replica to a DB cluster

  1. AWS マネジメントコンソールにサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. In the navigation pane, choose Instances.

  3. Choose the DB instance for the Aurora Read Replica and choose Promote Read Replica from Instance Actions.

    
                                Create Aurora Read Replica
  4. Choose Promote Read Replica.

AWS CLI

Aurora リードレプリカを DB クラスターに昇格するには、AWS CLI コマンド promote-read-replica-db-cluster を使用します。

Linux、OS X、Unix の場合:

Copy
aws rds promote-read-replica-db-cluster \ --db-cluster-identifier myreadreplicacluster

Windows の場合:

Copy
aws rds promote-read-replica-db-cluster ^ --db-cluster-identifier myreadreplicacluster

関連トピック