DB インスタンスのメンテナンス - Amazon Relational Database Service

DB インスタンスのメンテナンス

Amazon RDS では、Amazon RDS リソースのメンテナンスを定期的に実行します。メンテナンスでは、ほとんどの場合、DB インスタンスの以下のリソースの更新が行われます。

  • 基盤となるハードウェア

  • 基盤となるオペレーティングシステム (OS)

  • データベースエンジンのバージョン

通常、オペレーティングシステムのアップデートはセキュリティ問題に関連しています。できるだけ早く実行する必要があります。

一部のメンテナンス項目では、Amazon RDS が DB インスタンスを少しの間オフラインにする必要があります。リソースをオフラインにする必要があるメンテナンス項目には、必要なオペレーティングシステムやデータベースのパッチが含まれます。セキュリティやインスタンスの信頼性に関連するパッチのみ、必須のパッチ適用として自動的にスケジューリングされます。そのようなパッチ適用はまれであり、通常は数か月に一度です。メンテナンスウィンドウのごくわずかしか必要としないことがほとんどです。

すぐに適用しないことを選択した遅延 DB インスタンスの変更は、メンテナンス期間中に適用されます。例えば、メンテナンス期間中に DB インスタンスクラスまたはパラメータグループを変更することを選択できます。保留中の再起動設定を使用して指定した変更は、[ 保留中のメンテナンス ] リストに表示されません。DB インスタンスの変更については、「Amazon RDS DB インスタンスを変更する」を参照してください。

次のメンテナンスウィンドウに向けて保留中の変更を確認するには、describe-db-instances AWS CLI コマンドを使用して PendingModifiedValues フィールドを確認します。

保留中のメンテナンスの表示

DB インスタンスでメンテナンスによるアップデートが利用可能かどうかは、RDS コンソール、AWS CLI、または Amazon RDS API を使用して確認します。アップデートが利用できる場合は、次に示すように、Amazon RDS コンソールで DB インスタンスの [メンテナンス] 列に表示されます。


            使用できるオフラインパッチ

DB インスタンスのメンテナンスアップデートが利用できない場合は、列の値が [なし] になります。

DB インスタンスのメンテナンスアップデートが利用できる場合は、列の値が以下のようになります。

  • 必須 - メンテナンスアクションはリソースに適用され、無期限に延期することはできません。

  • 利用可能 - メンテナンスアクションは利用可能ですが、自動的にはリソースに適用されません。手動で適用できます。

  • 次のウィンドウ - メンテナンスアクションは次回のメンテナンスウィンドウ中にリソースに適用されます。

  • 進行中 - メンテナンスアクションはリソースに適用中です。

アップデートを利用できる場合は、いずれかのアクションを実行できます。

  • メンテナンス値が [次のウィンドウ] である場合は、[アクション] から [後でアップグレード] を選択してメンテナンス項目を延期します。既にスタートしているメンテナンスアクションは延期できません。

  • メンテナンス項目をすぐに適用します。

  • メンテナンス項目を次のメンテナンスウィンドウ中にスタートするようにスケジュールを設定します。

  • 何のアクションも実行しません。

アクションを実行するには、DB インスタンスを選択してその詳細を表示し、次に [メンテナンス & バックアップ] を選択します。保留中のメンテナンス項目が表示されます。


            保留中のメンテナンス項目

メンテナンスウィンドウは、保留中のオペレーションをスタートする時刻を決定しますが、オペレーションの総実行時間を制限しません。メンテナンスオペレーションは、メンテナンスウィンドウが終了するまでに完了するかどうかは保証されておらず、指定終了時間を超える場合もあります。詳細については、「Amazon RDS メンテナンスウィンドウ」を参照してください。

また、DB インスタンスでメンテナンスによるアップデートが利用可能かどうかは、AWS CLI コマンドの describe-pending-maintenance-actions を使用して確認できます。

DB インスタンスのアップデートを適用する

Amazon RDS を使用すると、メンテナンスオペレーションを適用するタイミングを選択できます。RDS コンソール、AWS Command Line Interface (AWS CLI)、または RDS API を使用して、Amazon RDS にアップデートを適用するタイミングを指定できます。

注記

RDS for SQL Server の場合、DB インスタンスを停止して起動するか、DB インスタンスクラスをスケールアップしてから再びスケールダウンすることで、基盤となるオペレーティングシステムの更新を適用できます。

