Amazon Aurora MySQL DB インスタンスのリードレプリカを作成するにはどうすればよいですか?

所要時間3分
0

Amazon Aurora MySQL クラスターがあります。Aurora DB クラスター用にリージョン内リードレプリカまたはクロスリージョンリードレプリカを作成したり、リージョンを追加したりしたいと考えています。これを行うにはどうすればよいですか?

簡単な説明

Aurora Replicas は、Aurora MySQL DB クラスター内のコンピューティングキャパシティを増加させます。リージョン内の読み取りワークロードの分散 (読み取りスケーリング) に役立ち、フェイルオーバーターゲットとしても機能します。これは、プライマリ DB インスタンスに障害が発生すると、Aurora レプリカがプライマリインスタンスに昇格されることを意味します。

クロスリージョンリードレプリカは、MySQL バイナリログ記録を使用して、データを別のリージョンのクラスターにレプリケートします。これにより、読み取りオペレーションを、ユーザーにより近いセカンダリリージョンにスケールできます。これは、ディザスタリカバリ機能の改善に役立ちます。また、ある AWS リージョンから別の AWS リージョンへの移行もより容易にします。

Amazon Aurora Global Database は、複数の AWS リージョンにまたがることができます。これにより、低レイテンシーでのグローバル読み取りと、AWS リージョン全体に影響する可能性のあるまれな障害からの回復が可能になります。Aurora は、独自のレプリケーションプロトコルと専用インフラストラクチャを使用してデータをセカンダリ AWS リージョンにレプリケートするため、レイテンシーは通常 1 秒未満です。

次のステップを実行して、リージョン内またはクロスリージョンのリードレプリカを作成するか、または Aurora MySQL DB クラスターに新しいリージョンを追加します。

Aurora マネージドバイナリログ記録に加えて、独自のバイナリログ記録のレプリケーション環境を設定および管理できます。この環境では、Aurora はソースまたはターゲットになることができます。

注: これらのステップは、Aurora サーバーレスクラスターまたは Aurora マルチマスタークラスターには適用されません。

解決方法

注: AWS コマンドラインインターフェイス (AWS CLI) のコマンド実行中にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください

Aurora MySQL クラスターのリージョン内リードレプリカを作成する

Amazon RDS コンソールの使用

1.    Amazon RDS コンソールを開き**、**ナビゲーションペインから [データベース] を選択します。

2.    新しい DB インスタンスを追加する DB クラスターを選択します。

3.    [アクション] セクションで、[リーダーの追加] を選択します。

4.    [リーダーの追加] ページで、Aurora レプリカのオプションをカスタマイズします。

5.    [Add reader] (リーダーの追加) を選択してレプリカを作成します。

AWS CLI の使用

AWS CLI を使用して DB クラスターに Aurora レプリカを作成するには、create-db-instance コマンドを実行します。--db-cluster-identifier オプションを使用して、DB クラスターの名前を含めます。availability-zone パラメータ を使用して、Aurora レプリカのアベイラビリティーゾーン (AZ) を指定することもできます。

このサンプルコマンドにより、(同じリージョンにあり、Aurora MySQL 5.7 および Aurora MySQL 8.0 と互換性がある) Aurora MySQL のリードレプリカが作成されます。

Linux、macOS、Unix:

aws rds create-db-instance --db-instance-identifier sample-instance-us-west-2a \
    --db-cluster-identifier sample-cluster --engine aurora-mysql --db-instance-class db.r6g.large \
    --availability-zone us-west-2a

Windows の場合:

aws rds create-db-instance --db-instance-identifier sample-instance-us-west-2a ^
    --db-cluster-identifier sample-cluster --engine aurora-mysql --db-instance-class db.r6g.large ^
    --availability-zone us-west-2a

: Aurora MySQL 5.6 互換クラスターのリードレプリカを作成する場合は、このコマンドで --engine パラメータ--engine aurora に変更します。

Aurora MySQL クラスターのクロスリージョンリードレプリカを作成する

クロスリージョンリードレプリカを作成する前に、ソース Aurora MySQL DB クラスターのためにバイナリログ記録をオンにする必要があります。クロスリージョンレプリケーションは、MySQL バイナリレプリケーションを使用して、クロスリージョンリードレプリカクラスターの変更をリプレイします。その後、Amazon RDS コンソールまたは AWS CLI のいずれかを使用して、クロスリージョンクラスターを作成します。 

