

# オプショングループを使用する
<a name="USER_WorkingWithOptionGroups"></a>

DB エンジンによっては、データおよびデータベースの管理を容易にしたり、データベースのセキュリティを強化する追加の機能が用意されている場合があります。Amazon RDS は、オプショングループを使用してこれらの機能の有効化と設定を行います。*オプショングループ*には、特定の Amazon RDS DB インスタンスに使用できる機能 (オプション) を指定できます。オプションの設定では、そのオプションの動作を指定できます。DB インスタンスをオプショングループに関連付けると、指定したオプションとそれらの設定がその DB インスタンスに対して有効になります。

 Amazon RDS では、次のデータベースエンジンのオプションをサポートします。


****  

| データベースエンジン | 関連資料 | 
| --- | --- | 
|  `Db2`  |  [RDS for Db2 DB インスタンスのオプション](Db2.Options.md)  | 
|  `MariaDB`  |  [MariaDB データベースエンジンのオプション](Appendix.MariaDB.Options.md)  | 
|  `Microsoft SQL Server`  |  [Microsoft SQL Server データベースエンジンのオプション](Appendix.SQLServer.Options.md)  | 
|  `MySQL`  |  [MySQL DB インスタンスのオプション](Appendix.MySQL.Options.md)  | 
|  `Oracle`  |  [Oracle DB インスタンスへのオプションの追加](Appendix.Oracle.Options.md)  | 
|  `PostgreSQL`  |  PostgreSQL はオプションとオプショングループを使用しません。PostgreSQL はエクステンションとモジュールを使用して追加機能を提供します。詳細については、「[サポートされている PostgreSQL 拡張機能バージョン](PostgreSQL.Concepts.General.FeatureSupport.Extensions.md)」を参照してください。  | 

## オプショングループの概要
<a name="Overview.OptionGroups"></a>

Amazon RDS では、新しい DB インスタンスごとに空のデフォルトオプショングループが用意されます。このデフォルトのオプショングループを変更または削除することはできませんが、作成する新しいオプショングループは、デフォルトのオプショングループから設定を収得します。DB インスタンスにオプションを適用するには、以下を実行する必要があります。

1. 新しいオプショングループを作成するか、既存のオプショングループをコピーまたは変更します。

1. 1 つまたは複数のオプションをオプショングループに追加します。

1. オプショングループを DB インスタンスに関連付けます。

   オプショングループを DB インスタンスに関連付けるには、DB インスタンスを変更します。詳細については、「[Amazon RDS DB インスタンスを変更する](Overview.DBInstance.Modifying.md)」を参照してください。

DB インスタンスと DB スナップショットはいずれもオプショングループに関連付けることができます。場合によっては、DB スナップショットからの復元や、DB インスタンスに対するポイントインタイム復元を行うことができます。このような場合、DB スナップショットまたは DB インスタンスに関連付けられているオプショングループは、デフォルトで、復元された DB インスタンスに関連付けられています。復元された DB インスタンスに異なるオプショングループを関連付けることができます。ただし、新しいオプショングループには、元のオプショングループに含まれる永続オプションまたは固定オプションを含める必要があります。永続オプションおよび固定オプションについては後で説明します。

オプションでは、DB インスタンスで実行するために追加のメモリが必要です。そのため、DB インスタンスの現在の使用状況によっては、サイズのより大きいインスタンスの起動が必要になる場合があります。例えば、Oracle Enterprise Manager Database Control には約 300 MB の RAM が使用されます。サイズの小さい DB インスタンスに対してこのオプションを有効にした場合は、パフォーマンスの問題やメモリ不足のエラーが発生することがあります。

### 永続オプションと固定オプション
<a name="Overview.OptionGroups.Permanent"></a>

永続と固定の 2 種類のオプションをオプショングループに追加するときは、特別な考慮事項があります。

DB インスタンスがオプショングループに関連付けられている間は、永続オプションをオプショングループから削除することはできません。永続オプションの一例として、Microsoft SQL Server の透過的なデータ暗号化 (TDE) の TDE オプションがあります。オプショングループに関連付けられているすべての DB インスタンスの関連付けを解除してから、オプショングループから永続オプションを削除する必要があります。場合によっては、DB スナップショットから復元やポイントインタイム復元を行うことができます。DB スナップショットに関連付けられているオプショングループに永続オプションが含まれている場合、復元された DB インスタンスは、そのオプショングループにのみ関連付けることができます。

固定オプション (Oracle Advanced Security TDE の TDE オプションなど) をオプショングループから削除することはできません。固定オプションを使用している DB インスタンスのオプショングループは変更することができます。ただし、DB インスタンスに関連付けられているオプションに、同一の固定オプションが含まれている必要があります。場合によっては、DB スナップショットから復元やポイントインタイム復元を行うことができます。DB スナップショットに関連付けられているオプショングループに固定オプションが含まれている場合、復元された DB インスタンスは、その固定オプションが含まれているオプショングループにのみ関連付けることができます。

