Amazon RDS のメンテナンスウィンドウについて知っておくべきことは何ですか?

最終更新日: 2022 年 6 月 21 日

Amazon Relational Database Service (Amazon RDS) のメンテナンスウィンドウ中に何が起こるか知りたいと考えています。保留中のメンテナンスアクションを知り、それに応じてこれらのメンテナンスアクションを延期したいです。

解決方法

Amazon RDS は Amazon RDS リソースのメンテナンスを定期的に実行し、セキュリティとインスタンスの信頼性に関連する問題を修正します。メンテナンス時間中、Amazon RDS は、ハードウェア、基盤となるオペレーティングシステム、またはデータベースエンジンのマイナーバージョンに関連する更新を適用します。さらに、直ちに適用しないことを選択した DB インスタンスの変更も、メンテナンスウィンドウ中に適用されます。オペレーティングシステムの更新やデータベースのパッチ適用など、これらのメンテナンスオペレーションの一部は、RDS インスタンスのダウンタイムを引き起こします。RDS インスタンスでマルチ AZ 設定を有効にすると、一部のメンテナンスオペレーション中に必要なダウンタイムを最小限に抑えるのに役立つ場合があります。

メンテナンスアクションの通知を受け取る

RDS インスタンスで今後のメンテナンスアクションの通知を設定するには、次の操作を行います。

  1. Amazon Simple Notification Service (Amazon SNS) トピックを作成して、Personal Health Dashboard から通知を受信します。
  2. Amazon CloudWatch Events ルールを作成して、アカウントの RDS リソースに関連する AWS Health イベントの通知を受け取ります。
  3. Amazon RDS イベント通知を使用して、メンテナンスカテゴリのインスタンスイベントの通知を受け取ります。Amazon RDS イベント通知をサブスクライブすることもできます。

Amazon RDS メンテナンスアクションの通知を受けるための CloudWatch Events ルールを作成するには、次の操作を行います。

  1. CloudWatch コンソールを開きます。
  2. ナビゲーションペインの [Events] (イベント) の下にある [Rules] (ルール) を選択します。
  3. [Back to CloudWatch Events] (CloudWatch Events に戻る) を選択します。
  4. [Create rule] (ルールの作成) を選択します。
  5. [イベントソース] で、次の操作を行います。
    [サービス名] には、[正常性] を選択します。
    [イベントタイプ] には、[特定の正常性イベント] を選択します。
    [特定のサービス] を選択します。
    [特定のサービス] で、[RDS] を選択します。
    [特定のイベントタイプカテゴリー] を選択します。
    [特定のイベントタイプのカテゴリー] で、[scheduledChange] を選択します。
    [任意のイベントタイプコード] を選択します。
    [任意のリソース] を選択します。
  6. [ターゲット] で、次の操作を行います。
    [ターゲットの追加*] を選択し、[SNS トピック] を選択します。
    [トピック*] で、Amazon RDS メンテナンスアクションを通知するために作成した Amazon SNS トピックを選択します。
  7. [設定の詳細] を選択します。
  8. [ルールの定義] で、次の操作を行います。
    [名前] に、ルールの名前を入力します。
    [説明] に、ルールの説明を入力します。
  9. [Create rule] (ルールの作成) を選択します。

注: メンテナンスウィンドウ中にどの Amazon RDS DB インスタンスがハードウェアメンテナンスを受ける予定であるか確認するには、AWS Health Dashboard[Open and recent issues] (未解決の問題と最近の問題) タブに一覧表示される DB インスタンスを確認します。詳細については、アカウントに送信されるメンテナンス通知のメールを参照してください。

保留中のメンテナンスアクションを一覧表示する

DB インスタンスでメンテナンス更新が利用可能かどうかを確認するには、次を実行します。

  1. Amazon RDS コンソールを開きます。
  2. ナビゲーションペインで、[Databases] (データベース) を選択します。
  3. 設定アイコンを選択します。
  4. [基本設定] で [メンテナンス] をオンにし、[続行] を選択します。

DB インスタンスのメンテナンス更新は、次のいずれかの列値で確認できます。

  • 必須: メンテナンスアクションはリソースに適用され、無期限に延期することはできません。
  • 利用可能: メンテナンスアクションは利用可能ですが、リソースに自動的には適用されません。手動で適用できます。
  • 次の時間: メンテナンスアクションは、次のメンテナンス時間中にリソースに適用されます。
  • 進行中:メンテナンスアクションはリソースに適用中です。

RDS インスタンスのメンテナンスアクションを表示するには、次を実行します。

  1. Amazon RDS コンソールを開きます。
  2. ナビゲーションペインで、[Databases] (データベース) を選択します。
  3. 表示する DB インスタンスを選択します。
  4. [Maintenance & backups] (メンテナンスとバックアップ) タブを選択します。
    [Pending maintenance] (保留中のメンテナンス) セクションで、保留中のメンテナンスアクションのリストを表示できます。

次の AWS コマンドラインインターフェイス (AWS CLI) コマンドを実行して、保留中のメンテナンスアクションを一覧表示することもできます。

$ aws rds describe-pending-maintenance-actions --region example-region-name

注: AWS CLI コマンドの実行時にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください

メンテナンス期間を変更する

メンテナンス時間は、使用率が最も低い時間帯になるため、随時変更が必要になる場合があります。メンテナンス時間を希望の時間に変更するには、「DB インスタンスの優先メンテナンス時間の調整」を参照してください。

RDS インスタンスのメンテナンス時間を変更しても、ダウンタイムは必要ありません。ただし、ダウンタイムの原因となる保留中のアクションが 1 つ以上あり、メンテナンス時間が現在の時刻を含むように変更された場合、保留中のアクションはただちに適用され、ダウンタイムが発生します。

次のメンテナンス時間に予定されているメンテナンスアクションを延期するには、DB インスタンスのメンテナンス時間を次の実行可能な期間に変更することを検討してください。

重要: ダウンタイムを回避するためにメンテナンス時間を継続的に変更すると、使用率が最も高い時点でメンテナンスアクションが適用される可能性があります。これにより、停止が発生する可能性があります。

メンテナンスアクションを延期する

すでに開始されているメンテナンスアクションを延期することはできません。ただし、次のメンテナンス時間にスケジュールされたメンテナンスアクションを延期することはできます。DB インスタンスのメンテナンス値が次の時間である場合は、次の手順を実行して、スケジュールされたメンテナンスアクションを延期できます。

  1. Amazon RDS コンソールを開きます。
  2. ナビゲーションペインで、[Databases] (データベース) を選択します。
  3. メンテナンスアクションを延期する DB インスタンスを選択します。
  4. [アクション] を選択してから、[アップグレードを延期] を選択します。