Aurora PostgreSQL と互換性のあるグローバルデータベースを作成する方法を教えてください。
Amazon Aurora PostgreSQL 互換エディションのグローバルデータベースを作成したいと考えています。
簡単な説明
Aurora グローバルデータベースは、グローバルに分散されたアプリケーションに使用されます。これらのデータベースは複数の AWS リージョンにまたがることができるため、読み取り専用のセカンダリ DB クラスターを別のリージョンに配置してローカル読み取りをサポートできます。Aurora グローバルデータベースは、AWS リージョンに障害が発生した場合の迅速な復旧メカニズムも提供します。
以下の方法を使用して Aurora PostgreSQL と互換性のあるグローバルデータベースを作成します。
- AWS コンソールを使用して Aurora PostgreSQL と互換性のあるグローバルデータベースを作成する
- 既存の Aurora クラスターを使用して Aurora PostgreSQL 互換のグローバルデータベースを作成する
- Amazon Relational Database Service (Amazon RDS) for PostgreSQL から Amazon Aurora PostgreSQL 互換エディションに移行したいと考えています。
- Amazon RDS for PostgreSQL データベースを Aurora PostgreSQL と互換性のあるグローバルデータベースに移行する
解決方法
注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください。
Aurora PostgreSQL と互換性のあるグローバルデータベースを作成する前に:
- サポートされているエンジンと利用可能なリージョンを確認してください。
- Aurora グローバルデータベースの制限を確認してください。
- Aurora グローバルデータベースの設定要件を確認してください。
AWS コンソールを使用して Aurora PostgreSQL と互換性のあるグローバルデータベースを作成する
- プライマリリージョンで [Amazon RDS console] (Amazon RDS コンソール) を開きます。
- [Create database] (データベースの作成) を選択します。
- [Database creation methode] (データベースの作成方法) には、[標準作成] を選択します。
- [Engine type] (エンジンタイプ) には、[Amazon Aurora] を選択します。
- [Edition] (編集) には、[Amazon Aurora PostgreSQL-Compatible Edition] を選択します。
- [filters] (フィルター) で、[グローバルデータベース機能をサポートするバージョンを表示] をオンにします。
- [Available versions dropdown list] (使用可能なバージョンドロップダウンリスト) で、使用する PostgreSQL のバージョンを選択します。
- ユースケースに応じて、[Templates] (テンプレート) で [Production] (プロダクション) または [Dev/Test] (開発/テスト) を選択します。
- [Settings] (設定) セクションの [DB cluster identifier] (DB クラスター識別子) に、プライマリ DB クラスターの名前を入力します。[Master user name] (マスターユーザー名) には、PostgreSQL のデフォルトのマスターユーザーを入力するか、独自のユーザー名を入力します。
- [Instance configuration] (インスタンス設定セクション) で、DB インスタンスクラスを選択します。
- [Availability durability] (可用性の耐久性) セクションでは、Aurora レプリカを別の AZ に作成することを選択するのがベストプラクティスです。このオプションを選択しない場合は、後でリードレプリカを作成できます。
- [Connectivity] (接続) セクションで、使用したいオプションを選択します。また、使用する [VPC]、[DB Subnet group] (DB サブネットグループ)、[VPC Security group] (VPC セキュリティグループ) を選択します。
- [Additional configuration] (追加設定) で、データベースポートを指定できます。デフォルトのポートは 5432 です。
- [Database authentication] (データベース認証) では、デフォルトでパスワード認証が使用されます。オプションで、データベースの[IAM database authentication] (IAM データベース認証)、[Kerberos authentication] (Kerberos 認証)、またはその両方を有効にできます。
- [Database options] (データベースオプション) セクションで、[Initial Database name] (初期データベース名) を入力します。[DB cluster parameter group] (DB クラスターパラメータグループ)、[DB parameter group] (DB パラメータグループ)、および [Failover priority] (フェイルオーバー優先度) を選択します。[Backup] (バックアップ)、[Encryption] (暗号化)、[Maintenance] (メンテナンス)、[Deletion Protection] (削除保護) のオプションを確認してください。
- [Create database] (データベースの作成) を選択します。クラスターが使用可能になると、クラスタ、ライター、およびレプリカノードのステータスが**[Available]** (利用可能) に変わります。
- Aurora PostgreSQL グローバルデータベースには、プライマリ Aurora DB クラスターとは異なる AWS リージョンに少なくとも 1 つのセカンダリ Aurora DB クラスターが必要です。Aurora PostgreSQL グローバルデータベースには、最大 5 つのセカンダリ DB クラスターをアタッチできます。作成した Aurora PostgreSQL データベースを選択します。[Actions] (アクション) ドロップダウンリストから、[Add AWS Region] (AWS リージョンを追加) を選択します。
- [Add a Region] (リージョンの追加) ページで、グローバルデータベースの名前を入力し、セカンダリリージョンを選択します。新しいリージョンの Aurora クラスターに関する残りの情報を確認して記入します。
**注:**Aurora DB クラスターごとに選択する名前は、すべての AWS リージョンで一意でなければなりません。リージョンが異なっていても、異なる Aurora DB クラスターに同じ名前を使用することはできません。 - [Add Region] (地域を追加) ボタンをクリックします。
既存の Aurora クラスターを使用して Aurora PostgreSQL 互換のグローバルデータベースを作成する
- プライマリリージョンで [Amazon RDS console] (Amazon RDS コンソール) を開きます。
- [Resources] (リソース) セクションで、[DB Instances] (DB インスタンス) を選択します。
- 使用したい既存の Aurora PostgreSQL クラスターを選択してください。
- [Actions] (アクション) ドロップダウンリストから、[Add AWS Region] (AWS リージョンを追加) を選択します。
- [Add a Region] (リージョンの追加) ページで、グローバルデータベースの名前を入力してから、セカンダリリージョンを選択します。
- [Add Region] (地域を追加) を選択します。
RDS for PostgreSQL スナップショットを Aurora PostgreSQL と互換性のあるグローバルデータベースに移行します
- プライマリリージョンで [Amazon RDS console] (Amazon RDS コンソール) を開きます。
- ナビゲーションペインで、[Snapshots] (スナップショット) を選択します。
- 移行する PostgreSQL 用 RDS スナップショットを選択します。
- [Actions] (アクション) を選択し、ドロップダウンリストから [Migrate Snapshot] (スナップショットの移行) を選択します。
- [Migrate database] (データベースの移行) ページで、[Migrate to DB engine] (DB エンジンへの移行) には**[aurora-postgresql]** を選択します。
- [Migrate] (移行ボタン) を選択します。これにより、PostgreSQL 用 RDS スナップショットから Aurora PostgreSQL 互換クラスターが作成されます。
- Aurora PostgreSQL 互換クラスターを作成したら、ナビゲーションペインから [Databases] (データベース) を選択します。
- 移行された Aurora PostgreSQL 互換クラスターを選択してください。
- [Actions] (アクション) ドロップダウンリストから、[Add AWS Region] (AWS リージョンを追加) を選択します。
- [Add a Region] (リージョンの追加) ページで、グローバルデータベースの名前を入力してから、セカンダリリージョンを選択します。
- [Add Region] (地域を追加) を選択します。
RDS for PostgreSQL データベースを Aurora PostgreSQL と互換性のあるグローバルデータベースに移行します
- プライマリリージョンで [Amazon RDS console] (Amazon RDS コンソール) を開きます。
- ナビゲーションペインで [Databases] (データベース) を選択します。
- 変換したい PostgreSQL 用 RDS データベースを選択してください。
- [Actions] (アクション) ドロップダウンリストから、[Create Aurora read replica] (Aurora リードレプリカの作成) を選択します。
- [Create Aurora read replica] (Aurora リードレプリカの作成) ページで、すべてのフィールドを確認して入力し、[Create read replica] (リードレプリカの作成) を選択します。
- Aurora リードレプリカを作成したら、Aurora リードレプリカを昇格できるようになりました。
- 注:レプリカを昇格する前に、RDS for PostgreSQL データベースにアクティビティがないことを確認してください。[replica lag] (レプリカラグ) がゼロであることも確認してください。
- 作成した Aurora リードレプリカを選択します。
- [Actions] (アクション) ドロップダウンリストから、[promote] (昇格) を選択します。
- 昇格処理が完了すると、Aurora レプリカクラスターはライターインスタンスを持つリージョナル Aurora DB クラスターになります。新しく昇格したリージョナル Aurora DB クラスターを選択します。
- [Actions] (アクション) ドロップダウンリストから、[Add AWS Region] (AWS リージョンを追加) を選択します。
- [Add a Region] (リージョンの追加) ページで、グローバルデータベースの名前を入力してから、セカンダリリージョンを選択します。
- [Add Region] (地域を追加) を選択します。
セカンダリリージョンにヘッドレス Aurora DB クラスターを作成する
Aurora グローバルデータベースには、別の AWS リージョンに少なくとも 1 つのセカンダリ Aurora DB クラスターが必要です。コンピューティングコストを削減するために、ヘッドレスのセカンダリ Aurora DB クラスターを作成できます。これを行うと、ストレージの料金のみが請求されます。このセットアップ方法では、目標復旧時間 (RTO) が高くなる可能性がありますが、ディザスタリカバリ (DR) セットアップのコストを削減できます。
PostgreSQL の場合は、 AWS CLI を使用してヘッドレスの Aurora DB クラスターを作成します。ヘッドレスの Aurora DB クラスターを作成するために使用される Linux/MacOS の AWS CLI コマンドの例を参照してください。
注:コマンドを実行する前に、このコマンドの <> プレースホルダーを実際の値に置き換えてください。
このコマンドで使用できるオプションのリストについては、「 create-db-cluster」リファレンスドキュメントを参照してください。
aws rds --region <target_region> \ create-db-cluster \ --db-cluster-identifier <value> \ --global-cluster-identifier <value> \ --engine aurora-postgresql \ --kms-key-id <value> \ --engine-version <value> \ --db-cluster-parameter-group-name <value>\ --db-subnet-group-name <value> \ --vpc-security-group-ids <value> \ --backup-retention-period <value>
関連情報
関連するコンテンツ
- 質問済み 9ヶ月前lg...
- 承認された回答質問済み 10ヶ月前lg...