Amazon Aurora Global Database のスタート方法 - Amazon Aurora

Amazon Aurora Global Database のスタート方法

Aurora Global Database の使用をスタートするには、まず、使用する Aurora DB エンジンと AWS リージョン を決定します。Aurora Global Database をサポートしているのは、特定の AWS リージョン にある Aurora MySQL と Aurora PostgreSQL のデータベースエンジンの、特定のバージョンのみです。完全なリストについては、「Aurora Global Database 」を参照してください。

Aurora Global Database は、次のいずれかの方法で作成できます。

  • 新しい Aurora DB クラスターと Aurora DB インスタンスを使用して新しい Aurora Global Database を作成する - これを行うには、Amazon Aurora Global Database の作成 のステップとおりに進めてください。プライマリ Aurora DB クラスターを作成した後、「AWS リージョン の Amazon Aurora Global Database への追加」の手順に従ってセカンダリ AWS リージョン を追加します。

  • Aurora Global Database 機能をサポートする既存の Aurora DB クラスターを使用し、それに AWS リージョン を追加する – この操作は、既存の Aurora DB クラスターが Aurora グローバルモードをサポートする DB エンジンバージョンを使用しているか、グローバル互換性がある場合にのみ実行できます。DB エンジンのバージョンの中には、このモードが明確であるものと、そうでないものがあります。

    Aurora DB クラスターを選択した際に、AWS Management Console 上の [アクション] で [リージョンを追加] を選択できるかどうかを確認します。可能であれば、その Aurora DB クラスターを Aurora グローバルクラスターに使用できます。詳細については、「AWS リージョン の Amazon Aurora Global Database への追加」を参照してください。

Aurora Global Database を作成する前に、すべての構成要件を把握しておくことを推奨します。

Amazon Aurora Global Database の構成要件

Aurora Global Database は、2 つ以上の AWS リージョン にまたがり配置されます。プライマリ AWS リージョン は、1 つの書き込み Aurora DB インスタンスを持つ Aurora DB クラスターをサポートします。セカンダリ AWS リージョン は、Aurora レプリカ全体で構成される、読み取り専用の Aurora DB クラスターを実行します。セカンダリ AWS リージョン は最低 1 つが必要で、また、Aurora Global Database では、セカンダリ AWS リージョン を最大 5 つ持つことができます。この表は、Aurora Global Database で許容されている Aurora DB クラスター、Aurora DB インスタンス、Aurora レプリカの最大数をリスト化したものです。

説明 プライマリ AWS リージョン セカンダリ AWS リージョン

Aurora DB クラスター

1

5 (最大)

ライターインスタンス

1

0

読み取り専用インスタンス (Aurora レプリカ)、Aurora DB クラスターあたり

15 (最大数)

16 (総数)

読み取り専用インスタンス (最大許容数、指定されたセカンダリリージョンの実数)

15 - s

s = セカンダリ AWS リージョン の総数

Aurora Global Database を構成している Aurora DB クラスターには、以下の固有の要件があります。

  • DB インスタンスクラスの要件-Aurora Global Database には、メモリを大量に消費するアプリケーションに最適化された DB インスタンスクラスが必要です。メモリ最適化 DB インスタンスクラスの詳細については、DB インスタンスクラスを参照してください。db.r5 以上のインスタンスクラスを使用することを推奨します。

  • AWS リージョン の要件 – Aurora Global Database には、1 つの AWS リージョン に置かれた 1 つのプライマリ Aurora DB クラスターと、別のリージョンに置かれた 1 つ以上のセカンダリ Aurora DB クラスターが必要です。セカンダリ (読み取り専用) Aurora DB クラスターは最大 5 つ作成できます。それぞれが異なるリージョンに存在していなければなりません。つまり、Aurora Global Database にある 2 つの Aurora DB クラスターを、同じ AWS リージョン 内に置くことはできません。

  • 命名の要件 – それぞれの Aurora DB クラスター用に選択する名前は、すべての AWS リージョン において一意でなければなりません。異なる Aurora DB クラスターに、たとえそれらが別のリージョンに置かれていたとしても、同じ名前を付けることはできません。

  • Aurora Serverless v2 の容量要件 — Aurora Serverless v2 のグローバルデータベースの場合、プライマリ AWS リージョン の DB クラスターに必要な最小容量は 8 ACU です。

このセクションの手順を実行するには、AWS アカウント が必要です。Amazon Aurora で作業を行うためのセットアップタスクを完了してください。詳細については、「Amazon Aurora の環境をセットアップする」を参照してください。Aurora DB クラスターを作成するための他の準備ステップも完了する必要があります。詳細については、「Amazon Aurora DB クラスターの作成」を参照してください。

