Amazon Aurora Global Database のマネージドマイナーバージョンアップグレードを試してみた
Aurora Global Databaseのマイナーバージョンアップを簡単に行いたい
こんにちは、のんピ(@non____97)です。
皆さんはAurora Global Databaseのマイナーバージョンアップを簡単に行いたいなと思ったことはありますか? 私はあります。
Aurora Global Databaseを運用している時にバージョンアップは一手間がかかります。
以下記事で紹介しているように人力でセカンダリーDBクラスター → プライマリDBクラスターの順番でバージョンアップをしてあげる必要があります。
複数DBクラスターを運用している場合は辛いところです。
2026年2月のアップデートでAurora PostgreSQL限定ですが、マイナーバージョンアップをマネージドで行ってくれるようになりました。
これにより各DBクラスターを手動でアップデートする必要がなくなりました。
バージョンアップ中に何かトラブルがあったとしても元のバージョンにロールバックしてくれます。
マイナーバージョンアップ
単一の管理操作と最小限のダウンタイムで、すべてのリージョンにわたるAuroraグローバルデータベースを新しいマイナーエンジンバージョンにアップグレードできます。これにより、各クラスタを個別に手動でアップグレードする必要がなくなり、グローバルクラスタ管理の運用上の負担が軽減されます。
グローバルデータベースのマイナーバージョンアップグレードについて理解する
グローバルデータベースのマイナーバージョンは、RDS API、AWS CLI、またはAWSマネジメントコンソールを使用してアップグレードできます。この単一の操作で、プライマリクラスタとすべてのセカンダリ(ミラー)クラスタ全体にわたるアップグレードが実行されます。アップグレード中に問題が発生した場合、サービスは自動的に既存のバージョンにロールバックされます。注記
この管理機能は現在、Aurora PostgreSQL互換エンジンでのみサポートされています。
なお、グローバルDB全体のパッチバージョンアップの引き上げはしてくれないようです。その場合は先述の記事で紹介しているように個別にアップデートを行いましょう。
マイナーバージョンアップグレードに関する考慮事項
グローバルデータベースのマイナーバージョンアップグレードを計画する際には、以下の点を考慮してください。
管理機能はマイナーバージョンアップグレードにのみ適用されます。パッチバージョンアップグレードでは、既存のシステムアップデートメンテナンス手順が引き続き使用されます。
マネージド機能は、Aurora PostgreSQLグローバルクラスタでのみサポートされています。
グローバルクラスタトポロジ内の各クラスタは個別にアップグレードできます。この方法を選択する場合は、プライマリクラスタをアップグレードする前に、すべてのセカンダリクラスタをアップグレードしてください。アップグレード時には、プライマリおよびセカンダリDBクラスタが同じマイナーバージョンとパッチレベルにアップグレードされていることを確認してください。パッチレベルを更新するには、セカンダリクラスタで保留中のすべてのメンテナンスアクションを適用します。Aurora PostgreSQLグローバルデータベースをより高いマイナーバージョンにアップグレードする方法については、「 マイナーバージョンのアップグレードとパッチの適用方法」を参照してください。
実際に試してみます。
やってみた
us-east-1とap-northeast-1にAurora PostgreSQL 17.4のグローバルDBを用意しました。us-east-1がプライマリです。