Oracle DB インスタンスの場合、オプション `Timezone` または `OLS` (または両方) を持つ共有 DB スナップショットをコピーできます。そのためには、DB スナップショットをコピーするときにこれらのオプションを含むターゲットオプショングループを指定します。OLS オプションは、Oracle バージョン 12.2 以降を実行している Oracle DB インスタンスに対してのみ恒久的かつ永続的です。これらのオプションの詳細については、「[Oracle のタイムゾーン](Appendix.Oracle.Options.Timezone.md)」および「[Oracle Label Security](Oracle.Options.OLS.md)」を参照してください。

### VPC に関する考慮事項
<a name="Overview.OptionGroups.Platform"></a>

DB インスタンスに関連付けられているオプショングループは、DB インスタンスの VPC とリンクされます。つまり、別の VPC に DB インスタンスを復元しようとしても、そのインスタンスに割り当てられているオプショングループは使用できません。DB インスタンスを別の VPC に復元する場合は、以下のいずれかを行うことができます。
+ デフォルトのオプショングループを DB インスタンスに割り当てます。
+ VPC にリンクされているオプショングループを割り当てます。
+ 新しいオプショングループを作成し、DB インスタンスに割り当てます。

Oracle TDE などの永続的または不変のオプションを使用する場合は、新しいオプショングループを作成する必要があります。別の VPC 内に DB インスタンスを復元する場合は、このオプショングループに永続的または不変のオプションを含める必要があります。

オプションの設定では、オプションの動作を制御します。例えば、Oracle Advanced Security オプション `NATIVE_NETWORK_ENCRYPTION` の設定を使用すると、DB インスタンスとの送受信のネットワークトラフィック用に暗号化アルゴリズムを指定できます。一部のオプションの設定は Amazon RDS に合わせて最適化されており、変更することはできません。

### 相互に排他的なオプション
<a name="Overview.OptionGroups.Exclusive"></a>

一部のオプションは相互に排他的です。どちらか一方は使用できますが、両方を同時に使用することはできません。以下のオプションは相互に排他的です。
+ [Oracle Enterprise Manager Database Express](Appendix.Oracle.Options.OEM_DBControl.md)「」および「[Enterprise Manager Cloud Control 向け Oracle Management Agent](Oracle.Options.OEMAgent.md)」。
+ [Oracle ネイティブネットワーク暗号化](Appendix.Oracle.Options.NetworkEncryption.md)、、および [Oracle Secure Sockets Layer](Appendix.Oracle.Options.SSL.md) 

## オプショングループを作成する
<a name="USER_WorkingWithOptionGroups.Create"></a>

