Amazon Web Services ブログ

Amazon RDS Online Seminar 「忘れちゃいけない!Amazon RDS/Amazon Aurora のアップグレードとその方法」資料・動画及び QA 公開

先日(2021/11/11) に開催した Amazon RDS Online Seminar「忘れちゃいけない!Amazon RDS/Amazon Aurora のアップグレードとその方法」の資料・動画を公開しました。
当日、参加者の皆様には数多くの QA を頂きありがとうございました。頂いた QA の一部についても共有しています。

【動画】

RDS/Aurora Update
RDS/Aurora MySQL Major/Minor Upgrade
RDS/Aurora PostgreSQL Major/Minor Upgrade
RDS for Oracle Major/Minor Upgrade
RDS for SQL Server Major/Minor Upgrade

【資料】

資料ダウンロード

Q. マルチAZで本番稼働しているAmazon RDSのバージョンがそれなりに古くてバージョンアップの際に何らかの作業が必要な場合、影響がないように1台目は使用したまま2台目でバージョンアップ作業⇒終わったらフェイルオーバーして1台目のバージョンアップ作業⇒終わったらフェイルバックということは可能でしょうか?

A. マルチAZ環境におけるAmazon RDSのバージョンアップに関しては、以下のblogに詳細な解説がございます。

https://aws.amazon.com/jp/premiumsupport/knowledge-center/rds-required-maintenance/

ポイントは、ハードウェアのメンテナンスやOS のメンテナンスの場合は、マルチAZ構成でフェイルオーバーを実施することにより、ダウンタイムを削減することが可能です。また、DB エンジンのメンテナンスの場合は、マルチAZ構成の場合においてもプライマリDBインスタンスとスタンバイDBインスタンスが同時にアップグレードされるため、アップグレードが完了するまでダウンタイムが発生することになります。

Q.Amaon Aurora でメジャーバージョンアップの際には、pgdumpを取得し、新たなAuroraを立ち上げimportするといったバージョンアップの方法を推奨する記事がある認識ですが、PostgreSQL 11で利用している環境をPostgreSQL 12にバージョンアップすることもできるのでしょうか?

A. 2021/1/28の更新により、Amazon Aurora PostgreSQL 11からAmazon Aurora PostgreSQL 12へのインプレースアップグレードがサポートされております。詳細は以下文章をご覧ください。

https://aws.amazon.com/jp/about-aws/whats-new/2021/01/amazon-aurora-supports-in-place-upgrades-postgresql-11-12/

Q. Amazon RDS for PostgreSQLのメジャーバージョンアップグレードの所要時間を短縮する手段としてどのようなものがあるでしょうか。インスタンスタイプの引き上げの他、ストレージタイプをプロビジョンドIOPSにすることが有用ではないかと考えているのですが効果はあるでしょうか。また、注意点等あるでしょうか。

A. アップグレードでは、CPUやIOなどのOSリソースを使用して実行されますので、これらのリソースが不足しているような場合はインスタンスタイプ の引き上げやストレージタイプの変更で所要時間を改善できるかと思います。ただ、インスタンスタイプ 変更は変更時によるダウンタイムが発生してしまいますので、ご注意いただければと思います。

ダウンタイムを削減する場合、セッション内でもご紹介したようなAWS DMS(AWS Database Migration Service)をご使用頂くなどもご検討頂ければと思います。

Q. Amazon RDS for PostgreSQL 10.x から Aurora PostgreSQL 12.x 以降への最適なアップグレード/マイグレーションを実施する際に、なるべくダウンタイムを少なくするにはどんな選択肢がありますか?

A. Amazon RDS for PostgreSQLからAmazon Aurora PostgreSQLへの移行はAmazon Aurora PostgreSQLをレプリカにして同期する方法が一般的ですが、ご質問のケースでは、Amazon RDS と Amazon Auroraでメジャーバージョンが異なるため、この方法が取れません。かつダウンタイムを小さくするという要件を満たすためにはAmazon RDSとAmazon Auroraを論理レプリケーションで同期する方法になります。選択肢としてはpglogicalを使った論理レプリケーションか、AWS DMSを使った論理レプリケーションを使うものとなります。pglogicalはソース、ターゲットでサポートされるマイナーバージョンを確認してください。AWS DMSはpglogical拡張がサポートされていなくても問題はありません。論理レプリケーションにはデータ型の制限やソースのテーブルにprimary/unique keyが必要、シーケンス値の同期の扱いなど、それぞれ制限もありますので、事前にしっかりと検証されることを強くお勧めします。

Q. Amazon RDS for Oracleの12cから19cへの自動アップグレードについて教えてください。Amazon RDS for Oracleの稼動中でもいきなり始まり、その間はDBに接続不可になるのでしょうか?また、それ以前に取得していたスナップショットは使用できなくなるのでしょうか?もし、アップグレードによる障害が発生した場合も前バージョンに戻すことができないということでしょうか?

A. 自動アップグレードはAmazon RDS for Oracle のDBが稼働中でも実施されます。それ以前に取得していたスナップショットからのリストアも可能ですが、そのインスタンスも自動アップグレードされます。もしアップグレードによる障害が発生した場合も前バージョンに戻す事はできません。ぜひ計画的なアップグレードをお願い致します。

Q. Amazon RDS for MySQL について、MySQL 5.6 から MySQL 5.7 への自動アップデートが 3月1日からだと思うのですが、3月1日になったらアップデートされるのか、3月1日以降のメンテナンスウインドウに表示された日時に実施されるのでしょうか?

A. 下記が詳細のドキュメントとなりますが、予期せぬアップグレードを防ぐためにも期限までに早めにアップグレードを実施されることをお勧めします。

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt.Deprecation56

著者

塚井知之
エンタープライズ ソリューション アーキテクト