Amazon Aurora Global Database の作成

場合によっては、グローバル互換性がある Aurora データベースエンジンを実行している既存の Aurora プロビジョニングされた DB クラスターがある場合があります。その場合は、そこに別の AWS リージョン を追加して、Aurora Global Database を作成できます。これを行うには、「AWS リージョン の Amazon Aurora Global Database への追加」を参照してください。

Aurora Global Database は、AWS Management Console、AWS CLI、または RDS API を使用し、次のステップに従って作成します。

Aurora Global Database 作成の最初のステップは、Aurora グローバルデータベース機能をサポートしている AWS リージョン へのサインインです。詳細な一覧については、「Aurora Global Database 」を参照してください。

以下のステップの一環として、Aurora DB クラスターの Amazon VPC に基づいて Virtual Private Cloud (VPC) を選択します。独自の VPC を使用するには、事前に作成して、選択できるようにすることをお勧めします。同時に、関連するサブネットを作成し、必要に応じてサブネットグループとセキュリティグループを作成します。詳細については、「チュートリアル: DB インスタンス用の Amazon VPC を作成する」を参照してください。

Aurora DB クラスターの作成に関する全般情報については、「Amazon Aurora DB クラスターの作成」を参照してください。

Aurora Global Database を作成するには
  1. AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. [データベースの作成] を選択します。[Create database (データベースの作成)] ページで、次の操作を行います。

    • データベースの作成方法として、[Standard create (スタンダード作成)] を選択します。([簡易作成] を選択しないでください)。

    • [エンジンオプション] セクションの Engine type で、該当するエンジンタイプとして、[Aurora (MySQL 互換)] または [Aurora (PostgreSQL 互換)] を選択します。

  3. 引き続き、以下の手順のステップを使用して、Aurora グローバルデータベースを作成します。

Aurora MySQL を使用するグローバルデータベースの作成

以下のステップは、Aurora MySQL のすべてのバージョンに適用されます。

Aurora MySQL を使用して Aurora グローバルデータベースを作成するには

[データベースの作成] ページ二記入します。

  1. [Engine options (エンジンオプション)] で、以下の項目を選択します。

    1. [Show filters] (フィルターの表示) を展開し、[Show versions that support the global database feature] (グローバルデータベース機能をサポートするバージョンを表示する) をオンにします。

    2. [Engine version] (エンジンバージョン) では、Aurora Global Database に使用する Aurora MySQL のバージョンを選択します。

      
                        Aurora MySQL DB クラスター (Aurora グローバルデータベースの初期フェーズ) 作成時のエンジンタイプ、エンジンバージョン、バージョンの選択のスクリーンショット。
  2. [テンプレート] では、[本番稼働] を選択します。あるいは、ユースケースに適していれば [Dev/Test (開発/テスト)] を選択することもできます。本番稼働環境では、開発/テストを使用しないでください。

  3. [設定] では、以下の操作を行います。

    1. DB クラスター識別子にわかりやすい名前を入力します。Aurora Global Database の作成が完了すると、プライマリ DB クラスターはこの名前で識別されます。

    2. DB インスタンスの admin ユーザーアカウント用に独自のパスワードを入力します。あるいは Aurora で生成します。[autogenerate a password (パスワードの自動生成)] をクリックすると、パスワードをコピーするためのオプションが表示されます。

      
                グローバルデータベースを作成する際の [設定] の選択項目のスクリーンショット。
  4. [DB instance class (DB インスタンスクラス)] で、db.r5.large または別のメモリ最適化 DB インスタンスクラスを選択します。db.r5 以上のインスタンスクラスを使用することを推奨します。

    
                DB インスタンスクラスのスクリーンショット。
  5. [Availability & durability (可用性と耐久性の高い)] では、Aurora に、Aurora レプリカを異なるアベイラビリティーゾーン (AZ) に作成させるように、選択することを推奨します。Aurora レプリカをすぐに作成しないときは、後で作成する必要があります。

    
                可用性と耐久性の高いのスクリーンショット。
  6. [接続] では、この DB インスタンスの仮想ネットワーク環境を定義している Amazon VPC に基づいた、Virtual Private Cloud (VPC) を選択します。デフォルトを選択するとこのタスクを簡略化できます。

  7. [Database authentication (データベース認証)] の設定を完了します。このプロセスを簡略化するには、今すぐに [Password authentication (パスワード認証)] を選択して、AWS Identity and Access Management (IAM) のセットアップは後で行います。

  8. [追加設定] では、以下の操作を行います。

    1. [初期のデータベース名] に名前を入力して、このクラスターのプライマリ Aurora DB インスタンスを作成します。これは、Aurora プライマリ DB クラスターの書き込みノードです。

      使用するカスタムパラメータグループが既にある場合を除いて、DB クラスターパラメータグループおよび DB パラメータグループは、デフォルトを選択したままにします。

    2. [Backtrack を有効にする] チェックボックスがオンになっている場合、そのチェックボックスをオフにします。Aurora Global Database は Backtrack をサポートしていません。[Additional configuration (追加構成)] では、その他デフォルトの設定を受け入れて構いません。

  9. [データベースの作成] を選択します。

    Aurora が Aurora DB インスタンス、Aurora レプリカ、Aurora DB クラスターの作成プロセスを完了するまで、数分かかることがあります。Aurora DB クラスターが Aurora Global Database のプライマリ DB クラスターとして使用できる状態であるかは、ステータスによって確認できます。その場合は、次に示すように、ライターノードとレプリカノードの状態が [Available (使用可能)] になります。

    
                    Auroraグローバルデータベースで利用できる Aurora DB クラスターがある、データベースのスクリーンショット。