DB インスタンスのアップデートを管理するには
  1. AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. ナビゲーションペインで、[データベース] を選択します。

  3. アップデートが必要な DB インスタンスを選択します。

  4. [アクション] で、以下のいずれかのオプションを選択します。

    • 今すぐアップグレード

    • 次のウィンドウでアップグレード

      注記

      [次のウィンドウでアップグレード] を選択して、アップデートを延期する場合は、[後でアップグレード] を選択します。既にスタートしているメンテナンスアクションは延期できません。

      メンテナンスアクションをキャンセルするには、DB インスタンスを変更し、[マイナーバージョン自動アップグレード] を無効にします。

保留中のアップデートを DB インスタンスに適用するには、AWS CLI コマンドの apply-pending-maintenance-action を使用します。

Linux、macOS、Unix の場合:

aws rds apply-pending-maintenance-action \ --resource-identifier arn:aws:rds:us-west-2:001234567890:db:mysql-db \ --apply-action system-update \ --opt-in-type immediate

Windows の場合:

aws rds apply-pending-maintenance-action ^ --resource-identifier arn:aws:rds:us-west-2:001234567890:db:mysql-db ^ --apply-action system-update ^ --opt-in-type immediate
注記

メンテナンスアクションを延期するには、--opt-in-type として undo-opt-in を指定します。メンテナンスアクションが既にスタートされている場合は、--opt-in-type として undo-opt-in を指定できません。

メンテナンスアクションをキャンセルするには、modify-db-instance AWS CLI コマンドを実行し、--no-auto-minor-version-upgrade を指定します。

少なくとも 1 つの保留中のアップデートがあるリソースのリストを取得するには、describe-pending-maintenance-actions AWS CLI コマンドを使用します。

Linux、macOS、Unix の場合:

aws rds describe-pending-maintenance-actions \ --resource-identifier arn:aws:rds:us-west-2:001234567890:db:mysql-db

Windows の場合:

aws rds describe-pending-maintenance-actions ^ --resource-identifier arn:aws:rds:us-west-2:001234567890:db:mysql-db

AWS CLI コマンド describe-pending-maintenance-actions--filters パラメータを指定して、DB インスタンスのリソースのリストを取得することもできます。--filters コマンドの形式は、Name=filter-name,Value=resource-id,... です。

以下は、フィルターの Name パラメータの許容値です。

  • db-instance-id - DB インスタンス識別子または Amazon リソースネーム (ARN) のリストが許容されます。返されるリストには、これらの ID または ARN で識別された DB インスタンスの保留中のメンテナンスアクションのみが含まれます。

  • db-cluster-id - DB クラスター識別子または Amazon Aurora 用の ARN のリストが許容されます。返されるリストには、これらの ID または ARN で識別された DB クラスターの保留中のメンテナンスアクションのみが含まれます。

次の例では、sample-instance1 および sample-instance2 DB インスタンスの保留中のメンテナンスアクションが返されます。

Linux、macOS、Unix の場合:

aws rds describe-pending-maintenance-actions \ --filters Name=db-instance-id,Values=sample-instance1,sample-instance2

Windows の場合:

aws rds describe-pending-maintenance-actions ^ --filters Name=db-instance-id,Values=sample-instance1,sample-instance2

アップデートを DB インスタンスに適用するには、Amazon RDS API の ApplyPendingMaintenanceAction オペレーションを呼び出します。

少なくとも 1 つの保留中のアップデートがあるリソースのリストを返すには、Amazon RDS API の DescribePendingMaintenanceActions オペレーションを呼び出します。

マルチ AZ 配置のメンテナンス

DB インスタンスをマルチ AZ 配置として実行すると、メンテナンスイベントの影響をさらに軽減できます。この結果は、Amazon RDS が以下の手順に従ってオペレーティングシステムの更新を適用するためです。

  1. スタンバイに対してメンテナンスを実行する。

  2. スタンバイをプライマリに昇格させる。

  3. 旧プライマリでメンテナンスを実行し、その旧プライマリが新しいスタンバイになる。

マルチ AZ 配置で DB インスタンスのデータベースエンジンをアップグレードする場合、Amazon RDS は、プライマリおよびセカンダリ DB インスタンスを両方同時に変更します。この場合、マルチ AZ 配置のプライマリ DB インスタンスとセカンダリ DB インスタンスの両方が、アップグレード中に利用できません。このオペレーションにより、アップグレードが完了するまでダウンタイムが発生します。ダウンタイムの時間は、DB インスタンスのサイズによって異なります。

適用する必要がある基盤となるオペレーティングシステムパッチが存在する場合、プライマリ DB インスタンスにパッチを適用するには、短時間のマルチ AZ フェイルオーバーが必要です。このフェイルオーバーの所要時間は通常 1 分未満です。