EC2インスタンスから接続してDBバージョンを確認します。
$ curl -o global-bundle.pem https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 161k 100 161k 0 0 5335k 0 --:--:-- --:--:-- --:--:-- 5384k
$ export RDSHOST="database-cluster-1.cluster-cicjym7lykmq.us-east-1.rds.amazonaws.com"
$ psql "host=$RDSHOST port=5432 dbname=postgres user=postgres sslmode=verify-full sslrootcert=./global-bundle.pem"
Password for user postgres:
psql (16.5, server 17.4)
WARNING: psql major version 16, server major version 17.
Some psql features might not work.
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, compression: off)
Type "help" for help.
postgres=> SELECT aurora_version();
aurora_version
----------------
17.4.5
(1 row)
確認できました。
それでは、0.5秒間隔で現在のバージョンを確認するようにしておきます。
$ read -s PGPASSWORD
$ export PGPASSWORD
$ CONN="host=$RDSHOST port=5432 dbname=postgres user=postgres sslmode=verify-full sslrootcert=./global-bundle.pem"
$ while true; do
printf '%s ' "$(date '+%Y-%m-%d %H:%M:%S.%3N')"
psql "$CONN" -tAc "SELECT aurora_version();" 2>&1
sleep 0.5
done
2026-04-11 06:03:49.669 17.4.5
2026-04-11 06:03:50.227 17.4.5
2026-04-11 06:03:50.774 17.4.5
2026-04-11 06:03:51.321 17.4.5
2026-04-11 06:03:51.866 17.4.5
2026-04-11 06:03:52.411 17.4.5
2026-04-11 06:03:52.957 17.4.5
2026-04-11 06:03:53.501 17.4.5
2026-04-11 06:03:54.047 17.4.5
2026-04-11 06:03:54.595 17.4.5
2026-04-11 06:03:55.142 17.4.5
.
.
(以下略)
.
.
ap-northeast-1側でも同様の処理を流しておきます。
$ curl -s -o global-bundle.pem https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem
$ export RDSHOST="global-database-cluster-1.cluster-cukqrmgu6hz5.ap-northeast-1.rds.amazonaws.com"
$ read -s PGPASSWORD
$ export PGPASSWORD
$ CONN="host=$RDSHOST port=5432 dbname=postgres user=postgres sslmode=verify-full sslrootcert=./global-bundle.pem"
$ while true; do
printf '%s ' "$(date '+%Y-%m-%d %H:%M:%S.%3N')"
psql "$CONN" -tAc "SELECT aurora_version();" 2>&1
sleep 0.5
done
2026-04-11 06:17:35.658 17.4.5
2026-04-11 06:17:36.277 17.4.5
2026-04-11 06:17:36.814 17.4.5
2026-04-11 06:17:37.352 17.4.5
2026-04-11 06:17:37.899 17.4.5
2026-04-11 06:17:38.438 17.4.5
2026-04-11 06:17:38.975 17.4.5
2026-04-11 06:17:39.584 17.4.5
.
.
(以下略)
.
.
それではこの状態でマイナーバージョンアップを行います。今回はマネジメントコンソールから行います。
AWS CLIから行う場合は以下のようなコマンドになります。
aws rds modify-global-cluster \
--global-cluster-identifier global_cluster_identifier \
--engine-version target_engine_version
今回は17.5にバージョンアップします。


確認画面に遷移すると、予期しないダウンタイムが発生する可能性があると警告が表示されました。

今回はそのままグローバルデータベースの変更をクリックします。
すると、全台同じタイミングでバージョンアップが始まりました。

しばらくするとセカンダリであるap-northeast-1のDBクラスターのバージョンアップが完了しました。