プライマリ DB クラスターが利用可能になったら、セカンダリクラスターを追加して Aurora Global Database を作成します。確認するには、「AWS リージョン の Amazon Aurora Global Database への追加」のステップに従います。

Aurora PostgreSQL を使用するグローバルデータベースの作成

Aurora PostgreSQL を使用して Aurora グローバルデータベースを作成するには

[データベースの作成] ページ二記入します。

  1. [Engine options (エンジンオプション)] で、以下の項目を選択します。

    1. [Show filters] (フィルターの表示) を展開し、[Show versions that support the global database feature] (グローバルデータベース機能をサポートするバージョンを表示する) をオンにします。

    2. [Engine version] (エンジンバージョン) では、Aurora Global Database に使用する Aurora PostgreSQL のバージョンを選択します。

      
                        Aurora PostgreSQL DB クラスター (Aurora グローバルデータベースの初期フェーズ) 作成時のエンジンタイプ、エンジンバージョン、バージョンの選択のスクリーンショット。
  2. [テンプレート] では、[本番稼働] を選択します。または、必要に応じて [Dev/Test (開発/テスト)] を選択することもできます。本番稼働環境では、開発/テストを使用しないでください。

  3. [設定] では、以下の操作を行います。

    1. DB クラスター識別子にわかりやすい名前を入力します。Aurora Global Database の作成が完了すると、プライマリ DB クラスターはこの名前で識別されます。

    2. DB クラスターのデフォルト管理アカウント用に自分のパスワードを入力します。あるいは Aurora で生成します。[パスワードの自動生成] を選択すると、パスワードをコピーするオプションが表示されます。

      
                  グローバルデータベースを作成する際の [設定] の選択項目のスクリーンショット。
  4. [DB instance class (DB インスタンスクラス)] で、db.r5.large または別のメモリ最適化 DB インスタンスクラスを選択します。db.r5 以上のインスタンスクラスを使用することを推奨します。

    
                    DB インスタンスクラスのスクリーンショット。
  5. [可用性と耐久性の高い] では、Aurora に、Aurora レプリカを異なる AZ に作成させるように、選択することを推奨します。Aurora レプリカをすぐに作成しないときは、後で作成する必要があります。

  6. [接続] では、この DB インスタンスの仮想ネットワーク環境を定義している Amazon VPC に基づいた、Virtual Private Cloud (VPC) を選択します。デフォルトを選択するとこのタスクを簡略化できます。

  7. (オプション) [Database authentication] (データベース認証) の設定を完了します。パスワード認証は常に有効になっています。プロセスを簡略化するために、このセクションをスキップして、IAM パスワードと Kerberos 認証のセットアップを後で行うことができます。

  8. [追加設定] では、以下の操作を行います。

    1. [初期のデータベース名] に名前を入力して、このクラスターのプライマリ Aurora DB インスタンスを作成します。これは、Aurora プライマリ DB クラスターの書き込みノードです。

      使用するカスタムパラメータグループが既にある場合を除いて、DB クラスターパラメータグループおよび DB パラメータグループは、デフォルトを選択したままにします。

    2. [Additional configuration] (追加設定) では、暗号化、ログのエクスポートなどのすべてで、デフォルトの設定を受け入れることができます。

  9. [データベースの作成] を選択します。

    Aurora が Aurora DB インスタンス、Aurora レプリカ、Aurora DB クラスターの作成プロセスを完了するまで、数分かかることがあります。クラスターを使用する準備が整うと、Aurora DB クラスターと、書き込みおよびレプリカのノードは、すべて [Available] (利用可能) ステータスで表示されます。セカンダリを追加すると、これは Aurora Global Database のプライマリ DB クラスターになります。

    
                    Auroraグローバルデータベースで利用できる Aurora DB クラスターがある、データベースのスクリーンショット。