DB インスタンスが RDS for MySQL、RDS for PostgreSQL または RDS for MariaDB を実行している場合、ブルー/グリーンデプロイを使用することで、アップグレードに必要なダウンタイムを最小限に抑えることができます。詳細については、「データベース更新のために Amazon RDS ブルー/グリーンデプロイを使用する」を参照してください。マルチ AZ 配置で RDS DB インスタンスをアップグレードすると、Amazon RDS は、ローリングアップグレードを実行するため、停止が発生が発生するのは、フェイルオーバーが発生する場合のみです。詳細については、「マルチ AZ およびインメモリ最適化に関する考慮事項」を参照してください。

DB インスタンスがマルチ AZ 配置で RDS for SQL Server を実行している場合、次のいずれかの方法を使用して、基盤となるオペレーティングシステムに更新を適用できます。

  • DB インスタンスクラスを別のサイズに変更し、元のサイズに戻します。

  • DB インスタンスのサイズをスケールアップし、元のサイズに戻します。

  • DB インスタンスをマルチ AZ からシングル AZ に変更し、DB インスタンスを停止して起動した後に、インスタンスをマルチ AZ に戻します。

マルチ AZ 配置については、「マルチ AZ 配置の設定と管理」を参照してください。

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

すべての DB インスタンスには週次のメンテナンスウィンドウがあり、その期間内にシステムの変更が適用されます。メンテナンスウィンドウは、変更やソフトウェアのパッチなどが実行されるタイミングをコントロールする機会と考えます。メンテナンスイベントを特定の週に予定した場合、そのイベントはユーザーが指定した 30 分のメンテナンスウィンドウ中にスタートされます。ほとんどのメンテナンスイベントは 30 分のメンテナンスウィンドウ中に完了しますが、大規模なメンテナンスイベントは 30 分以上かかる場合があります。

30 分のメンテナンスウィンドウは、リージョンごとに決められた 8 時間の中でランダムに選択されます。DB インスタンスの作成時にメンテナンスウィンドウを指定しないと、RDS でランダムに選択された曜日に 30 分のメンテナンスウィンドウが割り当てられます。

メンテナンスの適用中は、RDS で DB インスタンス のリソースの一部が使用されます。わずかながらパフォーマンスに影響が出る場合があります。DB インスタンスでは、まれに、メンテナンスによるアップデートを完了するためにマルチ AZ フェイルオーバーが必要になる場合があります。

以下では、各リージョンでデフォルトのメンテナンスウィンドウを割り当てる時間帯を確認できます。

リージョン名 リージョン 時間ブロック
米国東部 (オハイオ) us-east-2 03:00~11:00 UTC
米国東部 (バージニア北部) us-east-1 03:00~11:00 UTC
米国西部 (北カリフォルニア) us-west-1 06:00~14:00 UTC
米国西部 (オレゴン) us-west-2 06:00~14:00 UTC
アフリカ (ケープタウン) af-south-1 03:00~11:00 UTC
アジアパシフィック (香港) ap-east-1 06:00~14:00 UTC
アジアパシフィック (ハイデラバード) ap-south-2 06:30~14:30 UTC
アジアパシフィック (ジャカルタ) ap-southeast-3 08:00~16:00 UTC
アジアパシフィック (メルボルン) ap-southeast-4 11:00~19:00 UTC
アジアパシフィック(ムンバイ) ap-south-1 06:00~14:00 UTC
アジアパシフィック (大阪) ap-northeast-3 22:00~06:00 UTC
アジアパシフィック (ソウル) ap-northeast-2 13:00~21:00 UTC
アジアパシフィック (シンガポール) ap-southeast-1 14:00~22:00 UTC
アジアパシフィック (シドニー) ap-southeast-2 12:00~20:00 UTC
アジアパシフィック (東京) ap-northeast-1 13:00~21:00 UTC
カナダ (中部) ca-central-1 03:00~11:00 UTC
カナダ西部 (カルガリー) ca-west-1 18:00~02:00 UTC
中国 (北京) cn-north-1 06:00~14:00 UTC
中国 (寧夏) cn-northwest-1 06:00~14:00 UTC
欧州 (フランクフルト) eu-central-1 13:00~21:00 UTC
欧州 (アイルランド) eu-west-1 22:00~06:00 UTC
欧州 (ロンドン) eu-west-2 22:00~06:00 UTC
欧州 (ミラノ) eu-south-1 13:00~21:00 UTC
欧州 (パリ) eu-west-3 23:00~07:00 UTC
欧州 (スペイン) eu-south-2 13:00~21:00 UTC
欧州 (ストックホルム) eu-north-1 23:00~07:00 UTC
欧州 (チューリッヒ) eu-central-2 13:00~21:00 UTC
イスラエル (テルアビブ) il-central-1 03:00~11:00 UTC
中東 (バーレーン) me-south-1 06:00~14:00 UTC
中東 (アラブ首長国連邦) me-central-1 05:00~13:00 UTC
南米(サンパウロ) sa-east-1 13:00~21:00 UTC
AWS GovCloud (米国東部) us-gov-east-1 01:00~09:00 UTC
AWS GovCloud (米国西部) us-gov-west-1 06:00~14:00 UTC

