【Amazon RDS】プライマリ/リードレプリカのアップグレードは順序が大事

2024/04/09 AWS, What's Up, 技術系 投稿者:

皆様こんにちは、ネットワーク事業部の生方と申します。

弊社ではAWSの環境構築から稼働後の保守まで継続して対応させていただくケースが多いのですが、AWSはAmazon側のシステムアップデートなどによるメンテナンスが不定期に必要となります。

先日、とあるお客様のAWS環境でRDSのアップグレードを実施しましたので、その際の手順や注意点などについてご紹介したいと思います。

 

アップグレードの概要

2023年中から、AWSよりAmazon RDS for PostgreSQL 11系の標準サポートが終了するというアナウンスがされていました。


(AWSからのアナウンス)

PostgreSQL コミュニティは、11.22 リリース後にPostgreSQL11を非推奨にする予定であり、最終的なコミュニティリリース以降はセキュリティパッチが提供されません。
Amazon RDSは、2024年2月29日にPostgreSQL メジャーバージョン11の標準サポートを終了します。

2024年2月にRDSの標準サポートが終了する前に、メジャーバージョン11を実行しているPostgreSQL データベース (DB) をメジャーバージョン14以降にアップグレードすることをお勧めします。


弊社でサポートしているユーザ様の環境ではAmazon RDS for PostgreSQL 11.18が稼働していたため、ユーザ様及びシステム開発会社様と対応について協議いたしました。
その結果、現在稼働しているシステムとの兼ね合いもありPostgreSQL 14系が採用され、その時点での14系最新バージョンである14.10へアップグレードすることとなりました。

 

構成と状況

ユーザ様の環境ではバージョンアップ対象となるRDSが複数あり、通常のインスタンスとプライマリ/リードレプリカ構成のインスタンスがありました。

リードレプリカとは、更新対象となるデータベース(プライマリサーバ)とは別に複製された読み取り専用のデータベースです。プライマリサーバへの負荷分散のために利用し、データの読み込み速度などの向上が見込めます。
ただしプライマリサーバとは非同期のため、タイミングによっては最新のデータが取得できない場合もあります。

今回の場合、プライマリ/リードレプリカどちらもPostgreSQL 11.18で稼働しており、いずれもアップグレードが必要となりました。

今回は、特に手順が複雑だったプライマリ/リードレプリカのアップグレードについてご紹介いたします。

 

検証段階で判明したこと

事前の検証作業やAWSのサポートへ問い合わせるなどして、以下のような注意点が判明しました。

PostgreSQL 11.18→14.10へは1回でアップグレードできない

検証のため、対象となるRDSを複製して実際にアップグレードを試みましたが、AWSマネジメントコンソールへログインしてDBエンジンバージョンの一覧を確認したところ、対象として選択できるリストに14.10が存在しませんでした。

そこでAWSサポートへ問い合わせしたところ、各バージョンからからアップグレードできるターゲットが決まっていることが分かりました。
Getting a list of available versions in your AWS Region

検証段階では11.18からアップグレードできる上限は14.6だったため、11.18 → 14.6 → 14.10 と2回に分けることで目的のバージョンまでアップグレード可能であると確認できました。

 

プライマリ/リードレプリカのアップグレード順序

これまでもRDSのマイナーバージョンのアップグレードは実施した経験があり、プライマリ/リードレプリカ構成の場合は『リードレプリカ → プライマリ』の順番で個別にアップグレードする必要があることを把握していました。

しかし調査を進めるなかで、

  • メジャーバージョンのアップグレードは『プライマリ → リードレプリカ』の順で行う必要がある(マイナーバージョンとは逆順になる)
  • プライマリのメジャーアップグレードを行うと、完了後にリードレプリカが自動でアップグレードされる

という2点が判明しました。


(参考)Amazon RDS の PostgreSQL DB エンジンのアップグレード
リージョン内リードレプリカがある DB インスタンスをアップグレードする場合、Amazon RDS はプライマリ DB インスタンスと共にレプリカもアップグレードします。


 

この調査結果から、以下の流れでアップグレードを実施することが判明し、想定よりもかなり複雑な流れとなってしまいました。

 

アップグレード作業の手順と結果

結果から述べると、事前に検証した流れ通りに進めることで無事14.10へアップグレードすることができました。
作業時間も全体で1時間程度に収まりました。

(Step1)
AWSマネジメントコンソールにログインします。
RDSの一覧から対象のプライマリを選択して、DBエンジンバージョンを11.18 → 14.6へ変更します。(約20分で完了)