プライマリ DB クラスターが作成されて利用可能になったら、「AWS リージョン の Amazon Aurora Global Database への追加」のステップに従ってセカンダリクラスターを 1 つまたは複数作成します。

次の手順の AWS CLI コマンドで、次のタスクを実行します。

  1. Aurora Global Database を作成し、名前を指定して、使用する Aurora データベースエンジンのタイプを指定します。

  2. Aurora Global Database の Aurora DB クラスターを作成します。

  3. クラスターの Aurora DB インスタンスを作成します。これは、グローバルデータベースのプライマリ Aurora DB クラスターです。

  4. Aurora DB クラスターのセカンダリ DB インスタンスを作成します。これは、Aurora DB クラスターを完了するためのリーダーです。

  5. 別のリージョンにセカンダリ Aurora DB クラスターを作成し、「AWS リージョン の Amazon Aurora Global Database への追加」のステップに従って Aurora Global Database に追加します。

Aurora データベースエンジンの手順に従います。

Aurora MySQL を使用するグローバルデータベースの作成

Aurora MySQL を使用して Aurora グローバルデータベースを作成するには
  1. create-global-cluster CLI コマンドを使用して、AWS リージョン の名前、Aurora データベースエンジン、バージョンを渡します。

    Linux、macOS、Unix の場合:

    aws rds create-global-cluster --region primary_region \ --global-cluster-identifier global_database_id \ --engine aurora-mysql \ --engine-version version # optional

    Windows の場合:

    aws rds create-global-cluster ^ --global-cluster-identifier global_database_id ^ --engine aurora-mysql ^ --engine-version version # optional

    これにより、名前 (識別子) と Aurora データベースエンジンだけの、「空の」Aurora Global Database が作成されます。Aurora Global Database が利用できるようになるまで、数分かかります。次のステップに進む前に、describe-global-clusters CLI コマンドを使用して利用可能かどうかを確認します。

    aws rds describe-global-clusters --region primary_region --global-cluster-identifier global_database_id

    Aurora Global Database が利用可能になったら、プライマリ Aurora DB クラスターを作成できます。

  2. プライマリ Aurora DB クラスターを作成するときは、create-db-cluster CLI コマンドを使用します。--global-cluster-identifier パラメータを使用して、Aurora Global Database の名前を加えます。

    Linux、macOS、Unix の場合:

    aws rds create-db-cluster \ --region primary_region \ --db-cluster-identifier primary_db_cluster_id \ --master-username userid \ --master-user-password password \ --engine aurora-mysql \ --engine-version version \ --global-cluster-identifier global_database_id

    Windows の場合:

    aws rds create-db-cluster ^ --region primary_region ^ --db-cluster-identifier primary_db_cluster_id ^ --master-username userid ^ --master-user-password password ^ --engine aurora-mysql ^ --engine-version version ^ --global-cluster-identifier global_database_id

    AWS CLI コマンドの describe-db-clusters を使用して、Aurora DB クラスターの準備が整ったことを確認します。特定の Aurora DB クラスターを選ぶときは、--db-cluster-identifier パラメータを使用します。あるいは、Aurora DB クラスターの名前をコマンドで除外すると、指定されたリージョンにあるすべての Aurora DB クラスターの詳細を取得できます。

    aws rds describe-db-clusters --region primary_region --db-cluster-identifier primary_db_cluster_id

    レスポンスがクラスターに対して "Status": "available" と表示されたら利用できます。

  3. プライマリ Aurora DB クラスターに DB インスタンスを作成します。これを行うには、create-db-instance CLI コマンドを使用します。コマンドに Aurora DB クラスターの名前を指定し、インスタンスの設定の詳細を指定します。コマンドは --master-username--master-user-password のパラメータを Aurora DB クラスターから取得するので、それらをコマンドに渡す必要はありません。

    --db-instance-class では、db.r5.large などの、メモリ最適化クラスのもののみを使用できます。db.r5 以上のインスタンスクラスを使用することを推奨します。クラスの詳細については、DB インスタンスクラスを参照してください。

    Linux、macOS、Unix の場合:

    aws rds create-db-instance \ --db-cluster-identifier primary_db_cluster_id \ --db-instance-class instance_class \ --db-instance-identifier db_instance_id \ --engine aurora-mysql \ --engine-version version \ --region primary_region

    Windows の場合:

    aws rds create-db-instance ^ --db-cluster-identifier primary_db_cluster_id ^ --db-instance-class instance_class ^ --db-instance-identifier db_instance_id ^ --engine aurora-mysql ^ --engine-version version ^ --region primary_region

    create-db-instance オペレーションが完了するまで時間がかかる場合があります。次に進む前に、ステータスをチェックして Aurora DB インスタンスが利用可能かどうかを確認します。

    aws rds describe-db-clusters --db-cluster-identifier primary_db_cluster_id

    コマンドが「利用可能」のステータスを返したら、プライマリ DB クラスターに新たな Aurora DB インスタンスを作成できます。これは、Aurora DB クラスターのリーダーインスタンス (Aurora レプリカ) です。

  4. クラスターに別の Aurora DB インスタンスを作成するときは、create-db-instance CLI コマンドを使用します。

    Linux、macOS、Unix の場合:

    aws rds create-db-instance \ --db-cluster-identifier primary_db_cluster_id \ --db-instance-class instance_class \ --db-instance-identifier replica_db_instance_id \ --engine aurora-mysql

    Windows の場合:

    aws rds create-db-instance ^ --db-cluster-identifier primary_db_cluster_id ^ --db-instance-class instance_class ^ --db-instance-identifier replica_db_instance_id ^ --engine aurora-mysql