このとき0.5秒間隔でバージョン確認をしているセッションを確認すると、以下のように11秒ほどダウンタイムが発生していることが分かりました。
.
.
(中略)
.
.
2026-04-11 06:21:34.069 17.4.5
2026-04-11 06:21:34.608 17.4.5
2026-04-11 06:21:35.200 psql: error: connection to server at "global-database-cluster-1.cluster-cukqrmgu6hz5.ap-northeast-1.rds.amazonaws.com" (172.31.33.255), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
2026-04-11 06:21:35.714 psql: error: connection to server at "global-database-cluster-1.cluster-cukqrmgu6hz5.ap-northeast-1.rds.amazonaws.com" (172.31.33.255), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
2026-04-11 06:21:36.225 psql: error: connection to server at "global-database-cluster-1.cluster-cukqrmgu6hz5.ap-northeast-1.rds.amazonaws.com" (172.31.33.255), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
2026-04-11 06:21:36.738 psql: error: connection to server at "global-database-cluster-1.cluster-cukqrmgu6hz5.ap-northeast-1.rds.amazonaws.com" (172.31.33.255), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
2026-04-11 06:21:37.249 psql: error: connection to server at "global-database-cluster-1.cluster-cukqrmgu6hz5.ap-northeast-1.rds.amazonaws.com" (172.31.33.255), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
2026-04-11 06:21:37.759 psql: error: connection to server at "global-database-cluster-1.cluster-cukqrmgu6hz5.ap-northeast-1.rds.amazonaws.com" (172.31.33.255), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
2026-04-11 06:21:38.270 psql: error: connection to server at "global-database-cluster-1.cluster-cukqrmgu6hz5.ap-northeast-1.rds.amazonaws.com" (172.31.33.255), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
2026-04-11 06:21:38.781 psql: error: connection to server at "global-database-cluster-1.cluster-cukqrmgu6hz5.ap-northeast-1.rds.amazonaws.com" (172.31.33.255), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
2026-04-11 06:21:39.292 psql: error: connection to server at "global-database-cluster-1.cluster-cukqrmgu6hz5.ap-northeast-1.rds.amazonaws.com" (172.31.33.255), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
2026-04-11 06:21:39.802 psql: error: connection to server at "global-database-cluster-1.cluster-cukqrmgu6hz5.ap-northeast-1.rds.amazonaws.com" (172.31.33.255), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
2026-04-11 06:21:40.313 psql: error: connection to server at "global-database-cluster-1.cluster-cukqrmgu6hz5.ap-northeast-1.rds.amazonaws.com" (172.31.33.255), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
2026-04-11 06:21:40.823 psql: error: connection to server at "global-database-cluster-1.cluster-cukqrmgu6hz5.ap-northeast-1.rds.amazonaws.com" (172.31.33.255), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
2026-04-11 06:21:41.334 psql: error: connection to server at "global-database-cluster-1.cluster-cukqrmgu6hz5.ap-northeast-1.rds.amazonaws.com" (172.31.33.255), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
2026-04-11 06:21:41.845 psql: error: connection to server at "global-database-cluster-1.cluster-cukqrmgu6hz5.ap-northeast-1.rds.amazonaws.com" (172.31.33.255), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
2026-04-11 06:21:42.356 psql: error: connection to server at "global-database-cluster-1.cluster-cukqrmgu6hz5.ap-northeast-1.rds.amazonaws.com" (172.31.33.255), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
2026-04-11 06:21:42.868 psql: error: connection to server at "global-database-cluster-1.cluster-cukqrmgu6hz5.ap-northeast-1.rds.amazonaws.com" (172.31.33.255), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
2026-04-11 06:21:43.378 psql: error: connection to server at "global-database-cluster-1.cluster-cukqrmgu6hz5.ap-northeast-1.rds.amazonaws.com" (172.31.33.255), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
2026-04-11 06:21:43.889 psql: error: connection to server at "global-database-cluster-1.cluster-cukqrmgu6hz5.ap-northeast-1.rds.amazonaws.com" (172.31.33.255), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
2026-04-11 06:21:44.400 psql: error: connection to server at "global-database-cluster-1.cluster-cukqrmgu6hz5.ap-northeast-1.rds.amazonaws.com" (172.31.33.255), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
2026-04-11 06:21:44.911 psql: error: connection to server at "global-database-cluster-1.cluster-cukqrmgu6hz5.ap-northeast-1.rds.amazonaws.com" (172.31.33.255), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
2026-04-11 06:21:45.422 psql: error: connection to server at "global-database-cluster-1.cluster-cukqrmgu6hz5.ap-northeast-1.rds.amazonaws.com" (172.31.33.255), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
2026-04-11 06:21:45.934 psql: error: connection to server at "global-database-cluster-1.cluster-cukqrmgu6hz5.ap-northeast-1.rds.amazonaws.com" (172.31.33.255), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
2026-04-11 06:21:46.444 psql: error: connection to server at "global-database-cluster-1.cluster-cukqrmgu6hz5.ap-northeast-1.rds.amazonaws.com" (172.31.33.255), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
2026-04-11 06:21:46.956 psql: error: connection to server at "global-database-cluster-1.cluster-cukqrmgu6hz5.ap-northeast-1.rds.amazonaws.com" (172.31.33.255), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
2026-04-11 06:21:47.467 psql: error: connection to server at "global-database-cluster-1.cluster-cukqrmgu6hz5.ap-northeast-1.rds.amazonaws.com" (172.31.33.255), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
2026-04-11 06:21:47.979 psql: error: connection to server at "global-database-cluster-1.cluster-cukqrmgu6hz5.ap-northeast-1.rds.amazonaws.com" (172.31.33.255), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
2026-04-11 06:21:48.489 psql: error: connection to server at "global-database-cluster-1.cluster-cukqrmgu6hz5.ap-northeast-1.rds.amazonaws.com" (172.31.33.255), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
2026-04-11 06:21:49.000 psql: error: connection to server at "global-database-cluster-1.cluster-cukqrmgu6hz5.ap-northeast-1.rds.amazonaws.com" (172.31.33.255), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
2026-04-11 06:21:49.511 psql: error: connection to server at "global-database-cluster-1.cluster-cukqrmgu6hz5.ap-northeast-1.rds.amazonaws.com" (172.31.33.255), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
2026-04-11 06:21:50.022 psql: error: connection to server at "global-database-cluster-1.cluster-cukqrmgu6hz5.ap-northeast-1.rds.amazonaws.com" (172.31.33.255), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
2026-04-11 06:21:50.532 psql: error: connection to server at "global-database-cluster-1.cluster-cukqrmgu6hz5.ap-northeast-1.rds.amazonaws.com" (172.31.33.255), port 5432 failed: FATAL: the database system is starting up
2026-04-11 06:21:56.481 17.5.4
2026-04-11 06:21:57.176 17.5.4
.
.
(以下略)
.
.
そのまま待つとus-east-1も17.5となりました。

