

# Amazon Aurora Global Database のアップグレード
<a name="aurora-global-database-upgrade"></a>

Aurora Global Database のアップグレードは、Aurora DB クラスターのアップグレードと同じ手順に従います。ただし、プロセスを開始する前に注意すべき重要な相違点は次のとおりです。

プライマリとセカンダリの DB クラスターを同じバージョンにアップグレードすることをお勧めします。プライマリ DB クラスターとセカンダリ DB クラスターが同じメジャー、マイナー、パッチレベルのエンジンバージョンである場合にのみ、Aurora グローバルデータベースでマネージドクロスリージョンデータベースフェイルオーバーを実行できます。ただし、パッチレベルはマイナーエンジンバージョンによって異なる場合があります。詳細については、「[マネージドクロスリージョンスイッチオーバーまたはフェイルオーバーに対するパッチレベルの互換性](#aurora-global-database-upgrade.minor.incompatibility)」を参照してください。

## メジャーバージョンのアップグレード
<a name="aurora-global-database-upgrade.major"></a>

Amazon Aurora Global Database のメジャーバージョンアップグレードを実行する場合は、それに含まれる個々のクラスターではなく、グローバルデータベースクラスターをアップグレードします。

Aurora PostgreSQL グローバルデータベースを上位のメジャーバージョンにアップグレードする方法については、「[グローバルデータベースのメジャーアップグレード](USER_UpgradeDBInstance.PostgreSQL.MajorVersion.md#USER_UpgradeDBInstance.PostgreSQL.GlobalDB)」を参照してください。

**注記**  
Aurora PostgreSQL に基づく Aurora グローバルデータベースでは、目標復旧時点 (RPO) 機能がオンになっている場合、Aurora DB エンジンのメジャーバージョンアップグレードを実行できません。RPO 機能については、「[Aurora PostgreSQL- ベースのグローバルデータベースの RPO (目標復旧時点) 管理](aurora-global-database-disaster-recovery.md#aurora-global-database-manage-recovery)」を参照してください。

Aurora MySQL グローバルデータベースを上位のメジャーバージョンにアップグレードする方法については、「[グローバルデータベースのインプレースメジャーアップグレード](AuroraMySQL.Upgrading.Procedure.md#AuroraMySQL.Upgrading.GlobalDB)」を参照してください。

**注記**  
Aurora MySQL に基づく Aurora グローバルデータベースでは、`lower_case_table_names` パラメータをデフォルトに設定してグローバルデータベースを再起動した場合にのみ、Aurora MySQL バージョン 2 からバージョン 3 へのインプレースアップグレードを実行できます。  
`lower_case_table_names` を使用しているときに、Aurora MySQL バージョン 3 へのメジャーバージョンのアップグレードを実行するには、次のプロセスを使用します。  
グローバルクラスターからすべてのセカンダリリージョンを削除します。「[Amazon Aurora Global Database からのクラスターの削除](aurora-global-database-detaching.md)」のステップを実行してください。
プライマリリージョンのエンジンバージョンを Aurora MySQL バージョン 3 にアップグレードします。「[インプレースアップグレードの実行手順](AuroraMySQL.Upgrading.Procedure.md)」のステップを実行してください。
グローバルクラスターにセカンダリリージョンを追加します。「[AWS リージョン の Amazon Aurora Global Database への追加](aurora-global-database-attaching.md)」のステップを実行してください。
代わりに、スナップショット復元方法を使用することもできます。詳細については、「[DB クラスタースナップショットからの復元](aurora-restore-snapshot.md)」を参照してください。

## マイナーバージョンのアップグレード
<a name="aurora-global-database-upgrade.minor"></a>

単一のマネージド型オペレーションと最小限のダウンタイムで、Aurora グローバルデータベースをすべてのリージョンの新しいマイナーエンジンバージョンにアップグレードできるため、各クラスターを手動で個別にアップグレードする必要がなくなり、グローバルクラスター管理の運用オーバーヘッドが軽減されます。

### グローバルデータベースのマイナーバージョンアップグレードを理解する
<a name="aurora-global-database-upgrade.minor.understanding"></a>

グローバルデータベースのマイナーバージョンは、RDS API、AWS CLI、またはAWS マネジメントコンソールを使用してアップグレードできます。この単一のオペレーションは、プライマリクラスターとすべてのセカンダリ (ミラー) クラスター間でアップグレードをオーケストレーションします。アップグレード中に問題が発生した場合、サービスは自動的に既存のバージョンにロールバックされます。

**注記**  
このマネージド機能は、現在 Aurora PostgreSQL 互換エンジンに対してのみサポートされています。

`modify-global-cluster` コマンドを使用してグローバルデータベースのマイナーバージョンアップグレードを開始する場合、ターゲットエンジンのバージョンを指定すると、サービスはすべてのクラスターでアップグレードを調整します。このアップグレードはすぐに適用されます。

Linux、macOS、Unix の場合:

```
aws rds modify-global-cluster \
    --global-cluster-identifier {{global_cluster_identifier}} \
    --engine-version {{target_engine_version}}
```

Windows の場合:

```
aws rds modify-global-cluster ^
    --global-cluster-identifier {{global_cluster_identifier}} ^
    --engine-version {{target_engine_version}}
```

### マイナーバージョンアップグレードに関する考慮事項
<a name="aurora-global-database-upgrade.minor.considerations"></a>

グローバルデータベースのマイナーバージョンアップグレードを計画する場合は、次の点を検討してください。
+ マネージド機能は、マイナーバージョンアップグレードにのみ適用されます。パッチバージョンのアップグレードでは、引き続き既存のシステム更新メンテナンスアクションが使用されます。
+ マネージド機能は、Aurora PostgreSQL グローバルクラスターに対してのみサポートされています。

 グローバルクラスタートポロジーの各クラスターを個別にアップグレードできます。このアプローチを選択した場合、プライマリクラスターをアップグレードする前に、すべてのセカンダリクラスターをアップグレードします。アップグレードするとき、プライマリ DB クラスターとセカンダリ DB クラスターが同じマイナーバージョンとパッチレベルにアップグレードされていることを確認します。パッチレベルを更新するには、保留中のすべてのメンテナンスアクションをセカンダリクラスターに適用します。Aurora PostgreSQL グローバルデータベースを上位のマイナーバージョンにアップグレードする方法については、「[マイナーバージョンのアップグレードとパッチの適用方法](USER_UpgradeDBInstance.PostgreSQL.MinorUpgrade.md#USER_UpgradeDBInstance.PostgreSQL.Minor)」を参照してください。

### Aurora MySQL グローバルデータベースのマイナーバージョンアップグレード
<a name="aurora-global-database-upgrade.minor.mysql"></a>

Aurora MySQL グローバルデータベースを上位のマイナーバージョンにアップグレードする方法については、「[エンジンのバージョンを変更して Aurora MySQL アップグレードする](AuroraMySQL.Updates.Patching.ModifyEngineVersion.md)」を参照してください。

アップグレードを実行する前に、次の考慮事項を確認してください。
+ セカンダリクラスターのマイナーバージョンをアップグレードしても、プライマリクラスターの可用性や使用にはまったく影響しません。
+ マイナーアップグレードを実行するには、セカンダリクラスターは少なくとも 1 つの DB インスタンスを持っている必要があります。
+ Aurora MySQL グローバルデータベースをバージョン 2.11.\* にアップグレードする場合、プライマリ DB クラスターとセカンダリ DB クラスターを、パッチレベルも含めてまったく同じバージョンにアップグレードする必要があります。
+ マネージドクロスリージョンスイッチオーバーまたはフェイルオーバーをサポートするには、プライマリ DB クラスターとセカンダリ DB クラスターを、パッチレベルも含めて、まったく同じバージョンにアップグレードする必要があります。この要件は、Aurora MySQL および一部の Aurora PostgreSQL バージョンに適用されます。異なるパッチレベルを実行しているクラスター間のスイッチオーバーとフェイルオーバーを許可するバージョンのリストについては、「[マネージドクロスリージョンスイッチオーバーまたはフェイルオーバーに対するパッチレベルの互換性](#aurora-global-database-upgrade.minor.incompatibility)」を参照してください。

### マネージドクロスリージョンスイッチオーバーまたはフェイルオーバーに対するパッチレベルの互換性
<a name="aurora-global-database-upgrade.minor.incompatibility"></a>

Aurora Global Database で以下のマイナーエンジンバージョンのいずれかを実行している場合は、プライマリ DB クラスターとセカンダリ DB クラスターのパッチレベルが一致しなくても、マネージドクロスリージョンのスイッチオーバーまたはフェイルオーバーを実行できます。このリストに示すマイナーエンジンバージョンより低いバージョンの場合、マネージドクロスリージョンスイッチオーバーまたはフェイルオーバーを実行するには、プライマリ DB クラスターとセカンダリ DB クラスターが同じメジャー、マイナー、パッチレベルを実行している必要があります。プライマリクラスター、セカンダリクラスター、または両方のアップグレードを計画する場合は、次の表に示すバージョン情報と注意事項を確認してください。

**注記**  
 手動によるクロスリージョンフェイルオーバーの場合、ターゲットセカンダリ DB クラスターがプライマリ DB クラスターと同じメジャーおよびマイナーエンジンバージョンを実行している場合に限り、フェイルオーバープロセスを実行できます。この場合、パッチレベルが一致する必要はありません。  
 エンジンバージョン間で同じパッチレベルが必要な場合は、「[Aurora Global Database のマニュアルフェイルオーバーを実行する](aurora-global-database-disaster-recovery.md#aurora-global-database-failover.manual-unplanned)」の手順に従ってフェイルオーバーを手動で実行できます。


| データベースエンジン | マイナーエンジンバージョン | 注意事項 | 
| --- | --- | --- | 
| Aurora MySQL | マイナーバージョンはありません | プライマリ DB クラスターとセカンダリ DB クラスターの間でパッチレベルが異なる場合に、マネージドクロスリージョンスイッチオーバーまたはフェイルオーバーを許可する Aurora MySQL マイナーバージョンはありません。 | 
| Aurora PostgreSQL |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-upgrade.html)  | 前の列に示しているエンジンバージョンを使用すると、特定のパッチレベルのプライマリ DB クラスターから、異なるパッチレベルのセカンダリ DB クラスターへと、マネージドクロスリージョンスイッチオーバーまたはフェイルオーバーを実行できます。<br />これらより前のマイナーバージョンで、プライマリ DB クラスターとセカンダリ DB クラスターのパッチレベルが一致する場合のみ、マネージドクロスリージョンスイッチオーバーまたはフェイルオーバーを実行できます。グローバルデータベースのクラスターを次のいずれかのパッチバージョンに更新すると、グローバルデータベース内のすべてのクラスターがこれらのパッチバージョンのいずれかを実行するか、新しいバージョンを実行するまで、クロスリージョンスイッチオーバーまたはフェイルオーバーを実行できなくなります。  パッチバージョン 16.1.6、16.2.4、16.3.2、および 16.4.2 パッチバージョン 15.3.8、15.4.9、15.5.6、15.6.4、15.7.2、および 15.8.2 パッチバージョン 14.8.8、14.9.9、14.10.6、14.11.4、14.12.2、および 14.13.2  | 