1
0

More than 1 year has passed since last update.

[PostgreSQL] Aurora Serverless v1→v2へのアップグレード [AWS/RDS]

Last updated at Posted at 2022-10-09

概要

Aurora Serverless v1(PostgreSQL 10.XX) → Aurora Serverless v2(PostgreSQL 13.7)へ
アップグレードする手順の紹介です。

【本記事の参考ページ】
・Aurora PostgreSQL の PostgreSQL DB エンジンのアップグレード(aws.amazon.com)
・Aurora Serverless v2で開始(aws.amazon.com)

Serverless v1→v2 は直接アップグレードできない

PostgreSQL 10のサポート終了発表に伴い、V1→V2へアップグレードしようとしましたが
通常通りRDS変更からバージョンを変更しようとしても
プルダウンメニューに10以外のバージョンが表示されませんでした。

色々調べてみると、Serverlessの場合、メジャーバージョンのアップグレードを行うためには
以下の手順を踏む必要があります。


■ v1(PostgreSQL 10.XX)のスナップショットを取得

■ スナップショットを元に、プロビジョニング済みクラスターを作成 (この時点ではバージョンは10.XXのまま作成)

■作成したプロビジョニング済みインスタンスを、v2対応のPostgreSQL 13.7へアップグレード

■プロビジョニング済みクラスターにServerless v2のリーダーインスタンスを追加

■作成したリーダーインスタンスをフェイルオーバーし、ライターインスタンスへ変更


次の項目から、実際の作業手順を詳しくご紹介します。


作業手順

手順1. Serverless v1(PostgreSQL 10.XX)のスナップショットを取得

既存のV1(PostgreSQL 10.XX)のスナップショットを取得します。
アクションスナップショットの取得から取得可能です。


手順2. スナップショットを元に、プロビジョニング済みクラスターを作成

手順1で作成したスナップショットを選択し
アクションスナップショットを復元から、以下のように設定します。

スクリーンショット (34).png

暗号化やネットワークの設定等は必要に応じて行ってください。
このDBはあくまでアップグレードのための踏み台として一時的に使うものため
インスタンスクラスは必要最低限で問題ありません。

設定が完了したら、クラスターの復元をクリックしてプロビジョニング済みクラスターを作成します。


手順3. プロビジョニング済みクラスターを13.7へアップグレード

作成したプロビジョニング済みクラスターを選択し、変更をクリック。

DBインスタンスエンジンは、Serverless v2に対応しているバージョンであるPostgreSQL 13.7を選択します。
スクリーンショット (37).png

その他の設定項目は任意で設定し、続行をクリック。

スクリーンショット (35).png

DBエンジンとパラメータグループが13.7へ変更されている事を確認したら
クラスターの変更を適用を選択して、アップグレードします。


手順4. リーダーインスタンス(Serverless v2)を追加

プロビジョニング済みクラスターを選択し、アクションリーダーの追加
以下のように設定し、Serverless V2をリーダーインスタンスとして追加します。

スクリーンショット (38).png

その他の項目は任意で設定し、Add Readerをクリックして作成します。

以下のように
プロビジョニング済みインスタンスがライター、Serverless V2がリーダーという状態になっているかと思います。
スクリーンショット (40).png


手順5. Serverless v2をフェイルオーバー

Serverlss V2をライターインスタンスへ昇格させます。
プロビジョニング済みインスタンスを選択して、アクションフェイルオーバーをクリック
スクリーンショット (41).png

以下のようにServerless v2がライターインスタンスへ切り替わっていれば、OKです。
スクリーンショット (42).png

最後に不要となったプロビジョニング済みインスタンスを削除して、本作業は完了です。


最後に

2023年1月にはPostgreSQL10のサポートが終了するため、早めに対応しましょう!


おまけ

以下では、PostgreSQLのパラメータをバックアップする方法をご紹介します。

アップグレード手順とは直接的には関係ありませんが
実際の作業ではバックアップも必要になることがあるかと思いますので、参考までにどうぞ。

  • vimでSQLの実行ファイルconfig.sqlを作成
$ vim config.sql

# config.sql
// Postgressのパラメータの確認コマンド
select name, setting, unit from pg_settings;
  • config.sqlを実行し、config-backup.txtに出力
psql -f config.sql -U ユーザ名 -d データベース名 -h ホスト > config-backup-before.txt

-fはファイルからコマンドを読み込んで実行するオプションです。
これを使用することで、psqlに入らずとも、外部からpsqlコマンドを実行し、テキストファイルなどにバックアップする事ができます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0