DB インスタンスの適切なメンテナンスウィンドウの調整

メンテナンスウィンドウは使用率の最も低い時間帯に設定する必要があります。このため、場合によっては変更が必要になります。この間、DB インスタンスは、システムの変更が適用されていて停止が必要な場合に限り、使用できません。必要な変更を加えるのに必要な最小限の時間のみ使用不可となります。

次の例では、DB インスタンスの適切なメンテナンスウィンドウを調整します。

この例では、mydbinstance という名前の DB インスタンスが存在しており、必要なメンテナンス時間は "日曜日 05:00 ~ 日曜日 06:00" (UTC) であることを前提としています。

必要なメンテナンスウィンドウを調整するには
  1. AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. ナビゲーションペインで、[データベース] を選択し、変更する DB インスタンスを選択します。

  3. [Modify] (変更) を選択します。Modify DB instance ページが表示されます。

  4. [メンテナンス] セクションで、メンテナンスウィンドウをアップデートします。

    注記

    DB インスタンスのメンテナンスウィンドウとバックアップ時間は重複できません。バックアップ時間に重複するメンテナンスウィンドウを入力した場合、エラーメッセージが表示されます。

  5. [続行] を選択します。

    確認ページで、変更内容を確認します。

  6. 直ちにメンテナンスウィンドウに変更を適用するには、[すぐに適用] を選択します。

  7. [DB インスタンスを変更] を選択して、変更を保存します。

    または、[戻る] を選択して変更を編集するか、[キャンセル] を選択して変更をキャンセルします。

必要なメンテナンスウィンドウを調整するには、以下のパラメータを指定して AWS CLI modify-db-instance コマンドを使用します。

  • --db-instance-identifier

  • --preferred-maintenance-window

次のコード例は、メンテナンス時間を火曜日の午前 4:00 から 4:30 UTC に設定します。

Linux、macOS、Unix の場合:

aws rds modify-db-instance \ --db-instance-identifier mydbinstance \ --preferred-maintenance-window Tue:04:00-Tue:04:30

Windows の場合:

aws rds modify-db-instance ^ --db-instance-identifier mydbinstance ^ --preferred-maintenance-window Tue:04:00-Tue:04:30

必要なメンテナンスウィンドウを調整するには、以下のパラメータを指定して Amazon RDS API の ModifyDBInstance オペレーションを使用します。

  • DBInstanceIdentifier

  • PreferredMaintenanceWindow

オペレーティングシステムアップデートの操作

RDS for Db2、RDS for MariaDB、RDS for MySQL、RDS for PostgreSQL、および RDS for Oracle DB インスタンスでは、オペレーティングシステムのアップデートが必要になることがあります。Amazon RDS は、データベースパフォーマンスと顧客の全体的なセキュリティ体制改善のために、OS を新しいバージョンにアップグレードします。通常、アップデートには約 10 分かかります。オペレーティングシステムのアップデートでは、DB インスタンスの DB エンジンのバージョンまたは DB インスタンスクラスは変更されません。

オペレーティングシステムのアップデートは、オプションの場合も必須の場合もあります。

  • オプションのアップデートは、随時適用できます。これらのアップデートはオプションですが、RDS フリートを最新の状態に保つために定期的に適用することをお勧めします。RDS は、これらのアップデートを自動的に適用しません

    新しいオプションのオペレーティングシステムパッチが利用可能になったときに通知を受けるには、セキュリティパッチイベントカテゴリの RDS-EVENT-0230 をサブスクライブできます。RDS イベントにサブスクライブする方法については、「Amazon RDS イベント通知にサブスクライブする」を参照してください。

    注記

    RDS-EVENT-0230 は、オペレーティングシステムのディストリビューションのアップグレードに適用されません。

    注記

    RDS for SQL Server DB インスタンスについて RDS-EVENT-0230 を受け取った場合は、apply-pending-maintenance アクションを使用して OS のアップデートを適用することはできません。詳細については、「DB インスタンスのアップデートを適用する」を参照してください。

  • 必須アップデートが必要で、適用日があります。この適用日付より前にアップデートをスケジュールするように計画してください。指定した適用日後、割り当てられたメンテナンスウィンドウ中に、Amazon RDS は DB インスタンスのオペレーティングシステムを最新バージョンに自動的にアップグレードします。