※ここからStep4完了までDBへのアクセスはできなくなります。

(Step2)
プライマリのアップグレードが完了後、自動的にリードレプリカの11.18 → 14.6へのアップグレードが開始されます。
プライマリ/リードレプリカ共にステータスが「利用可能」になるまで待ちます。(約20分で完了)

(Step3)
メジャーアップグレードされたことを確認できたら、RDSの一覧からリードレプリカを選択して14.6 → 14.10へマイナーアップグレードを行います。
RDS一覧でステータスが「利用可能」になり、エンジンバージョンが14.10になったことを確認します。(約10分で完了)

(Step4)
Step3と同様にプライマリを選択して14.6へアップグレードします。
RDS一覧でステータスが「利用可能」になり、エンジンバージョンが14.10になったことを確認します。(約10分で完了)

 

プライマリ/リードレプリカ共にアップグレード完了後、システムも問題なく稼働することをユーザ様に確認していただき、全作業完了となりました。

 

おわりに

ユーザ様やシステム開発会社様にご協力いただいて無事に完了できましたが、アップグレードが複数回必要なことや、メジャー/マイナーアップグレードで順序が異なることなど事前の検証のおかげで把握することができた内容でした。
改めて調査・検証の重要さを痛感する事例だったなと感じます。

今後のAWSの仕様変更等によりこのケースとは異なることが出てくるかもしれませんが、アップグレード作業の一例として参考にしていただければ幸いです。

弊社ではAWSやオンプレサーバなど幅広くサーバ構築や保守について承っておりますので、ぜひお気軽にご相談ください。

カレンダー

1234567
891011121314
15161718192021
22232425262728
2930     
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
   1234
567891011
12131415161718
19202122232425
26272829   
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
     12
3456789
10111213141516
17181920212223
24252627282930
31      
   1234
567891011
12131415161718
19202122232425
2627282930  
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
  12345
6789101112
13141516171819
20212223242526
2728     
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
     12
3456789
10111213141516
17181920212223
24252627282930
31      
   1234
567891011
12131415161718
19202122232425
2627282930  
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
1234567
891011121314
15161718192021
22232425262728
2930     
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
     12
3456789
10111213141516
17181920212223
24252627282930
31      
   1234
567891011
12131415161718
19202122232425
2627282930  
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
1234567
891011121314
15161718192021
22232425262728
       
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
     12
3456789
10111213141516
17181920212223
24252627282930
31      
1234567
891011121314
15161718192021
22232425262728
2930     
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
     12
3456789
10111213141516
17181920212223
242526272829 
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
1234567
891011121314
15161718192021
22232425262728
2930     
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
    123
45678910
11121314151617
18192021222324
25262728   
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
     12
3456789
10111213141516
17181920212223
24252627282930
31      
   1234
567891011
12131415161718
19202122232425
2627282930  
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
   1234
567891011
12131415161718
19202122232425
262728    
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
     12
3456789
10111213141516
17181920212223
24252627282930
31      
   1234
567891011
12131415161718
19202122232425
2627282930  
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728     
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
1234567
891011121314
15161718192021
22232425262728
29      
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
  12345
6789101112
13141516171819
20212223242526
27282930   
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
      1
2345678
9101112131415
16171819202122
232425262728 
       
   1234
567891011
12131415161718
19202122232425
262728293031 
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
     12
3456789
10111213141516
17181920212223
24252627282930
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
1234567
891011121314
15161718192021
22232425262728
2930     
       
    123
45678910
11121314151617
18192021222324
25262728293031
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
 123456
78910111213
14151617181920
21222324252627
282930    
       
     12
3456789
10111213141516
17181920212223
2425262728  
       
  12345
6789101112
13141516171819
20212223242526
2728293031  
       
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
    123
45678910
11121314151617
18192021222324
252627282930 
       
 123456
78910111213
14151617181920
21222324252627
28293031   
       
      1
2345678
9101112131415
16171819202122
23242526272829
30      
   1234
567891011
12131415161718
19202122232425
262728293031 
       
1234567
891011121314
15161718192021
22232425262728
293031    
       
U・Iターン転職しませんか?
群馬データセンター
群馬の法人ITサポートサービス Wide Net[ワイドネット]
Wide Netのクラウドバックアップ
クラウド型ファイル共有サービスRushDrive
ワイドオフィス
ネディアのSDGsへの取り組み