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 クラスターに、たとえそれらが別のリージョンに置かれていたとしても、同じ名前を付けることはできません。

このセクションの手順を実行するには、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 を使用するには、事前に作成して、選択できるようにすることをお勧めします。同時に、関連するサブネットを作成し、必要に応じてサブネットグループとセキュリティグループを作成します。詳細については、「Amazon Aurora で使用する 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 options (エンジンオプション)] セクションの Engine type として、[Amazon Aurora] を選択します。

      
                      データベースページ作成のエンジンオプションのスクリーンショット。

次に、[Amazon Aurora with MySQL compatibility (MySQL 対応 Amazon Aurora)] または [Amazon Aurora with PostgreSQL compatibility (PostgreSQL 対応 Amazon Aurora)] を選択し、以下のステップに示されたステップを実行して Aurora Global Database の作成を続けます。

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

以下のステップは、Aurora MySQL の 5.6.10a を除く、Aurora MySQL のすべてのバージョンに適用されます。Aurora Global Database に Aurora MySQL の 5.6.10a を使用する場合は、「Aurora Global Database での Aurora MySQL 5.6.10a の使用」を参照してください。

Aurora MySQL を使用して Aurora Global Database を作成するには

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

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

    1. [Edition (エディション)] で、[Amazon Aurora with MySQL compatibility (MySQL 対応 Amazon Aurora)] を選択します。

    2. [Capacity type (容量タイプ)] で、[Provisioned (プロビジョニング済み)] を選択します。

    3. [レプリケーション機能] は、デフォルトのままにします (single-master replication)。

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

    5. [バージョン] では、Aurora Global Database に使用する Aurora MySQL のバージョンを選択します。

      
                Aurora DB クラスターを作成するとき (Aurora Global Database の初期のフェーズ) の、エディション、容量タイプ、レプリケーション機能、エンジンバージョン、バージョン選択のスクリーンショット。
  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 Global Database での Aurora MySQL 5.6.10a の使用

以下のステップが適用されるのは、Aurora MySQL の 5.6.10a バージョンのみです。Aurora MySQL の他のバージョンについては、「Aurora MySQL を使用するグローバルデータベースの作成」を参照してください。

Aurora MySQL 5.6.10a を使用して Aurora Global Database を作成するには

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

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

    1. [Edition (エディション)] で、[Amazon Aurora with MySQL compatibility (MySQL 対応 Amazon Aurora)] を選択します。

    2. [Capacity type (容量タイプ)] で、[Provisioned (プロビジョニング済み)] を選択します。

    3. [レプリケーション機能] は、デフォルトのままにします (single-master replication)。

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

    5. [Version (バージョン)] で [Aurora (MySQL 5.6) global_10a] を選択します。

  2. [テンプレート] では、[本番稼働] を選択します。

  3. [グローバルデータベース設定] では、以下の操作を行います。

    1. [グローバルデータベース識別子] に、わかりやすい名前を入力します。

    2. [Credentials Settings (認証情報の設定)] では、DB インスタンスの postgres ユーザーアカウント用に独自のパスワードを入力します。あるいは Aurora で生成します。[パスワードの自動生成] を選択すると、パスワードをコピーするオプションが表示されます。

      
                          Auroraグローバルデータベースを作成するときの Aurora MySQL 5.6.10a エンジンオプションのスクリーンショット。
  4. [Encryption (暗号化)] では、必要に応じて暗号化を有効または無効にします。

  5. [Create database (データベースの作成)] ページの残りのセクションでは、[Primary region settings (プライマリリージョンの設定)] を設定します。これらは以下の手順で行います。

    1. [DB instance class (DB インスタンスクラス)] で、db.r5.large または別のメモリ最適化 DB インスタンスクラスを選択します。db.r5 以上のインスタンスクラスを使用することを推奨します。

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

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

    4. [暗号化キー] では、使用するキーを選択します。以前に [Encryption (暗号化)] を選択しなかった場合は、このオプションを無視してください。

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

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

      1. [DB インスタンス識別子] では、データベースインスタンスの名前を入力するか、デフォルトの名前を使用します。これは、この Aurora Global Database の、Aurora プライマリ DB クラスターのライターインスタンスです。

      2. [DB クラスター識別子] には、わかりやすい名前を入力するか、デフォルトの名前を使用します。

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

      4. [追加構成] では、その他すべてでデフォルトの設定を受け入れて構いません。

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

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

      
                          1 つのプライマリ DB クラスターを持つ Aurora MySQL5.6.10a ベースの Aurora Global Database のスクリーンショット。

