

# インプレースアップグレードの実行手順
<a name="AuroraMySQL.Upgrading.Procedure"></a>

[メジャーバージョンの Aurora MySQL インプレースアップグレードの仕組み](AuroraMySQL.Updates.MajorVersionUpgrade.md#AuroraMySQL.Upgrading.Sequence) の背景のマテリアルを確認することをお勧めします。

「[Aurora MySQL クラスターのメジャーバージョンアップグレードの計画](AuroraMySQL.Updates.MajorVersionUpgrade.md#AuroraMySQL.Upgrading.Planning)」の説明に従い、アップグレード前の計画とテストを行います。

## コンソール
<a name="AuroraMySQL.Upgrading.ModifyingDBCluster.CON"></a>

次の例では、`mydbcluster-cluster` DB クラスターを Aurora MySQL バージョン 3.04.1 にアップグレードします。

**Aurora MySQL DB クラスターのメジャーバージョンをアップグレードするには**

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

1. 元の DB クラスターでカスタムパラメータグループを使用した場合は、新しいメジャーバージョン互換のパラメータグループを作成します。新しいパラメータグループの設定パラメータに必要な調整を行います。詳細については、「[インプレースアップグレードはクラスターのパラメータグループにどのような影響を与えるか](#AuroraMySQL.Upgrading.ParamGroups)」を参照してください。

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

1.  リストから、変更する DB クラスターを選択します。

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

1.  **[Version]** (バージョン) で、新しい Aurora MySQL のメジャーバージョンを選択します。

   通常、メジャーバージョンの最新のマイナーバージョンを使用することをお勧めします。ここでは、現在のデフォルトバージョンを選択します。  
![\[Aurora MySQL DB クラスターのバージョン 2 からバージョン 3 へのインプレースアップグレード\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/images/ams-upgrade-v2-v3.png)

1.  **[Continue]** (続行) をクリックします。

1.  次のページで、アップグレードを実行するタイミングを指定します。[**次の定期メンテナンス期間中**] または [**今すぐ**] を選択します。

1.  (オプション) アップグレード中、RDS コンソールの [**イベント**] ページを定期的に確認します。これにより、アップグレードの進行状況をモニタリングし、問題を特定することができます。アップグレードで問題が発生した場合は、[Aurora MySQL インプレースアップグレードのトラブルシューティング](AuroraMySQL.Upgrading.Troubleshooting.md) を参照してステップを実行してください。

1. この手順のスタート時に、新しいパラメータグループを作成した場合は、アップグレードしたクラスターにカスタムパラメータグループを関連付けます。詳細については、「[インプレースアップグレードはクラスターのパラメータグループにどのような影響を与えるか](#AuroraMySQL.Upgrading.ParamGroups)」を参照してください。
**注記**  
 このステップを実行するには、クラスターを再起動して新しいパラメータグループを適用する必要があります。

1.  (オプション) アップグレード後のテストが完了したら、アップグレードのスタート時に Aurora によって作成された手動スナップショットを削除します。

## AWS CLI
<a name="AuroraMySQL.Upgrading.ModifyingDBCluster.CLI"></a>

Aurora MySQL DB クラスターのメジャーバージョンをアップグレードするには、次の必須パラメータを指定しながら、AWS CLI の [modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html) コマンドを実行します。
+ `--db-cluster-identifier`
+ `--engine-version`
+ `--allow-major-version-upgrade`
+  `--apply-immediately` または `--no-apply-immediately`

クラスターでカスタムパラメータグループを使用する場合は、次のオプションの 1 つ、または両方を含めます。
+ `--db-cluster-parameter-group-name`、クラスターがカスタムクラスターのパラメータグループを使用している場合
+ `--db-instance-parameter-group-name`、クラスター内のインスタンスがカスタム DB のパラメータグループを使用している場合

次の例では、`sample-cluster` DB クラスターを Aurora MySQL バージョン 3.04.1 にアップグレードします。アップグレードは、次のメンテナンスウィンドウを待つことなく、すぐに実行されます。

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

```
aws rds modify-db-cluster \
          --db-cluster-identifier sample-cluster \
          --engine-version 8.0.mysql_aurora.3.04.1 \
          --allow-major-version-upgrade \
          --apply-immediately
```
Windows の場合:  

```
aws rds modify-db-cluster ^
          --db-cluster-identifier sample-cluster ^
          --engine-version 8.0.mysql_aurora.3.04.1 ^
          --allow-major-version-upgrade ^
          --apply-immediately
```
他の CLI `modify-db-cluster` コマンドをと組み合わせて、アップグレードを実行および検証するための自動化されたエンドツーエンドのプロセスを作成できます。詳細な説明と例については、「[Aurora MySQL インプレースアップグレードのチュートリアル](AuroraMySQL.Upgrading.Tutorial.md)」を参照してください。

**注記**  
クラスターが Aurora Global Database の一部である場合、インプレースアップグレードの手順は若干異なります。`modify-db-cluster` の代わりに、[modify-global-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-global-cluster.html) コマンドオペレーションを呼び出します。詳細については、「[グローバルデータベースのインプレースメジャーアップグレード](#AuroraMySQL.Upgrading.GlobalDB)」を参照してください。

## RDS API
<a name="AuroraMySQL.Upgrading.ModifyingDBCluster.API"></a>

Aurora MySQL DB クラスターのメジャーバージョンをアップグレードするには、次の必須パラメータを指定して RDS API の [ModifyDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBCluster.html) オペレーションを使用します。
+ `DBClusterIdentifier`
+ `Engine`
+ `EngineVersion`
+ `AllowMajorVersionUpgrade`
+ `ApplyImmediately` (`true`、または `false` に設定)

**注記**  
クラスターが Aurora Global Database の一部である場合、インプレースアップグレードの手順は若干異なります。 `ModifyDBCluster` の代わりに、[ modifyGlobalCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyGlobalClusterParameterGroup.html) オペレーションを呼び出します。詳細については、「[グローバルデータベースのインプレースメジャーアップグレード](#AuroraMySQL.Upgrading.GlobalDB)」を参照してください。

## インプレースアップグレードはクラスターのパラメータグループにどのような影響を与えるか
<a name="AuroraMySQL.Upgrading.ParamGroups"></a>

Aurora パラメータグループには、MySQL 5.7 または 8.0 と互換性のあるクラスターとは異なる構成設定のセットがあります。インプレースアップグレードを実行する際、アップグレードされたクラスターとそのすべてのインスタンスで、対応するクラスターおよびインスタンスのパラメータグループを使用する必要があります。

クラスターとインスタンスは、デフォルトの 5.7 互換パラメータグループを使用する場合があります。その場合、アップグレードされたクラスターとインスタンスは、デフォルトの 8.0 互換パラメータグループで開始されます。クラスターとインスタンスでカスタムパラメータグループを使用している場合は、対応する、または 8.0 互換のパラメータグループを作成してください。また、アップグレード処理中に必ずそれらを指定してください。

**注記**  
ほとんどのパラメータ設定では、2 つのポイントでカスタムパラメータグループを選択できます。これらは、クラスターの作成時や、パラメータグループをクラスターに関連付ける場合です。  
ただし、デフォルト以外の設定を `lower_case_table_names` パラメータに使用する場合は、事前にこの設定を使用してカスタム パラメータグループを設定する必要があります。その後、スナップショット復元を実行してクラスターを作成する際、パラメータグループを指定します。クラスター作成後の`lower_case_table_names` パラメータへの変更は、影響がありません。  
Aurora MySQL バージョン 2 からバージョン 3 にアップグレードする場合にも、同じ `lower_case_table_names` の設定を使用することをお勧めします。  
Aurora MySQL に基づく Aurora グローバルデータベースでは、`lower_case_table_names` パラメータがオンの場合、Aurora MySQL バージョン 2 からバージョン 3 へのインプレースアップグレードを実行できません。使用できる方法の詳細については、「[メジャーバージョンのアップグレード](aurora-global-database-upgrade.md#aurora-global-database-upgrade.major)」を参照してください。

**重要**  
 アップグレードプロセス中にカスタムパラメータグループを指定した場合は、アップグレード終了後にクラスターを手動で再起動してください。再起動すると、クラスターがカスタムパラメータ設定の使用をスタートできます。

## Aurora MySQL バージョン間のクラスターのプロパティの変更
<a name="AuroraMySQL.Upgrading.Attrs"></a>

Aurora MySQL バージョン 2 からバージョン 3 にアップグレードする場合は、Aurora MySQL クラスターと DB インスタンスのセットアップと管理に使用するアプリケーションやスクリプトを確認してください。

また、5.7 および 8.0 互換クラスターではデフォルトのパラメータグループ名が異なることを考慮して、パラメータグループを操作するコードを変更します。Aurora MySQL バージョン 2 と 3 のクラスターのデフォルトのパラメータグループ名は、それぞれ `default.aurora-mysql5.7` と `default.aurora-mysql8.0` です。

例えば、アップグレード前にクラスターに適用される次のようなコードがあるとします。

```
# Check the default parameter values for MySQL 5.7–compatible clusters.
aws rds describe-db-parameters --db-parameter-group-name default.aurora-mysql5.7 --region us-east-1
```

 クラスターのメジャーバージョンをアップグレードした後、そのコードを次のように変更します。

```
# Check the default parameter values for MySQL 8.0–compatible clusters.
aws rds describe-db-parameters --db-parameter-group-name default.aurora-mysql8.0 --region us-east-1
```

## グローバルデータベースのインプレースメジャーアップグレード
<a name="AuroraMySQL.Upgrading.GlobalDB"></a>

 Aurora Global Database の場合は、グローバルデータベースクラスターをアップグレードします。Aurora は、すべてのクラスターを同時かつ自動的にアップグレードし、すべてのクラスターで、同じエンジンバージョンが実行されることを保証します。これは、システムテーブルやデータファイル形式などの変更が、すべてのセカンダリクラスターに自動的にレプリケートされるためです。

「[メジャーバージョンの Aurora MySQL インプレースアップグレードの仕組み](AuroraMySQL.Updates.MajorVersionUpgrade.md#AuroraMySQL.Upgrading.Sequence)」の手順に従います。アップグレードする対象を指定するときは、そのデータベースに含まれるクラスターの 1 つではなく、グローバルデータベースクラスターを選択してください。

AWS マネジメントコンソール を使用する場合、**[Global database]** (グローバルデータベース) のロールを持つアイテムを選択します。

![\[グローバルデータベースクラスターをアップグレードする\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/images/aurora-global-databases-major-upgrade-global-cluster.png)


 AWS CLI または RDS API を使用する場合は、[modify-global-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-global-cluster.html) コマンドまたは [ModifyGlobalCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyGlobalCluster.html) オペレーションを呼び出して、アップグレードプロセスをスタートします。`modify-db-cluster` または `ModifyDBCluster` の代わりにこれらのいずれかを使用します。

**注記**  
Aurora グローバルデータベースのメジャーバージョンアップグレードを実行している間、グローバルデータベースクラスターのカスタムパラメータグループを指定することはできません。グローバルクラスターの各リージョンにカスタムパラメータグループを作成します。次に、アップグレード後に手動でリージョンクラスターに適用します。

 AWS CLI を使用して Aurora MySQL グローバルデータベースクラスターのメジャーバージョンをアップグレードするには、以下の必須パラメータを指定して、[modify-global-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-global-cluster.html) コマンドを使用します。
+  `--global-cluster-identifier` 
+  `--engine aurora-mysql` 
+  `--engine-version` 
+  `--allow-major-version-upgrade` 

次の例では、グローバルデータベースクラスターを Aurora MySQL バージョン 2.10.2 にアップグレードします。

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

```
aws rds modify-global-cluster \
          --global-cluster-identifier global_cluster_identifier \
          --engine aurora-mysql \
          --engine-version 5.7.mysql_aurora.2.10.2 \
          --allow-major-version-upgrade
```
Windows の場合:  

```
aws rds modify-global-cluster ^
          --global-cluster-identifier global_cluster_identifier ^
          --engine aurora-mysql ^
          --engine-version 5.7.mysql_aurora.2.10.2 ^
          --allow-major-version-upgrade
```

## バックトラックに関する考慮事項
<a name="AuroraMySQL.Upgrading.Backtrack"></a>

アップグレードしたクラスターでバックトラック機能が有効になっている場合、アップグレードしたクラスターをアップグレード前の時間にバックトラックすることはできません。