デフォルトオプショングループからその設定を引き継いで新しいオプショングループを作成することはできます。次に 1 つまたは複数のオプションを新しいオプショングループに追加します。あるいは、既存のオプショングループがある場合は、そのオプショングループをすべてのオプションと共に新しいオプショングループにコピーできます。詳細については、「[オプショングループをコピーする](#USER_WorkingWithOptionGroups.Copy)」を参照してください。

新しいオプショングループを作成すると、そこにオプションは含まれていません。オプショングループにオプションを追加する方法については、「[オプショングループにオプションを追加する](#USER_WorkingWithOptionGroups.AddOption)」を参照してください。必要なオプションを追加したら、DB インスタンスにオプショングループを関連付けることができます。これにより、オプションが DB インスタンスで利用可能になります。DB インスタンスにオプショングループを関連付ける方法については、[オプショングループを使用する](#USER_WorkingWithOptionGroups) のデータベースエンジンのドキュメントを参照してください。

### コンソール
<a name="USER_WorkingWithOptionGroups.Create.Console"></a>

 オプショングループの作成方法の 1 つとして、AWS マネジメントコンソール を使用する方法があります。

**新しいオプショングループをコンソールを使用して作成するには**

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

1. ナビゲーションペインで、[**オプショングループ**] を選択します。

1. **[Create group]** (グループの作成) を選択します。

1. **[Create option group]** (オプショングループを作成) ウィンドウで次の操作を行います。

   1. **[Name]** (名前) には、AWS アカウント内で一意であるオプショングループの名前を入力します。名前には、英字、数字、ハイフンのみ使用できます。

   1. **[Description]** (説明) には、オプショングループの簡単な説明を入力します。説明は表示用に使用されます。

   1. **[Engine]** (エンジン) で、使用する DB エンジンを選択します。

   1. **[Major Engine Version]** (メジャーエンジンバージョン) で、必要な DB エンジンのメジャーバージョンを選択します。

1. 続行するには、[**Yes, Create**(はい､作成する)] を選択します。逆に、操作をキャンセルするには、[**Cancel**] を選択します。

### AWS CLI
<a name="USER_WorkingWithOptionGroups.Create.CLI"></a>

オプショングループを作成するには、以下の必須パラメータを指定して AWS CLI の [https://docs.aws.amazon.com/cli/latest/reference/rds/create-option-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-option-group.html) コマンドを使用します。
+ `--option-group-name`
+ `--engine-name`
+ `--major-engine-version`
+ `--option-group-description`

**Example**  
以下の例では、`testoptiongroup` という名前のオプショングループを作成し、Oracle Enterprise Edition DB エンジンに関連付けています。説明は引用符で囲みます。  
Linux、macOS、Unix の場合:  

```
       
aws rds create-option-group \
    --option-group-name testoptiongroup \
    --engine-name oracle-ee \
    --major-engine-version 19 \
    --option-group-description "Test option group for Oracle Database 19c EE"
```
Windows の場合:  

```
aws rds create-option-group ^
    --option-group-name testoptiongroup ^
    --engine-name oracle-ee ^-
    --major-engine-version 19 ^
    --option-group-description "Test option group for Oracle Database 19c EE"
```

### RDS API
<a name="USER_WorkingWithOptionGroups.Create.API"></a>

オプショングループを作成するには、Amazon RDS API の [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateOptionGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateOptionGroup.html) オペレーションを呼び出します。以下のパラメータを含めます。
+ `OptionGroupName`
+ `EngineName`
+ `MajorEngineVersion`
+ `OptionGroupDescription`

## オプショングループをコピーする
<a name="USER_WorkingWithOptionGroups.Copy"></a>

AWS CLI または Amazon RDS API を使用して、オプショングループをコピーできます。オプショングループをコピーすると便利です。例えば、既存のオプショングループがあり、そのカスタムパラメータと値のほとんどを新しいオプショングループに含める場合です。また、実稼働環境で使用しているオプショングループのコピーを作成し、コピーを変更してその他のオプションの設定をテストすることもできます。

**注記**  
現時点では、オプショングループを別の AWS リージョンにコピーすることはできません。

### AWS CLI
<a name="USER_WorkingWithOptionGroups.Copy.CLI"></a>

オプショングループをコピーするには、AWS CLI の [copy-option-group](https://docs.aws.amazon.com/cli/latest/reference/rds/copy-option-group.html) を使用します。次の必須パラメータを含めます。
+ `--source-option-group-identifier`
+ `--target-option-group-identifier`
+ `--target-option-group-description`

**Example**  
次の例では、オプショングループ `new-option-group` のローカルコピーである、`my-option-group` という名前のオプショングループを作成します。  
Linux、macOS、Unix の場合:  

```
aws rds copy-option-group \
    --source-option-group-identifier my-option-group \
    --target-option-group-identifier new-option-group \
    --target-option-group-description "My new option group"
```
Windows の場合:  

```
aws rds copy-option-group ^
    --source-option-group-identifier my-option-group ^
    --target-option-group-identifier new-option-group ^
    --target-option-group-description "My new option group"
```

### RDS API
<a name="USER_WorkingWithOptionGroups.Copy.API"></a>

オプショングループをコピーするには、Amazon RDS API の [CopyOptionGroup](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CopyOptionGroup.html) オペレーションを呼び出します。以下の必須パラメータを含めます。
+ `SourceOptionGroupIdentifier`
+ `TargetOptionGroupIdentifier`
+ `TargetOptionGroupDescription`

## オプショングループにオプションを追加する
<a name="USER_WorkingWithOptionGroups.AddOption"></a>

既存のオプショングループにオプションを追加できます。必要なオプションを追加したら、そのオプションが DB インスタンスで使用可能になるように、DB インスタンスにオプショングループを関連付けることができます。DB インスタンスにオプショングループを関連付ける方法については、[オプショングループを使用する](#USER_WorkingWithOptionGroups)にリストされているご使用の DB エンジンのドキュメントを参照してください。

オプショングループの変更が直ちに適用されなければならないケースが 2 つあります。
+ ポート値を追加または更新するオプションを追加した場合 (`OEM` など)。
+ ポート値を含むオプションがあるオプショングループを追加、または削除した場合。

このような場合は、コンソールで [**Apply Immediately (すぐに適用)**] オプションを選択します。または、AWS CLI で `--apply-immediately` オプションを指定するか、Amazon RDS API で `ApplyImmediately` パラメータを `true` に設定することもできます。ポート値を使用しないオプションはすぐに適用するか、DB インスタンスの次のメンテナンスウィンドウ中に適用できます。

**注記**  
セキュリティグループをオプショングループのオプションの値として指定する場合は、オプショングループを変更してセキュリティグループを管理します。DB インスタンスを変更してこのセキュリティグループを変更または削除することはできません。また、セキュリティグループは、AWS マネジメントコンソール、または AWS CLI コマンド `describe-db-instances` の出力の DB インスタンスの詳細には表示されません。

### コンソール
<a name="USER_WorkingWithOptionGroups.AddOption.Console"></a>

AWS マネジメントコンソール を使用してオプショングループにオプションを追加できます。

**オプションをコンソールを使用してオプショングループに追加するには**

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

1. ナビゲーションペインで、[**オプショングループ**] を選択します。

1. 変更するオプショングループを選択し、[**オプションの追加**] を選択します。  
![\[コンソールのオプショングループ\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/optiongroup-addoption1.png)

1. [**Add option**(オプションの追加)] ウィンドウで、以下の操作を行います。

   1. 追加するオプションを選択します。選択したオプションによって、追加の値の指定が必要になる場合があります。例えば、`OEM` オプションを選択すると、ポート値を入力し、セキュリティグループを指定する必要もあります。

   1. オプションを追加後すぐに、関連付けられているすべての DB インスタンスに対して有効にするには、[**Apply Immediately**] で [**Yes**] を選択します。[**No**] を選択した場合 (デフォルト)、オプションは次のメンテナンス時間中に、関連付けられている各 DB インスタンスに対して有効になります。  
![\[コンソールのオプショングループ\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/optiongroup-addoption2.png)

1. 設定が希望どおりになったら、[**オプションの追加**] を選択します。

### AWS CLI
<a name="USER_WorkingWithOptionGroups.AddOptions.CLI"></a>

オプショングループにオプションを追加するには、AWS CLI [add-option-to-option-group](https://docs.aws.amazon.com/cli/latest/reference/rds/add-option-to-option-group.html) コマンドを追加するオプションで実行します。新しいオプションをすぐに、関連付けられているすべての DB インスタンスに対して有効にするには、`--apply-immediately` パラメータを指定します。デフォルトでは、オプションは次のメンテナンスウィンドウ中に、関連付けられている各 DB インスタンスに対して有効になります。以下の必須パラメータを含めます。
+ `--option-group-name`

**Example**  
次の例では、`America/Los_Angeles` 設定の `Timezone` オプションを `testoptiongroup` という名前のオプショングループに追加し、すぐに有効にします。  
Linux、macOS、Unix の場合:  

```
aws rds add-option-to-option-group \
    --option-group-name testoptiongroup \
    --options "OptionName=Timezone,OptionSettings=[{Name=TIME_ZONE,Value=America/Los_Angeles}]" \
    --apply-immediately
```
Windows の場合:  

```
aws rds add-option-to-option-group ^
    --option-group-name testoptiongroup ^
    --options "OptionName=Timezone,OptionSettings=[{Name=TIME_ZONE,Value=America/Los_Angeles}]" ^
    --apply-immediately
```
このコマンドでは、以下のような出力が生成されます。  

```
...{
       "OptionName": "Timezone",
       "OptionDescription": "Change time zone",
       "Persistent": true,
       "Permanent": false,
       "OptionSettings": [
           {
               "Name": "TIME_ZONE",
               "Value": "America/Los_Angeles",
               "DefaultValue": "UTC",
               "Description": "Specifies the timezone the user wants to change the system time to",
               "ApplyType": "DYNAMIC",
               "DataType": "STRING",
               "AllowedValues": "Africa/Cairo,...",
               "IsModifiable": true,
               "IsCollection": false
           }
       ],
       "DBSecurityGroupMemberships": [],
       "VpcSecurityGroupMemberships": []
   }...
```

**Example**  
以下の例では、Oracle OEM オプションをオプショングループに追加します。また、カスタムポートと、Amazon EC2 VPC セキュリティグループのペアを使用できるように指定します。  
Linux、macOS、Unix の場合:  

```
aws rds add-option-to-option-group \
    --option-group-name testoptiongroup \
    --options OptionName=OEM,Port=5500,VpcSecurityGroupMemberships="sg-test1,sg-test2" \
    --apply-immediately
```
Windows の場合:  

```
aws rds add-option-to-option-group ^
    --option-group-name testoptiongroup ^
    --options OptionName=OEM,Port=5500,VpcSecurityGroupMemberships="sg-test1,sg-test2" ^
    --apply-immediately
```
このコマンドでは、以下のような出力が生成されます。  

```
OPTIONGROUP  False  oracle-ee  19 arn:aws:rds:us-east-1:1234567890:og:testoptiongroup   Test Option Group  testoptiongroup vpc-test 
OPTIONS Oracle 12c EM Express   OEM     False   False   5500
VPCSECURITYGROUPMEMBERSHIPS     active  sg-test1
VPCSECURITYGROUPMEMBERSHIPS     active  sg-test2
```

**Example**  
次の例では、Oracle オプション `NATIVE_NETWORK_ENCRYPTION` をオプショングループに追加し、オプションの設定を指定します。オプションの設定を指定しない場合、デフォルト値が使用されます。  
Linux、macOS、Unix の場合:  

```
aws rds add-option-to-option-group \
    --option-group-name testoptiongroup \
    --options '[{"OptionSettings":[{"Name":"SQLNET.ENCRYPTION_SERVER","Value":"REQUIRED"},{"Name":"SQLNET.ENCRYPTION_TYPES_SERVER","Value":"AES256,AES192,DES"}],"OptionName":"NATIVE_NETWORK_ENCRYPTION"}]' \
    --apply-immediately
```
Windows の場合:  

```
aws rds add-option-to-option-group ^
    --option-group-name testoptiongroup ^
    --options "OptionSettings"=[{"Name"="SQLNET.ENCRYPTION_SERVER","Value"="REQUIRED"},{"Name"="SQLNET.ENCRYPTION_TYPES_SERVER","Value"="AES256\,AES192\,DES"}],"OptionName"="NATIVE_NETWORK_ENCRYPTION" ^
    --apply-immediately
```
このコマンドでは、以下のような出力が生成されます。  

```
...{
    "OptionName": "NATIVE_NETWORK_ENCRYPTION",
    "OptionDescription": "Native Network Encryption",
    "Persistent": false,
    "Permanent": false,
    "OptionSettings": [
        {
            "Name": "SQLNET.ENCRYPTION_TYPES_SERVER",
             "Value": "AES256,AES192,DES",
            "DefaultValue": "RC4_256,AES256,AES192,3DES168,RC4_128,AES128,3DES112,RC4_56,DES,RC4_40,DES40",
            "Description": "Specifies list of encryption algorithms in order of intended use",
            "ApplyType": "STATIC",
            "DataType": "STRING",
            "AllowedValues": "RC4_256,AES256,AES192,3DES168,RC4_128,AES128,3DES112,RC4_56,DES,RC4_40,DES40",
            "IsModifiable": true,
            "IsCollection": true
        },
        {
            "Name": "SQLNET.ENCRYPTION_SERVER",
            "Value": "REQUIRED",
            "DefaultValue": "REQUESTED",
            "Description": "Specifies the desired encryption behavior",
            "ApplyType": "STATIC",
            "DataType": "STRING",
            "AllowedValues": "ACCEPTED,REJECTED,REQUESTED,REQUIRED",
            "IsModifiable": true,
            "IsCollection": false
        },...
```

### RDS API
<a name="USER_WorkingWithOptionGroups.AddOptions.API"></a>

Amazon RDS API を使用してオプショングループにオプションを追加するには、[ModifyOptionGroup](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyOptionGroup.html) オペレーションを追加するオプションで呼び出します。新しいオプションをすぐに、関連付けられているすべての DB インスタンスに対して有効にするには、`ApplyImmediately` パラメータを指定して `true` に設定します。デフォルトでは、オプションは次のメンテナンスウィンドウ中に、関連付けられている各 DB インスタンスに対して有効になります。以下の必須パラメータを含めます。
+ `OptionGroupName`

## オプショングループのオプションとオプション設定をリスト化する
<a name="USER_WorkingWithOptionGroups.ListOption"></a>

 オプショングループのオプションとそれらの設定をすべて一覧表示できます。

### コンソール
<a name="USER_WorkingWithOptionGroups.ListOption.Console"></a>

AWS マネジメントコンソール を使用して、オプショングループのオプションとそれらの設定をすべて一覧表示できます。

**オプショングループのオプションとその設定を一覧表示するには**

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

1. ナビゲーションペインで、[**オプショングループ**] を選択します。

1. 詳細を表示するオプショングループの名前を選択します。オプショングループのオプションとその設定を一覧表示されます。

### AWS CLI
<a name="USER_WorkingWithOptionGroups.ListOption.CLI"></a>

オプショングループのオプションとオプションの設定を一覧表示するには、AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-option-groups.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-option-groups.html) コマンドを使用します。オプションとそれらの設定を表示するオプショングループの名前を指定します。オプショングループ名を指定しない場合、すべてのオプショングループが指定されます。

**Example**  
以下の例では、すべてのオプショングループのオプションとそれらの設定を一覧表示しています。  

```
aws rds describe-option-groups
```

**Example**  
以下の例では、`testoptiongroup` という名前のオプショングループのオプションとそれらの設定を一覧表示しています。  

```
aws rds describe-option-groups --option-group-name testoptiongroup
```

### RDS API
<a name="USER_WorkingWithOptionGroups.ListOption.API"></a>

オプショングループのオプションとオプションの設定を一覧表示するには、Amazon RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeOptionGroups.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeOptionGroups.html) オペレーションを使用します。オプションとそれらの設定を表示するオプショングループの名前を指定します。オプショングループ名を指定しない場合、すべてのオプショングループが指定されます。

## オプションの設定を変更する
<a name="USER_WorkingWithOptionGroups.ModifyOption"></a>

変更可能なオプション設定を追加した後で、それらの設定はいつでも変更できます。オプショングループのオプションまたはそれらの設定を変更した場合、それらの変更は、そのオプショングループに関連付けられているすべての DB インスタンスに適用されます。さまざまなオプションで利用できる設定の詳細については、[オプショングループを使用する](#USER_WorkingWithOptionGroups) のデータベースエンジンのドキュメントを参照してください。

オプショングループの変更が直ちに適用されなければならないケースが 2 つあります。
+ ポート値を追加または更新するオプションを追加した場合 (`OEM` など)。
+ ポート値を含むオプションがあるオプショングループを追加、または削除した場合。

このような場合は、コンソールで [**Apply Immediately (すぐに適用)**] オプションを選択します。または、`--apply-immediately` で AWS CLI をオプションを指定するか、RDS API で `ApplyImmediately` パラメータを `true` に設定することもできます。ポート値を使用しないオプションはすぐに適用するか、DB インスタンスの次のメンテナンスウィンドウ中に適用できます。

**注記**  
セキュリティグループをオプショングループのオプションの値として指定する場合は、オプショングループを変更してセキュリティグループを管理します。DB インスタンスを変更してこのセキュリティグループを変更または削除することはできません。また、セキュリティグループは、AWS マネジメントコンソール、または AWS CLI コマンド `describe-db-instances` の出力の DB インスタンスの詳細には表示されません。

### コンソール
<a name="USER_WorkingWithOptionGroups.ModifyOption.Console"></a>

AWS マネジメントコンソール を使用してオプション設定を変更できます。

**コンソールを使用してオプション設定を変更するには**

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

1. ナビゲーションペインで、[**オプショングループ**] を選択します。

1. 変更するオプションを含むオプショングループを選択し、[**Modify Option**(オプションの変更)] を選択します。

1. [**Modify Option**(オプションの変更)] ウィンドウの [**Installed Options**(インストール済みのオプション)] から、設定を変更するオプションを選択します。必要な変更を行います。

1. オプションを追加後すぐに有効にするには、[**Apply Immediately**] で [**Yes**] を選択します。[**No**] を選択した場合 (デフォルト)、オプションは次のメンテナンス時間中に、関連付けられている各 DB インスタンスに対して有効になります。

1. 設定が希望どおりになったら、[**Modify Option**] を選択します。

### AWS CLI
<a name="USER_WorkingWithOptionGroups.ModifyOption.CLI"></a>

オプション設定を変更するには、変更するオプショングループおよびオプションを指定して、AWS CLI の [https://docs.aws.amazon.com/cli/latest/reference/rds/add-option-to-option-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/add-option-to-option-group.html) コマンドを使用します。デフォルトでは、オプションは次のメンテナンスウィンドウ中に、関連付けられている各 DB インスタンスに対して有効になります。変更をすぐに、関連付けられているすべての DB インスタンスに適用するには、`--apply-immediately` パラメータを指定します。オプションの設定を変更するには、`--settings` 引数を使用します。

**Example**  
以下の例では、`testoptiongroup` という名前のオプショングループの Oracle Enterprise Manager Database Control (OEM) 用のポートを変更し、その変更がすぐに適用されるように指定しています。  
Linux、macOS、Unix の場合:  

```
aws rds add-option-to-option-group \
    --option-group-name testoptiongroup \
    --options OptionName=OEM,Port=5432,DBSecurityGroupMemberships=default \
    --apply-immediately
```
Windows の場合:  

```
aws rds add-option-to-option-group ^
    --option-group-name testoptiongroup ^
    --options OptionName=OEM,Port=5432,DBSecurityGroupMemberships=default ^
    --apply-immediately
```
このコマンドでは、以下のような出力が生成されます。  

```
OPTIONGROUP   False  oracle-ee  19  arn:aws:rds:us-east-1:1234567890:og:testoptiongroup   Test Option Group    testoptiongroup
OPTIONS Oracle 12c EM Express   OEM     False   False   5432
DBSECURITYGROUPMEMBERSHIPS   default  authorized
```

**Example**  
次の例では、Oracle オプション `NATIVE_NETWORK_ENCRYPTION` を変更して、オプション設定を変更します。  
Linux、macOS、Unix の場合:  

```
aws rds add-option-to-option-group \
    --option-group-name testoptiongroup \
    --options '[{"OptionSettings":[{"Name":"SQLNET.ENCRYPTION_SERVER","Value":"REQUIRED"},{"Name":"SQLNET.ENCRYPTION_TYPES_SERVER","Value":"AES256,AES192,DES,RC4_256"}],"OptionName":"NATIVE_NETWORK_ENCRYPTION"}]' \
    --apply-immediately
```
Windows の場合:  

```
aws rds add-option-to-option-group ^
    --option-group-name testoptiongroup ^
    --options "OptionSettings"=[{"Name"="SQLNET.ENCRYPTION_SERVER","Value"="REQUIRED"},{"Name"="SQLNET.ENCRYPTION_TYPES_SERVER","Value"="AES256\,AES192\,DES\,RC4_256"}],"OptionName"="NATIVE_NETWORK_ENCRYPTION" ^
    --apply-immediately
```
このコマンドでは、以下のような出力が生成されます。  

```
OPTIONGROUP   False  oracle-ee  19  arn:aws:rds:us-east-1:1234567890:og:testoptiongroup   Test Option Group    testoptiongroup                
OPTIONS Oracle Advanced Security - Native Network Encryption    NATIVE_NETWORK_ENCRYPTION       False   False
OPTIONSETTINGS  RC4_256,AES256,AES192,3DES168,RC4_128,AES128,3DES112,RC4_56,DES,RC4_40,DES40 STATIC  STRING  
   RC4_256,AES256,AES192,3DES168,RC4_128,AES128,3DES112,RC4_56,DES,RC4_40,DES40    Specifies list of encryption algorithms in order of intended use        
   True     True    SQLNET.ENCRYPTION_TYPES_SERVER  AES256,AES192,DES,RC4_256
OPTIONSETTINGS  ACCEPTED,REJECTED,REQUESTED,REQUIRED    STATIC  STRING  REQUESTED   Specifies the desired encryption behavior  False   True  SQLNET.ENCRYPTION_SERVER    REQUIRED
OPTIONSETTINGS  SHA1,MD5   STATIC  STRING  SHA1,MD5    Specifies list of checksumming algorithms in order of intended use      True    True    SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER  SHA1,MD5
OPTIONSETTINGS  ACCEPTED,REJECTED,REQUESTED,REQUIRED  STATIC  STRING  REQUESTED     Specifies the desired data integrity behavior   False   True    SQLNET.CRYPTO_CHECKSUM_SERVER  REQUESTED
```

### RDS API
<a name="USER_WorkingWithOptionGroups.ModifyOption.API"></a>

オプション設定を変更するには、変更するオプショングループおよびオプションを指定して、Amazon RDS API の [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyOptionGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyOptionGroup.html) コマンドを使用します。デフォルトでは、オプションは次のメンテナンスウィンドウ中に、関連付けられている各 DB インスタンスに対して有効になります。変更をすぐに、関連付けられているすべての DB インスタンスに適用するには、`ApplyImmediately` パラメータを指定して、`true` に設定します。

## オプショングループからオプションを削除する
<a name="USER_WorkingWithOptionGroups.RemoveOption"></a>

オプションには、オプショングループから削除できるものとできないものがあります。永続オプションは、オプショングループに関連付けられているすべての DB インスタンスの関連付けが解除されるまで、そのオプショングループから削除することはできません。固定オプションは、オプショングループから削除することはできません。どのオプションが削除可能であるかについては、[オプショングループを使用する](#USER_WorkingWithOptionGroups)にリストされているご使用のデータベースエンジンのドキュメントを参照してください。

オプショングループからすべてのオプションを削除しても、Amazon RDS ではオプショングループは削除されません。DB インスタンスは、その空のオプショングループに関連付けられたままになります。アクティブなオプションがなくなるだけです。逆に、DB インスタンスからすべてのオプションを削除するには、DB インスタンスをデフォルト (空) のオプショングループに関連付けます。

### コンソール
<a name="USER_WorkingWithOptionGroups.RemoveOption.Console"></a>

AWS マネジメントコンソール を使用してオプショングループからオプションを削除できます。

**オプションをコンソールを使用してオプショングループから削除するには**

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

1. ナビゲーションペインで、[**オプショングループ**] を選択します。

1. 削除するオプションを含むオプショングループを選択し、[**Delete Option**(オプションの削除)] を選択します。

1. [**Delete option**(オプションの削除)] ウィンドウで、以下の操作を行います。
   +  削除するオプションのチェックボックスをオンにします。
   + 削除をすぐに有効にするには、[**すぐに適用**] で [**はい**] を選択します。[**No**] を選択した場合 (デフォルト)、オプションは次のメンテナンス時間中に、関連付けられている各 DB インスタンスで削除されます。  
![\[オプショングループの削除\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/optiongroup-removeoption2.png)

1. すべての設定が正しいことを確認したら、[**Yes, Delete**] を選択します。

### AWS CLI
<a name="USER_WorkingWithOptionGroups.RemoveOption.CLI"></a>

オプショングループからオプションを削除するには、削除するオプションで AWS CLI の [https://docs.aws.amazon.com/cli/latest/reference/rds/remove-option-from-option-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/remove-option-from-option-group.html) コマンドを使用します。デフォルトでは、オプションは次のメンテナンスウィンドウ中に、関連付けられている各 DB インスタンスから削除されます。変更をすぐに適用するには、`--apply-immediately` パラメータを指定します。

**Example**  
以下の例では、`testoptiongroup` という名前のオプショングループから Oracle Enterprise Manager Database Control (OEM) オプションを削除し、その変更がすぐに適用されるように指定しています。  
Linux、macOS、Unix の場合:  

```
  
aws rds remove-option-from-option-group \
    --option-group-name testoptiongroup \
    --options OEM \
    --apply-immediately
```
Windows の場合:  

```
aws rds remove-option-from-option-group ^
    --option-group-name testoptiongroup ^
    --options OEM ^
    --apply-immediately
```
このコマンドでは、以下のような出力が生成されます。  

```
OPTIONGROUP    testoptiongroup oracle-ee   19    Test option group
```

### RDS API
<a name="USER_WorkingWithOptionGroups.RemoveOption.API"></a>

オプショングループからオプションを削除するには、Amazon RDS API の [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyOptionGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyOptionGroup.html) アクションを使用します。デフォルトでは、オプションは次のメンテナンスウィンドウ中に、関連付けられている各 DB インスタンスから削除されます。変更をすぐに適用するには、`ApplyImmediately` パラメータを指定して、`true` に設定します。

以下のパラメータを含めます。
+ `OptionGroupName`
+ `OptionsToRemove.OptionName`

## オプショングループを削除する
<a name="USER_WorkingWithOptionGroups.Delete"></a>

オプショングループを削除するには、次の条件を満たす必要があります。
+ Amazon RDS リソースに関連付けられていないこと。オプショングループは、DB インスタンス、手動 DB スナップショット、または自動 DB スナップショットに関連付けることができます。
+ デフォルトオプショングループでないこと。

DB インスタンスと DB スナップショットで使用されるオプショングループを特定するには、次の CLI コマンドを使用できます。

```
aws rds describe-db-instances \
    --query 'DBInstances[*].[DBInstanceIdentifier,OptionGroupMemberships[].OptionGroupName]'

aws rds describe-db-snapshots | jq -r '.DBSnapshots[] | "\(.DBInstanceIdentifier),\(.OptionGroupName)"' | sort | uniq
```

RDS リソースに関連付けられているオプショングループを削除しようとすると、以下のようなエラーが返ります。

```
An error occurred (InvalidOptionGroupStateFault) when calling the DeleteOptionGroup operation: The option group 'optionGroupName' cannot be deleted because it is in use.            
```

**オプショングループに関連付けられた Amazon RDS リソースを検索するには**

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

1. ナビゲーションペインで、[**オプショングループ**] を選択します。

1. 詳細を表示するオプショングループを選択します。

1. [**Associated Instances and Snapshots (関連付けられたインスタンスとスナップショット)**] セクションで、関連付けられた Amazon RDS リソースを確認します。

DB インスタンスがオプショングループに関連付けられている場合は、別のオプショングループを使用するように DB インスタンスを変更します。詳細については、「[Amazon RDS DB インスタンスを変更する](Overview.DBInstance.Modifying.md)」を参照してください。

手動の DB スナップショットがオプショングループに関連付けられている場合は、別のオプショングループを使用するように DB スナップショットを変更します。これを行うには、AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-snapshot.html) コマンドを使用します。

**注記**  
自動 DB スナップショットのオプショングループを変更することはできません。

### コンソール
<a name="USER_WorkingWithOptionGroups.Delete.Console"></a>

 オプショングループの削除方法のひとつとして、AWS マネジメントコンソール を使用する方法があります。

**コンソールを使用してオプショングループを削除するには**

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

1. ナビゲーションペインで、[**オプショングループ**] を選択します。

1. オプショングループを選択します。

1. [**Delete group (グループの削除)**] を選択します。

1. 確認ページで、オプショングループの削除を終了するには [**削除**]、削除をキャンセルするには [**キャンセル**] を選択します。

### AWS CLI
<a name="USER_WorkingWithOptionGroups.Delete.CLI"></a>

オプショングループを削除するには、以下の必須パラメータを指定して AWS CLI の [https://docs.aws.amazon.com/cli/latest/reference/rds/delete-option-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/delete-option-group.html) コマンドを使用します。
+ `--option-group-name`

**Example**  
次の例では、`testoptiongroup` という名前のオプショングループを削除します。  
Linux、macOS、Unix の場合:  

```
       
aws rds delete-option-group \
    --option-group-name testoptiongroup
```
Windows の場合:  

```
aws rds delete-option-group ^
    --option-group-name testoptiongroup
```

### RDS API
<a name="USER_WorkingWithOptionGroups.Delete.API"></a>

オプショングループを削除するには、Amazon RDS API の [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteOptionGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteOptionGroup.html) オペレーションを呼び出します。次のパラメータを含めます。
+ `OptionGroupName`