DB インスタンスが利用可能になると、書き込みノードからレプリカへのレプリケーションがスタートされます。次に進む前に、DB インスタンスが利用可能かどうかを describe-db-instances CLI コマンドを使用して確認します。

この時点で、書き込み DB インスタンスと Aurora レプリカを含むプライマリ Aurora DB クラスターを備えた、Aurora Global Database があります。ここで別のリージョンに読み取り専用の Aurora DB クラスターを追加し、Aurora Global Database を完成させます。これを行うには、「AWS リージョン の Amazon Aurora Global Database への追加」のステップに従います。

Aurora PostgreSQL を使用するグローバルデータベースの作成

次のコマンドを使用して Aurora Global Database の Aurora オブジェクトを作成する場合、各データベースが使用可能になるまでに数分かかる場合があります。任意のコマンドを完了した後、特定の Aurora オブジェクトのステータスをチェックして、ステータスが使用可能であることを確認します。

これを行うには、describe-global-clusters CLI コマンドを使用します。

aws rds describe-global-clusters --region primary_region --global-cluster-identifier global_database_id
Aurora PostgreSQL を使用して Aurora Global Database を作成するには
  1. create-global-cluster CLI コマンドを使用します。

    Linux、macOS、Unix の場合:

    aws rds create-global-cluster --region primary_region \ --global-cluster-identifier global_database_id \ --engine aurora-postgresql \ --engine-version version # optional

    Windows の場合:

    aws rds create-global-cluster ^ --global-cluster-identifier global_database_id ^ --engine aurora-postgresql ^ --engine-version version # optional

    Aurora Global Database が利用可能になったら、プライマリ Aurora DB クラスターを作成できます。

  2. プライマリ Aurora DB クラスターを作成するときは、create-db-cluster CLI コマンドを使用します。--global-cluster-identifier パラメータを使用して、Aurora Global Database の名前を加えます。

    Linux、macOS、Unix の場合:

    aws rds create-db-cluster \ --region primary_region \ --db-cluster-identifier primary_db_cluster_id \ --master-username userid \ --master-user-password password \ --engine aurora-postgresql \ --engine-version version \ --global-cluster-identifier global_database_id

    Windows の場合:

    aws rds create-db-cluster ^ --region primary_region ^ --db-cluster-identifier primary_db_cluster_id ^ --master-username userid ^ --master-user-password password ^ --engine aurora-postgresql ^ --engine-version version ^ --global-cluster-identifier global_database_id

    Aurora DB クラスターの準備が整っていることを確認します。以下のコマンドからのレスポンスが Aurora DB クラスターに対して "Status": "available" と表示されたら、次へ進めます。

    aws rds describe-db-clusters --region primary_region --db-cluster-identifier primary_db_cluster_id
  3. プライマリ Aurora DB クラスターに DB インスタンスを作成します。これを行うには、create-db-instance CLI コマンドを使用します。

    Aurora DB クラスターの名前を --db-cluster-identifier パラメータに渡します。

    コマンドは --master-username--master-user-password のパラメータを Aurora DB クラスターから取得するので、それらをコマンドに渡す必要はありません。

    --db-instance-class では、db.r5.large などの、メモリ最適化クラスのもののみを使用できます。db.r5 以上のインスタンスクラスを使用することを推奨します。クラスの詳細については、DB インスタンスクラスを参照してください。

    Linux、macOS、Unix の場合:

    aws rds create-db-instance \ --db-cluster-identifier primary_db_cluster_id \ --db-instance-class instance_class \ --db-instance-identifier db_instance_id \ --engine aurora-postgresql \ --engine-version version \ --region primary_region

    Windows の場合:

    aws rds create-db-instance ^ --db-cluster-identifier primary_db_cluster_id ^ --db-instance-class instance_class ^ --db-instance-identifier db_instance_id ^ --engine aurora-postgresql ^ --engine-version version ^ --region primary_region
  4. 次に進む前に、Aurora DB インスタンスのステータスを確認します。

    aws rds describe-db-clusters --db-cluster-identifier primary_db_cluster_id

    レスポンスで、Aurora DB インスタンスのステータスが「利用可能」と表示されていたら、プライマリ DB クラスターに新たな Aurora DB インスタンスを作成できます。

  5. Aurora DB クラスターの Aurora レプリカを作成するときは、create-db-instance CLI コマンドを使用します。

    Linux、macOS、Unix の場合:

    aws rds create-db-instance \ --db-cluster-identifier primary_db_cluster_id \ --db-instance-class instance_class \ --db-instance-identifier replica_db_instance_id \ --engine aurora-postgresql

    Windows の場合:

    aws rds create-db-instance ^ --db-cluster-identifier primary_db_cluster_id ^ --db-instance-class instance_class ^ --db-instance-identifier replica_db_instance_id ^ --engine aurora-postgresql