この Aurora Global Database には、引き続きセカンダリ Aurora DB クラスターが必要です。「AWS リージョン の Amazon Aurora Global Database への追加」のステップに従って、今すぐに追加できます。

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

Aurora PostgreSQL を使用して Aurora Global Database を作成するには

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

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

    1. [Edition (エディション)] で、[Amazon Aurora with PostgreSQL compatibility (PostgreSQL 対応 Amazon Aurora)] を選択します。

    2. [Capacity type (容量タイプ)] で、[Provisioned (プロビジョニング済み)] を選択します。

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

    4. [バージョン] では、Aurora Global Database に使用する Aurora PostgreSQL のバージョンを選択します。

      
                  Aurora DB クラスターを作成するとき (Aurora Global Database の初期のフェーズ) の、エディション、容量タイプ、レプリケーション機能、エンジンバージョン、バージョン選択のスクリーンショット。
  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 (データベース認証)] の設定を完了します。このプロセスを簡略化するには、今すぐに [Password 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 インスタンスを作成します。

  4. Aurora DB クラスターの Aurora DB インスタンスを作成します。

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

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

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

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

Aurora MySQL を使用して Aurora Global Database を作成するには

  1. CLI コマンドの create-global-cluster を使用して、AWS リージョン 名、および Aurora データベースエンジンとそのバージョンを渡します。使用する Aurora MySQL のバージョンの表に示されてる中から、パラメータを選択します。

    Aurora MySQL の他のオプションは、以下の表に示すとおり、Aurora MySQL データベースエンジンのバージョンに応じて異なります。

    Parameter Aurora MySQL バージョン 1 Aurora MySQL バージョン 2 および 3
    --engine

    aurora

    aurora-mysql

    --engine-mode

    グローバル

    -

    --engine-version

    5.6.10a, 5.6.mysql_aurora.1.22.0, 5.6.mysql_aurora.1.22.1, 5.6.mysql_aurora.1.22.2, 5.6.mysql_aurora.1.22.3, 5.6.mysql_aurora.1.23.0, 5.6.mysql_aurora.1.23.1, およびそれ以降のバージョン

    5.7.mysql_aurora.2.07.0、 5.7.mysql_aurora.2.07.1、 5.7.mysql_aurora.2.07.2、 5.7.mysql_aurora.2.07.3、 5.7.mysql_aurora.2.08.0、 5.7.mysql_aurora.2.08.1、 5.7.mysql_aurora.2.08.1、 5.7.mysql_aurora.2.08.3、 5.7.mysql_aurora.2.09.0、 5.7.mysql_aurora.2.08.1、 および以降のバージョン。 8.0.mysql_aurora.3.01.0以降のバージョン

    Linux、macOS、Unix の場合:

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

    Windows の場合:

    aws rds create-global-cluster ^ --global-cluster-identifier global_database_id ^ --engine aurora ^ --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 db_cluster_id \ --master-username userid \ --master-user-password password \ --engine { aurora | aurora-mysql } \ --engine-mode global # Required for --engine-version 5.6.10a only \ --engine-version version \ --global-cluster-identifier global_database_id

    Windows の場合:

    aws rds create-db-cluster ^ --region primary_region ^ --db-cluster-identifier db_cluster_id ^ --master-username userid ^ --master-user-password password ^ --engine { aurora | aurora-mysql } ^ --engine-mode global # Required for --engine-version 5.6.10a only ^ --engine-version version ^ --global-cluster-identifier global_database_id

    Aurora MySQL の他のオプションは、Aurora MySQL データベースエンジンのバージョンに応じて異なります。

    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 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 db_cluster_id \ --db-instance-class instance_class \ --db-instance-identifier db_instance_id \ --engine { aurora | aurora-mysql} \ --engine-mode global # Required for --engine-version 5.6.10a only \ --engine-version version \ --region primary_region

    Windows の場合:

    aws rds create-db-instance ^ --db-cluster-identifier db_cluster_id ^ --db-instance-class instance_class ^ --db-instance-identifier db_instance_id ^ --engine { aurora | aurora-mysql } ^ --engine-mode global # Required for --engine-version 5.6.10a only ^ --engine-version version ^ --region primary_region

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

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

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

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

    Linux、macOS、Unix の場合:

    aws rds create-db-instance \ --db-cluster-identifier sample_secondary_db_cluster \ --db-instance-class instance_class \ --db-instance-identifier sample_replica_db \ --engine aurora

    Windows の場合:

    aws rds create-db-instance ^ --db-cluster-identifier sample_secondary_db_cluster ^ --db-instance-class instance_class ^ --db-instance-identifier sample_replica_db ^ --engine aurora

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 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 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 db_cluster_id
  3. プライマリ Aurora DB クラスターに DB インスタンスを作成します。これを行うには、create-db-instance CLI コマンドを使用します。

    1. Aurora DB クラスターの名前を --db-instance-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 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 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 sample_secondary_db_cluster

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

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

    Linux、macOS、Unix の場合:

    aws rds create-db-instance \ --db-cluster-identifier sample_secondary_db_cluster \ --db-instance-class instance_class \ --db-instance-identifier sample_replica_db \ --engine aurora-postgresql

    Windows の場合:

    aws rds create-db-instance ^ --db-cluster-identifier sample_secondary_db_cluster ^ --db-instance-class instance_class ^ --db-instance-identifier sample_replica_db ^ --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 の値がプライマリクラスターの値と一致していることを確認します。この設定は、サーバーが識別子の大文字と小文字の区別を処理する方法に影響するデータベースパラメータです。データベースパラメータの詳細については、「パラメータグループを使用する」を参照してください。

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 Global Database の [リージョンの追加] ペインのスクリーンショット。
  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. 以下のいずれかを実行します。

    • Aurora MySQL5.6.10a のみに基づく Aurora Global Database の場合は、次のパラメータを使用します。

      • --engineaurora

      • --engine-modeglobal

      • --engine-version5.6.10a

    • 他の Aurora DB エンジンに基づく Aurora Global Database の場合は、--engine および --engine-version パラメータに特定の値を選択します。これらの値は、Aurora Global Database のプライマリ Aurora DB クラスターの値と同じです。

      次の表に、現在のオプションを示します。

      Parameter Aurora MySQL 5.6 Aurora MySQL 5.7 Aurora PostgreSQL

      --engine

      aurora

      aurora-mysql

      aurora-postgresql

      --engine-version

      5.6.mysql_aurora.1.22.0, 5.6.mysql_aurora.1.22.1, 5.6.mysql_aurora.1.22.2, 5.6.mysql_aurora.1.22.3, 5.6.mysql_aurora.1.23.0, 5.6.mysql_aurora.1.23.1

      5.7.mysql_aurora.2.07.0、5.7.mysql_aurora.2.07.1、5.7.mysql_aurora.2.07.2、5.7.mysql_aurora.2.07.3、5.7.mysql_aurora.2.08.0、5.7.mysql_aurora.2.08.1、5.7.mysql_aurora.2.08.2、5.7.mysql_aurora.2.08.3、5.7.mysql_aurora.2.09.0 (以降)

      10.11 (以降)、11.7 (以降)、12.4 (以降)

  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 | 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 | 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 | 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 | 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 への追加 を参照してください。

セカンダリリージョンにリーダー 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 クラスターから取得できます。

注記

プロビジョンド Aurora DB クラスターは、Aurora MySQL 5.6.10a - ベースのグローバルデータベースから作成されたスナップショットから、作成することはできません。Aurora MySQL 5.6.10a - ベースのグローバルデータベースから作成されたスナップショットは、Aurora Global Database としてのみ復元が可能です。

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

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


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