RDS PostgreSQL は、パフォーマンス、セキュリティ、機能が向上した新しいバージョンに移行できるよう、サポート終了バージョンからのメジャーバージョンアップをサポートしています。ダウンタイムの許容度やロールバックの要件に応じて、4 つのアップグレードソリューションから選択できます。
ソリューションの概要
PostgreSQL の下位バージョンは、徐々にコミュニティのサポートが終了するため、パフォーマンスやセキュリティ上のリスクが生じます。RDS PostgreSQL は、アップグレードのリスクを最小限に抑えながら、新しいバージョンのメリットを享受できるよう、複数のメジャーバージョンアップソリューションを提供しています。
メジャーバージョンアップでは、ホワイトリスト、パラメータ設定、拡張機能 (新しいバージョンでサポートされていない拡張機能とパラメーターを除く) など、元のインスタンスの設定が保持されます。さらに、暗号化された RDS PostgreSQL インスタンスはアップグレード後も暗号化されたままで、暗号鍵も変更されません。
|
アップグレードソリューション |
インプレースアップグレード |
ブルーグリーンデプロイメント |
ゼロダウンタイム |
||
|
カットオーバー |
カットオーバーなし |
||||
|
シナリオ |
アップグレード後のインスタンスを元のインスタンスと同一にしたい場合。アップグレード中にインスタンスが読み取り専用になることを許容できる場合に適しています。 |
元のインスタンスを保持します。スペックアップ中にインスタンスが読み取り専用になることを許容できます。 |
|
ビジネス上、長時間のダウンタイムを許容できない場合に適しています。 |
|
|
仕組み |
pg_upgrade を使用して元のインスタンスをターゲットバージョンにアップグレードします。すべてのメタデータは保持されます。 |
バックアップから新しいインスタンスを作成し、pg_upgrade を使用してアップグレードし、元のエンドポイントを自動的に新しいインスタンスに切り替えます。 |
バックアップから新しいインスタンスを作成し、pg_upgrade を使用してアップグレードします。 |
pg_upgrade を使用して元のインスタンスをターゲットバージョンにアップグレードします。増分更新は、ネイティブの論理レプリケーションを通じて実行されます。 |
手動で新しい RDS PostgreSQL インスタンスを作成し、非同期論理レプリケーションを使用してデータ移行を行います。 |
|
メリット |
元のインスタンスの構成と請求情報が完全に保持されます。 |
|
元のインスタンスに影響を与えることなく、アップグレード検証のための独立した環境を提供します。 |
|
|
|
デメリット |
元のインスタンスへのロールバックをサポートしていません。 |
元のインスタンスの請求情報を継承しません。 |
なし。 |
|
|
|
元のインスタンスの読み取り専用時間 |
通常は数分です。 |
通常は数分です。 |
なし。 |
通常は数秒です。 |
通常は数秒です。 |
|
コスト |
アップグレードコストはかかりません。 |
新しいインスタンスは従量課金です。 |
新しいインスタンスは従量課金です。 |
アップグレードコストはかかりません。 |
|
インプレースアップグレードモードでは、アップグレード中にインスタンスが推奨仕様を満たしていない場合、システムは自動的にインスタンスを推奨仕様にアップグレードします。これにより、数分レベルの読み取り専用状態と約 1 秒の瞬間的な切断が発生します。アップグレードする前に、メジャーバージョンアップチェックレポートで仕様に関するアラートを解決することを推奨します。
メジャーバージョンアップ
方法1:インプレースアップグレード
方法2:ブルーグリーンデプロイメント
方法3:ゼロダウンタイムアップグレード
方法4:DTS データ移行によるアップグレード
インプレースアップグレード、ブルーグリーンデプロイメント、またはゼロダウンタイムアップグレードを使用できない場合、またはアップグレード中にデータ検証を実行したい場合は、DTS を使用してデータ移行を行うことができます。