DB インスタンスが利用可能になると、書き込みノードからレプリカへのレプリケーションがスタートされます。次に進む前に、DB インスタンスが利用可能かどうかを describe-db-instances CLI コマンドを使用して確認します。

Aurora Global Database がありますが、その中にあるのは、書き込み DB インスタンスと Aurora レプリカで構成された Aurora DB クラスターを持つ、プライマリリージョンのみです。ここで別のリージョンに読み取り専用の Aurora DB クラスターを追加し、Aurora Global Database を完成させます。これを行うには、「AWS リージョン の Amazon Aurora Global Database への追加」のステップに従います。

RDS API を使用して Aurora Global Database を作成するには、CreateGlobalCluster オペレーションを実行します。

AWS リージョン の Amazon Aurora Global Database への追加

Aurora Global Database には、プライマリ Aurora DB クラスターとは異なる AWS リージョン に 1 つ以上のセカンダリ Aurora DB クラスターが必要です。Aurora Global Database には、最大 5 つのセカンダリ DB クラスターをアタッチできます。Aurora Global Database に追加する各セカンダリ DB クラスターで、プライマリ DB クラスターに許容された Aurora レプリカの数を、1 つずつ減らします。

例えば、Aurora Global Database に 5 つのセカンダリリージョンがある場合、プライマリ DB クラスターが持てる Aurora レプリカの数は 15 ではなく 10 です。詳細については、「Amazon Aurora Global Database の構成要件」を参照してください。

プライマリ DB クラスター内の Aurora レプリカ (リーダーインスタンス) の数によって、追加できるセカンダリ DB クラスターの数が決まります。プライマリクラスターのリーダーインスタンスの数に、セカンダリクラスターの数を加えた合計が 15 を超えることはできません。例えば、プライマリクラスターにリーダーインスタンスが 14 あり、セカンダリクラスターが 1 つある場合、グローバルデータベースにこれ以上セカンダリクラスターを追加できません。

注記

Aurora MySQL バージョン 3 では、セカンダリクラスターを作成するときに、lower_case_table_names の値がプライマリクラスターの値と一致していることを確認します。この設定は、サーバーが識別子の大文字と小文字の区別を処理する方法に影響するデータベースパラメータです。データベースパラメータの詳細については、「「パラメータグループを使用する」 」を参照してください。

セカンダリクラスターを作成する際は、プライマリとセカンダリで同じ DB エンジンのバージョンを使用することをお勧めします。必要に応じて、プライマリをセカンダリと同じバージョンにアップグレードします。詳細については、「マネージドクロスリージョンスイッチオーバーまたはフェイルオーバーに対するパッチレベルの互換性」を参照してください。