画面をリロードするとグローバルDBについても17.5にバージョンアップされました。

us-east-1側で0.5秒間隔でバージョン確認をしているセッションを確認すると、以下のように1.5秒ほどダウンタイムが発生していることが分かりました。
.
.
(中略)
.
.
2026-04-11 06:22:38.934 17.4.5
2026-04-11 06:22:39.481 17.4.5
2026-04-11 06:22:40.026 psql: error: connection to server at "database-cluster-1.cluster-cicjym7lykmq.us-east-1.rds.amazonaws.com" (172.31.14.140), port 5432 failed: Connection refused
Is the server running on that host and accepting TCP/IP connections?
2026-04-11 06:22:40.535 psql: error: connection to server at "database-cluster-1.cluster-cicjym7lykmq.us-east-1.rds.amazonaws.com" (172.31.14.140), port 5432 failed: FATAL: the database system is starting up
2026-04-11 06:22:41.962 17.5.4
2026-04-11 06:22:42.682 17.5.4
.
.
(以下略)
.
.
ZDPが適用されているようです。
バージョンアップ時のイベントを時系列ごとに整理すると以下のようになります。
| 日時 (JST) | リソース名 | イベント |
|---|---|---|
| 2026-04-11 15:20 | us-east-1 DBクラスター | Database cluster engine minor version upgrade started. Cluster remains online. |
| 2026-04-11 15:20 | ap-northeast-1 DBクラスター | Database cluster engine minor version upgrade started. Cluster remains online. |
| 2026-04-11 15:21 | ap-northeast-1 DBインスタンス | The parameter max_wal_senders was set to a value incompatible with replication. It has been adjusted from 10 to 20. |
| 2026-04-11 15:21 | ap-northeast-1 DBインスタンス | DB instance shutdown |
| 2026-04-11 15:21 | ap-northeast-1 DBインスタンス | The parameter max_wal_senders was set to a value incompatible with replication. It has been adjusted from 10 to 20. |
| 2026-04-11 15:21 | ap-northeast-1 DBインスタンス | DB instance restarted |
| 2026-04-11 15:22 | us-east-1 DBクラスター | Attempting to upgrade the database with zero downtime. |
| 2026-04-11 15:22 | us-east-1 DBインスタンス | The parameter max_wal_senders was set to a value incompatible with replication. It has been adjusted from 10 to 20. |
| 2026-04-11 15:22 | us-east-1 DBインスタンス | Attempting to upgrade the database with zero downtime. |
| 2026-04-11 15:22 | us-east-1 DBインスタンス | Aurora fast startup completed in [1431425] microseconds. |
| 2026-04-11 15:22 | us-east-1 DBクラスター | Attempt to upgrade the database instance 'database-cluster-1-instance-1' with zero downtime finished. The process took 2360 ms, 6 connections preserved, 0 connections dropped. See the database error log for details. |
| 2026-04-11 15:22 | us-east-1 DBインスタンス | Attempt to upgrade the database instance 'database-cluster-1-instance-1' with zero downtime finished. The process took 2360 ms, 6 connections preserved, 0 connections dropped. See the database error log for details. |
| 2026-04-11 15:22 | us-east-1 DBクラスター | Database cluster is online. The primary instance is ready for connections. |
| 2026-04-11 15:22 | us-east-1 DBクラスター | Database cluster engine version upgrade finished on all instances. |
| 2026-04-11 15:22 | ap-northeast-1 DBクラスター | Database cluster engine minor version upgrade complete. Previous version: 17.4.5. New version: 17.5.4. |
| 2026-04-11 15:22 | ap-northeast-1 DBクラスター | Database cluster engine version has been upgraded. |
| 2026-04-11 15:23 | us-east-1 DBクラスター | Database cluster engine minor version upgrade complete. Previous version: 17.4.5. New version: 17.5.4. |
| 2026-04-11 15:23 | us-east-1 DBクラスター | Database cluster engine version has been upgraded. |
Attempting to upgrade the database with zero downtime.とあることから確かにZDPが効いていることが分かります。
なお、ap-northeast-1のDBクラスターでZDPが効かなかったのは仕様です。以下AWS公式ドキュメントに記載があります。
ダウンタイムのないパッチ適用の制限
ダウンタイムのないパッチ適用には、次の制限が適用されます。
- ZDP は、Aurora PostgreSQL のアップグレードプロセス全体で、Aurora PostgreSQL ライターインスタンスへの現在のクライアント接続を維持しようとします。ただし、以下の場合、ZDP が完了するまで接続は切断されます。
- 長期実行クエリまたはトランザクションが進行中である。
- データ定義言語 (DDL) ステートメントが実行中である。
- 一時テーブルまたはテーブルロックが使用中である。
- すべてのセッションが通知チャネルでリッスン中である。
- 「WITH HOLD」ステータスのカーソルが使用中である。
- TLSv1.1 接続が使用中である。Aurora PostgreSQL バージョン 16.1、15.3、14.8、13.11、12.15、11.20 以降の場合、ZDP は TLSv1.3 接続でサポートされています。
- ZDP は、次の場合サポートされていません。
- Aurora PostgreSQL DB クラスターが Aurora Serverless v1 に設定されている場合。
- Aurora リーダーインスタンスのアップグレード中。
- セカンダリリージョンの Aurora Global Database クラスターの一部である Aurora リーダーインスタンスのアップグレード中。
- OS パッチおよび OS アップグレード中。
タイミングを見計らってでサッとバージョンアップしたい時に便利
Amazon Aurora Global Database のマネージドマイナーバージョンアップグレードを試してみました。
タイミングを見計らってでサッとバージョンアップしたい時に便利ですね。バージョンアップは基本的にはシステム利用の少ない合間を縫って行ったり、システム全体をメンテナスモードにして行うことが多いと思います。こちらの機能を使うことによってオペレーションミスも減りますし、メンテナンスの時間を短くすることもできるかもしれません。
この記事が誰かの助けになれば幸いです。
以上、クラウド事業本部 コンサルティング部の のんピ(@non____97)でした!







