RDS DB インスタンスのメンテナンスとアップグレード

DB インスタンスの変更は、DB エンジンのバージョンがアップグレードされた場合、または Amazon RDS がインスタンスでメンテナンスを実行するときに、DB インスタンスが手動で変更された場合に発生することがあります。

Amazon RDS メンテナンス

  • Amazon RDS は、DB インスタンスなどの Amazon RDS リソースの保守を定期的に実行し、ほとんどの場合、DB インスタンスのオペレーティングシステム (OS) の更新を伴います。
  • メンテナンス項目は、
    • DB インスタンスに手動で適用する便利なもの
    • または、定義された毎週のメンテナンスウィンドウで Amazon RDS が開始する自動メンテナンスプロセスを待ちます。
  • メンテナンスウィンドウは、保留中の操作が開始されたときにのみ決定しますが、これらの操作の合計実行時間を制限しません。メンテナンス作業は、メンテナンスウィンドウが終了する前に完了することは保証されず、指定された終了時刻を超えて続行できます。
  • メンテナンスの更新の可用性は、RDS コンソールでも RDS API を使用しても確認できます。また、更新プログラムが利用可能な場合は、
    • メンテナンス項目を延期する
    • メンテナンス項目を直ちに適用する
    • 次に定義されたメンテナンスウィンドウ中に開始するようにスケジュールする
  • マークされたメンテナンス項目
    • 必須は、無期限に延期することはできません。AWS が次に更新が実行される時刻を通知します。
    • 使用可能は、無期限に延期でき、更新は DB インスタンスに適用されません。
  • 必要な修正プログラムは、セキュリティおよびインスタンスの信頼性に関連するパッチに対してのみ自動的にスケジュールされます。このような修正プログラムはめったに発生しません (通常は数ヶ月に1回)、メンテナンスウィンドウの一部を超える必要はありません。
  • メンテナンス項目では、RDS が DB インスタンスを短時間オフラインにする必要があります。DB インスタンスをオフラインにする必要があるメンテナンスには、通常、最初から最後までの数分の時間がかかり、オペレーティングシステムまたはデータベースの修正プログラムが必要なスケールコンピューティング操作が含まれます。
  • DB インスタンスのマルチ AZ デプロイでは、次の手順に従ってメンテナンスイベントの影響を軽減します。
    • スタンバイ時にメンテナンスを実行する
    • スタンバイをプライマリに昇格する
    • 新しいスタンバイになる古いプライマリのメンテナンスを実行する
  • DB インスタンスのデータベースエンジンがマルチ AZ 配置で変更されると、RDS はプライマリとセカンダリの両方の DB インスタンスを同時にアップグレードします。この場合、マルチ AZ デプロイ全体のデータベースエンジンは、アップグレード中にシャットダウンされます。

オペレーティングシステムの更新

  • オペレーティングシステムへのアップグレードは、セキュリティ上の問題のために最も頻繁に行われ、できるだけ早く実行する必要があります。
  • DB インスタンスの OS の更新は、便利なもので適用することも、定義されたメンテナンスウィンドウで更新を適用するために RDS によって開始されたメンテナンスプロセスを待つこともできます。
  • DB インスタンスは、OS の更新が適用されたときに自動的にバックアップされず、更新が適用される前にバックアップする必要があります。

データベースエンジンバージョンのアップグレード

  • DB インスタンスエンジンバージョンは、新しい DB エンジンバージョンが RDS でサポートされている場合にアップグレードできます。
  • データベースバージョンのアップグレードは、メジャーバージョンとマイナー版のアップグレードで構成されます。
    • メジャーなデータベースバージョンのアップグレード
      • 下位互換性のない変更を含めることができます。
      • RDS ではメジャーバージョンのアップグレードが自動的に適用されない
      • DB インスタンスは、手動で変更し、実稼働インスタンスに適用する前に徹底的にテストする必要があります。
    • マイナーバージョンのアップグレード
      • 各 DB エンジンはマイナーバージョンのアップグレードをわずかに異なる方法で処理します。たとえば、RDS では、PostgreSQL を実行している DB インスタンスにマイナーバージョンアップグレードを自動的に適用しますが、Oracle を実行している DB インスタンスに手動で適用する必要があります。
  • Amazon は、フォーラムのアナウンスページにアナウンスを投稿し、DB インスタンスをアップグレードする前に顧客の電子メール通知を送信します。
  • Amazon では、マルチ AZ インスタンスであっても、DB エンジンのバージョンをアップグレードするためにダウンタイムが必要なため、年間を通じて特定の時期にアップグレードをスケジュールすることができます。
  • RDS は、アップグレードプロセス中に2つの DB スナップショットを取得します。
    • 最初の DB スナップショットは、アップグレードの変更が行われる前の DB インスタンスです。アップグレードが失敗した場合は、スナップショットから復元して、古いバージョンを実行している DB インスタンスを作成できます。
    • アップグレードが完了すると、2番目の DB スナップショットが取得されます。アップグレードが完了すると、データベースエンジンを以前のバージョンに戻すことはできません。以前のバージョンに戻るには、新しい DB インスタンスを作成するために取得した最初の DB スナップショットを復元します。
  • DB インスタンスが Read レプリケーションを使用している場合は、ソースインスタンスをアップグレードする前に、すべてのリードレプリカをアップグレードする必要があります。
  • DB インスタンスがマルチ AZ 配置にある場合、プライマリレプリカとスタンバイ複製物の両方が同時にアップグレードされ、障害が発生します。停止時間は、データベースエンジン、バージョン、および DB インスタンスのサイズによって異なります。

