

# Amazon Aurora PostgreSQL DB クラスターのアップグレード
<a name="USER_UpgradeDBInstance.PostgreSQL"></a><a name="pgsql_upgrade"></a>

Amazon Aurora では、広範なテストの後にのみ AWS リージョン で PostgreSQL データベースエンジンの新しいバージョンが利用可能となります。Aurora PostgreSQL DB クラスターは、リージョンで利用可能になった時点で新しいバージョンにアップグレードできます。

DB クラスターが現在実行されている Aurora PostgreSQL のバージョンに応じて、新しいリリースへのアップグレードは、マイナーアップグレードまたはメジャーアップグレードのいずれかになります。例えば、Aurora PostgreSQL 11.15 DB クラスターを Aurora PostgreSQL 13.6 にアップグレードした場合は、*メジャーバージョンアップグレード*です。Aurora PostgreSQL 13.3 DB クラスターを Aurora PostgreSQL 13.7 にアップグレードした場合は、*マイナーバージョンアップグレード*です。次のトピックでは、両方のタイプのアップグレードを実行する方法について説明します。

**Contents**
+ [Aurora PostgreSQL のアップグレードプロセスの概要](#USER_UpgradeDBInstance.PostgreSQL.Overview)
+ [AWS リージョン で使用可能なバージョンのリストを取得します。](USER_UpgradeDBInstance.PostgreSQL.UpgradeVersion.md)
+ [メジャーバージョンアップグレードの実行](USER_UpgradeDBInstance.PostgreSQL.MajorVersion.md)
  + [本番稼働用の DB クラスターの新しいメジャーバージョンへのアップグレードをテストする](USER_UpgradeDBInstance.PostgreSQL.MajorVersion.md#USER_UpgradeDBInstance.PostgreSQL.MajorVersion.Upgrade.preliminary)
  + [アップグレード後の推奨事項](USER_UpgradeDBInstance.PostgreSQL.MajorVersion.md#USER_UpgradeDBInstance.PostgreSQL.MajorVersion.Upgrade.postupgrade)
  + [Aurora PostgreSQL エンジンを新しいメジャーバージョンにアップグレードする](USER_UpgradeDBInstance.PostgreSQL.MajorVersion.md#USER_UpgradeDBInstance.Upgrading.Manual)
    + [グローバルデータベースのメジャーアップグレード](USER_UpgradeDBInstance.PostgreSQL.MajorVersion.md#USER_UpgradeDBInstance.PostgreSQL.GlobalDB)
+ [マイナーバージョンアップグレードの実行](USER_UpgradeDBInstance.PostgreSQL.MinorUpgrade.md)
  + [マイナーバージョンアップグレードを実行する前に](USER_UpgradeDBInstance.PostgreSQL.MinorUpgrade.md#USER_UpgradeDBInstance.PostgreSQL.BeforeMinor)
  + [マイナーバージョンのアップグレードとパッチの適用方法](USER_UpgradeDBInstance.PostgreSQL.MinorUpgrade.md#USER_UpgradeDBInstance.PostgreSQL.Minor)
  + [マイナーリリースのアップグレードとダウンタイムなしのパッチ適用プロセス](USER_UpgradeDBInstance.PostgreSQL.MinorUpgrade.md#USER_UpgradeDBInstance.PostgreSQL.Minor.zdp)
  + [ダウンタイムのないパッチ適用の制限](USER_UpgradeDBInstance.PostgreSQL.MinorUpgrade.md#USER_UpgradeDBInstance.PostgreSQL.Minor.zdp.limitations)
  + [Aurora PostgreSQL エンジンを新しいマイナーバージョンにアップグレードする](USER_UpgradeDBInstance.PostgreSQL.MinorUpgrade.md#USER_UpgradeDBInstance.MinorUpgrade)
+ [PostgreSQL 拡張機能のアップグレード](USER_UpgradeDBInstance.Upgrading.ExtensionUpgrades.md)
+ [代替のブルー/グリーンのアップグレードテクニック](#USER_UpgradeDBInstance.Upgrading.BlueGreen)

## Aurora PostgreSQL のアップグレードプロセスの概要
<a name="USER_UpgradeDBInstance.PostgreSQL.Overview"></a>

メジャーバージョンとマイナーバージョンのアップグレードの違いは、次のとおりです。

**マイナーバージョンのアップグレードとパッチ**  
マイナーバージョンアップグレードおよびパッチには、既存のアプリケーションとの下位互換性がある変更のみが含まれます。マイナーバージョンのアップグレードとパッチは、Aurora PostgreSQL がテストして承認した後にのみ利用可能になります。  
Aurora は、マイナーバージョンのアップグレードを自動的に適用できます。新しい Aurora PostgreSQL DB クラスターを作成すると、**[マイナーバージョンアップグレードの有効化]** オプションはデフォルトで有効になっています。このオプションをオフにしない限り、スケジュールされたメンテナンス期間中に、マイナーバージョンのアップグレードが Aurora によって自動的に適用されます。自動マイナーバージョンアップグレード (AMVU) オプションと Aurora DB クラスターを使用できるように変更する方法については、「[Aurora DB クラスターのマイナーバージョン自動アップグレード](USER_UpgradeDBInstance.Maintenance.md#Aurora.Maintenance.AMVU)」を参照してください。  
自動マイナーバージョンアップグレードが Aurora PostgreSQL DB クラスターに対して有効になっていない場合、Aurora PostgreSQL は新しいマイナーバージョンに自動的にアップグレードされません。代わりに、AWS リージョン で新しいマイナーバージョンがリリースされ、Aurora PostgreSQL DB クラスターが古いマイナーバージョンを実行している場合、Aurora はアップグレードを要求します。そのためには、クラスターのメンテナンスタスクにレコメンデーションを追加します。  
パッチはアップグレードとはみなされず、自動的には適用されません。Aurora PostgreSQL では、Aurora PostgreSQL DB クラスターのメンテナンスタスクに推奨事項を追加して、パッチを適用するように求められます。詳細については、「[マイナーバージョンのアップグレードとパッチの適用方法](USER_UpgradeDBInstance.PostgreSQL.MinorUpgrade.md#USER_UpgradeDBInstance.PostgreSQL.Minor)」を参照してください。  
セキュリティやその他の重要な問題を解決するパッチも、メンテナンスタスクとして追加されます。ただし、これらのパッチは必須です。保留中のメンテナンスタスクでセキュリティパッチが使用可能になったら、Aurora PostgreSQL DB クラスターにセキュリティパッチを適用してください。  
マイナーバージョンの自動アップグレードは、デフォルトのマイナーバージョンについて実行されます。詳細については、「[Aurora DB クラスターのマイナーバージョン自動アップグレード](USER_UpgradeDBInstance.Maintenance.md#Aurora.Maintenance.AMVU)」を参照してください。  
自動マイナーバージョンアップグレードが有効になっているクラスターでは、クラスターの可用性が最新のパッチで修正された問題によって影響を受ける場合、2 週間前に通知した上で、パッチはメンテナンスウィンドウ中に適用され、問題が解決されます。
アップグレードプロセスでは、クラスター内の各インスタンスが新しいバージョンにアップグレードされる際に、短時間停止する可能性があります。ただし、Aurora PostgreSQL バージョン 14.3.3、13.7.3、12.11.3、11.16.3、10.21.3、およびこれらのマイナーバージョンやより新しいメジャーバージョンのその他のリリース以降では、アップグレードプロセスではゼロダウンタイムパッチ適用 (ZDP) 機能が使用されます。この機能は停止を最小限に抑え、ほとんどの場合は完全に排除します。詳細については、「[マイナーリリースのアップグレードとダウンタイムなしのパッチ適用プロセス](USER_UpgradeDBInstance.PostgreSQL.MinorUpgrade.md#USER_UpgradeDBInstance.PostgreSQL.Minor.zdp)」を参照してください。ZDP でのサポートされている機能と制限の詳細については、「[ダウンタイムのないパッチ適用の制限](USER_UpgradeDBInstance.PostgreSQL.MinorUpgrade.md#USER_UpgradeDBInstance.PostgreSQL.Minor.zdp.limitations)」を参照してください。

**メジャーバージョンのアップグレード**  
マイナーバージョンのアップグレードやパッチとは異なり、Aurora PostgreSQL には自動メジャーバージョンアップグレードオプションはありません。新しいメジャー PostgreSQL バージョンのアップグレードには、既存のアプリケーションとの下位互換性のないデータベースの変更が含まれる場合があります。新しい機能により、既存のアプリケーションが適切に動作しなくなることがあります。  
Aurora PostgreSQL DB クラスター内の DB インスタンスをアップグレードする前に、問題を予防するため、「[本番稼働用の DB クラスターの新しいメジャーバージョンへのアップグレードをテストする](USER_UpgradeDBInstance.PostgreSQL.MajorVersion.md#USER_UpgradeDBInstance.PostgreSQL.MajorVersion.Upgrade.preliminary)」で説明している手順に従うことを強くお勧めします。まず、以下の手順に従って、アプリケーションを新しいバージョンで実行できることを確認します。その後、Aurora PostgreSQL DB クラスターを新しいバージョンに手動でアップグレードできます。  
アップグレードプロセスでは、クラスター内のすべてのインスタンスが新しいバージョンにアップグレードされる際に、短時間停止する可能性があります。事前計画プロセスにも時間がかかります。アップグレードタスクは、必ずクラスターのメンテナンス期間中、または運用が最小限のタイミングで実行することをお勧めします。詳細については、「[メジャーバージョンアップグレードの実行](USER_UpgradeDBInstance.PostgreSQL.MajorVersion.md)」を参照してください。

**注記**  
マイナーバージョンのアップグレードとメジャーバージョンのアップグレードの両方で、短期間の停止を伴う可能性があります。そのため、メンテナンス期間中、または使用率の低い時間帯にアップグレードを実行またはスケジュールすることを強くお勧めします。

Aurora PostgreSQL DB クラスターでは、オペレーティングシステムの更新が必要になる場合があります。これらのアップデートには glibc ライブラリの新しいバージョンが含まれることがあります。このような更新の際は、「[Aurora PostgreSQL でサポートされる照合。](PostgreSQL-Collations.md)」で説明されているガイドラインに従うことをお勧めします。

## 代替のブルー/グリーンのアップグレードテクニック
<a name="USER_UpgradeDBInstance.Upgrading.BlueGreen"></a>

状況によっては、古いクラスターからアップグレードされたクラスターへの即時の切り替えが最優先事項です。このような場合、古いクラスターと新しいクラスターを並べて実行するマルチステッププロセスを使用できます。ここでは、新しいクラスターが引き継ぐ準備ができるまで、古いクラスターから新しいクラスターにデータをレプリケートします。詳細については、[データベース更新のために Amazon Aurora ブルー/グリーンデプロイを使用する](blue-green-deployments.md) を参照してください