Aurora Global Database に AWS リージョン を追加するには
  1. AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

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

  3. セカンダリ Aurora DB クラスターを必要とする Aurora Global Database を選択します。プライマリ Aurora DB クラスターが Available であることを確認します。

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

    
                [アクション] メニューで [リージョンの追加] が選択された、プロビジョンド DB クラスターのスクリーンショット。
  5. [Add a region] (リージョンの追加) ページで、セカンダリ AWS リージョン を選択します。

    同じ Aurora Global Database では、既にセカンダリ Aurora DB クラスターが存在する AWS リージョン を選択することはできません。また、プライマリ Aurora DB クラスターと同じリージョンにすることはできません。

    
                  Aurora グローバルデータベースの [リージョンの追加] ページ。
  6. 新しい AWS リージョンのセカンダリ Aurora クラスターの残りのフィールドに入力してください。これらは、Aurora DB クラスターインスタンスと同じ設定オプションですが、以下のオプションは Aurora MySQL - ベースの Aurora Global Database にのみ適用されます。

    • リードレプリカの書き込み転送を有効にする - このオプションの設定では、Aurora Global Database のセカンダリ DB クラスターが書き込み操作をプライマリクラスターに転送します。詳細については、「Amazon Aurora Global Database の書き込み転送を使用する」を参照してください。

      
                    セカンダリクラスターが Aurora Global Database に追加されたことを示すスクリーンショット。
  7. [リージョンの追加] を選択します。

Aurora Global Database にリージョンを追加すると、スクリーンショットに示すように、それらのリージョンが AWS Management Console の[データベース] に一覧表示されます。


            セカンダリクラスターが Aurora Global Database に追加されたことを示すスクリーンショット。
セカンダリ AWS リージョン を Aurora Global Database に追加するには
  1. Aurora Global Database の名前 (create-db-cluster) を指定して、--global-cluster-identifier CLI コマンドを使用します。他のパラメータでは、以下の操作を行います。

  2. --region で、Aurora プライマリリージョンのものとは異なる AWS リージョン を選択します。

  3. --engine および --engine-version パラメータの特定の値を選択します。これらの値は、Aurora Global Database のプライマリ Aurora DB クラスターの値と同じです。

  4. 暗号化されたクラスターの場合は、暗号化の --source-region としてプライマリ AWS リージョン を指定します。

次の例では、新しい Aurora DB クラスターを作成し、それを読み取り専用のセカンダリ Aurora DB クラスターとして Aurora Global Database にアタッチします。最後のステップでは、Aurora DB インスタンスを新しい Aurora DB クラスターに追加します。

Linux、macOS、Unix の場合:

aws rds --region secondary_region \ create-db-cluster \ --db-cluster-identifier secondary_cluster_id \ --global-cluster-identifier global_database_id \ --engine aurora-mysql|aurora-postgresql --engine-version version aws rds --region secondary_region \ create-db-instance \ --db-instance-class instance_class \ --db-cluster-identifier secondary_cluster_id \ --db-instance-identifier db_instance_id \ --engine aurora-mysql|aurora-postgresql

Windows の場合:

aws rds --region secondary_region ^ create-db-cluster ^ --db-cluster-identifier secondary_cluster_id ^ --global-cluster-identifier global_database_id_id ^ --engine aurora-mysql|aurora-postgresql ^ --engine-version version aws rds --region secondary_region ^ create-db-instance ^ --db-instance-class instance_class ^ --db-cluster-identifier secondary_cluster_id ^ --db-instance-identifier db_instance_id ^ --engine aurora-mysql|aurora-postgresql

RDS API を使用して新しい AWS リージョン を Aurora Global Database に追加するには、CreateDBCluster オペレーションを実行します。GlobalClusterIdentifier パラメータを使用して、既存のグローバルデータベースの識別子を指定します。

セカンダリリージョンでのヘッドレス Aurora DB クラスターの作成

Aurora Global Database では、プライマリとは異なる AWS リージョン に少なくとも 1 つのセカンダリ Aurora DB クラスターが必要でが、セカンダリクラスターにはヘッドレス設定を使用できます。ヘッドレスセカンダリ Aurora DB クラスターは、DB インスタンスがないクラスターのことです。この種類の構成では、Aurora Global Database の費用を削減できます。Aurora DB クラスターでは、コンピューティングとストレージは分離されています。DB インスタンスがない場合、コンピューティングに対する課金は発生せず、ストレージに対してのみが課金されます。正しく設定されていれば、ヘッドレスセカンダリのストレージボリュームはプライマリ Aurora DB クラスターと同期したままになります。

セカンダリクラスターを追加して、通常、Aurora Global Database の作成時に行うようにします。ただし、プライマリ Aurora DB クラスターがセカンダリへのレプリケーションをスタートした後、セカンダリ Aurora DB クラスターから Aurora 読み取り専用 DB を削除します。DB インスタンスがなくなったため、このセカンダリクラスターは「ヘッドレス」とみなされます。ただし、ストレージボリュームはプライマリ Aurora DB クラスターと同期されます。

警告

