

# Amazon Aurora DB クラスターのメンテナンス
<a name="USER_UpgradeDBInstance.Maintenance"></a>

Amazon RDS では、Amazon RDS リソースのメンテナンスを定期的に実行します。以下のトピックで、こうしたメンテナンスアクションとその適用方法について説明します。

## DB クラスターのメンテナンス更新の概要
<a name="USER_UpgradeDBInstance.Maintenance.Overview"></a>

メンテナンスでは、ほとんどの場合、DB クラスターの以下のリソースの更新が行われます。
+ 基盤となるハードウェア
+ 基盤となるオペレーティングシステム (OS)
+ データベースエンジンのバージョン

通常、オペレーティングシステムのアップデートはセキュリティ問題に関連しています。できるだけ早く行うことをお勧めします。オペレーティングシステムのアップデートの詳細については、「[Aurora DB クラスターのオペレーティングシステムの更新](#Aurora_OS_updates)」を参照してください。

**Topics**
+ [

### メンテナンス更新中のオフラインリソース
](#USER_UpgradeDBInstance.Maintenance.Overview.offline)
+ [

### 遅延 DB インスタンスと DB クラスターの変更
](#USER_UpgradeDBInstance.Maintenance.Overview.Deferred)
+ [

### DescribePendingMaintenanceActions API の結果整合性
](#USER_UpgradeDBInstance.Maintenance.Overview.eventual-consistency)

### メンテナンス更新中のオフラインリソース
<a name="USER_UpgradeDBInstance.Maintenance.Overview.offline"></a>

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

### 遅延 DB インスタンスと DB クラスターの変更
<a name="USER_UpgradeDBInstance.Maintenance.Overview.Deferred"></a>

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

次のメンテナンスウィンドウに向けて保留中の変更を確認するには、[describe-db-clusters](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds/describe-db-clusters.html) AWS CLI コマンドを使用して `PendingModifiedValues` フィールドを確認します。

### DescribePendingMaintenanceActions API の結果整合性
<a name="USER_UpgradeDBInstance.Maintenance.Overview.eventual-consistency"></a>

Amazon RDS `DescribePendingMaintenanceActions` API は結果整合性モデルに従います。つまり、`DescribePendingMaintenanceActions` コマンドの結果が、それ以降のすべての RDS コマンドにすぐには表示されない場合があります。以前の API コマンドを使用した直後に `DescribePendingMaintenanceActions` を使用する場合は、この点に注意してください。

結果整合性は、メンテナンス更新の管理方法に影響を与える可能性があります。例えば、`ApplyPendingMaintenanceActions` コマンドを実行して DB クラスターのデータベースエンジンバージョンを更新すると、最終的に `DescribePendingMaintenanceActions` に表示されます。このシナリオでは、`DescribePendingMaintenanceActions` はメンテナンスアクションが適用済みであっても適用されていないと示す場合があります。

結果整合性を管理するには、以下を実行します。
+ コマンドを実行して変更する前に、DB クラスターの状態を確認します。エクスポネンシャルバックオフアルゴリズムを使用して適切な `DescribePendingMaintenanceActions` コマンドを実行し、前のコマンドがシステム内を伝播するのに十分な時間を確保できるようにします。これを行うには、`DescribePendingMaintenanceActions` コマンドを繰り返し実行し、数秒の待機時間から始めて、最大 5 分間の待機時間まで徐々に増やします。
+ `DescribePendingMaintenanceActions` コマンドが正確なレスポンスを返した場合でも、後続のコマンド間の待機時間を追加します。数秒の待機時間から始めて、エクスポネンシャルバックオフアルゴリズムを適用し、最大約 5 分間の待機時間まで徐々に増やします。

## 保留中のメンテナンス更新の表示
<a name="USER_UpgradeDBInstance.Maintenance.Viewing"></a>

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

![\[メンテナンスアクションが利用可能で、次のメンテナンスウィンドウに適用されます。\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/images/offlinepatchavailable.png)


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

DB クラスターのメンテナンスアップデートが利用できる場合は、列の値が以下のようになります。
+ **必須** - メンテナンスアクションはリソースに適用され、無期限に延期することはできません。
+ **利用可能** - メンテナンスアクションは利用可能ですが、自動的にはリソースに適用されません。手動で適用できます。
+ **次のウィンドウ** - メンテナンスアクションは次回のメンテナンスウィンドウ中にリソースに適用されます。
+ **進行中** - メンテナンスアクションはリソースに適用中です。

更新が利用可能な場合は、以下のいずれかの操作を行います。
+ メンテナンスの値が **[次のウィンドウ]** である場合は、**[アクション]** から **[アップグレードを延期する]** を選択してメンテナンスアクションを延期します。既にスタートしているメンテナンスアクションは延期できません。
+ メンテナンスアクションをすぐに適用する。
+ 次回のメンテナンスウィンドウ中にメンテナンスアクションを適用します。
+ 何のアクションも実行しません。

**AWS マネジメントコンソールを使用してアクションを実行するには**

1. DB インスタンスまたはクラスターを選択して、その詳細を表示します。

1. [**メンテナンスとバックアップ**] を選択します。保留中のメンテナンスアクションが表示されます。

1. 実行するアクションを選択し、適用するタイミングを選択します。

![\[Aurora DB インスタンスの保留中のメンテナンス項目。\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/images/pending_maintenance_aurora_instance.png)


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

また、DB クラスターでメンテナンスによるアップデートが利用可能かどうかは、AWS CLI コマンドの [describe-pending-maintenance-actions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-pending-maintenance-actions.html) を使用して確認することもできます。

メンテナンスによるアップデートの適用については、「[DB クラスターへの更新の適用](#USER_UpgradeDBInstance.OSUpgrades)」を参照してください。

### Amazon Aurora のメンテナンスアクション
<a name="maintenance-actions-aurora"></a>

Aurora DB クラスターには、次のメンテナンスアクションが適用されます。
+ `os-upgrade` – ローリングアップグレードを使用して、DB クラスター内のすべての DB インスタンスのオペレーティングシステムを更新します。詳細については、「[Aurora DB クラスターのオペレーティングシステムの更新](#Aurora_OS_updates)」を参照してください。
+ `system-update` – Aurora PostgreSQL の DB エンジンにパッチを適用します。

Aurora DB インスタンスには、次のメンテナンスアクションが適用されます。
+ `ca-certificate-rotation` – DB インスタンスの Amazon RDS 認証局証明書を更新します。
+ `hardware-maintenance` – DB インスタンスの基盤となるハードウェアでメンテナンスを実行します。
+ `system-update` – DB インスタンスのオペレーティングシステムを更新します。

## Aurora MySQL メンテナンスのアップデート頻度を選択する
<a name="Aurora.Maintenance.LTS"></a>

各 DB クラスターごとに、Aurora MySQL のアップグレードを頻繁に行うか、またはほとんど行わないかを制御できます。最善の選択肢は、Aurora MySQL の使用状況と、Aurora 上で実行しているアプリケーションの優先順位によります。アップグレード頻度の低い Aurora MySQL 長期安定版 (LTS) リリースについては、[Aurora MySQL 長期サポート (LTS) リリース](AuroraMySQL.Update.SpecialVersions.md#AuroraMySQL.Updates.LTS)を参照してください。

 以下の条件の一部またはすべてが適用される場合、Aurora MySQL のクラスターのアップグレードを頻繁にしなくてもよい場合があります。
+  アプリケーションのテストサイクルは、Aurora MySQL データベースエンジンのアップデートごとに時間がかかります。
+  DB クラスターや同じ Aurora MySQL のバージョンで実行するアプリケーションがありますが、すべての DB クラスターと関連するアプリケーションは同時にアップグレードすることが可能です。
+  Aurora MySQL と RDS for MySQL の両方を使用しています。MySQL と同じレベルで互換性のある Aurora MySQL クラスターおよび RDS MySQL DB インスタンスを保持します。
+  Aurora MySQL アプリケーションが本番環境にあるか、業務上必要なものです。重要なパッチのまれな発生以外のアップグレードのために、ダウンタイムに対応する余裕はありません。
+  Aurora MySQL アプリケーションは、Aurora MySQL 以降のバージョンで対応する性能の問題または機能のギャップに限られません。

 上記の要因が自分の状況に当てはまる場合、Aurora MySQL DB クラスターの強制アップグレード回数を制限することが可能です。DB クラスターを作成およびアップグレードする際に、これを実行するには、「長期サポート (LTS)」という特定の Aurora MySQL のバージョンを選択してください。この場合、アップグレードのサイクル、テストサイクルそしてその DB クラスターに対するアップグレードが要因の停止時間を最小限に抑えます。

 以下の条件の一部またはすべてに該当する場合、Aurora MySQL のクラスターを頻繁にアップグレードすることを選択できます。
+  アプリケーションのテストサイクルは、簡単かつ手短なものでかまいません。
+  アプリケーションは、まだ開発段階です。
+  データベース環境では、Aurora MySQL の様々なバージョンや、Aurora MySQL および RDS for MySQL のバージョンを使用します。各 Aurora MySQL クラスターには各自のアップグレードサイクルがあります。
+  Aurora MySQL の利用率を増幅する前に、特定の性能や機能の改善を待ちます。

 上記の要因が自分の状況に当てはまる場合、Aurora を有効にし、より頻繁に重要なアップグレードを実施することが可能です。そのためには、Aurora MySQL DB クラスターを、LTS バージョンより新しい Aurora MySQL のバージョンに Aurora MySQL DB クラスターをアップグレードします。これを実行することで、性能が最新に強化され、バグが修正され、機能をより迅速に利用できるようになります。

## Amazon RDS メンテナンスウィンドウ
<a name="Concepts.DBMaintenance"></a>

メンテナンスウィンドウは、システムの変更を適用する週単位の時間間隔です。各 DB クラスターには、週ごとのメンテナンスウィンドウがあります。メンテナンスウィンドウは、変更やソフトウェアのパッチなどが実行されるタイミングをコントロールする機会です。メンテナンスウィンドウの調整については、「[DB クラスターの適切なメンテナンスウィンドウの調整](#AdjustingTheMaintenanceWindow.Aurora)」を参照してください。

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

メンテナンスイベントを特定の週に予定した場合、そのイベントはユーザーが指定した 30 分のメンテナンスウィンドウ中にスタートされます。ほとんどのメンテナンスイベントは 30 分のメンテナンスウィンドウ中に完了しますが、大規模なメンテナンスイベントは 30 分以上かかる場合があります。DB クラスターが停止すると、メンテナンスウィンドウは一時停止されます。

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

次の表に、デフォルトのメンテナンスウィンドウを割り当てる時間ブロックを AWS リージョン別に示します。


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html)

**Topics**
+ [

### DB クラスターの適切なメンテナンスウィンドウの調整
](#AdjustingTheMaintenanceWindow.Aurora)

### DB クラスターの適切なメンテナンスウィンドウの調整
<a name="AdjustingTheMaintenanceWindow.Aurora"></a>

Aurora DB クラスターのメンテナンスウィンドウは、使用率の最も低い時間帯に設定する必要があるため、状況に応じて時間の変更が必要になる場合があります。適用するアップデートのために機能停止が必要な場合は、このメンテナンスウィンドウ中、DB クラスターは使用できなくなります。機能停止は、アップデートのための最小所要時間とします。

**注記**  
データベースエンジンへのアップグレードでは、Amazon Aurora は個別のインスタンスではなく、DB クラスターの適切なメンテナンスウィンドウを管理します。

#### コンソール
<a name="AdjustingTheMaintenanceWindow.Aurora.CON"></a>

**DB クラスターの適切なメンテナンスウィンドウを調整するには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

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

1. メンテナンスウィンドウを変更する DB クラスターを選択します。

1. [**Modify**] を選択します。

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

1. [**Continue**] を選択します。

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

1. 変更をメンテナンスウィンドウにすぐに適用するには、[**変更のスケジューリング**] セクションで [**今すぐ**] を選択します。

1. [**クラスターの変更**] を選択して､変更を保存します。

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

#### AWS CLI
<a name="AdjustingTheMaintenanceWindow.Aurora.CLI"></a>

DB クラスターに設定するメンテナンスウィンドウを調整するには、以下のパラメータを指定して AWS CLI の [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html) コマンドを使用します
+ `--db-cluster-identifier`
+ `--preferred-maintenance-window`

**Example**  
次のコード例では、メンテナンスウィンドウを火曜日の午前 4:00 から 4:30 UTC に設定します。  
Linux、macOS、Unix の場合:  

```
aws rds modify-db-cluster \
--db-cluster-identifier my-cluster \
--preferred-maintenance-window Tue:04:00-Tue:04:30
```
Windows の場合:  

```
aws rds modify-db-cluster ^
--db-cluster-identifier my-cluster ^
--preferred-maintenance-window Tue:04:00-Tue:04:30
```

#### RDS API
<a name="AdjustingTheMaintenanceWindow.Aurora.API"></a>

DB クラスターに設定するメンテナンスウィンドウを調整するには、以下のパラメータで Amazon RDS の [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBCluster.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBCluster.html) API オペレーションを使用します。
+ `DBClusterIdentifier`
+ `PreferredMaintenanceWindow`

## DB クラスターへの更新の適用
<a name="USER_UpgradeDBInstance.OSUpgrades"></a>

Amazon RDS を使用すると、メンテナンスオペレーションを適用するタイミングを選択できます。AWS マネジメントコンソール、AWS CLI、または RDS API を使用して Amazon RDS で更新を適用するタイミングを指定できます。

### コンソール
<a name="USER_UpgradeDBInstance.OSUpgrades.Console"></a>

**DB クラスターのアップデートを管理するには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

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

1. アップデートが必要な DB クラスターを選択します。

1. [**アクション**] で、以下のいずれかのオプションを選択します。
   + **今すぐパッチを適用**
   + **次のウィンドウでパッチを適用**
**注記**  
**[次のウィンドウでパッチを適用]** を選択して、アップデートを延期する場合は、**[アップグレードを延期する]** を選択します。既にスタートしているメンテナンスアクションは延期できません。  
メンテナンスアクションをキャンセルするには、DB インスタンスを変更し、[**マイナーバージョン自動アップグレード**] を無効にします。

### AWS CLI
<a name="USER_UpgradeDBInstance.OSUpgrades.CLI"></a>

保留中のアップデートを DB クラスターに適用するには、AWS CLI コマンドの [apply-pending-maintenance-action](https://docs.aws.amazon.com/cli/latest/reference/rds/apply-pending-maintenance-action.html) を使用します。

**Example**  
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](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) AWS CLI コマンドを実行し、`--no-auto-minor-version-upgrade` を指定します。

少なくとも 1 つの保留中のアップデートがあるリソースのリストを取得するには、[describe-pending-maintenance-actions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-pending-maintenance-actions.html) AWS CLI コマンドを使用します。

**Example**  
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-cluster1` DB クラスターと `sample-cluster2` DB クラスターの保留中のメンテナンスアクションが返されます。

**Example**  
Linux、macOS、Unix の場合:  

```
aws rds describe-pending-maintenance-actions \
	--filters Name=db-cluster-id,Values=sample-cluster1,sample-cluster2
```
Windows の場合:  

```
aws rds describe-pending-maintenance-actions ^
	--filters Name=db-cluster-id,Values=sample-cluster1,sample-cluster2
```

### RDS API
<a name="USER_UpgradeDBInstance.OSUpgrades.API"></a>

アップデートを DB クラスターに適用するには、Amazon RDS API の [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ApplyPendingMaintenanceAction.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ApplyPendingMaintenanceAction.html) オペレーションを呼び出します。

少なくとも 1 つの保留中のアップデートがあるリソースのリストを返すには、Amazon RDS API の [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribePendingMaintenanceActions.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribePendingMaintenanceActions.html) オペレーションを呼び出します。

## Aurora DB クラスターのマイナーバージョン自動アップグレード
<a name="Aurora.Maintenance.AMVU"></a>

**[自動マイナーバージョンアップグレード]** 設定では、Aurora で DB クラスターにアップグレードを自動的に適用するかどうかを指定します。これらのアップグレードには、追加機能とバグ修正などのパッチを含む新しいマイナーバージョンが含まれます。

マイナーバージョン自動アップグレードは、データベースを定期的に最新のデータベースエンジンのバージョンに更新します。ただし、アップグレードに最新のデータベースエンジンのバージョンが含まれているとは限りません。特定の時間に特定のバージョンでデータベースを維持する必要がある場合は、必要なスケジュールに従って必要なデータベースのバージョンに手動でアップグレードすることをお勧めします。重大なセキュリティ問題が発生した場合、またはバージョンがサポート終了日に達すると、マイナーバージョン自動アップグレードオプションを有効にしていない場合でも、Amazon Aurora は**マイナーバージョン自動アップグレード**を適用することがあります。詳細については、お使いのデータベースエンジンのアップグレードドキュメントを参照してください。

「[Aurora MySQL DB クラスターのマイナーバージョンまたはパッチレベルのアップグレード](AuroraMySQL.Updates.Patching.md)」および「[マイナーバージョンアップグレードの実行](USER_UpgradeDBInstance.PostgreSQL.MinorUpgrade.md)」を参照してください。

**注記**  
Aurora Global Database は、マイナーバージョンの自動アップグレードをサポートしていません。

この設定は、デフォルトでオンになっています。新しい DB クラスターごとに、この設定に適切な値を選択します。この値は、その重要性、予想される有効期間、各アップグレード後に行う検証テストの量に基づいています。

**[自動マイナーバージョンアップグレード]** 設定をオンまたはオフにする手順については、以下を参照してください。
+ [Aurora DB クラスターの自動マイナーバージョンアップグレードを有効にする](#aurora-amvu-cluster)
+ [Aurora DB クラスター内の個々の DB インスタンスの自動マイナーバージョンアップグレードを有効にする](#aurora-amvu-instance)

**重要**  
新規および既存の DB クラスターでは、この設定はクラスター内の DB インスタンスに個別に適用するのではなく、DB クラスターに適用することを強くお勧めします。この設定がオフになっている DB インスタンスがクラスター内にある場合、DB クラスターは自動アップグレードされません。

次の表は、**[自動マイナーバージョンアップグレード]** 設定をクラスターレベルとインスタンスレベルで適用した場合にどのように機能するかを示しています。


| Action | クラスター設定 | インスタンス設定 | クラスターは自動的にアップグレードされたか。 | 
| --- | --- | --- | --- | 
| DB クラスターで True に設定する。 | 正 | 新規および既存のすべてのインスタンスで True | はい | 
| DB クラスターで False に設定する。 | 誤 | 新規および既存のすべてのインスタンスで False | いいえ | 
|  DB クラスターでは以前は True に設定されていた。 少なくとも 1 つの DB インスタンスで False に設定する。  | False への変更 | 1 つ以上のインスタンスでは False | いいえ | 
|  DB クラスターでは以前は False に設定されていた。 すべてのインスタンスではなく、少なくとも 1 つの DB インスタンスで True に設定する。  | 誤 | 1 つ以上のインスタンスで True (すべてのインスタンスではない) | いいえ | 
|  DB クラスターでは以前は False に設定されていた。 すべての DB インスタンスで True に設定する。  | True への変更 | すべてのインスタンスで True | はい | 

マイナーバージョンの自動アップグレードは、カテゴリが `maintenance` で ID が `RDS-EVENT-0156` の Amazon RDS DB クラスターイベントを通じて事前に通知されます。詳細については、「[Aurora の Amazon RDS イベントカテゴリとイベントメッセージ](USER_Events.Messages.md)」を参照してください。

自動アップグレードはメンテナンスウィンドウ中に実行されます。DB クラスター内の個々の DB インスタンスのメンテナンスウィンドウがクラスターメンテナンスウィンドウと異なる場合は、クラスターメンテナンスウィンドウが優先されます。

Aurora PostgreSQL のエンジンに関するアップデートの詳細については、「[Amazon Aurora PostgreSQL のデータベースエンジンの更新](AuroraPostgreSQL.Updates.md)」を参照してください。

Aurora MySQL の [**マイナーバージョン自動アップグレード**] 設定の詳細については、「[Aurora MySQL マイナーバージョン間の自動アップグレードの有効化](AuroraMySQL.Updates.AMVU.md)」を参照してください。Aurora MySQL のエンジンのアップデートに関する一般的な情報については、「[Amazon Aurora MySQL のデータベースエンジンの更新Amazon Aurora MySQL の長期サポート (LTS) とベータリリース](AuroraMySQL.Updates.md)」を参照してください。

**Topics**

### Aurora DB クラスターの自動マイナーバージョンアップグレードを有効にする
<a name="aurora-amvu-cluster"></a>

[コンソール、CLI、API を使用した DB クラスターの変更](Aurora.Modifying.md#Aurora.Modifying.Cluster) の一般的な手順に従います。

**コンソール**  
**[DB クラスターの変更]** ページの **[メンテナンス]** セクションで、**[マイナーバージョン自動アップグレードの有効化]** チェックボックスを選択します。

**AWS CLI**  
[modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html) AWS CLI コマンドを呼び出します。`--db-cluster-identifier` オプションで DB クラスターの名前を指定し、`--auto-minor-version-upgrade` オプションで `true` を指定します。必要に応じて、この設定を DB クラスターですぐに有効にするための `--apply-immediately` オプションを指定します。

**RDS API**  
[ModifyDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBCluster.html) API オペレーションを呼び出して、`DBClusterIdentifier` パラメータの DB クラスター名、`AutoMinorVersionUpgrade` パラメータの `true` を指定します。必要に応じて、`ApplyImmediately` パラメータを `true` に設定し、この設定を DB クラスターですぐに有効にします。

### Aurora DB クラスター内の個々の DB インスタンスの自動マイナーバージョンアップグレードを有効にする
<a name="aurora-amvu-instance"></a>

[DB クラスター内の DB インスタンスの変更](Aurora.Modifying.md#Aurora.Modifying.Instance) の一般的な手順に従います。

**コンソール**  
**[DB インスタンスの変更]** ページの **[メンテナンス]** セクションで、**[マイナーバージョン自動アップグレードの有効化]** チェックボックスを選択します。

**AWS CLI**  
[modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) AWS CLI コマンドを呼び出します。`--db-instance-identifier` オプションで DB インスタンスの名前を指定し、`true` オプションで `--auto-minor-version-upgrade` を指定します。必要に応じて、この設定を DB インスタンスですぐに有効にするための `--apply-immediately` オプションを指定します。クラスター内の DB インスタンスごとに `modify-db-instance` コマンドを別個に実行します。

**RDS API**  
[ModifyDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) API オペレーションを呼び出して、`DBInstanceIdentifier` パラメータの DB クラスター名、`AutoMinorVersionUpgrade` パラメータの `true` を指定します。必要に応じて、`ApplyImmediately` パラメータを `true` に設定し、この設定を DB インスタンスですぐに有効にします。クラスター内の各 DB インスタンスで `ModifyDBInstance` オペレーションを個別に呼び出します。

次のような CLI コマンドを使用すると、Aurora MySQL クラスター内のすべての DB インスタンスで `AutoMinorVersionUpgrade` 設定のステータスを確認できます。

```
aws rds describe-db-instances \
  --query '*[].{DBClusterIdentifier:DBClusterIdentifier,DBInstanceIdentifier:DBInstanceIdentifier,AutoMinorVersionUpgrade:AutoMinorVersionUpgrade}'
```

このコマンドでは、次のような出力が生成されます。

```
[
  {
      "DBInstanceIdentifier": "db-writer-instance",
      "DBClusterIdentifier": "my-db-cluster-57",
      "AutoMinorVersionUpgrade": true
  },
  {
      "DBInstanceIdentifier": "db-reader-instance1",
      "DBClusterIdentifier": "my-db-cluster-57",
      "AutoMinorVersionUpgrade": false
  },
  {
      "DBInstanceIdentifier": "db-writer-instance2",
      "DBClusterIdentifier": "my-db-cluster-80",
      "AutoMinorVersionUpgrade": true
  },
... output omitted ...
```

この例では、DB クラスター `my-db-cluster-57` の **[マイナーバージョン自動アップグレードの有効化]** がオフになっています。これは、クラスター内の DB インスタンスの 1 つでオフになっているためです。

## Aurora DB クラスターのオペレーティングシステムの更新
<a name="Aurora_OS_updates"></a>

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

オペレーティングシステムの更新には 2 種類あり、保留中メンテナンスアクションの説明によって区別されます。
+ **オペレーティングシステムのディストリビューションのアップグレード** — サポートされている最新のメジャーバージョンの Amazon Linux への移行に使用します。その説明は `New Operating System upgrade is available` です。
+ **オペレーティングシステムパッチ** — さまざまなセキュリティ修正を適用するために使用され、場合によってはデータベースのパフォーマンスを向上させるために使用されます。その説明は `New Operating System patch is available` です。

オペレーティングシステムのアップデートは、オプションの場合も必須の場合もあります。
+ **オプションのアップデート**は、随時適用できます。これらのアップデートはオプションですが、RDS フリートを最新の状態に保つために定期的に適用することをお勧めします。RDS は、これらのアップデートを自動的に適用*しません*。

  新しいオプションのオペレーティングシステムパッチが利用可能になったときに通知を受けるには、セキュリティパッチイベントカテゴリの [RDS-EVENT-0230](USER_Events.Messages.md#RDS-EVENT-0230) をサブスクライブできます。RDS イベントにサブスクライブする方法については、「[Amazon RDS イベント通知にサブスクライブする](USER_Events.Subscribing.md)」を参照してください。
**注記**  
`RDS-EVENT-0230` は、オペレーティングシステムのディストリビューションのアップグレードに適用されません。
+ **必須のアップデート**が必要であり、必須のアップデートの前に通知を送信します。通知には期日が含まれている場合があります。この期日より前にアップデートをスケジュールするように計画してください。指定した期日後、割り当てられたメンテナンスウィンドウ中に、Amazon RDS は DB インスタンスのオペレーティングシステムを最新バージョンに自動的にアップグレードします。

  オペレーティングシステム配布アップグレードは必須です。

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

Aurora DB クラスターの場合、**クラスターレベル**のメンテナンスオプションを使用してオペレーティングシステム (OS) の更新を実行できます。コンソールで DB クラスターの名前を選択するときに、**[メンテナンスとバックアップ]** タブでクラスターレベルの更新を実行するオプションを見つけるか、AWS CLI で `os-upgrade` コマンドを使用します。このメソッドでは、一度にいくつかのリーダー DB インスタンスに更新を自動的に適用するローリングアップグレードで読み取り可用性を維持します。複数回のフェイルオーバーを防ぎ、不要なダウンタイムを減らすために、Aurora はライター DB インスタンスを最後にアップグレードします。

クラスターレベルの OS 更新は、クラスターに指定したメンテナンス期間中に行われます。これにより、クラスター全体で調整された更新が保証されます。

下位互換性のために、Aurora は**インスタンスレベル**のメンテナンスオプションも維持します。ただし、代わりにクラスターレベルの更新を使用することをお勧めします。インスタンスレベルの更新を使用する必要がある場合は、まず DB クラスター内のリーダー DB インスタンスを更新してから、ライター DB インスタンスを更新します。リーダーインスタンスとライターインスタンスを同時に更新すると、フェイルオーバー関連のダウンタイムが発生する可能性が高くなります。コンソールで DB インスタンスの名前を選択するときに、**[メンテナンスとバックアップ]** タブでインスタンスレベルの更新を実行するオプションを見つけるか、AWS CLI で `system-update` コマンドを使用します。

インスタンスレベルの OS 更新は、各インスタンスに指定したメンテナンス期間中に行われます。例えば、クラスターと 2 つのリーダーインスタンスの間でメンテナンス期間の時間が異なる場合、クラスターレベルでの OS の更新はクラスターのメンテナンス期間と一致します。



AWS マネジメントコンソール または AWS CLI を使用すると、オペレーティングシステムのアップグレードの種類に関する情報を取得できます。

### コンソール
<a name="Aurora_OS_updates.pending-maintenance.CON"></a>

**AWS マネジメントコンソール を使用してアップデート情報を取得するには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

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

1. [**メンテナンスとバックアップ**] を選択します。

1. **[メンテナンスの保留中]** セクションで、オペレーティングシステムの更新を探し、**[説明]** 値をチェックします。

次の図は、オペレーティングシステムパッチが使用可能なライター DB インスタンスを持つ DB クラスターを示しています。

![\[クラスターレベルのオペレーティングシステムパッチ。\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/images/os-upgrade-cluster-minor.png)


![\[インスタンスレベルのオペレーティングシステムパッチ。\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/images/os-upgrade-writer-minor.png)


次の図は、ライター DB インスタンスとリーダー DB インスタンスを持つ DB クラスターを示しています。ライターインスタンスには、使用可能な必須のオペレーティングシステムのアップグレードがあります。リーダーインスタンスには、使用可能なオペレーティングシステムのパッチがあります。

![\[クラスターレベルのオペレーティングシステム配布アップグレード。\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/images/os-upgrade-cluster-major.png)


![\[ライターインスタンスのオペレーティングシステム配布アップグレード。\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/images/os-upgrade-writer-major.png)


![\[リーダーインスタンスのオペレーティングシステムパッチ。\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/images/os-upgrade-reader-minor.png)


### AWS CLI
<a name="Aurora_OS_updates.pending-maintenance.CLI"></a>

AWS CLI からアップデート情報を取得するには、[describe-pending-maintenance-actions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-pending-maintenance-actions.html) コマンドを使用します。

```
aws rds describe-pending-maintenance-actions
```

次の出力は、DB クラスターと DB インスタンスのオペレーティングシステム配布アップグレードを示しています。

```
{
  "PendingMaintenanceActions": [
    {
      "ResourceIdentifier": "arn:aws:rds:us-east-1:123456789012:cluster:t3",
      "PendingMaintenanceActionDetails": [
        {
          "Action": "os-upgrade",
          "Description": "New Operating System upgrade is available"
        }
      ]
    },
    {
      "ResourceIdentifier": "arn:aws:rds:us-east-1:123456789012:db:t3-instance1",
      "PendingMaintenanceActionDetails": [
        {
          "Action": "system-update",
          "Description": "New Operating System upgrade is available"
        }
      ]
    },
  ]
}
```

次の出力は、DB インスタンスのオペレーティングシステムのパッチを示しています。

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

### オペレーティングシステムのアップデートの可用性
<a name="Aurora_OS_updates.availability"></a>

オペレーティングシステムのアップデートは、DB エンジンのバージョンと DB インスタンスクラスに固有です。したがって、DB インスタンスは、異なる時間にアップデートを受信または要求します。そのエンジンのバージョンとインスタンスクラスに基づいた DB インスタンスにオペレーティングシステムのアップデートがある場合は、アップデートがコンソールに表示されます。[describe-pending-maintenance-actions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-pending-maintenance-actions.html) AWS CLI コマンドを実行するか、または [DescribePendingMaintenanceActions](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribePendingMaintenanceActions.html) RDS API オペレーションを呼び出すことによっても表示できます。インスタンスでアップデートが利用可能である場合、[DB クラスターへの更新の適用](#USER_UpgradeDBInstance.OSUpgrades) の手順に従って OS をアップデートできます。

# 自動マイナーバージョンアップグレードの AWS Organizations アップグレードロールアウトポリシーの使用
<a name="Aurora.Maintenance.AMVU.UpgradeRollout"></a>

Aurora は、複数のデータベースリソースと AWS アカウントにわたるマイナーバージョンの自動アップグレードを管理するための AWS Organizations アップグレードロールアウトポリシーをサポートしています。このポリシーは、以下の方法でクラスターの制御されたアップグレード戦略を実装するのに役立ちます。

**アップグレードロールアウトポリシーの仕組み**

新しいマイナーエンジンバージョンが自動アップグレードの対象になると、ポリシーは定義された順序に基づいてアップグレードシーケンスを制御します。
+ [first] とマークされたリソース (通常は開発環境) は、メンテナンスウィンドウ中にアップグレードの対象となります。
+ 指定されたベイク時間が経過すると、[second] とマークされたリソースが対象になります。
+ 別の指定ベイク時間が過ぎると、[last] とマークされたリソース (通常は本番環境) が対象になります。
+ AWS Health 通知によるアップグレードの進行状況のモニタリング。

アップグレードの順序は、次の方法で定義できます。
+ アカウントレベルのポリシー – 指定されたアカウントのすべての対象リソースに適用されます。
+ リソースタグ — タグに基づいて特定のリソースに適用します。

**注記**  
アップグレードポリシーが設定されていないリソース、またはポリシーから除外されているリソースは、自動的に [second] のアップグレード順序を受け取ります。

**前提条件**
+ AWS アカウントは、アップグレードロールアウトポリシーが有効になっている Organizations の組織の一部である必要があります
+ クラスターの自動マイナーバージョンアップグレードの有効化
+ タグは、アップグレードロールアウトポリシーに厳密には必要ありません。さまざまな環境 (開発、テスト、QA、本番稼働など) に特定のアップグレード順序を定義する場合は、タグを使用できます。ポリシーにタグ設定を含めない場合、そのポリシーのすべてのリソースはデフォルトのアップグレード順序に従います。Aurora リソースでは、インスタンスレベルでタグが定義されている場合でも、クラスターレベルのタグのみがアップグレードロールアウトポリシーに使用されます。

**リソースにタグを付けるには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

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

1. タグを付けるクラスターを選択します。

1. **[アクション]** を選択して **[タグを管理]** を選択します。

1. **[タグを追加]** を選択します。

1. タグキー (「環境」など) と値 (「開発」など) を入力します。

1. **[タグを追加]** を選択し、**[保存]** を選択します。

AWS CLI を使用してタグを追加することもできます。

```
aws rds add-tags-to-resource \
    --resource-name arn:aws:rds:region:account-number:cluster:cluster-name \
    --tags Key=Environment,Value=Development
```

## アップグレードの順序とフェーズ
<a name="Aurora.Maintenance.AMVU.UpgradeRollout.OrderPhases"></a>

アップグレードロールアウトポリシーでは、次の 3 つのアップグレード順序がサポートされています。
+ [first] - 通常、開発環境またはテスト環境に使用されます
+ [second] - 通常、QA 環境に使用されます。ポリシーが特に設定されていない場合のリソースのデフォルト順序
+ [last] - 通常、本番環境用に予約されています

新しいマイナーエンジンバージョンが自動アップグレードの対象になった場合:
+ アップグレード順序が [first] のリソースは、設定されたメンテナンスウィンドウ中にアップグレードの対象となります。
+ 指定されたベイク時間の後、アップグレード順序 [second] のリソースは、メンテナンスウィンドウ中にアップグレードの対象となります。
+ 別の指定ベイク時間の後、アップグレード順序 [last] のリソースは、メンテナンスウィンドウ中にアップグレードの対象となります。
+ 自動マイナーバージョンアップグレードキャンペーンは、アップグレード順序 [first]、[second]、および [last] の対象となるすべてのリソースがアップグレードされた後、またはキャンペーンがスケジュールされた終了日のいずれか早い方に達した後に終了します。

**注記**  
すべてのマイナーバージョンの自動アップグレードは、アプリケーションへの潜在的な影響を最小限に抑えるために、各クラスターで設定されたメンテナンスウィンドウ中に実行されます。

## オブザーバビリティ
<a name="Aurora.Maintenance.AMVU.UpgradeRollout.Observability"></a>

### AWS Health とモニタリング
<a name="Aurora.Maintenance.AMVU.UpgradeRollout.Observability.Health"></a>

AWS Health 通知を受け取ります:
+ 自動マイナーバージョンアップグレードキャンペーンを開始する前
+ アップグレードの進行状況の追跡とモニタリングに役立つ各フェーズの移行の間
+ AWS Health コンソールでフリート全体でアップグレードされたリソースの数を示す進捗状況の更新

Amazon RDS イベント通知
+ 自動マイナーバージョンアップグレードが有効になっているリソースの通知。以下が含まれます。
  + リソースがアップグレード順序 ([first]、[second]、または [last]) に基づいてアップグレードの対象となる場合
  + メンテナンスウィンドウ中のスケジュールされたアップグレードタイムライン
  + 個々のデータベースのアップグレードの開始ステータスと完了ステータス
+ 自動モニタリングのために Amazon EventBridge0 を使用してこれらのイベントをサブスクライブする

### 考慮事項
<a name="Aurora.Maintenance.AMVU.UpgradeRollout.Observability.Considerations"></a>

留意すべき考慮事項:
+ このポリシーは、アクティブなキャンペーン中に行われたポリシーの変更を含む、今後のすべての自動マイナーバージョンアップグレードキャンペーンに適用されます。
+ 進行中のアップグレードキャンペーンに参加する場合、リソースは現在実行中のアップグレード順序に従い、設定されたポリシーを待機しません。
+ アップグレードポリシーが設定されていないリソース、またはポリシーから除外されているリソースは、自動的に [second] のアップグレード順序を受け取ります。
+ このポリシーは、次のフェーズに進む前に、アップグレードフェーズ間の検証期間を提供します。
+ ポリシータグまたはリソースタグの変更を加えると、新しいアップグレード順序が適用される前に反映される時間が必要になります。
+ このポリシーは、自動マイナーバージョンアップグレードが有効になっている Aurora リソースにのみ適用されます。
+ 環境内で問題を検出した場合は、後続の環境の自動マイナーバージョンアップグレードを無効にするか、アップグレードが次のアップグレード順序に進む前に検証期間を使用して問題を解決できます。

RDS リソースのタグ付けの詳細については、「[Amazon Aurora および Amazon RDS リソースのタグ付け](USER_Tagging.md)」を参照してください。アップグレードロールアウトポリシーの設定と使用の詳細な手順については、「*AWS Organizations ユーザーガイド*」の「[AWS Organizations の開始方法](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started.html)」を参照してください。