: 暗号化されていない Aurora DB クラスターでは、暗号化された Aurora レプリカを作成することはできません。暗号化された Aurora DB クラスターでは、暗号化されていない Aurora レプリカを作成することはできません。

DB クラスターのバイナリログ記録をオンにする

1.    ソース DB クラスターの binlog_format パラメータを更新します。これは、デフォルトのクラスターパラメータグループにあるクラスターレベルのパラメータです。

2.    DB クラスターがデフォルトの DB クラスターパラメータグループを使用する場合は、新しい DB クラスターパラメータグループを作成して binlog_format 設定を変更します。binlog_formatMIXED に設定するのがベストプラクティスです。特定のバイナリログ形式が必要な場合は、binlog_formatROW または STATEMENT に設定することもできます。

3.    変更を有効にするには、Aurora DB クラスターを再起動します。

Amazon RDS コンソールを使用してクロスリージョンクラスターを作成する

1.    Amazon RDS コンソールを開き**、**ソース DB クラスターをホストする AWS リージョンを選択します。

2.    ナビゲーションペインで、[インスタンス] を選択します。

3.    クロスリージョンリードレプリカを作成する DB インスタンスのチェックボックスをオンにします。

4.    [アクション] で、[クロスリージョンのリードレプリカの作成] を選択します。

5.    [Create cross region read replica] (クロスリージョンのリードレプリカの作成) ページで、クロスリージョンリードレプリカ DB クラスターのオプション設定を選択します。

AWS CLI を使用してクロスリージョンクラスターを作成する

AWS CLI を使用してクロスリージョンクラスターを作成するには、まず create-db-cluster 呼び出しを使用してターゲットリージョンにクラスター自体を作成します。その後、create-db-instance 呼び出しを使用して、リーダーインスタンスを作成します。

この例では、Linux、macOS、または Unix を使用して、Aurora MySQL 5.7 および Aurora MySQL 8.0 と互換性があるクロスリージョンレプリカを作成します。

1.    次のようなコマンドを実行して、クラスターを作成します。

aws rds create-db-cluster \
  --db-cluster-identifier sample-replica-cluster \
  --engine aurora-mysql \
  --replication-source-identifier arn:aws:rds:us-west-2:123456789012:cluster:sample-source-cluster

2.    以下のように、クラスターが使用可能かどうかを確認します。

aws rds describe-db-clusters --db-cluster-identifier sample-replica-cluster

3.    クラスターにインスタンスを作成します:

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

Windows で CLI を使用して同じものを作成するには、同じステップを使用します。ただし、**** の代わりに ^ 記号を行の区切り文字として使用します。

Aurora がプロビジョニングしたクラスターに AWS リージョンを追加して、Aurora Global Database を作成する

Amazon RDS コンソールの使用

1.Amazon RDS コンソールを開きます。

2.ナビゲーションペインで、[Databases] (データベース) を選択します。

  1. セカンダリ Aurora DB クラスターを必要とする Aurora グローバルデータベースを選択します。プライマリ Aurora DB クラスターのステータスが [Available] (使用可能) になっているようにします。

4.[Actions] (アクション) から [Add region] (リージョンを追加) を選択します。

5.追加する AWS リージョンを選択します。 

注: 同じ Aurora グローバルデータベース用のセカンダリ Aurora DB クラスターを既に持っている AWS リージョンを選択することはできません。また、プライマリ Aurora DB クラスターのリージョンと同じ AWS リージョンを選択することもできません。 

6.新しい AWS リージョンのセカンダリ Aurora クラスターの残りのフィールドに入力します。その後、[Add region] (リージョンを追加) を選択します。 

AWS CLI の使用

AWS CLI で次のスクリプトを実行します。

: Windows を使用している場合、\ 行区切り文字を ^ 記号に置き換えてください。

aws rds --region us-east-2 \
  create-db-cluster \
    --db-cluster-identifier secondary_cluster_id \
    --global-cluster-identifier global_database_id \
    --engine aurora-mysql \
    --engine-version version

aws rds --region us-east-2 \
  create-db-instance \
    --db-instance-class db.r6g.large \
    --db-cluster-identifier secondary_cluster_id \
    --db-instance-identifier db_instance_id \
    --engine aurora-mysql

関連情報

Aurora レプリカを DB クラスターに追加する

AWS リージョン間で Amazon Aurora MySQL DB クラスターをレプリケートする

AWS公式
AWS公式更新しました 3年前
コメントはありません