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

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

シングルマスターレプリケーションを使用する Aurora DB クラスターには、1 つのプライマリ DB インスタンスと、最大 15 の Aurora レプリカがあります。プライマリ DB インスタンスは読み書きオペレーションをサポートし、クラスターボリュームに対するすべてのデータ変更を実行します。Aurora レプリカは、プライマリ DB インスタンスと同じストレージボリュームに接続しますが、読み取りオペレーションのみサポートしています。Aurora レプリカを使用して、プライマリ DB インスタンスから読み取りワークロードをオフロードします。詳細については、「Aurora レプリカ」を参照してください。

Amazon Aurora では、RDS DB インスタンスなどの外部データベースとのレプリケーションもサポートします。RDS DB インスタンスは、AWS と同じ Amazon Aurora リージョンにある必要があります。詳細については、「Amazon Aurora でのレプリケーション」を参照してください。

Amazon Aurora レプリカには以下の制限事項があります。

  • Aurora Serverless v1 DB クラスターの Aurora レプリカを作成することはできません。Aurora Serverless v1 には、データベースのすべてんp読み込みおよび書き込みオペレーションをサポートするために、自動的にスケールアップおよびスケールダウンする単一の DB インスタンスがあります。

  • Aurora マルチマスタークラスターの Aurora レプリカを作成することはできません。仕様上、Aurora マルチマスタークラスターには、読み取り/書き込み DB インスタンスのみがあります。

  • Aurora PostgreSQL – ベースの DB クラスターは、Aurora レプリカを 1 つだけ持つことができます。すでに Aurora レプリカを持つ Aurora PostgreSQL DBクラスターの Aurora レプリカを作成しようとすると、Aurora によってリクエストが拒否されます。詳細については、「Amazon Aurora PostgreSQL でのレプリケーション」を参照してください。

  • Aurora PostgreSQL – ベースの DB クラスターは、異なる AWS リージョンで Aurora レプリカを持つことはできません。つまり、Aurora PostgreSQL はクロスリージョン Aurora レプリカをサポートしていません。Aurora PostgreSQL – ベースの DB クラスターの読み取りを 1 つ以上のリージョンにスケールするには、Aurora グローバルデータベースを使用します。Aurora グローバルデータベースは、1 つのリージョンのプライマリ Aurora DB クラスターをサポートし、5 つの異なる AWS リージョンで最大 5 つの読み取り専用セカンダリ Aurora DB クラスターを使用できます。詳細については、「Amazon Aurora グローバルデータベースの使用」を参照してください。

Aurora DB クラスターのプライマリインスタンスと Aurora レプリカを複数のアベイラビリティーゾーンに分散させて、DB クラスターの可用性を改善することをお勧めします。詳細については、「利用可能なリージョン」を参照してください。

Aurora レプリカを Aurora DB クラスターから削除するには、「Aurora DB クラスターからの DB インスタンスの削除」の手順に従って、Aurora レプリカ DB インスタンスを削除します。