注記

さまざまなコンプライアンス義務を果たすためには、すべてのオプションおよび必須のアップデートを最新の状態に保つことが必要になる場合があります。RDS によって提供されるすべてのアップデートは、メンテナンス期間中に定期的に適用することをお勧めします。

AWS Management Console または AWS CLI を使用すると、オペレーティングシステムのアップグレードの種類に関する情報を取得できます。

AWS Management Console を使用してアップデート情報を取得するには
  1. AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

  2. ナビゲーションペインで、[データベース] を選択し、DB インスタンスを選択します。

  3. [Maintenance & backups] (メンテナンスとバックアップ) を選択します。

  4. [保留中のメンテナンス] セクションで、オペレーティングシステムのアップデートを検索し、[ステータス] の値をチェックします。

オプションのアップデートの場合、AWS Management Console で、メンテナンスステータスが [使用可能] と設定されており、次の画像のように[適用日] がありません。


                        オプションのオペレーティングシステムアップデート

必須のアップデートの場合、メンテナンス[Status] (ステータス) が [必須] と設定されており、次の画像のように[Apply date] (適用日) があります。


                        必須のオペレーティングシステムのアップデート

AWS CLI からアップデート情報を取得するには、describe-pending-maintenance-actions コマンドを使用します。

aws rds describe-pending-maintenance-actions

オペレーティングシステムの必須の更新には、AutoAppliedAfterDate 値と CurrentApplyDate 値が含まれます。オペレーティングシステムのオプションのアップデートには、これらの値は含まれません。

次の出力は、必須のオペレーティングシステムのアップデートを示しています。

{ "ResourceIdentifier": "arn:aws:rds:us-east-1:123456789012:db:mydb1", "PendingMaintenanceActionDetails": [ { "Action": "system-update", "AutoAppliedAfterDate": "2022-08-31T00:00:00+00:00", "CurrentApplyDate": "2022-08-31T00:00:00+00:00", "Description": "New Operating System update is available" } ] }

次の出力は、オプションのオペレーティングシステムのアップデートを示しています。

{ "ResourceIdentifier": "arn:aws:rds:us-east-1:123456789012:db:mydb2", "PendingMaintenanceActionDetails": [ { "Action": "system-update", "Description": "New Operating System update is available" } ] }

オペレーティングシステムのアップデートの可用性

オペレーティングシステムのアップデートは、DB エンジンのバージョンと DB インスタンスクラスに固有です。したがって、DB インスタンスは、異なる時間にアップデートを受信または要求します。そのエンジンのバージョンとインスタンスクラスに基づいた DB インスタンスにオペレーティングシステムのアップデートがある場合は、アップデートがコンソールに表示されます。AWS CLI describe-pending-maintenance-actions コマンドを実行するか、または RDS DescribePendingMaintenanceActions API オペレーションを呼び出すことによっても表示できます。インスタンスでアップデートが利用可能である場合、DB インスタンスのアップデートを適用する の手順に従って OS をアップデートできます。

必須のオペレーティングシステムアップデートのスケジュール

必須のオペレーティングシステムのアップデートには、次のスケジュールを使用する予定です。適用日とは、Amazon RDS が必須更新の適用を開始する日を指します。表の各日付のスタート時刻は 00:00 世界協定世界時 (UTC) です。

DB エンジン 適用日

RDS for MySQL

2023 年 1 月 30 日

RDS for MariaDB

2023 年 1 月 30 日

RDS for PostgreSQL

2023 年 3 月 31 日

注記

表の日付は、2022 年に必須のオペレーティングシステムアップデートを受けなかったお客様を対象としています。2023 年の必須のオペレーティングシステムアップデートが関係するかどうかを確認するには、オペレーティングシステムのアップデート用コンソールの「保留中のメンテナンス」セクションを確認してください。詳細については、オペレーティングシステムアップデートの操作 の下のコンソールセクションを参照してください。

適用日の後、次に表示されるメンテナンスウィンドウで、Amazon RDS は DB インスタンスのオペレーティングシステムを最新バージョンに自動的にアップグレードします。自動アップグレードを回避するには、適用日より前にアップデートをスケジュールすることをお勧めします。