Amazon Aurora PostgreSQL 互換エディションのグローバルデータベースを作成したいと考えています。
概要
Aurora グローバルデータベースは、最大 10 のセカンダリ AWS リージョンでグローバルに分散されたアプリケーションに使用できます。これらのデータベースは複数のリージョンにまたがる可能性があるため、複数のリージョンの読み取り専用のセカンダリデータベースクラスターからのローカル読み取りをサポートできます。Aurora グローバルデータベースは、リージョンに障害が発生した場合の迅速な復旧メカニズムも提供します。
Aurora PostgreSQL 互換のグローバルデータベースを作成する前に、次のアクションを実行してください。
解決策
注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。
Aurora PostgreSQL 互換のデータベースクラスターを作成する
すでに Aurora PostgreSQL 互換のデータベースクラスターがある場合は、次のセクションに進んでください。
次の手順を実行します。
- プライマリリージョンで Amazon Relational Database Service (Amazon RDS) を開きます。
- [データベースの作成] を選択し、次に [標準作成] を選択します。
- [Aurora (PostgreSQL 互換)] を選択します。
- [使用可能なバージョン] で、使用したい PostgreSQL のバージョンを選択します。
- [認証情報管理] には、[自己管理] を選択します。
- ユースケースに合わせてデータベースを設定し、[データベースの作成] を選択します。
Aurora クラスターを使用して Aurora PostgreSQL 互換のグローバルデータベースを作成する
Aurora PostgreSQL グローバルデータベースには、プライマリ Aurora データベースクラスターとは異なるリージョンに少なくとも 1 つのセカンダリ Aurora データベースクラスターが必要です。Aurora PostgreSQL グローバルデータベースには、最大 10 個のセカンダリデータベースクラスターをアタッチできます。
別のリージョンにセカンダリ Aurora データベースクラスターを作成するには、次の手順を実行します。
- プライマリリージョンで Amazon RDS コンソールを開きます。
- ナビゲーションペインで [データベース] を選択します。
- 該当の Aurora PostgreSQL データベースを選択してください。
- [アクション] をクリックし、[AWS リージョンを追加] を選択します。
- [グローバルデータベース設定] に、グローバルデータベースの名前を入力します。
注: すべてのリージョンの各 Aurora データベースクラスターには一意の名前を使用する必要があります。
- [AWS リージョン] で、セカンダリリージョンを選択します。
- ユースケースに合わせてデータベースを設定し、[リージョンを追加] を選択します。
RDS for PostgreSQL スナップショットを Aurora PostgreSQL 互換のグローバルデータベースに移行する
次の手順を実行します。
- プライマリリージョンで Amazon RDS コンソールを開きます。
- ナビゲーションペインで [スナップショット] を選択します。
- 移行したい RDS for PostgreSQL スナップショットを選択します。
- [アクション] をクリックし、[スナップショットを移行] を選択します。
- [インスタンスの仕様] セクションで、[aurora-postgresql] を選択します。
- [移行] を選択します。
- ナビゲーションペインで [データベース] を選択します。
- 移行された Aurora PostgreSQL 互換クラスターを選択します。
- [アクション] をクリックし、[AWS リージョンを追加] を選択します。
- [グローバルデータベース設定] セクションに、グローバルデータベースの名前を入力します。
- [AWS リージョン] セクションで、セカンダリリージョンを選択します。
- [リージョンを追加] を選択します。
RDS for PostgreSQL データベースを Aurora PostgreSQL 互換のグローバルデータベースに移行する
次の手順を実行します。
- プライマリリージョンで Amazon RDS コンソールを開きます。
- ナビゲーションペインで [データベース] を選択します。
- 移行する RDS for PostgreSQL データベースを選択します。
- [アクション] をクリックし、[Aurora リードレプリカの作成] を選択します。
- ユースケースに合わせてレプリカを設定し、[リードレプリカの作成] を選択します。
Aurora リードレプリカを作成したら、Aurora リードレプリカを昇格できます。レプリカを昇格する前に、RDS for PostgreSQL データベースにアクティビティがないことを確認してください。また、リードレプリカの遅延が 0 であることも確認してください。
Aurora リードレプリカを昇格するには、次の手順を実行します。
- 新しい Aurora リードレプリカを選択します。
- [アクション] をクリックし、[昇格] を選択し、[リードレプリカの昇格] を選択します。
注: 昇格プロセスの後、Aurora レプリカクラスターはライターインスタンスを持つリージョナル Aurora データベースクラスターになります。
- 新しく昇格した Regional Aurora データベースクラスターを選択します。
- [アクション] をクリックし、[AWS リージョンを追加] を選択します。
- [グローバルデータベース設定] に、グローバルデータベースの名前を入力します。
- [AWS リージョン] で、セカンダリリージョンを選択します。
- [リージョンを追加] を選択します。
セカンダリリージョンにヘッドレス Aurora データベースクラスターを作成する
Aurora グローバルデータベースには、別のリージョンに少なくとも 1 つのセカンダリ Aurora データベースクラスターが必要です。コンピューティングコストを削減するには、ヘッドレスセカンダリ Aurora データベースクラスターを作成して、ストレージの分のみ課金されるようにすることができます。このセットアップ方法では目標復旧時間 (RTO) が高くなる可能性がありますが、ディザスタリカバリ (DR) セットアップのコストを削減できます。
PostgreSQL 用のヘッドレス Aurora データベースクラスターを作成するには、次の create-db-cluster コマンドを実行します。
aws rds —region your-target-region \\
create-db-cluster \\
\--db-cluster-identifier your-value \\
\--global-cluster-identifier your-value \\
\--engine aurora-postgresql \\
\--kms-key-id your-value \\--engine-version your-value \\
\--db-cluster-parameter-group-name your-value\\
\--db-subnet-group-name your-value \\
\--vpc-security-group-ids your-value \\
\--backup-retention-period your-value
注: your-target-region を実際のリージョンに、your-value を実際の値に置き換えます。
関連情報
Amazon Aurora Global Database を使用するには
Amazon Aurora を使用したディザスタリカバリーのガイダンス