Aurora レプリカを DB クラスターに追加するには、AWS マネジメントコンソール、AWS CLI、または RDS API を使用します。

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

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

  2. ナビゲーションペインで、[データベース] を選択し、新しい DB インスタンスを追加する DB クラスターを選択します。

  3. クラスターとプライマリインスタンスの両方が [使用可能] 状態であることを確認します。DB クラスターまたはプライマリインスタンスが [作成中] などの移行状態にある場合、レプリカを追加することはできません。

    クラスターにプライマリインスタンスがない場合は、create-db-instance AWS CLI コマンドを使用してプライマリインスタンスを作成します。この状況は、CLI を使用して DB クラスタースナップショットを復元し、AWS マネジメントコンソール でクラスターを表示した場合に発生する可能性があります。

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

    [リーダーの追加] ページが表示されます。

  5. [リーダーの追加] ページで、Aurora レプリカのオプションを指定します。次の表は、Aurora レプリカの設定を示しています。

    使用するオプション 操作

    アベイラビリティーゾーン

    特定のアベイラビリティーゾーンを指定するかどうかを指定します。リストには、先に指定した DB サブネットグループによってマッピングされたアベイラビリティーゾーンのみが含まれます。利用可能ゾーンについての詳細は、 リージョンとアベイラビリティーゾーン を参照してください。

    パブリックアクセス可能

    Aurora レプリカにパブリック IP アドレスを割り当てるには [Yes] を選択します。それ以外の場合は [No] を選択します。Aurora レプリカをパブリックアクセスから隠す方法については、「VPC 内の DB インスタンスをインターネットから隠す」を参照してください。

    暗号化

    この Aurora レプリカを保管時に暗号化できるように、[Enable encryption] を選択します。詳細については、「Amazon Aurora リソースの暗号化」を参照してください。

    DB インスタンスクラス

    Aurora レプリカの処理要件やメモリ要件を定義する DB インスタンスクラスを選択します。DB インスタンスクラスのオプションについては、「DB インスタンスクラス」を参照してください。

    Aurora レプリカのソース

    Aurora レプリカを作成するプライマリインスタンスの識別子を選択します。

    DB インスタンス識別子

    インスタンス名を入力します。選択した AWS リージョン内で、自分のアカウントに対して一意であることが必要です。名前には、選択した AWS リージョンと DB エンジンなどを含めると理解しやすくなります (aurora-read-instance1 など)。

    優先度

    インスタンスのフェイルオーバー優先度を選択します。値を選択しない場合、デフォルト値は tier-1 になります。この優先度により、プライマリインスタンスの障害からの復旧時に、Aurora レプリカを昇格する順序が決まります。詳細については、「Aurora DB クラスターの耐障害性」を参照してください。

    データベースポート

    Aurora レプリカのポートは、DB クラスターのポートと同じです。

    DB パラメータグループ

    パラメータグループを選択します。Aurora にはデフォルトのパラメータグループが用意されています。また、独自のパラメータグループを作成することもできます。パラメータグループの詳細については、「DB パラメータグループおよび DB クラスターパラメータグループを使用する」を参照してください。

    Enhanced monitoring

    DB クラスターが実行されているオペレーティングシステムに対してリアルタイムでのメトリクスの収集を有効にするには、[Enable enhanced monitoring] を選択します。詳細については、「拡張モニタリングの使用」を参照してください。

    モニタリングロール

    [Enhanced Monitoring] が [Enable enhanced monitoring] に設定されている場合にのみ使用できます。Amazon CloudWatch Logs との通信を Amazon RDS に許可するために作成した IAM ロールを選択するか、[デフォルト] を選択して、RDS によって rds-monitoring-role という名前のロールが作成されるようにします。詳細については、「拡張モニタリングの使用」を参照してください。

    詳細度

    [Enhanced Monitoring] が [Enable enhanced monitoring] に設定されている場合にのみ使用できます。DB クラスターのメトリクスを収集する間隔を秒単位で設定します。

    Auto minor version upgrade

    Aurora DB クラスターに DB エンジンのマイナーバージョンアップグレードがリリースと同時に自動的に適用されるようにする場合は、[Enable auto minor version upgrade (マイナーバージョン自動アップグレードの有効化)] を選択します。

    [マイナーバージョン自動アップグレード] の設定は Aurora PostgreSQL および Aurora MySQL DB クラスターの両方に適用されます。Aurora MySQL 1.x および 2.x クラスターの場合、この設定により、クラスターは最大でバージョン 1.22.2 および 2.07.2 にアップグレードされます。

    Aurora PostgreSQL のエンジンに関する更新の詳細については、「Amazon Aurora PostgreSQL のデータベースエンジンの更新 」を参照してください。

    Aurora MySQL のエンジンに関する更新の詳細については、「Amazon Aurora MySQL のデータベースエンジンの更新」を参照してください。

  6. [リーダーの追加] を選択して、Aurora レプリカを作成します。

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

たとえば、次のコマンドは sample-instance-us-west-2a という名前の新しい MySQL 5.7 互換 Aurora レプリカを作成します。

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.r4.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.r4.large ^ --availability-zone us-west-2a

次のコマンドは sample-instance-us-west-2a という名前の新しい MySQL 5.6 互換 Aurora レプリカを作成します。

Linux、macOS、Unix の場合:

aws rds create-db-instance --db-instance-identifier sample-instance-us-west-2a \ --db-cluster-identifier sample-cluster --engine aurora --db-instance-class db.r4.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 --db-instance-class db.r4.large ^ --availability-zone us-west-2a

次のコマンドは sample-instance-us-west-2a という名前の新しい PostgreSQL 互換 Aurora レプリカを作成します。

Linux、macOS、Unix の場合:

aws rds create-db-instance --db-instance-identifier sample-instance-us-west-2a \ --db-cluster-identifier sample-cluster --engine aurora-postgresql --db-instance-class db.r4.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-postgresql --db-instance-class db.r4.large ^ --availability-zone us-west-2a

DB クラスターに Aurora レプリカを作成するには、CreateDBInstance オペレーションを呼び出します。DBClusterIdentifier パラメータとして DB クラスターの名前を含めます。オプションで、AvailabilityZone パラメータを使用して Aurora レプリカのアベイラビリティーゾーンを指定できます。