RDS メンテナンスウィンドウ

  • すべての DB インスタンスには、システム変更が適用される毎週のメンテナンスウィンドウが定義されています。
  • メンテナンスウィンドウは、DB インスタンスの変更やソフトウェアの修正が発生したときに、要求されたイベントまたは必要なタイミングを制御する機会です。
  • 特定の週に保守イベントがスケジュールされている場合は、定義されている 30 分間のメンテナンス期間中に開始されます。
  • 保守イベントは 30 分間のメンテナンスウィンドウの間にほとんど完了しますが、メンテナンスイベントはより大きな時間がかかる場合があります。
  • 30 分のメンテナンスウィンドウは、リージョンごとに 8 時間の時間ブロックからランダムに選択されます。DB インスタンスの作成時に優先メンテナンスウィンドウを指定しない場合は、Amazon RDS によって、ランダムに選択された曜日に 30 分のメンテナンスウィンドウが割り当てられます。
  • メンテナンスが適用されている間、RDS は DB インスタンスのリソースの一部を消費し、パフォーマンスの低下を最小限にします。
    メンテナンスイベントによっては、メンテナンスの更新が完了するためにマルチ AZ フェイルオーバーが必要になる場合があります。

AWS認定試験の練習問題

  • 質問はインターネットから収集され、答えは自分の知識と理解に基づいてマークされます(これはあなたと異なる場合があります)。
  • AWSサービスは毎日更新され、回答と質問はすぐに時代遅れになる可能性がありますので、それに応じて調査してください。
  • AWSのアップデートのペースを追うためにAWS試験の質問は更新されないため、基礎となる機能が変更されても質問が更新されないことがあります。
  • さらなるフィードバック、ディスカッション、修正を可能にします。
  1. ユーザーは、マルチ AZ 機能を使用して RDS MySQL DB を起動しました。ユーザーは、メンテナンス期間中にインスタンスストレージのスケーリングをスケジュールしています。メンテナンス期間中のイベントの正しい順序を教えてください。 1.スタンバイ時のメンテナンスを行います。 2.スタンバイをプライマリに昇格します。 3.元のプライマリでメンテナンスを実行します。 4.元のマスターバックをプライマリとしてプロモートします。
    1. 1, 2, 3, 4
    2. 1, 2, 3
    3. 2, 3, 4, 1
  2. MySQL ベースの RDS インスタンスを新しいサポートされているバージョンにアップグレードするかどうかを制御できますか?
    1. いいえ
    2. VPC でのみ
    3. はい
  3. ユーザーは、月曜日の午前3時に RDS DB のメンテナンスウィンドウをスケジュールしています。以下のイベントのうち、メンテナンス期間中に DB インスタンスがオフラインになる可能性があるものはどれですか?
    1. リードレプリカの有効化
    2. DB マルチ AZ を作る
    3. DB パスワード変更
    4. セキュリティ修正プログラム
  4. ユーザーは、AWS で RDS postgreSQL DB を起動しました。ユーザーは、作成時にメンテナンスウィンドウを指定しませんでした。ユーザーは、DB インスタンスタイプをマイクロからラージに更新するように RDS を構成しました。メンテナンスウィンドウ中にユーザーがそれを持っている場合は、AWS は何を行いますか?
    1. メンテナンスウィンドウが構成されるまで、AWS は DB を更新できません。
    2. ユーザーが提供していない場合、AWS はデフォルトのメンテナンスウィンドウを選択します。
    3. AWS は、更新中にメンテナンスウィンドウを指定するようユーザーに要求します。
    4. RDS を使用して、DB サイズをマイクロからラージに変更することはできません。
  5. アップグレード前に DB インスタンスを新しいバージョンに対してテストすることはできますか。
    1. いいえ
    2. はい
    3. VPC でのみ

リファレンス


Jayendra’s Blog

この記事は自己学習用に「AWS RDS DB Maintenance & Upgrades(Jayendra’s Blogより)」を日本語に訳した記事です。