

# RDS for SQL Server の BYOM DB インスタンスをアップグレードする
<a name="sqlserver-byom-upgrade"></a>

RDS for SQL Server の BYOM DB インスタンスにマイナーエンジンバージョンアップグレードを適用できます。マイナーバージョンアップグレードには、セキュリティパッチ、バグ修正、パフォーマンスの向上を含む Microsoft の累積更新が含まれます。

ライセンス込みインスタンスとは異なり、BYOM インスタンスをアップグレードするには、アップグレードを開始する前に BYOM エンジンバージョンが使用可能である必要があります。

## 有効なアップグレードターゲットの特定
<a name="sqlserver-byom-upgrade.targets"></a>

アップグレードする前に、現在のバージョンで有効なアップグレードターゲットとして利用可能なエンジンバージョンを特定します。

`describe-db-engine-versions` コマンドを使用して、有効なマイナーバージョンアップグレードターゲットを一覧表示します。

**例:**

```
aws rds describe-db-engine-versions \
    --engine sqlserver-ee \
    --engine-version 15.00.4440.1.v1 \
    --include-all \
    --query "DBEngineVersions[?DBEngineMediaType=='Customer Provided'].ValidUpgradeTarget[] | [?IsMajorVersionUpgrade==\`false\`]"
```

**サンプル出力。**

```
[
    {
        "Engine": "sqlserver-ee",
        "EngineVersion": "15.00.4455.2.v1",
        "AutoUpgrade": false,
        "IsMajorVersionUpgrade": false
    },
    .....
    {
        "Engine": "sqlserver-ee",
        "EngineVersion": "15.00.4465.1.v1",
        "AutoUpgrade": false,
        "IsMajorVersionUpgrade": false
    }
]
```

## BYOM バージョンアップグレードの適用 (AWS CLI)
<a name="sqlserver-byom-upgrade.applying"></a>

バージョンアップグレードを開始する前に、手動スナップショットを作成します。Amazon RDS は自動スナップショットを作成しますが、手動スナップショットを使用することで、既知の復元ポイントを確保できます。

**例:**

```
aws rds modify-db-instance \
    --db-instance-identifier my-byom-instance \
    --engine-version 15.00.4465.1.v1 \
    --no-apply-immediately
```

**注記**  
`--no-apply-immediately` を使用すると、Amazon RDS は次のメンテナンスウィンドウ中に変更を適用します。今すぐ変更を適用するには、`--apply-immediately` を使用します。詳細については、「[スケジュール変更設定の使用](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ModifyInstance.ApplyImmediately.html)」を参照してください。

## アップグレードを検証する
<a name="sqlserver-byom-upgrade.verifying"></a>

アップグレードが完了したら、DB インスタンスの新しいエンジンバージョンを確認します。

**例:**

```
aws rds describe-db-instances \
    --db-instance-identifier my-byom-instance \
    --query "DBInstances[*].[DBInstanceIdentifier,EngineVersion,DBInstanceStatus,LicenseModel]"
```

```
[
    [
        "my-byom-instance",
        "15.00.4465.1.v1",
        "available",
        "bring-your-own-media"
    ]
]
```

次の値を確認します。
+ `EngineVersion` はターゲットバージョンと一致します。
+ `DBInstanceStatus` は `available`。
+ `LicenseModel` は `bring-your-own-media`。

## ライセンス込みのインスタンスを Bring Your Own Media に変換する
<a name="sqlserver-byom-upgrade.converting"></a>

既存の RDS for SQL Server インスタンスをライセンス込みモデルから BYOM に変換できます。これにより、AWS に含まれるライセンス料金を支払う代わりに、独自の SQL Server ライセンスを使用できるようになります。

**注記**  
インスタンスの現在のエンジンバージョンに対応する BYOM エンジンバージョンが、`available` ステータスである必要があります。

`modify-db-instance` コマンドを使用してライセンスモデルを変更します。

```
aws rds modify-db-instance \
    --db-instance-identifier DB_INSTANCE_IDENTIFIER \
    --license-model bring-your-own-media \
    --no-apply-immediately
```

**注記**  
`--no-apply-immediately` を使用すると、Amazon RDS は次のメンテナンスウィンドウ中に変更を適用します。今すぐ変更を適用するには、`--apply-immediately` を使用します。詳細については、「[スケジュール変更設定の使用](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ModifyInstance.ApplyImmediately.html)」を参照してください。

DB インスタンスの現在のライセンスモデルを確認するには、`describe-db-instances` コマンドを使用してレスポンスの `LicenseModel` フィールドを確認します。変更が進行中の場合は、保留中のライセンスモデルの `PendingModifiedValues` フィールドを確認します。変更が完了すると、`LicenseModel` フィールドには新しい値が反映されます。詳細については、[DB インスタンスの説明](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html)についてのページを参照してください。

## 考慮事項
<a name="sqlserver-byom-upgrade.considerations"></a>
+ BYOM からライセンス込みへの変換はサポートされていません。
+ ライセンス込み (LI) インスタンスにリードレプリカがある場合は、ライセンスモデルを BYOM に変換する前に削除し、後で再作成します。新しいレプリカは BYOM ライセンスモデルを自動的に継承します。
+ LI DB インスタンスが BYOM でサポートされていないインスタンスクラス (db.m5 や db.r6i など) で実行されている場合、BYOM に直接変換することはできません。まず、インスタンスをサポートされているインスタンスクラス (第 7 世代以降) に変更し、ライセンスモデルを別の変更オペレーションとして変換します。