Aurora PostgreSQL を使用して、セカンダリ AWS リージョン にヘッドレスクラスターを作成するには、AWS CLI または RDS API を使用してセカンダリ AWS リージョン を追加します。ステップをスキップして、セカンダリクラスターのリーダー DB インスタンスを作成します。現在、RDS コンソールでは、ヘッドレスクラスターの作成はサポートされていません。使用する CLI および API の手順については、AWS リージョン の Amazon Aurora Global Database への追加 を参照してください。

グローバルデータベースが 13.4、12.8、または 11.13 未満のエンジンバージョンを使用している場合、セカンダリリージョンにリーダー DB インスタンスを作成し、その後、それを削除すると、プライマリリージョンのライター DB インスタンスで Aurora PostgreSQL バキューム問題が発生する可能性があります。この問題が発生した場合は、セカンダリリージョンのリーダー DB インスタンスを削除した後に、プライマリリージョンのライター DB インスタンスを再起動します。

ヘッドレスセカンダリ Aurora DB クラスターを Aurora Global Database に追加するには
  1. AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

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

  3. セカンダリ Aurora DB クラスターを必要とする Aurora Global Database を選択します。プライマリ Aurora DB クラスターが Available であることを確認します。

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

  5. [Add a region] (リージョンの追加) ページで、セカンダリ AWS リージョン を選択します。

    同じ Aurora Global Database では、既にセカンダリ Aurora DB クラスターが存在する AWS リージョン を選択することはできません。また、プライマリ Aurora DB クラスターと同じリージョンにすることはできません。

  6. 新しい AWS リージョン リージョンのセカンダリ Aurora クラスターの残りのフィールドに必要事項を入力してください。これらは、任意の Aurora DB クラスターインスタンスと同じ設定オプションです。

    Aurora MySQL - ベースの Aurora Global Database の場合、[Enable read replica write forwarding (リードレプリカの書き込み転送を有効にする)] オプションを無視します。リーダーインスタンスを削除した後は、このオプションは機能しません。

  7. [リージョンの追加] を選択します。Aurora Global Database にリージョンを追加すると、スクリーンショットに示すように、それらのリージョンが AWS Management Console の[データベース] に一覧表示されます。

    
            リーダーインスタンスを持つセカンダリクラスターを示すスクリーンショットは、Aurora Global Database の一部になりました。
  8. 続行する前に、AWS Management Console または AWS CLI を使用して、セカンダリ Aurora DB クラスターと、そのリーダーインスタンスのステータスを確認します。次に例を示します。

    $ aws rds describe-db-clusters --db-cluster-identifier secondary-cluster-id --query '*[].[Status]' --output text

    新しく追加されたセカンダリ Aurora DB クラスターのステータスが [creating] から [available] に変わるまでに数分かかる場合があります。Aurora DB クラスターが使用可能になったら、リーダーインスタンスを削除できます。

  9. セカンダリ Aurora DB クラスターでリーダーインスタンスを選択し、[Delete] (削除) をクリックします。

    
              選択され削除できる状態になったリーダーインスタンスのスクリーンショット。

リーダーインスタンスを削除しても、セカンダリクラスターは Aurora Global Database の一部にとどまります。以下に示すように、インスタンスに関連付けられていません。


        ヘッドレスセカンダリ DB クラスターのスクリーンショット。

このヘッドレスセカンダリ Aurora DB クラスターを使用して、プライマリ AWS リージョン の予期しない停止が起きても Amazon Aurora Global Database を手動で復旧できます。

Amazon Aurora Global Database のスナップショットの使用

Aurora DB クラスターのスナップショットを復元するか、Amazon RDS DB インスタンスからスナップショットを復元することで、Aurora Global Database のスタート点として使用することができます。スナップショットを復元し、新しい Aurora プロビジョンド DB クラスターを同時に作成します。次に、復元した DB クラスターに別の AWS リージョン を追加して、それを Aurora Global Database に変換します。この方法でスナップショットを使って作成された Aurora DB クラスターは、すべて Aurora Global Database のプライマリクラスターになります。

使用するスナップショットは、provisionedserverlessAurora DB クラスターから取得できます。

復元プロセス中は、スナップショットと同じ DB エンジンタイプを選択します。例えば、Aurora PostgreSQL を実行している Aurora Serverless DB クラスターから作成されたスナップショットを復元するとします。この場合、同じ Aurora DB エンジンとバージョンを使用して Aurora PostgreSQL DB クラスターを作成します。

復元された DB クラスターは、AWS リージョン が追加される際に、Aurora Global Database のプライマリクラスターのロールを引き継ぎます。このプライマリクラスターに含まれるすべてのデータは、Aurora Global Database に追加したセカンダリクラスターにレプリケートされます。


            Aurora Global Database の [スナップショットの復元] ページを示すスクリーンショット。