

# Amazon RDS DB インスタンスの設定
<a name="CHAP_RDS_Configuring"></a>

このセクションでは、Amazon RDS DB インスタンスの設定方法を示します。DB インスタンスを作成する前に、DB インスタンスを実行する DB インスタンスクラスを決定します。また、AWS リージョンを選択して DB インスタンスを実行する場所を決定します。次に、DB インスタンスを作成します。

オプショングループと DB パラメータグループを使用して DB インスタンスを設定できます。
+ *オプショングループ*には、特定のAmazon RDS DB インスタンスに使用できるオプションという機能を指定できます。
+ *DB パラメータグループ*は、1 つ以上の DB インスタンスに適用されるエンジン設定値のコンテナとして機能します。

使用可能なオプションとパラメータは、DB エンジンと DB エンジンのバージョンによって異なります。DB インスタンスの作成時にオプショングループと DB パラメータグループを指定することができます。DB インスタンスを変更して指定することもできます。

**Topics**
+ [Amazon RDS DB インスタンスの作成](USER_CreateDBInstance.md)
+ [AWS CloudFormation での Amazon RDS リソースの作成](creating-resources-with-cloudformation.md)
+ [Amazon RDS DB インスタンスへの接続](CHAP_CommonTasks.Connect.md)
+ [オプショングループを使用する](USER_WorkingWithOptionGroups.md)
+ [Amazon RDS のパラメータグループ](USER_WorkingWithParamGroups.md)
+ [の Amazon RDS DB インスタンス設定を使用した Amazon ElastiCache キャッシュの作成](creating-elasticache-cluster-with-RDS-settings.md)
+ [AWS Database Migration Service を使用した、EC2 データベースの Amazon RDS への自動移行](USER_DMS_migration.md)
+ [チュートリアル: カスタムパラメータと新しいオプショングループを使用した MySQL DB インスタンス の作成](tutorial-creating-custom-OPG.md)

# Amazon RDS DB インスタンスの作成
<a name="USER_CreateDBInstance"></a>

Amazon RDS の基本構成要素は、データベースの作成先の DB インスタンスです。DB インスタンスの作成時に、エンジン固有の特性を選択します。また、データベースサーバーが実行されている AWS インスタンスのストレージ容量、CPU、メモリなどを選択します。

**Topics**
+ [DB インスタンスの前提条件](#USER_CreateDBInstance.Prerequisites)
+ [DB インスタンスの作成](#USER_CreateDBInstance.Creating)
+ [DB インスタンスの設定](USER_CreateDBInstance.Settings.md)

## DB インスタンスの前提条件
<a name="USER_CreateDBInstance.Prerequisites"></a>

**重要**  
Amazon RDS DB インスタンスを作成したり、DB インスタンスに接続したりする前に、「[Amazon RDS 環境のセットアップ](CHAP_SettingUp.md)」のタスクを完了します。

RDS DB インスタンスを作成するための前提条件を次に示します。

**Topics**
+ [DB インスタンスのネットワークを設定する](#USER_CreateDBInstance.Prerequisites.VPC)
+ [追加の前提条件](#USER_CreateDBInstance.Prerequisites.Additional)

### DB インスタンスのネットワークを設定する
<a name="USER_CreateDBInstance.Prerequisites.VPC"></a>

Amazon RDS DB インスタンスは、Amazon VPC サービスに基づく仮想プライベートクラウド (VPC) でのみ作成できます。また、少なくとも 2 つのアベイラビリティーゾーンを持つ AWS リージョン である必要があります。DB インスタンスに選択する DB サブネットグループは、少なくとも 2 つのアベイラビリティーゾーンを対象とする必要があります。この設定により、DB インスタンスを作成する時に マルチ AZ の配置を設定したり、将来的に簡単に移行することができます。

新しい DB インスタンスと同じ VPC 内の Amazon EC2 インスタンス間の接続を設定するには、DB インスタンスの作成中に設定します。同じ VPC 内の EC2 インスタンス以外のリソースから DB インスタンスに接続するには、ネットワーク接続を手動で設定できます。

**Topics**
+ [EC2 インスタンスとの自動ネットワーク接続を設定する](#USER_CreateDBInstance.Prerequisites.VPC.Automatic)
+ [ネットワークを手動で設定する](#USER_CreateDBInstance.Prerequisites.VPC.Manual)

#### EC2 インスタンスとの自動ネットワーク接続を設定する
<a name="USER_CreateDBInstance.Prerequisites.VPC.Automatic"></a>

RDS DB インスタンスを作成する場合は、AWS マネジメントコンソール を使用して Amazon EC2 インスタンスと新しい DB インスタンス間の接続をセットアップできます。これを行うと、RDS では VPC とネットワークの設定を自動で行います。EC2 インスタンスが DB インスタンスにアクセスできるように、EC2 インスタンスと同じ VPC 内に DB インスタンスを作成します。

EC2 インスタンスと DB インスタンスを接続するための要件は次のとおりです。
+ DB インスタンスを作成する前に、AWS リージョン に EC2 インスタンスが存在する必要があります。

  AWS リージョン に EC2 インスタンスが存在しない場合、コンソールには EC2 インスタンス作成用のリンクが表示されます。
+ DB インスタンスを作成するユーザーには、次の操作を実行する権限が必要です。
  + `ec2:AssociateRouteTable` 
  + `ec2:AuthorizeSecurityGroupEgress` 
  + `ec2:AuthorizeSecurityGroupIngress` 
  + `ec2:CreateRouteTable` 
  + `ec2:CreateSubnet` 
  + `ec2:CreateSecurityGroup` 
  + `ec2:DescribeInstances` 
  + `ec2:DescribeNetworkInterfaces` 
  + `ec2:DescribeRouteTables` 
  + `ec2:DescribeSecurityGroups` 
  + `ec2:DescribeSubnets` 
  + `ec2:ModifyNetworkInterfaceAttribute` 
  + `ec2:RevokeSecurityGroupEgress` 

このオプションを使用すると、プライベート DB インスタンスが作成されます。DB インスタンスでは、プライベートサブネットのみを持つ DB サブネットグループを使用して、VPC 内のリソースへのアクセスを制限します。

EC2 インスタンスを DB インスタンスに接続するには、**[Create database]** (データベースの作成) ページの **[Connectivity]** (接続) セクションで、**[Connect to an EC2 compute resource]** (EC2 コンピューティングリソースに接続する) を選択します。

![\[EC2 インスタンスに接続する\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/ec2-set-up-connection-create.png)


**[Connect to an EC2 compute resource]** (EC2 コンピューティングリソースに接続する) を選択すると、RDS では次のオプションを自動的に設定します。**[Don't connect to an EC2 compute resource]** (EC2 コンピューティングリソースに接続しない) を選択して EC2 インスタンスとの接続をセットアップしない限り、これらの設定は変更できません。


****  

| コンソールオプション | 自動ログ記録 | 
| --- | --- | 
|  **ネットワークの種類**  |  RDS はネットワークタイプを **IPv4** に設定します。EC2 インスタンスと DB インスタンス間の接続をセットアップする場合、デュアルスタックモードは現在サポートされていません。  | 
|  **仮想プライベートクラウド (VPC)**。  |  RDS は EC2 インスタンスに関連付けられている VPC に設定します。  | 
|  **DB サブネットグループ**  | RDS では、EC2 インスタンスと同じアベイラビリティーゾーンにプライベートサブネットを持つ DB サブネットグループが必要です。この要件を満たす DB サブネットグループが存在する場合、RDS は既存の DB サブネットグループを使用します。デフォルトでは、このオプションは [Automatic setup] (自動セットアップ) に設定されています。**[Automatic setup]** (自動セットアップ) を選択したとき、この要件を満たす DB サブネットグループがない場合、次のアクションが実行されます。RDS は 3 つのアベイラビリティーゾーンで 3 つの使用可能なプライベートサブネットを使用します。アベイラビリティーゾーンのうちの 1 つは EC2 インスタンスと同じです。プライベートサブネットがアベイラビリティーゾーンで使用できない場合、RDS はアベイラビリティーゾーンにプライベートサブネットを作成します。次に、RDS は DB サブネットグループを作成します。プライベートサブネットが使用可能な場合、RDS はサブネットに関連付けられているルートテーブルを使用して、作成したサブネットをこのルートテーブルに追加します。プライベートサブネットが使用できない場合、RDS はインターネットゲートウェイにアクセスできないルートテーブルを作成し、作成したサブネットをルートテーブルに追加します。RDS では、既存の DB サブネットグループを使用することもできます。既存の DB サブネットグループを使用する場合は、**[Choose existing]** (既存を選択) を選択します。  | 
|  **パブリックアクセス**  |  RDS では **[No]** (いいえ) を選択して、DB インスタンスがパブリックアクセス可能にならないようにします。 セキュリティ上の理由から、データベースは非公開にし、インターネットからアクセスできないようにするのがベストプラクティスです。  | 
|  **VPC セキュリティグループ (ファイアウォール)**  |  RDS では DB インスタンスに関連付けられている新しいセキュリティグループを作成します。セキュリティグループの名前は `rds-ec2-n` で、`n` は数字です。このセキュリティグループには、EC2 VPC セキュリティグループ (ファイアウォール) をソースとするインバウンドルールが含まれています。DB インスタンスに関連付けられているこのセキュリティグループにより、EC2 インスタンスが DB インスタンスにアクセスできるようになります。 また、RDS では EC2 インスタンス関連付けられている新しいセキュリティグループを作成します。セキュリティグループの名前は `ec2-rds-n` で、`n` は数字です。このセキュリティグループには、DB インスタンスの VPC セキュリティグループをソースとするアウトバウンドルールが含まれています。このセキュリティグループにより、EC2 インスタンスは DB インスタンスにトラフィックを送信できます。 **[Create new]** (新規作成) を選択して、新しいセキュリティグループの名前を入力すると、別のセキュリティグループを新規に追加できます。 既存のセキュリティグループを追加するには、**[Choose existing]** (既存を選択) を選択し、追加するセキュリティグループを選択します。  | 
|  **アベイラビリティーゾーン (AZ**  |  **[Availability & durability]** (可用性と耐久性) (シングル AZ 配置) で、**[Single DB instance]** (シングル DB インスタンス) を選択した場合、RDS は EC2 インスタンスのアベイラビリティーゾーンを選択します。 **[Availability & durability]** (可用性と耐久性) (マルチ AZ DB インスタンス配置) で、**[Multi-AZ DB instance]** (マルチ AZ DB インスタンス) を選択した場合、RDS は、デプロイの 1 つの DB インスタンスに対して、EC2 インスタンスのアベイラビリティーゾーンを選択します。RDS は他の DB インスタンスに対し、異なるアベイラビリティーゾーンをランダムに選択します。プライマリ DB インスタンスまたはスタンバイレプリカのいずれかが、EC2 インスタンスと同じアベイラビリティーゾーンに作成されます。**[Multi-AZ DB instance]** (マルチ AZ DB インスタンス) を選択する場合、DB インスタンスと EC2 インスタンスが異なるアベイラビリティーゾーンにある場合は、アベイラビリティーゾーン間のコストが発生する可能性があります。  | 

これらの設定の詳細については、「[DB インスタンスの設定](USER_CreateDBInstance.Settings.md)」をご参照ください。

DB インスタンスの作成後にこれらの設定を変更すると、EC2 インスタンスと DB インスタンス間の接続に影響する可能性があります。

#### ネットワークを手動で設定する
<a name="USER_CreateDBInstance.Prerequisites.VPC.Manual"></a>

同じ VPC 内の EC2 インスタンス以外のリソースから DB インスタンスに接続するには、ネットワーク接続を手動で設定できます。AWS マネジメントコンソール を使用して DB インスタンスを作成する場合は、お客様に代わって Amazon RDS に VPC を自動的に作成させることができます。または、既存の VPC を使用するか、 DB インスタンス用に新しい VPC を作成することができます。どの方法を使用する場合でも、VPC を RDS DB インスタンスで使用するには、少なくとも 2 つのアベイラビリティーゾーンのそれぞれに 1 つ以上のサブネットが必要です。

デフォルトでは、Amazon RDS は DB インスタンスとアベイラビリティーゾーンを自動的に作成します。特定のアベイラビリティーゾーンを選択するには、**[Availability & durability]** (可用性と耐久性) 設定を **[Single DB instance]** (単一の DB インスタンス) に変更します。これにより、**アベイラビリティーゾーン**の設定が表示され、VPC 内のアベイラビリティーゾーンの中から選択できます。ただし、マルチ AZ 配置を選択した場合、RDS はプライマリまたはライター DB インスタンスのアベイラビリティーゾーンを自動的に選択し、**アベイラビリティーゾーン**設定は表示されません。

場合によっては、デフォルト VPC を持っていない、または VPC を作成していない場合もあります。このような場合は、コンソールを使用して DB インスタンスを作成するときに、Amazon RDS に VPC を自動的に作成させることができます。それ以外の場合は以下の作業を行います。
+ DB インスタンスをデプロイする AWS リージョン で、少なくとも 2 つのアベイラビリティーゾーンのそれぞれに 1 つ以上のサブネットを持つ VPC を作成します。詳細については、「[VPC 内の DB インスタンスの使用](USER_VPC.WorkingWithRDSInstanceinaVPC.md#Overview.RDSVPC.Create)」および「[チュートリアル: DB インスタンスで使用する VPC を作成する (IPv4 専用)](CHAP_Tutorials.WebServerDB.CreateVPC.md)」を参照してください。
+ DB インスタンスへの接続を許可する VPC セキュリティグループを指定します。詳細については、「[セキュリティグループを作成して VPC 内の DB インスタンスへのアクセスを提供する](CHAP_SettingUp.md#CHAP_SettingUp.SecurityGroup)」および「[セキュリティグループによるアクセス制御](Overview.RDSSecurityGroups.md)」を参照してください。
+ DB インスタンスが使用できる VPC 内の最低 2 つのサブネットを定義する RDS DB サブネットグループを指定します。詳細については、「[DB サブネットグループの使用](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.Subnets)」を参照してください。

DB インスタンスと同じ VPC にないリソースに接続する場合は、「[VPC の DB インスタンスにアクセスするシナリオ](USER_VPC.Scenarios.md)」の該当するシナリオを参照してください。

### 追加の前提条件
<a name="USER_CreateDBInstance.Prerequisites.Additional"></a>

DB インスタンスを作成する前に、以下の追加の前提条件を考慮してください。
+ AWS Identity and Access Management (IAM) 認証情報を使用して AWS に接続している場合は、AWS アカウントに特定の IAM ポリシーが必要です。これにより、Amazon RDS オペレーションを実行するために必要なアクセス権限が付与されます。詳細については、「[Amazon RDS での Identity and Access Management](UsingWithRDS.IAM.md)」を参照してください。

  IAM を使用して RDS コンソールにアクセスする場合は、IAM ユーザーの認証情報を使用して AWS マネジメントコンソール にサインインします。次に、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) に移動します。
+ DB インスタンスの設定パラメータを調整するには、必要なパラメータ設定を持つ DB パラメータグループを指定します。DB パラメータグループの作成と変更の詳細については、「[Amazon RDS のパラメータグループ](USER_WorkingWithParamGroups.md)」を参照してください。
**重要**  
Amazon RDS for Db2 の BYOL モデルを使用している場合は、DB インスタンスを作成する前に、まず、IBM Site ID と IBM Customer ID を含むカスタムパラメータグループを作成する必要があります。詳細については、「[Db2 の Bring-Your-Own-License (BYOL)](db2-licensing.md#db2-licensing-options-byol)」を参照してください。
+ DB インスタンス用に指定する TCP/IP ポート番号を確認します。会社のファイアウォールによっては、RDS DB インスタンスのデフォルトポートへの接続がブロックされます。会社のファイアウォールがデフォルトのポートをブロックする場合は、お客様の DB インスタンス用に別のポートを選択します。Amazon RDS DB エンジンのデフォルトポートは次のとおりです。    
<a name="dbengineports"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html)

  RDS for SQL Server の場合、ポート `1234, 1434, 3260, 3343, 3389, 47001,` および `49152-49156` は予約済みであり、DB インスタンスの作成時には使用できません。

## DB インスタンスの作成
<a name="USER_CreateDBInstance.Creating"></a>

AWS マネジメントコンソール、AWS CLI または RDS API を使用して、Amazon RDS DB インスタンスを作成することができます。

**注記**  
RDS for Db2 では、RDS for Db2 DB インスタンスを作成する前に、ライセンスモデルに必要な項目を設定することをお勧めします。詳細については、「[Amazon RDS for Db2 のライセンスオプション](db2-licensing.md)」を参照してください。

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

AWS マネジメントコンソール で [**Easy Create (簡易作成)**] を有効または無効にして、DB インスタンス を作成できます。[**Easy create**] を有効にして、DB エンジンタイプ、DB インスタンスサイズ、および DB インスタンス識別子のみを指定します。[**Easy create**] では、他の設定オプションにデフォルト設定を使用します。[**Easy create**] が有効になっていない場合は、データベースの作成時に、可用性、セキュリティ、バックアップ、メンテナンスなどの設定オプションを追加指定します。

**注記**  
次の手順では、[**Standard Create (スタンダード作成)**] が有効になっており、[**Easy Create (簡易作成)**] は有効になっていません。この手順では、Microsoft SQL Server を例として使用します。  
[**Easy Create (簡易作成)**] を使用し、各エンジンのサンプル DB インスタンスを作成して接続する例については、[Amazon RDS のスタート方法](CHAP_GettingStarted.md) を参照してください。

**DB インスタンスを作成するには**

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

1. Amazon RDS コンソールの右上で、DB インスタンスを作成する AWS リージョンを選択します。

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

1. **[データベースの作成]** を選択し、**[標準作成]** を選択します。

1. **[エンジンタイプ]** として、IBM Db2、MariaDB、Microsoft SQL Server、MySQL、Oracle、または PostgreSQL を選択します。

   ここでは [**Microsoft SQL Server**] が示されています。  
![\[エンジンの選択\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/create-instance-sqlserver.png)

1. **[データベース管理タイプ]** では、Oracle または SQL Server を使用している場合は、**[Amazon RDS]** または **[Amazon RDS Custom]** を選択します。

   **[Amazon RDS]** がここに表示されています。RDS Custom については、「[Amazon RDS Custom](rds-custom.md)」を参照してください。

1. **[エディション]** では、Db2、Oracle、または SQL Server を使用している場合は、使用する DB エンジンのエディションを選択します。

   MySQL にはエディションのためのオプションが 1 つしかなく、MariaDB と PostgreSQL にはオプションがまったくありません。

1. [**バージョン**] で、エンジンのバージョンを選択します。

1. [**テンプレート**] で、ユースケースに合うテンプレートを選択します。[**本番稼働用**] を選択した場合、次のステップでは以下が既に選択されています。
   + [**マルチ AZ**] フェイルオーバーオプション
   + **プロビジョンド IOPS SSD (io1)**ストレージオプション
   + [**Enable deletion protection (削除保護の有効化)**] オプション

   本稼働環境では、これらの機能を使用することをお勧めします。
**注記**  
テンプレートの選択内容は、エディションごとに異なります。

1. [**設定**] セクションで、[**認証情報の設定**] を開きます。次に、以下の操作を実行します。

   1. (オプション)**マスターユーザーネーム**の値を変更します。

   1. 次のいずれかの認証情報管理オプションを選択します。
      + **AWS Secrets Manager で管理**

        **[暗号化キーを選択]** で、Secrets Manager によって作成される KMS キーと自分で作成したキーのいずれかを選択します。
**注記**  
認証情報を管理するための最も安全な手法として、AWS Secrets Manager をお勧めします。別途 料金がかかります。詳細については、「[Amazon RDS および AWS Secrets Manager によるパスワード管理](rds-secrets-manager.md)」を参照してください。
      + **セルフマネージド**

        パスワードを指定するには、**[パスワードの自動生成]** チェックボックスが選択されている場合はクリアします。**[マスターパスワード]** と **[マスターパスワードを確認]** に同じパスワードを入力します。

1. (オプション) この DB インスタンスのコンピューティングリソースへの接続を設定します。

   DB インスタンスの作成中に、Amazon EC2 インスタンスと新しい DB インスタンス間の接続を設定できます。詳細については、「[EC2 インスタンスとの自動ネットワーク接続を設定する](#USER_CreateDBInstance.Prerequisites.VPC.Automatic)」を参照してください。

1. **[VPC セキュリティグループ (ファイアウォール)]** の **[接続]** セクションで **[新規作成]** を選択した場合、ローカルコンピュータの IP アドレスにデータベースへのアクセスを許可するインバウンドルールを使用して VPC セキュリティグループが作成されます。

1. 残りのセクションで、DB インスタンス設定を指定します。各設定の詳細については、「[DB インスタンスの設定](USER_CreateDBInstance.Settings.md)」を参照してください。

1. [**データベースの作成**] を選択します。

   自動生成されたパスワードを使用することを選択した場合は、[**データベース**] ページに [**認証情報の詳細の表示**] ボタンが表示されます。

   DB インスタンスのマスターユーザー名およびパスワードを表示するには、[**認証情報の詳細の表示**] を選択します。

   マスターユーザーとして DB インスタンスに接続するには、表示されているユーザー名およびパスワードを使用します。
**重要**  
マスターユーザーのパスワードを再度表示することはできません。記録していない場合は、変更する必要がある場合があります。DB インスタンスが有効になった後にマスターユーザーのパスワードを変更する必要がある場合は、そのように DB インスタンスを変更します。DB インスタンスの変更の詳細については、「[Amazon RDS DB インスタンスを変更する](Overview.DBInstance.Modifying.md)」を参照してください。

1. [**Databases (データベース)**] で、新しい DB インスタンスの名前を選択します。

   RDS コンソールに、新規の DB インスタンスの詳細が表示されます。DB インスタンスが作成されて使用できるようになるまで、DB インスタンスのステータスは [**作成中**] となります。ステータスが [**Available**] に変わると、DB インスタンスに接続できます。DB インスタンスクラスと割り当てられたストレージによっては、新しいインスタンスを使用できるようになるまで数分かかることがあります。  
![\[My DB インスタンスの詳細\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/SQLSvr-Launch05.png)

### AWS CLI
<a name="USER_CreateDBInstance.CLI"></a>



**注記**  
AWS Marketplace 経由の Db2 ライセンスを使用する場合は、まず AWS Marketplace のサブスクリプションを購入して、AWS マネジメントコンソール を使用して IBM に登録する必要があります。詳細については、「[Db2 Marketplace サブスクリプションの購入と IBM での登録](db2-licensing.md#db2-marketplace-subscribing-registering)」を参照してください。

AWS CLIを使用して DB インスタンスを作成するには、以下のパラメータを指定して [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) コマンドを呼び出します。
+ `--db-instance-identifier`
+ `--db-instance-class`
+ `--vpc-security-group-ids`
+ `--db-subnet-group`
+ `--engine`
+ `--master-username`
+ `--master-user-password`-または-`--manage-master-user-password`
+ `--allocated-storage`
+ `--backup-retention-period`

各設定の詳細については、「[DB インスタンスの設定](USER_CreateDBInstance.Settings.md)」を参照してください。

この例では、Microsoft SQL Server を使用しています。

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

```
 1. aws rds create-db-instance \
 2.     --engine sqlserver-se \
 3.     --db-instance-identifier mymsftsqlserver \
 4.     --allocated-storage 250 \
 5.     --db-instance-class db.t3.large \
 6.     --vpc-security-group-ids mysecuritygroup \
 7.     --db-subnet-group mydbsubnetgroup \
 8.     --master-username masterawsuser \
 9.     --manage-master-user-password \
10.     --backup-retention-period 3
```
Windows の場合:  

```
 1. aws rds create-db-instance ^
 2.     --engine sqlserver-se ^
 3.     --db-instance-identifier mydbinstance ^
 4.     --allocated-storage 250 ^
 5.     --db-instance-class db.t3.large ^
 6.     --vpc-security-group-ids mysecuritygroup ^
 7.     --db-subnet-group mydbsubnetgroup ^
 8.     --master-username masterawsuser ^ 
 9.     --manage-master-user-password ^
10.     --backup-retention-period 3
```
このコマンドでは、次のような出力が生成されます。  

```
1. DBINSTANCE  mydbinstance  db.t3.large  sqlserver-se  250  sa  creating  3  ****  n  10.50.2789
2. SECGROUP  default  active
3. PARAMGRP  default.sqlserver-se-14  in-sync
```

### RDS API
<a name="USER_CreateDBInstance.API"></a>

**注記**  
AWS Marketplace 経由の Db2 ライセンスを使用する場合は、まず AWS Marketplace のサブスクリプションを購入して、AWS マネジメントコンソール を使用して IBM に登録する必要があります。詳細については、「[Db2 Marketplace サブスクリプションの購入と IBM での登録](db2-licensing.md#db2-marketplace-subscribing-registering)」を参照してください。

Amazon RDS API を使用して DB インスタンスを作成するには、[CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) オペレーションを呼び出します。

各設定の詳細については、「[DB インスタンスの設定](USER_CreateDBInstance.Settings.md)」を参照してください。

# DB インスタンスの設定
<a name="USER_CreateDBInstance.Settings"></a>

次の表は、DB インスタンスの作成時に選択する設定の詳細を示しています。この表には、各設定をサポートしている DB エンジンも示されています。

コンソール、[create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) CLI コマンド、や [CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) RDS API オペレーションを使用して、DB インスタンスを作成できます。


****  

| コンソール設定 | 設定の説明 | CLI オプションと RDS API パラメータ | サポートされている DB エンジン | 
| --- | --- | --- | --- | 
|  **ストレージ割り当て**  |  DB インスタンスに割り当てるストレージの量 (ギビバイト(GiB)単位)。場合によっては、DB インスタンスに、データベースのサイズ以上のストレージを割り当てると、I/O のパフォーマンスが改善することがあります。 詳細については、「[Amazon RDS DB インスタンスストレージ](CHAP_Storage.md)」を参照してください。  |  **CLI オプション:** `--allocated-storage` **API パラメータ:**  `AllocatedStorage`  |  すべて  | 
| アーキテクチャ設定 |  **[Oracle マルチテナントアーキテクチャ]** を選択すると、RDS for Oracle はコンテナデータベース (CDB) を作成します。このオプションを選択しない場合、RDS for Oracle は非 CDB を作成します。非 CDB は、従来の Oracle データベースアーキテクチャを使用します。CDB にはプラグ可能なデータベース (PDB) を含められますが、非 CDB には含めることができません。 Oracle Database 21c は CDB アーキテクチャのみを使用します。Oracle Database 19c は、CDB アーキテクチャまたは非 CDB アーキテクチャのいずれかを使用できます。Oracle Database 19c よりも前のリリースでは、非 CDB アーキテクチャのみが使用されます。 詳細については、「[RDS for Oracle CDB の概要](Oracle.Concepts.CDBs.md)」を参照してください。  |  **CLI オプション:** `--engine oracle-ee-cdb` (Oracle マルチテナント) `--engine oracle-se2-cdb` (Oracle マルチテナント) `--engine oracle-ee` (traditional) `--engine oracle-se2` (traditional) **API パラメータ:** `Engine`  |  Oracle  | 
| アーキテクチャ設定 |  これらの設定は、**[アーキテクチャ設定]** で、**[Oracle マルチテナントアーキテクチャ]** を選択した場合にのみ有効です。次のいずれかの設定を選択します。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.Settings.html) どの設定を選択しても、CDB には初期 PDB が 1 つ含まれます。マルチテナント設定では、RDS API を使用して、後からさらに PDB を作成できます。 詳細については、「[RDS for Oracle CDB の概要](Oracle.Concepts.CDBs.md)」を参照してください。  |  **CLI オプション:** `--multi-tenant` (マルチテナント設定) `--no-multi-tenant` (シングルテナント設定) **API パラメータ:** `MultiTenant`  |  Oracle  | 
| マイナーバージョン自動アップグレード |  **[マイナーバージョン自動アップグレードの有効化]** を選択すると、希望する DB エンジンのマイナーバージョンのアップグレードをリリースと同時に自動的に DB インスタンスに適用できます。これがデフォルトの動作です。Amazon RDS では、メンテナンスウィンドウでマイナーバージョンの自動アップグレードが実行されます。**[マイナーバージョン自動アップグレードの有効化]** を選択しなかった場合、新しいマイナーバージョンが利用可能になっても DB インスタンスは自動的にアップグレードされません。 詳細については、「[マイナーエンジンバージョンの自動アップグレード](USER_UpgradeDBInstance.Upgrading.md#USER_UpgradeDBInstance.Upgrading.AutoMinorVersionUpgrades)」を参照してください。  |  **CLI オプション:** `--auto-minor-version-upgrade` `--no-auto-minor-version-upgrade` **API パラメータ:** `AutoMinorVersionUpgrade`  | すべて | 
|  アベイラビリティーゾーン  |  DB インスタンスのアベイラビリティーゾーン。デフォルト値 [**No Preference**] を使用します。ただし、特定のアベイラビリティーゾーンを指定する場合を除きます。 詳細については、「[リージョン、アベイラビリティーゾーン、および Local Zones](Concepts.RegionsAndAvailabilityZones.md)」を参照してください。  |  **CLI オプション:** `--availability-zone` **API パラメータ:** `AvailabilityZone`  | すべて | 
|   **AWS KMS key**   |  [**Encryption**] が [**Enable encryption**] に設定されている場合にのみ使用できます。この DB インスタンスの暗号化に使用する AWS KMS key を選択します。詳細については、「[Amazon RDS リソースの暗号化](Overview.Encryption.md)」を参照してください。  |  **CLI オプション:** `--kms-key-id` **API パラメータ:** `KmsKeyId`  | すべて | 
| AWS License Manager の設定 |  AWS License Manager ライセンス設定の名前を入力します。名前は 100 文字以下で、使用できるのは a～z、A～Z、0～9 のみです。 詳細については、「[AWS License Manager との統合](db2-licensing.md#db2-lms-integration)」を参照してください。  |  **CLI オプション:** 詳細については、「[AWS License Manager CLI](db2-licensing.md#db2-lms-integration.cli)」を参照してください。 **API パラメータ:** 詳細については、「[AWS License Manager API](db2-licensing.md#db2-lms-integration.api)」を参照してください。  | Db2 | 
| バックアップレプリケーション |  「**別の AWS リージョンへのレプリケーションを有効にする**」 を選択して、災害対策用の追加リージョンにバックアップを作成します。 次に、追加バックアップ先**リージョン**を選択します。  |  DB インスタンスの作成時には使用できません。AWS CLI または RDS API でクロスリージョンバックアップを有効にする方法については、「[Amazon RDS のクロスリージョン自動バックアップの有効化](AutomatedBackups.Replicating.Enable.md)」を参照してください。  |  Db2 Oracle PostgreSQL SQL Server  | 
| バックアップの保存期間  |  DB インスタンスの自動バックアップを保持する日数。重要な DB インスタンスでは、この値を**1** 以上に設定してください。 詳細については、「[バックアップの概要](USER_WorkingWithAutomatedBackups.md)」を参照してください。  |  **CLI オプション:** `--backup-retention-period` **API パラメータ:** `BackupRetentionPeriod`  | すべて | 
| バックアップ ターゲット |  選択して、**AWS クラウド**自動バックアップと手動スナップショットを親AWSリージョンに保存します。**Outposts 点 (オンプレミス)**を選択して、Outpost にローカルに保存します。 このオプション設定は Outposts 上の RDS のみに適用されます。詳細については、「[AWS Outposts の Amazon RDS での DB インスタンスの作成](rds-on-outposts.creating.md)」を参照してください。  |  **CLI オプション:** `--backup-target` **API パラメータ:** `BackupTarget`  | MySQL、PostgreSQL、SQL Server | 
| バックアップ期間: |  Amazon RDS が DB インスタンスのバックアップを自動的に作成する期間。データベースのバックアップを保持する期間を指定しない場合は、デフォルト値 [**指定なし**] を使用します。 詳細については、「[バックアップの概要](USER_WorkingWithAutomatedBackups.md)」を参照してください。  |  **CLI オプション:** `--preferred-backup-window` **API パラメータ:** `PreferredBackupWindow`  | すべて | 
|  **認証局**  |  DB インスタンスによって使用されるサーバー証明書の認定機関 (CA)。 詳細については、「[SSL/TLS を使用した DB インスタンスまたはクラスターへの接続の暗号化](UsingWithRDS.SSL.md)」を参照してください。  |  **CLI オプション:** `--ca-certificate-identifier` **RDS API パラメータ:** `CACertificateIdentifier`  |  すべて  | 
| 文字セット |  DB インスタンスの文字セット。DB 文字セットのデフォルト値 **AL32UTF8** は、Unicode 5.0 UTF-8 ユニバーサル文字セット用です。DB インスタンスの作成後に DB 文字セットを変更することはできません。 シングルテナント設定では、デフォルト以外の DB 文字セットは PDB のみに影響し、CDB には影響しません。詳細については、「[CDB アーキテクチャのシングルテナント設定](Oracle.Concepts.CDBs.md#Oracle.Concepts.single-tenant)」を参照してください。 DB 文字セットは、NCHAR 文字セットと呼ばれる各国語文字セットとは異なります。DB 文字セットとは異なり、NCHAR 文字セットは、データベースのメタデータに影響を与えることなく、NCHAR データ型 (NCHAR、NVARCHAR2、NCLOB) 列のエンコーディングを指定します。 詳細については、「[RDS for Oracle 文字セット](Appendix.OracleCharacterSets.md)」を参照してください。  |  **CLI オプション:** `--character-set-name` **API パラメータ:** `CharacterSetName`  | Oracle | 
| 照合 |  DB インスタンスのサーバーレベルの照合。 詳細については、「[Microsoft SQL Server のサーバーレベルの照合](Appendix.SQLServer.CommonDBATasks.Collation.md#Appendix.SQLServer.CommonDBATasks.Collation.Server)」を参照してください。  |  **CLI オプション:** `--character-set-name` **API パラメータ:** `CharacterSetName`  | SQL Server | 
| Copy tags to snapshots  |  このオプションは、スナップショットの作成時に、DB インスタンスタグを DB スナップショットにコピーします。 詳細については、「[ Amazon RDS リソースのタグ付け](USER_Tagging.md)」を参照してください。  |  **CLI オプション:** `--copy-tags-to-snapshot` `--no-copy-tags-to-snapshot` **RDS API パラメータ:** `CopyTagsToSnapshot`  | すべて | 
|  データベース認証  |  使用するデータベース認証オプション。 データベースパスワードのみを使用してデータベースのユーザーを認証するには、[**パスワード認証**] を選択します。  ユーザーとロールでデータベースパスワードとユーザー認証情報を使用してデータベースユーザーを認証するには、**[Password and IAM DB authentication]** (パスワードと IAM DB 認証) を選択します。詳細については、「[MariaDB、MySQL、および PostgreSQL の IAM データベース認証](UsingWithRDS.IAMDBAuth.md)」を参照してください。このオプションは、MySQL および PostgreSQL でのみサポートされています。 AWS Managed Microsoft AD を使用して作成された Directory Service でデータベースパスワードと Kerberos 認証を使用してデータベースユーザーを認証するには、[**パスワードと Kerberos 認証**] を選択します。次に、ディレクトリを作成するか、[**ディレクトリの作成**] を選択します。 詳細については、以下のいずれかを参照してください。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.Settings.html)  |  ***IAM:*** **CLI オプション:** `--enable-iam-database-authentication` `--no-enable-iam-database-authentication` **RDS API パラメータ:** `EnableIAMDatabaseAuthentication` ***Kerberos:*** **CLI オプション:** `--domain` `--domain-iam-role-name` **RDS API パラメータ:** `Domain` `DomainIAMRoleName`  |  認証タイプによって異なる  | 
| データベース管理タイプ |  環境をカスタマイズする必要がなければ、**Amazon RDS**を選択します。 データベース、OS、およびインフラストラクチャをカスタマイズする場合、**Amazon RDS Custom**を選択します。詳細については、「[Amazon RDS Custom](rds-custom.md)」を参照してください。  |  CLI と API では、データベースエンジンタイプを指定します。  |  Oracle SQL Server  | 
|  データベースポート  |  DB インスタンスにアクセスするために経由するポート。デフォルトのポートが示されています。  会社のファイアウォールによっては、デフォルトの MariaDB、MySQL、および PostgreSQL ポートへの接続がブロックされる場合があります。会社のファイアウォールがデフォルトのポートをブロックする場合は、お客様の DB インスタンス用に別のポートを選択します。   |  **CLI オプション:** `--port` **RDS API パラメータ:** `Port`  | すべて | 
|  DB エンジンバージョン  |  使用するデータベースエンジンのバージョン。  |  **CLI オプション:** `--engine-version` **RDS API パラメータ:** `EngineVersion`  | すべて | 
|  DB インスタンスクラス:  |  DB インスタンスの設定。例えば、「**db.t3.small**」 DBインスタンスクラスには、2 GiBメモリ、2 vCPU、1 つの仮想コア、可変 ECU、および中程度の I/O 容量があります。 可能であれば、一般的なクエリの作業セットをメモリに保持できる十分な大きさの DB インスタンスクラスを選択します。作業セットがメモリに保持されていると、システムによるディスクへの書き込みが回避され、これによりパフォーマンスが向上します。詳細については、「[ DB インスタンスクラス](Concepts.DBInstanceClass.md)」を参照してください。 Oracle 用の RDS では、[**追加のメモリ設定を含める**] を選択できます。これらの設定は、vCPU へのメモリの比率が高い場合のために最適化されています。例えば **db.r5.6xlarge.tpc2.mem4x** は、コアあたり 2 つのスレッド (tpc2)、スタンダードdb.r5.6xlarge DBインスタンスの 4 倍のメモリを持つ db.r5.8x DBインスタンスです。詳細については、「[RDS for Oracle DB インスタンスクラス](Oracle.Concepts.InstanceClasses.md)」を参照してください。  |  **CLI オプション:** `--db-instance-class` **RDS API パラメータ:** `DBInstanceClass`  | すべて | 
|  DB インスタンス識別子:  |  DB インスタンスの名前。オンプレミスのサーバーに名前を付けるのと同様に、DB インスタンスに名前を付けます。DB インスタンス識別子は、英数字 63 文字まで含めることができ、選択した AWS リージョン内で自分のアカウントに対して一意であることが必要です。  |  **CLI オプション:** `--db-instance-identifier` **RDS API パラメータ:** `DBInstanceIdentifier`  | すべて | 
|  DB パラメータグループ:  |  DB インスタンスのパラメータグループ。デフォルトのパラメータグループを選択するか、カスタムパラメータグループを作成できます。 RDS for Db2 の BYOL モデルを使用している場合は、DB インスタンスを作成する前に、まず。IBM Site ID と IBM Customer ID を含むカスタムパラメータグループを作成する必要があります。詳細については、「[Db2 の Bring-Your-Own-License (BYOL)](db2-licensing.md#db2-licensing-options-byol)」を参照してください。 詳細については、「[Amazon RDS のパラメータグループ](USER_WorkingWithParamGroups.md)」を参照してください。  |  **CLI オプション:** `--db-parameter-group-name` **RDS API パラメータ:** `DBParameterGroupName`  | すべて | 
|  DB サブネットグループ  | DB クラスターで使用する DB サブネットグループ。既存の DB サブネットグループを使用するには、[Choose existing] (既存を選択) を選択します。次に、[Existing DB subnet groups] (既存の DB サブネットグループ) ドロップダウンリストから必要なサブネットグループを選択します。RDS が互換性のある DB サブネットグループを選択できるようにするには、**[Automatic setup]** (自動セットアップ) を選択します。存在しない場合、RDS はクラスターの新しいサブネットグループを作成します。詳細については、「[DB サブネットグループの使用](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.Subnets)」を参照してください。 |  **CLI オプション:** `--db-subnet-group-name` **RDS API パラメータ:** `DBSubnetGroupName`  | すべて | 
| 専用ログボリューム |  専用ログボリューム (DLV) を使用して、データベーステーブルを含むボリュームとは別のストレージボリュームにデータベーストランザクションログを保存します。 詳細については、「[専用ログボリューム (DLV) を使用する](USER_PIOPS.dlv.md)」を参照してください。  |  **CLI オプション:** `--dedicated-log-volume` **RDS API パラメータ:** `DedicatedLogVolume`  | すべて | 
| 削除保護 |  DB インスタンスが削除されないようにするには [**Enable deletion protection (削除保護の有効化)**] を選択します。AWS マネジメントコンソールで本稼働 DB インスタンスを作成する場合は、削除保護がデフォルトで有効になっています。 詳細については、「[DB インスタンスを削除する](USER_DeleteInstance.md)」を参照してください。  |  **CLI オプション:** `--deletion-protection` `--no-deletion-protection` **RDS API パラメータ:** `DeletionProtection`  | すべて | 
|  暗号化  |  この DB インスタンスを保管時に暗号化するには、[**Enable Encryption**] を選択します。 詳細については、「[Amazon RDS リソースの暗号化](Overview.Encryption.md)」を参照してください。  |  **CLI オプション:** `--storage-encrypted` `--no-storage-encrypted` **RDS API パラメータ:** `StorageEncrypted`  | すべて | 
|  拡張モニタリング  |  [**拡張モニタリングを有効にする**] を選択すると、DB インスタンスが実行されているオペレーティングシステムに対してリアルタイムでのメトリクスの収集が有効になります。 詳細については、「[拡張モニタリングを使用した OS メトリクスのモニタリング](USER_Monitoring.OS.md)」を参照してください。  |  **CLI オプション:** `--monitoring-interval` `--monitoring-role-arn` **RDS API パラメータ:** `MonitoringInterval` `MonitoringRoleArn`  | すべて | 
|  エンジンのタイプ  |  この DB インスタンスに使用するデータベースエンジンを選択します。  |  **CLI オプション:** `--engine` **RDS API パラメータ:** `Engine`  | すべて | 
|  初期データベース名  |  DB インスタンス上のデータベースの名前。名前を指定しない場合、Amazon RDS は DB インスタンスにデータベースを作成しません (Oracle および PostgreSQL を除きます)。データベースエンジンによって予約された単語を名前にすることはできません。また、DBエンジンに応じて他の制約があります。 Db2:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.Settings.html) MariaDB および MySQL: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.Settings.html) Oracle: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.Settings.html) PostgreSQL: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.Settings.html)  |  **CLI オプション:** `--db-name` **RDS API パラメータ:** `DBName`  | SQL Server を除くすべて | 
|  ライセンス |  ライセンスモデルの有効値: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.Settings.html)  |  **CLI オプション:** `--license-model` **RDS API パラメータ:** `LicenseModel`  |  すべて  | 
|  **ログのエクスポート**  |  Amazon CloudWatch Logs に発行するデータベースログファイルのタイプ。 詳細については、「[Amazon CloudWatch Logs へのデータベースログの発行](USER_LogAccess.Procedural.UploadtoCloudWatch.md)」を参照してください。  |  **CLI オプション:** `--enable-cloudwatch-logs-exports` **RDS API パラメータ:** `EnableCloudwatchLogsExports`  |  すべて  | 
|  メンテナンスウィンドウ  |  DB インスタンスへの変更保留が適用される 30 分単位のウィンドウ。期間が重要ではない場合は、[**No Preference**] を選択します。 詳細については、「[Amazon RDS メンテナンスウィンドウ](USER_UpgradeDBInstance.Maintenance.md#Concepts.DBMaintenance)」を参照してください。  |  **CLI オプション:** `--preferred-maintenance-window` **RDS API パラメータ:** `PreferredMaintenanceWindow`  | すべて | 
|   でマスター認証情報を管理するAWS Secrets Manager  |  **[Manage master credentials in AWS Secrets Manager]** ( でマスター認証情報を管理する) を選択して、Secrets Manager でユーザーのパスワードをシークレットに管理します。 オプションで、シークレットを保護するために使用する KMS キーを選択します。お客様のアカウントの KMS キーから選択するか、別のアカウントからキーを入力します。 詳細については、「[Amazon RDS および AWS Secrets Manager によるパスワード管理](rds-secrets-manager.md)」を参照してください。  |  **CLI オプション:** `--manage-master-user-password \| --no-manage-master-user-password` `--master-user-secret-kms-key-id` **RDS API パラメータ:** `ManageMasterUserPassword` `MasterUserSecretKmsKeyId`  | すべて | 
|  マスターパスワード:  |  マスターユーザーアカウントのパスワード。パスワードには、DB エンジンに応じて、次の数の印刷可能な ASCII 文字 (`/`、`"`、スペース、および `@` を除く) が含まれます。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.Settings.html)  |  **CLI オプション:** `--master-user-password` **RDS API パラメータ:** `MasterUserPassword`  | すべて | 
|  マスターユーザーネーム  |  マスターユーザー名。この名前で DB インスタンスにログインすると、データベースに関するすべての権限を持つことになります。以下の命名制限があることに注意してください: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.Settings.html) DB インスタンスの作成後にマスターユーザー名を変更することはできません。 Db2 では、セルフマネージド Db2 インスタンス名と同じマスターユーザー名を使用することをお勧めします。 マスターユーザーに付与される権限の詳細については、[マスターユーザーアカウント権限](UsingWithRDS.MasterAccounts.md)を参照してください。  |  **CLI オプション:** `--master-username` **RDS API パラメータ:** `MasterUsername`  | すべて | 
| Microsoft SQL Server の Windows 認証 |  **Microsoft SQL Server の Windows 認証を有効化**し、[**Browse Directory (ディレクトリの参照)**] をクリックして、許可されたドメインユーザーが Windows 認証を使用してこの SQL Server インスタンスで認証できるようにするディレクトリを選択します。  |  **CLI オプション:** `--domain` `--domain-iam-role-name` **RDS API パラメータ:** `Domain`  `DomainIAMRoleName`  |  SQL Server  | 
|  マルチ AZ デプロイ  |  [**Create a standby instance (スタンバイインスタンスを作成する)**] を選択して、フェイルオーバーサポート用に DB インスタンスのパッシブセカンダリレプリカを別のアベイラビリティーゾーンに作成します。本稼働環境のワークロードには、高可用性を維持するためにマルチ AZ をお勧めします。 開発およびテスト用に、[**Do not create a standby instance (スタンバイインスタンスを作成しない)**] を選択することもできます。 詳細については、「[Amazon RDS でのマルチ AZ 配置の設定と管理](Concepts.MultiAZ.md)」を参照してください。  |  **CLI オプション:** `--multi-az` `--no-multi-az` **RDS API パラメータ:** `MultiAZ`  | すべて | 
| 各国語文字セット (NCHAR) |  DB インスタンスの各国語文字セット (通称は NCHAR 文字セット)。各国語文字セットは、AL16UTF16 (デフォルト) または UTF-8 のいずれかに設定できます。DB インスタンスの作成後に各国語文字セットを変更することはできません。 各国語文字セットは、DB 文字セットとは異なります。DB 文字セットとは異なり、各国語文字セットは、データベースのメタデータに影響を与えることなく、NCHAR データ型 (NCHAR、NVARCHAR2、NCLOB) 列のエンコーディングのみを指定します。 詳細については、「[RDS for Oracle 文字セット](Appendix.OracleCharacterSets.md)」を参照してください。  |  **CLI オプション:** `--nchar-character-set-name` **API パラメータ:** `NcharCharacterSetName`  | Oracle | 
|  ネットワークの種類  |  DB インスタンスでサポートされている IP アドレス設定プロトコル。 リソースが、インターネットプロトコルバージョン 4 (IPv4) アドレス設定プロトコル経由でのみ DB インスタンスと通信できるように指定する **IPv4** (デフォルト)。 リソースが IPv4、インターネットプロトコルバージョン 6 (IPv6)、またはその両方で DB インスタンスと通信できるように指定する**デュアルスタックモード**。IPv6 アドレス設定プロトコルで DB インスタンスと通信する必要があるリソースがある場合は、デュアルスタックモードを使用します。また、IPv6 CIDR ブロックを、指定した DB サブネットグループ内のすべてのサブネットに関連付けてください。 詳細については、「[Amazon RDS IP アドレス指定](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.IP_addressing)」を参照してください。  |  **CLI オプション:** `--network-type` **RDS API パラメータ:** `NetworkType`  |  すべて  | 
|  オプショングループ  |  DB インスタンスのオプショングループ。デフォルトオプショングループを選択するか、カスタムオプショングループを作成できます。 詳細については、「[オプショングループを使用する](USER_WorkingWithOptionGroups.md)」を参照してください。  |  **CLI オプション:** `--option-group-name` **RDS API パラメータ:** `OptionGroupName`  |  すべて  | 
|  Performance Insights  |  [**Performance Insights の有効化**] を選択すると、DB インスタンスの負荷をモニタリングし、データベースパフォーマンスの分析とトラブルシューティングを行うことができます。 保持期間を選択して、保持するパフォーマンスインサイトデータ履歴の量を決定します。保持期間の設定は、**デフォルト (7 日間)** です。パフォーマンスデータをさらに長期間保持するには、1～24 か月を指定します。保持期間の詳細については、「[Performance Insights の料金とデータ保持](USER_PerfInsights.Overview.cost.md)」を参照してください。 このデータベースボリュームの暗号化に使用されるキーを保護するために使用する KMS キーを選択します。お客様のアカウントの KMS キーから選択するか、別のアカウントからキーを入力します。 詳細については、「[Amazon RDS での Performance Insights を使用したDB 負荷のモニタリング](USER_PerfInsights.md)」を参照してください。  |  **CLI オプション:** `--enable-performance-insights` `--no-enable-performance-insights` `--performance-insights-retention-period` `--performance-insights-kms-key-id` **RDS API パラメータ:** `EnablePerformanceInsights` `PerformanceInsightsRetentionPeriod` `PerformanceInsightsKMSKeyId`  | Db2 を除くすべて | 
|  **プロビジョンド IOPS**  |  DB インスタンスのプロビジョンド IOPS (毎秒ごとの I/O オペレーション) の値。この設定は、**[Storage type]** (ストレージタイプ) で次のいずれかを選択した場合にのみ使用できます。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.Settings.html) 詳細については、「[Amazon RDS DB インスタンスストレージ](CHAP_Storage.md)」を参照してください。  |  **CLI オプション:** `--iops` **RDS API パラメータ:** `Iops`  |  すべて  | 
|  パブリックアクセス  |  パブリック IP アドレスを DB インスタンスに割り当てる場合は [**Yes (はい)**] を選択します。これは、VPC の外部でアクセスできることを意味します。パブリックにアクセス可能となるよう、DB インスタンスは、VPC のパブリックサブネット内にある必要があります。 DB インスタンスを VPC 内からのみアクセス可能にするには、[**No**] を選択します。 詳細については、「[VPC 内の DB インスタンスをインターネットから隠す](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.Hiding)」を参照してください。 VPC の外部から DB インスタンスに接続するには、DB インスタンスがパブリックにアクセスできる必要があります。また、DB インスタンスのセキュリティグループのインバウンドルールを使用してアクセスを許可する必要があります。さらに、他の要件を満たす必要があります。詳細については、「[Amazon RDS DB インスタンスに接続できない](CHAP_Troubleshooting.md#CHAP_Troubleshooting.Connecting)」を参照してください。 DB インスタンスがパブリックアクセス可能でない場合は、AWS Site-to-Site VPN 接続または Direct Connect 接続を使用してプライベートネットワークからアクセスします。詳細については、「[ネットワーク間のトラフィックのプライバシー](inter-network-traffic-privacy.md)」を参照してください。  |  **CLI オプション:** `--publicly-accessible` `--no-publicly-accessible` **RDS API パラメータ:** `PubliclyAccessible`  | すべて | 
| RDS 延長サポート |  RDS 標準サポート終了日を過ぎてもサポートされているメジャーエンジンバージョンを 引き続き実行するには、**[RDS 延長サポートを有効にする]** を選択します。 DB インスタンスを作成する場合、Amazon RDS はデフォルトで RDS 延長サポートを選択します。RDS 標準サポート 終了日後に新しい DB インスタンスが作成されて RDS 延長サポートの料金が発生するのを避けるには、この設定を無効にします。既存の DB インスタンスについて、RDS 延長サポートの課金開始日以前に料金が発生することはありません。 詳細については、「[Amazon RDS の Amazon RDS 延長サポート](extended-support.md)」を参照してください。 |  **CLI オプション:** `--engine-lifecycle-support` **RDS API パラメータ:** `EngineLifecycleSupport`  |  MySQL PostgreSQL  | 
|  **RDS Proxy**  |  **[Create an RDS Proxy]** (RDS Proxy の作成) を選択して、DB インスタンスにプロキシを作成します。Amazon RDS は、プロキシの IAM ロールと Secrets Manager シークレットを自動的に作成します。 詳細については、「[Amazon RDS Proxy ](rds-proxy.md)」を参照してください。  |  DB インスタンスの作成時には使用できません。  |  MariaDB MySQL PostgreSQL  | 
|  ストレージのオートスケーリング  |  [**Enable storage autoscaling (ストレージのオートスケーリングを有効にする)**] - DB インスタンスのストレージスペースが不足しないように、必要に応じて Amazon RDS のストレージを自動的に増やせるようにします。 [**Maximum storage threshold (ストレージの最大しきい値)**] を使用して、Amazon RDS で DB インスタンスのストレージを自動的に増やすための上限を設定します。デフォルトは 1,000 GiB です。 詳細については、「[Amazon RDS ストレージの自動スケーリングによる容量の自動管理](USER_PIOPS.Autoscaling.md)」を参照してください。  |  **CLI オプション:** `--max-allocated-storage` **RDS API パラメータ:** `MaxAllocatedStorage`  | すべて | 
|  **ストレージスループット**  |  DB インスタンスのストレージスループット値。この設定は、**[Storage type]** (ストレージタイプ) に**汎用 SSD (gp3)** を選択した場合にのみ使用できます。 詳細については、「[gp3 ストレージ (推奨)](CHAP_Storage.md#gp3-storage)」を参照してください。  |  **CLI オプション:** `--storage-throughput` **RDS API パラメータ:** `StorageThroughput`  | すべて | 
|  ストレージタイプ  |  DB インスタンスのストレージタイプ。 **汎用 SSD (gp3)** を選択すると、**[Advanced settings]** (詳細設定) で追加のプロビジョンド IOPS とストレージスループットをプロビジョニングできます。 **[プロビジョンド IOPS SSD (io1)]** または **[プロビジョンド IOPS SSD (io2)]** を選択する場合は、**[プロビジョンド IOPS]** の値を入力します。 詳細については、「[Amazon RDS ストレージタイプ](CHAP_Storage.md#Concepts.Storage)」を参照してください。  |  **CLI オプション:** `--storage-type` **RDS API パラメータ:** `StorageType`  | すべて | 
| 追加のストレージボリューム  |  RDS for Oracle または RDS for SQL Server DB インスタンスには、最大 3 つのストレージボリュームを追加できます。gp3 または io2 ストレージタイプを使用するように各追加ボリュームを設定できます。また、割り当てられたストレージ、IOPS、スループットのさまざまな設定を指定して、ワークロードの要件に合わせて最適化することもできます。 ボリューム名は、`rdsdbdata2`、`rdsdbdata3`、または `rdsdbdata4` として指定してください。 プライマリボリュームと追加ボリュームの合計ストレージは 256 TiB を超えることはできません。  |  **CLI オプション:** `--additional-storage-volumes` **RDS API パラメータ:** `AdditionalStorageVolumes`  | Oracle と SQL Server | 
| サブネットグループ  |  この DB インスタンスに関連付ける DB サブネットグループ。 詳細については、「[DB サブネットグループの使用](USER_VPC.WorkingWithRDSInstanceinaVPC.md#USER_VPC.Subnets)」を参照してください。  |  **CLI オプション:** `--db-subnet-group-name` **RDS API パラメータ:** `DBSubnetGroupName`  | すべて | 
| テナントデータベース名 |  Oracle アーキテクチャのマルチテナント設定における最初の PDB の名前。この設定は、**[アーキテクチャ設定]** で **[マルチテナント設定]** を選択した場合にのみ使用できます。 テナントデータベース名は、`RDSCDB` という名前の CDB の名前と異っている必要があります。CDB 名を変更することはできません。  |  **CLI オプション:** `--db-name` **RDS API パラメータ:** `DBName`  |  Oracle  | 
| テナントデータベースのマスターユーザー名 |  マスターユーザー名を使って、すべてのデータベース権限ででテナントデータベース (PDB) にログインする際に使用する名前。この設定は、**[アーキテクチャ設定]** で **[マルチテナント設定]** を選択した場合にのみ使用できます。 以下の命名制限があることに注意してください: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.Settings.html) 次のことはできません。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.Settings.html)  |  **CLI オプション:** `--master-username` **RDS API パラメータ:** `MasterUsername`  |  Oracle  | 
| テナントデータベースのマスターパスワード |  テナントデータベース (PDB) のマスターユーザーアカウントのパスワード。この設定は、**[アーキテクチャ設定]** で **[マルチテナント設定]** を選択した場合にのみ使用できます。 パスワードには、`/`、`"`、スペース、および `@` を除く 8 ～ 30 文字の印刷可能な ASCII 文字を使用します。  |  **CLI オプション:** `--master-password` **RDS API パラメータ:** `MasterPassword`  |  Oracle  | 
| テナントデータベース文字セット |  初期テナントデータベースの文字セット。この設定は、**[アーキテクチャ設定]** で **[マルチテナント設定]** を選択した場合にのみ使用できます。RDS for Oracle CDB インスタンスのみがサポートされています。 テナントデータベース文字セットのデフォルト値 **AL32UTF8** は、Unicode 5.0 UTF-8 ユニバーサル文字セット用です。CDB の文字セットとは異なるテナントデータベース文字セットを選択できます。 詳細については、「[RDS for Oracle 文字セット](Appendix.OracleCharacterSets.md)」を参照してください。  |  **CLI オプション:** `--character-set-name` **RDS API パラメータ:** `CharacterSetName`  |  Oracle  | 
| テナントデータベース各国語文字セット |  通称 `NCHAR` 文字セットと呼ばれる、テナントデータベースの各国語文字セット。この設定は、**[アーキテクチャ設定]** で **[マルチテナント設定]** を選択した場合にのみ使用できます。RDS for Oracle CDB インスタンスのみがサポートされています。 各国語文字セットは、**AL16UTF16** (デフォルト) または **UTF-8** のいずれかに設定できます。テナントデータベースの作成後に各国語文字セットを変更することはできません。 テナントデータベースの各国語文字セットは、テナントデータベース文字セットとは異なります。各国文字セットは、`NCHAR` データ型 (`NCHAR`、`NVARCHAR2` および `NCLOB`) を使用する列にのみエンコーディングを指定し、データベースのメタデータには影響しません。 詳細については、「[RDS for Oracle 文字セット](Appendix.OracleCharacterSets.md)」を参照してください。  |  **CLI オプション:** `--nchar-character-set-name` **API パラメータ:** `NcharCharacterSetName`  |  Oracle  | 
|  タイムゾーン  |  DB インスタンスのタイムゾーン。タイムゾーンを選択しない場合、DB インスタンスはデフォルトのタイムゾーンを使用します。DB インスタンスの作成後にタイムゾーンを変更することはできません。 詳細については、「[Amazon RDS for Db2 DB インスタンスのローカルタイムゾーン](db2-time-zone.md)」および「[Microsoft SQL Server DB インスタンスのローカルタイムゾーン](SQLServer.Concepts.General.TimeZone.md)」を参照してください。  |  **CLI オプション:** `--timezone` **RDS API パラメータ:** `Timezone`  |  Db2 SQL Server RDS Custom for SQL Server  | 
|  仮想プライベートクラウド (VPC)。 |  この DB インスタンスと関連付ける Amazon VPC サービスに基づく VPC。 詳細については、「[Amazon VPC と Amazon RDS](USER_VPC.md)」を参照してください。  |  CLI と API の場合は、VPC セキュリティグループ ID を指定します。  | すべて | 
|  VPC セキュリティグループ (ファイアウォール)  |  DB インスタンスに関連付けるセキュリティグループ。 詳細については、「[VPC セキュリティグループの概要](Overview.RDSSecurityGroups.md#Overview.RDSSecurityGroups.VPCSec)」を参照してください。  |  **CLI オプション:** `--vpc-security-group-ids` **RDS API パラメータ:** `VpcSecurityGroupIds`  | すべて | 

# AWS CloudFormation での Amazon RDS リソースの作成
<a name="creating-resources-with-cloudformation"></a>

Amazon RDS は AWS CloudFormation と統合されています。これは、リソースとインフラストラクチャの作成と管理の所要時間を短縮できるように AWS リソースをモデル化して設定するためのサービスです。必要なすべての AWS リソース ( DB インスタンスや DB パラメータグループなど) を記述するテンプレートを作成し、CloudFormation はそれらのリソースをプロビジョニングして設定します。

CloudFormation を使用すると、テンプレートを再利用して RDS リソースを同じように繰り返してセットアップできます。リソースを一度記述すると、同じリソースを複数の AWS アカウントおよびリージョンで何度でも繰り返してプロビジョニングできます。

## RDS とCloudFormationテンプレート
<a name="working-with-templates"></a>

[CloudFormation テンプレート](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-guide.html)は、JSON や YAML でフォーマットされたテキストファイルです。これらのテンプレートには、CloudFormation スタックにプロビジョニングしたいリソースを記述します。JSON や YAML に不慣れな方は、CloudFormation デザイナー を使えば、CloudFormation テンプレートを使いこなすことができます。詳細については、*AWS CloudFormation ユーザーガイド*の「[CloudFormation Designer とは](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/working-with-templates-cfn-designer.html)」を参照してください。

RDS は、CloudFormation でのリソースの作成をサポートしています。これらのリソースの JSON テンプレートと YAML テンプレートの例を含む詳細については、*AWS CloudFormation ユーザーガイド*の「[RDS リソースタイプのリファレンス](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_RDS.html)」を参照してください。

## の詳細情報CloudFormation
<a name="learn-more-cloudformation"></a>

CloudFormation の詳細については、以下のリソースを参照してください。
+ [AWS CloudFormation](https://aws.amazon.com/cloudformation/)
+ [AWS CloudFormation ユーザーガイド](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)
+ [CloudFormation API リファレンス](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/Welcome.html)
+ [AWS CloudFormation コマンドラインインターフェイスユーザーガイド](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html)

# Amazon RDS DB インスタンスへの接続
<a name="CHAP_CommonTasks.Connect"></a>

 DB インスタンスに接続する前に、DB インスタンスを作成する必要があります。詳細については、「[Amazon RDS DB インスタンスの作成](USER_CreateDBInstance.md)」を参照してください。Amazon RDS によって DB インスタンスがプロビジョニングされたら、標準のクライアントアプリケーションまたは DB エンジン用のユーティリティを使用して DB インスタンスに接続します。接続文字列では、DB インスタンスのエンドポイントの DNS アドレスをホストパラメータとして指定します。また、ポートパラメータとして、DB インスタンスのエンドポイントのポート番号を指定します。

Amazon RDS DB インスタンスの接続情報の検索、または VPC 内の DB インスタンスにアクセスするためのシナリオの詳細については、次のトピックを参照してください。
+ [Amazon RDS DB インスタンスの接続情報の検索](CHAP_CommonTasks.Connect.EndpointAndPort.md)
+ [VPC の DB インスタンスにアクセスするシナリオ](CHAP_CommonTasks.Connect.ScenariosForAccess.md)

# Amazon RDS DB インスタンスの接続情報の検索
<a name="CHAP_CommonTasks.Connect.EndpointAndPort"></a>

DB インスタンスの接続情報には、エンドポイント、ポート、およびマスターユーザーなどの有効なデータベースユーザーが含まれます。例えば、MySQL DB インスタンスの場合、エンドポイントの値が `mydb.123456789012.us-east-1.rds.amazonaws.com` であるとします。この場合、ポート値は `3306` であり、データベースユーザーは `admin` です。この情報を考慮して、接続文字列に次の値を指定します。
+ ホスト、ホスト名または DNS 名には、`mydb.123456789012.us-east-1.rds.amazonaws.com` を指定します。
+ ポートで、`3306` を指定します。
+ ユーザーには、`admin` を指定します。

エンドポイントは DB インスタンスごとに一意であり、ポートとユーザーの値はさまざまです。次のリストは、各 DB エンジンの最も一般的なポートを示しています。
+ Db2 – 50000
+ MariaDB – 3306
+ Microsoft SQL Server – 1433
+ MySQL – 3306
+ Oracle – 1521
+ PostgreSQL – 5432

DB インスタンスに接続するには、DB エンジンの任意のクライアントを使用します。例えば、mysql ユーティリティを使用して MariaDB または MySQL DB インスタンスに接続できます。Microsoft SQL Server Management Studio を使用して、SQL Server の DB インスタンスに接続できます。Oracle SQL Developer を使用して Oracle DB インスタンスに接続したりできます。同様に、psql コマンドラインユーティリティを使用して、PostgreSQL DB インスタンスに接続できます。

DB インスタンスの接続情報を探すには、AWS マネジメントコンソール を使用します。また、AWS Command Line Interface (AWS CLI) [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) コマンドまたは RDS API [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) オペレーションを使用することもできます。

## コンソール
<a name="CHAP_CommonTasks.Connect.EndpointAndPort.Console"></a>

**AWS マネジメントコンソール で DB インスタンスの接続情報を探すには**

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

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

1. DB インスタンスの名前を選択して、その詳細を表示します。

1. [**接続とセキュリティ**] タブで、エンドポイントをコピーします。また、ポート番号を書き留めます。DB インスタンスに接続するには、エンドポイントとポート番号の両方が必要です。  
![\[DB インスタンスのエンドポイントとポート\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/endpoint-port.png)

1. マスターユーザー名を見つける必要がある場合は、[**設定**] タブを選択し、[**マスターユーザー名**] の値を表示します。

## AWS CLI
<a name="CHAP_CommonTasks.Connect.EndpointAndPort.CLI"></a>

AWS CLI を使用して DB インスタンスの接続情報を検索するには、[describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) コマンドを呼び出します。呼び出しで、DB インスタンス ID、エンドポイント、ポート、マスターユーザー名をクエリします。

Linux、macOS、Unix の場合:

```
aws rds describe-db-instances \
  --query "*[].[DBInstanceIdentifier,Endpoint.Address,Endpoint.Port,MasterUsername]"
```

Windows の場合:

```
aws rds describe-db-instances ^
  --query "*[].[DBInstanceIdentifier,Endpoint.Address,Endpoint.Port,MasterUsername]"
```

出力は次のようになります。

```
[
    [
        "mydb",
        "mydb.123456789012.us-east-1.rds.amazonaws.com",
        3306,
        "admin"
    ],
    [
        "myoracledb",
        "myoracledb.123456789012.us-east-1.rds.amazonaws.com",
        1521,
        "dbadmin"
    ],
    [
        "mypostgresqldb",
        "mypostgresqldb.123456789012.us-east-1.rds.amazonaws.com",
        5432,
        "postgresadmin"
    ]
]
```

## RDS API
<a name="CHAP_CommonTasks.Connect.EndpointAndPort.API"></a>

Amazon RDS API を使用して DB インスタンスの接続情報を検索するには、[DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) オペレーションを呼び出します。出力で、エンドポイントアドレス、エンドポイントポート、およびマスターユーザー名の値を検索します。

# VPC の DB インスタンスにアクセスするシナリオ
<a name="CHAP_CommonTasks.Connect.ScenariosForAccess"></a>

Amazon Virtual Private Cloud (Amazon VPC) を使用すると、Amazon RDS DB インスタンスなどの AWS リソースを仮想プライベートクラウド (VPC) で起動できます。Amazon VPC を使用する場合、仮想ネットワーキング環境を制御できます。独自の IP アドレスの範囲を選択し、サブネットを作成してルーティングおよびアクセスコントロールリストを設定できます。

VPC セキュリティグループは、VPC 内の DB インスタンスへのアクセスを制御します。VPC セキュリティグループの各ルールにより、その VPC セキュリティグループに関連付けられている VPC 内の DB インスタンスへのアクセスを特定のソースに許可できます。ソースとしては、アドレスの範囲 (203.0.113.0/24 など) または別の VPC セキュリティグループを指定できます。VPC セキュリティグループをソースとして指定すると、ソース VPC セキュリティグループを使用するすべてのインスタンス (通常はアプリケーションサーバー) からの受信トラフィックを許可することになります。

DB インスタンスに接続する前に、お客様のユースケース用に VPC を設定します。以下は、VPC の DB インスタンスにアクセスするための以下の一般的なシナリオです。
+ **同じ VPC 内の Amazon EC2 インスタンスからアクセスする VPC 内の DB インスタンス** – VPC 内の DB インスタンスの一般的な用途は、同じ VPC 内の EC2 インスタンスで実行されるアプリケーションサーバーとデータを共有することです。EC2 インスタンスは、DB インスタンスと対話するアプリケーションでウェブサーバーを実行することがあります。
+ **別の VPC 内の EC2 インスタンスからアクセスする VPC 内の DB インスタンス** – DB インスタンスが、アクセスに使用している EC2 インスタンスとは別の VPC にある場合もあります。その場合は、VPC ピアリングを使用して DB インスタンスにアクセスできます。
+ **インターネットを介してクライアントアプリケーションからアクセスする VPC 内の DB インスタンス** – インターネット経由でクライアントアプリケーションから VPC 内の DB インスタンスにアクセスするには、1 つのパブリックサブネットを持つ VPC を設定します。また、インターネット経由の通信を有効にするために、インターネットゲートウェイを設定します。

  VPC の外部から DB インスタンスに接続するには、DB インスタンスがパブリックにアクセスできる必要があります。また、DB インスタンスのセキュリティグループのインバウンドルールを使用してアクセスを許可し、その他の要件を満たしている必要があります。詳細については、「[Amazon RDS DB インスタンスに接続できない](CHAP_Troubleshooting.md#CHAP_Troubleshooting.Connecting)」を参照してください。
+ **プライベートネットワークからアクセスされる VPC 内の DB インスタンス** - DB インスタンスにパブリックにアクセスできない場合は、次のいずれかのオプションを使用してプライベートネットワークからアクセスできます。
  + AWS サイト間 VPN 接続
  + Direct Connect 接続
  + AWS Client VPN 接続

詳細については、「[VPC の DB インスタンスにアクセスするシナリオ](USER_VPC.Scenarios.md)」を参照してください。

## AWS ドライバーを使用した DB インスタンスへの接続
<a name="RDS.Connecting.Drivers"></a>

AWS のドライバースイートは、スイッチオーバーとフェイルオーバーの時間の短縮、AWS Secrets Manager、AWS Identity and Access Management (IAM)、フェデレーティッド ID での認証をサポートするように設計されています。AWS ドライバーは、DB インスタンスステータスをモニタリングし、インスタンストポロジを認識して新しいプライマリインスタンスを決定することを前提としています。このアプローチにより、スイッチオーバーとフェイルオーバーの時間が 1 桁秒に短縮されます (オープンソースドライバーの場合は数十秒)。

次の表は、各ドライバーでサポートされている機能を示しています。新しいサービス機能が導入されるにあたって、こうしたサービス機能を標準でサポートすることが AWS のドライバースイートの目標です。


| 機能 | [AWS JDBC ドライバー](https://github.com/awslabs/aws-advanced-jdbc-wrapper) | [AWS Python ドライバー](https://github.com/awslabs/aws-advanced-python-wrapper) | [AWS MySQL 用 ODBC ドライバー](https://github.com/aws/aws-mysql-odbc) | 
| --- | --- | --- | --- | 
| フェイルオーバーのサポート | [あり](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/using-plugins/UsingTheFailoverPlugin.md) | [あり](https://github.com/awslabs/aws-advanced-python-wrapper/blob/main/docs/using-the-python-driver/using-plugins/UsingTheFailoverPlugin.md) | [はい](https://github.com/aws/aws-mysql-odbc/blob/main/docs/using-the-aws-driver/UsingTheAwsDriver.md#failover-process) | 
| フェイルオーバーモニタリングの強化 | [あり](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/using-plugins/UsingTheHostMonitoringPlugin.md) | [あり](https://github.com/awslabs/aws-advanced-python-wrapper/blob/main/docs/using-the-python-driver/using-plugins/UsingTheHostMonitoringPlugin.md) | [はい](https://github.com/aws/aws-mysql-odbc/blob/main/docs/using-the-aws-driver/HostMonitoring.md#enhanced-failure-monitoring) | 
| 読み取り/書き込みの分割 | [あり](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/using-plugins/UsingTheReadWriteSplittingPlugin.md) | [はい](https://github.com/awslabs/aws-advanced-python-wrapper/blob/main/docs/using-the-python-driver/using-plugins/UsingTheReadWriteSplittingPlugin.md) | なし | 
| ドライバーメタデータ接続 | [はい](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/using-plugins/UsingTheDriverMetadataConnectionPlugin.md) | 該当なし | 該当なし | 
| Telemetry | [あり](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/Telemetry.md) | [はい](https://github.com/aws/aws-advanced-python-wrapper/blob/main/docs/using-the-python-driver/Telemetry.md) | なし | 
| Secrets Manager | [あり](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/using-plugins/UsingTheAwsSecretsManagerPlugin.md) | [あり](https://github.com/awslabs/aws-advanced-python-wrapper/blob/main/docs/using-the-python-driver/using-plugins/UsingTheAwsSecretsManagerPlugin.md) | [はい](https://github.com/aws/aws-mysql-odbc/blob/main/docs/using-the-aws-driver/UsingTheAwsDriver.md#secrets-manager-authentication) | 
| IAM 認証 | [あり](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/using-plugins/UsingTheIamAuthenticationPlugin.md) | [あり](https://github.com/awslabs/aws-advanced-python-wrapper/blob/main/docs/using-the-python-driver/using-plugins/UsingTheIamAuthenticationPlugin.md) | [はい](https://github.com/aws/aws-mysql-odbc/blob/main/docs/using-the-aws-driver/UsingTheAwsDriver.md#iam-authentication) | 
| フェデレーティッド ID (AD FS) | [あり](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/using-plugins/UsingTheFederatedAuthPlugin.md) | [はい](https://github.com/awslabs/aws-advanced-python-wrapper/blob/main/docs/using-the-python-driver/using-plugins/UsingTheFederatedAuthenticationPlugin.md) | なし | 
| フェデレーティッド ID (Okta) | [はい](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/using-plugins/UsingTheFederatedAuthPlugin.md) | なし | いいえ | 
| マルチ AZ DB クラスター | [あり](https://github.com/awslabs/aws-advanced-jdbc-wrapper/blob/main/docs/using-the-jdbc-driver/SupportForRDSMultiAzDBCluster.md) | [はい](https://github.com/aws/aws-advanced-python-wrapper/blob/main/docs/using-the-python-driver/SupportForRDSMultiAzDBCluster.md) | なし | 

AWS ドライバーの詳細については、使用している [RDS for MariaDB](MariaDB.Connecting.Drivers.md#MariaDB.Connecting.JDBCDriver)、[RDS for MySQL](MySQL.Connecting.Drivers.md#MySQL.Connecting.JDBCDriver)、または [RDS for PostgreSQL](PostgreSQL.Connecting.JDBCDriver.md) DB インスタンスに対応する言語ドライバーを参照してください。

**注記**  
RDS for MariaDB でサポートされている機能は、AWS Secrets Manager、AWS Identity and Access Management (IAM)、およびフェデレーティッド ID による認証のみです。

## 特定の DB エンジンを実行している DB インスタンスに接続する
<a name="CHAP_CommonTasks.Connect.DBEngine"></a>

特定の DB エンジンを実行している DB インスタンスへの接続方法については、DB エンジンの指示に従ってください。
+ [RDS for Db2](USER_ConnectToDb2DBInstance.md)
+ [RDS for MariaDB](USER_ConnectToMariaDBInstance.md)
+ [RDS for SQL Server](USER_ConnectToMicrosoftSQLServerInstance.md)
+ [RDS for MySQL](USER_ConnectToInstance.md)
+ [RDS for Oracle](USER_ConnectToOracleInstance.md)
+ [RDS for PostgreSQL](USER_ConnectToPostgreSQLInstance.md)

## RDS Proxy による接続の管理
<a name="CHAP_CommonTasks.Connect.RDSProxy"></a>

Amazon RDS Proxy を使用して、RDS for MariaDB、RDS for Microsoft SQL Server、RDS for MySQL、および RDS for PostgreSQL DB インスタンスへの接続を管理することもできます。RDS Proxy を使用すると、アプリケーションでデータベース接続をプールおよび共有し、スケーラビリティを向上させることができます。詳細については、「[Amazon RDS Proxy ](rds-proxy.md)」を参照してください。

## データベース認証オプション
<a name="CHAP_CommonTasks.Connect.DatabaseAuthentication"></a>

Amazon RDS では、データベースユーザーを認証する次の方法がサポートされています。
+ **パスワード認証** – DB インスタンスがユーザーアカウントのすべての管理を行います。SQL 文でユーザーを作成し、パスワードを指定します。使用できる SQL 文は、DB エンジンによって異なります。
+ **AWS Identity and Access Management (IAM) データベース認証** – DB インスタンスに接続する際にパスワードを使用する必要はありません。代わりに、認証トークンを使用します。
+ **Kerberos 認証** – Kerberos および Microsoft Active Directory を使用して、データベースユーザーの外部認証を使用します。Kerberos は、ネットワーク経由でパスワードを送信する必要をなくすためにチケットと対称キー暗号化を使用するネットワーク認証プロトコルです。Kerberos は Active Directory に組み込まれており、データベースなどのネットワークリソースに対するユーザー認証を行えるように設計されています。

IAM データベース認証と Kerberos 認証は、特定の DB エンジンおよびバージョンでのみ使用できます。

詳細については、「[Amazon RDS でのデータベース認証](database-authentication.md)」を参照してください。

## 暗号化された接続
<a name="CHAP_CommonTasks.Connect.EncryptedConnections"></a>

アプリケーションの Secure Socket Layer (SSL) または Transport Layer Security (TLS) を使用して、DB インスタンスへの接続を暗号化できます。各 DB エンジンには SSL/TLS を実装する独自のプロセスがあります。詳細については、「[SSL/TLS を使用した DB インスタンスまたはクラスターへの接続の暗号化](UsingWithRDS.SSL.md)」を参照してください。

# オプショングループを使用する
<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`

# Amazon RDS のパラメータグループ
<a name="USER_WorkingWithParamGroups"></a>

*データベースパラメータ*は、データベースの設定方法を指定します。データベースパラメータでは、データベースに割り当てるメモリなどのリソースの量を指定できます。

DB インスタンスとマルチ AZ DB クラスターをパラメータグループに関連付けて、データベースの設定を管理します。Amazon RDS は、デフォルト設定を使用してパラメータグループを定義します。カスタマイズした設定を使用して独自のパラメータグループを定義できます。

**注記**  
一部の DB エンジンには、オプショングループのオプションとしてデータベースに追加できる追加機能があります。オプショングループの詳細については、[オプショングループを使用する](USER_WorkingWithOptionGroups.md)を参照してください。

**Topics**
+ [パラメータグループの概要](parameter-groups-overview.md)
+ [Amazon RDS DB インスタンスの DB パラメータグループ](USER_WorkingWithDBInstanceParamGroups.md)
+ [マルチ AZ DB クラスターの DB クラスターパラメータグループを使用する](USER_WorkingWithDBClusterParamGroups.md)
+ [DB パラメータグループを比較する](USER_WorkingWithParamGroups.Comparing.md)
+ [DB パラメータの指定](USER_ParamValuesRef.md)

# パラメータグループの概要
<a name="parameter-groups-overview"></a>

*DB パラメータグループ*は、1 つ以上の DB インスタンスに適用されるエンジン設定値のコンテナとして機能します。

*DB クラスターパラメータグループ*は、マルチ AZ DB クラスターにのみ適用されます。マルチ AZ DB クラスターでは、DB クラスターパラメータグループの設定は、クラスター内のすべての DB インスタンスに適用されます。DB エンジンおよび DB エンジンバージョンのデフォルトの DB パラメータグループが、DB クラスター内の各 DB インスタンスに使用されます。

**Topics**
+ [デフォルトおよびカスタムパラメータグループ](#parameter-groups-overview.custom)
+ [静的および動的 DB インスタンスパラメータ](#parameter-groups-overview.db-instance)
+ [静的および動的 DB クラスターパラメータ](#parameter-groups-overview.maz)
+ [文字セットパラメータ](#parameter-groups-overview.char-sets)
+ [サポートされるパラメータとパラメータ値](#parameter-groups-overview.supported)

## デフォルトおよびカスタムパラメータグループ
<a name="parameter-groups-overview.custom"></a>

DB パラメータグループを指定せずに DB インスタンスを作成すると、DB インスタンスはデフォルトの DB パラメータグループを使用します。同様に、DB クラスターパラメータグループを指定せずにマルチ AZ DB クラスターを作成すると、DB クラスターではデフォルトの DB クラスターパラメータグループが使用されます。デフォルトの各パラメータグループには、エンジン、コンピューティングクラス、およびインスタンスの割り当てストレージに基づいた、データベースエンジンのデフォルトと Amazon RDS システムのデフォルトが含まれています。

デフォルトのパラメータグループのパラメータ設定は変更できません。代わりに、以下を実行できます。

1. 新しいパラメータグループを作成します。

1. 必要なパラメータの設定を変更します。パラメータグループ内のすべての DB エンジンパラメータが変更できるわけではありません。

1. DB インスタンスまたは DB クラスターを変更して、新しいパラメータグループを関連付けます。

   新しい DB パラメータグループを DB インスタンスに関連付けると、関連付けは直ちに有効になります。DB インスタンスの変更については、「」を参照してください。[Amazon RDS DB インスタンスを変更する](Overview.DBInstance.Modifying.md)マルチ AZ DB クラスターの変更については、「[Amazon RDS のマルチ AZ DB クラスターの変更](modify-multi-az-db-cluster.md)」を参照してください。
**注記**  
カスタムパラメータグループを使用するように DB インスタンスを変更して、DB インスタンスを起動すると、RDS は起動プロセスの一環として DB インスタンスを自動的に再起動します。常時オプションやミラーリングオプションが有効になっている RDS for SQL Server のマルチ AZ インスタンスの場合、スタートアッププロセス後にインスタンスを再起動すると、フェイルオーバーが予想されます。

RDS は、DB インスタンスの再起動後にのみ、変更された静的パラメータと動的パラメータを新しく関連付けられたパラメータグループに適用します。ただし、DB インスタンスに関連付けた後に DB パラメータグループの動的パラメータを変更すると、これらの変更は再起動せずに直ちに適用されます。DB パラメータグループの変更については、「[Amazon RDS DB インスタンスを変更する](Overview.DBInstance.Modifying.md)」を参照してください。

DB パラメータグループ内のパラメータを更新すると、このパラメータグループに関連付けられたすべての DB インスタンスに変更が適用されます。同様に、マルチ AZ DB クラスターパラメータグループ内のパラメータを更新すると、この DB クラスターパラメータグループに関連付けられたすべての Aurora DB クラスターに変更が適用されます。

パラメータグループを最初から作成したくない場合は、AWS CLI [copy-db-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/copy-db-parameter-group.html) コマンドまたは [copy-db-cluster-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/copy-db-cluster-parameter-group.html) コマンドを使用して、既存のパラメータグループをコピーできます。場合によっては、パラメータグループをコピーすると便利なことがあります。例えば、既存の DB パラメータグループのカスタムパラメータと値のほとんどを新しい DB パラメータグループに含めたい場合です。

## 静的および動的 DB インスタンスパラメータ
<a name="parameter-groups-overview.db-instance"></a>

DB インスタンスパラメータは静的または動的に使用することができます。違いについては下記をご覧ください。
+ 静的パラメータを変更して DB パラメータグループを保存すると、パラメータの変更は関連付けられている DB インスタンスを手動で再起動した後に有効になります。静的パラメータの場合、コンソールは常に `ApplyMethod` として `pending-reboot` を使用します。
+ 動的パラメータを変更すると、デフォルトでは、パラメータの変更は直ちに有効になり、再起動は不要です。AWS マネジメントコンソール を使用して DB インスタンスのパラメータ値を変更するときには、常に動的パラメータ向けの `ApplyMethod` として `immediate` を使用します。パラメータの変更を、関連付けられている DB インスタンスが再起動されるまで延期するには、AWS CLI または RDS API を使用します。パラメータを変更する場合は、`ApplyMethod` を `pending-reboot` に設定します。
**注記**  
AWS CLI、あるいは RDS for SQL Server DB インスタンス上の RDS API で、動的パラメータとともに `pending-reboot` を使用するとエラーが発生します。RDS for SQL Server で `apply-immediately` を使用する

AWS CLI を使用してパラメータ値を変更する方法については、「[modify-db-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html)」を参照してください。RDS API を使用してパラメータ値を変更する方法については、「[ModifyDBParameterGroup](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBParameterGroup.html)」を参照してください。

DB インスタンスが、その関連付けられた DB パラメータグループに対する最新の変更を使用していない場合、コンソールに DB パラメータグループの **[pending-reboot]** (再起動の保留中) のステータスが表示されます。このステータスにより、次回のメンテナンスウィンドウで自動的に再起動されることはありません。パラメータの最新の変更を DB インスタンスに適用するには、DB インスタンスを手動で再起動します。

## 静的および動的 DB クラスターパラメータ
<a name="parameter-groups-overview.maz"></a>

DB クラスターパラメータは静的または動的に使用することができます。違いについては下記をご覧ください。
+ 静的パラメータを変更して DB クラスターのパラメータグループを保存する場合、パラメータの変更は、関連付けられている DB クラスターを手動で再起動した後に有効になります。静的パラメータの場合、コンソールは常に `ApplyMethod` として `pending-reboot` を使用します。
+ 動的パラメータを変更すると、デフォルトでは、パラメータの変更は直ちに有効になり、再起動は不要です。AWS マネジメントコンソール を使用して DB クラスターのパラメータ値を変更するときには、常に動的パラメータ向けの `ApplyMethod` として `immediate` を使用します。パラメータの変更を、関連する DB クラスターが再起動されるまで延期するには、AWS CLI または RDS API を使用します。パラメータを変更する場合は、`ApplyMethod` を `pending-reboot` に設定します。

AWS CLI を使用してパラメータ値を変更する方法については、「[modify-db-cluster-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster-parameter-group.html)」を参照してください。RDS API を使用してパラメータ値を変更する方法については、「[ModifyDBClusterParameterGroup](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBClusterParameterGroup.html)」を参照してください。

## 文字セットパラメータ
<a name="parameter-groups-overview.char-sets"></a>

DB インスタンスまたはマルチ AZ DB クラスターを作成する前に、パラメータグループに含まれるデータベースの文字セットまたは照合に関するパラメータを設定します。また、その中にデータベースを作成する前にも行ってください。これにより、デフォルトのデータベースと新しいデータベースで、指定した文字セットと照合順序が使用されるようになります。文字セットまたは照合パラメータを変更した場合、パラメータの変更は既存のデータベースに適用されません。

一部の DB エンジンでは、`ALTER DATABASE` コマンドを使用して、既存のデータベースの文字セットまたは照合値を変更できます。次に例を示します。

```
ALTER DATABASE database_name CHARACTER SET character_set_name COLLATE collation;
```

データベースの文字セットまたは照合値の変更の詳細については、DB エンジンのドキュメントを参照してください。

## サポートされるパラメータとパラメータ値
<a name="parameter-groups-overview.supported"></a>

DB エンジンでサポートされているパラメータを決定するには、DB インスタンスまたは DB クラスターで使用される DB パラメータグループおよび DB クラスターパラメータグループのパラメータを表示します。詳細については、「[Amazon RDS のDB パラメータグループのパラメータ値の表示](USER_WorkingWithParamGroups.Viewing.md)」および「[ DB クラスターパラメータグループのパラメータ値の表示](USER_WorkingWithParamGroups.ViewingCluster.md)」を参照してください。

多くの場合、表現、数式、関数を使用して、整数およびブール型パラメータを指定することができます。関数には、数学的なログ式を含めることができます。ただし、すべてのパラメータが、パラメータ値の表現、数式、関数をサポートしているわけではありません。詳細については、「[DB パラメータの指定](USER_ParamValuesRef.md)」を参照してください。

パラメータグループに不適切な設定のパラメータがあると、パフォーマンスが低下したりシステムが不安定になったり、予期しない悪影響が生じることがあります。データベースパラメータの変更時には常に注意が必要です。パラメータグループの変更前にはデータをバックアップしてください。テスト用 DB インスタンスまたは DB クラスターでパラメータグループの設定の変更を試してから、本番稼働用 DB インスタンスまたは DB クラスターにそれらの変更を適用してください。

# Amazon RDS DB インスタンスの DB パラメータグループ
<a name="USER_WorkingWithDBInstanceParamGroups"></a>

DB インスタンスでは DB パラメータグループが使用されます。次のセクションでは、DB インスタンスパラメータグループの設定と管理について説明します。

**Topics**
+ [Amazon RDS での DB パラメータグループの作成](USER_WorkingWithParamGroups.Creating.md)
+ [Amazon RDS で DB パラメータグループを DB インスタンスに関連付ける](USER_WorkingWithParamGroups.Associating.md)
+ [Amazon RDS の DB パラメータグループのパラメータの変更](USER_WorkingWithParamGroups.Modifying.md)
+ [Amazon RDS の DB パラメータグループのパラメータをデフォルト値にリセットします](USER_WorkingWithParamGroups.Resetting.md)
+ [Amazon RDS での DB パラメータグループのコピー](USER_WorkingWithParamGroups.Copying.md)
+ [Amazon RDS での DB パラメータグループの一覧表示](USER_WorkingWithParamGroups.Listing.md)
+ [Amazon RDS のDB パラメータグループのパラメータ値の表示](USER_WorkingWithParamGroups.Viewing.md)
+ [Amazon RDS での DB パラメータグループの削除](USER_WorkingWithParamGroups.Deleting.md)

# Amazon RDS での DB パラメータグループの作成
<a name="USER_WorkingWithParamGroups.Creating"></a>

新しい DB パラメータグループは、AWS マネジメントコンソール、AWS CLI、または RDS API を使って作成できます。

DB パラメータグループ名には、次の制限事項が適用されます。
+ 名前は、1～255 の英字、数字、ハイフンである必要があります。

  デフォルトのパラメータグループ名には、`default.mysql8.0` のようなピリオドを含めることができます。ただし、カスタムパラメータグループ名にはピリオドを含めることはできません。
+ 1 字目は文字である必要があります。
+ 名前の最後にハイフンを使用したり、ハイフンを 2 つ続けて使用したりすることはできません。

## コンソール
<a name="USER_WorkingWithParamGroups.Creating.CON"></a>

**DB パラメータグループを作成するには**

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

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

1. **[パラメータグループの作成]** を選択します。

1. **[パラメータグループ名]** に、新しい DB パラメータグループの名前を入力します。

1. **[説明]** に、新しい DB パラメータグループの説明を入力します。

1. **[エンジンタイプ]** で DB エンジンを選択します。

1. **[パラメータグループファミリー]** で、DB パラメータグループファミリーを選択します。

1. 該当する場合、**[タイプ]** で **[DB パラメータグループ]** を選択します。

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

## AWS CLI
<a name="USER_WorkingWithParamGroups.Creating.CLI"></a>

DB パラメータグループを作成するには、AWS CLI の [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-parameter-group.html) コマンドを使用します。以下の例では、MySQL バージョン 8.0 用に、*mydbparametergroup* という名前で、「*My new parameter group*」という説明の新しい DB パラメータグループを作成しています。

以下の必須パラメータを含めます。
+ `--db-parameter-group-name`
+ `--db-parameter-group-family`
+ `--description`

使用可能なすべてのパラメータグループファミリーを一覧表示するには、次のコマンドを使用します。

```
aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily"
```

**注記**  
出力は重複が含まれます。

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

```
aws rds create-db-parameter-group \
    --db-parameter-group-name mydbparametergroup \
    --db-parameter-group-family MySQL8.0 \
    --description "My new parameter group"
```
Windows の場合:  

```
aws rds create-db-parameter-group ^
    --db-parameter-group-name mydbparametergroup ^
    --db-parameter-group-family MySQL8.0 ^
    --description "My new parameter group"
```
このコマンドでは、以下のような出力が生成されます。  

```
DBPARAMETERGROUP  mydbparametergroup  mysql8.0  My new parameter group
```

## RDS API
<a name="USER_WorkingWithParamGroups.Creating.API"></a>

DB パラメータグループを作成するには、RDS API の [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBParameterGroup.html) オペレーションを使用します。

以下の必須パラメータを含めます。
+ `DBParameterGroupName`
+ `DBParameterGroupFamily`
+ `Description`

# Amazon RDS で DB パラメータグループを DB インスタンスに関連付ける
<a name="USER_WorkingWithParamGroups.Associating"></a>

カスタマイズした設定を使用して、独自の DB パラメータグループを作成できます。AWS マネジメントコンソール、AWS CLI、または RDS API を使用して、DB パラメータグループを DB インスタンスに関連付けることができます。DB インスタンスを作成または変更するときに、これを行うことができます。

DB パラメータグループの作成については、[Amazon RDS での DB パラメータグループの作成](USER_WorkingWithParamGroups.Creating.md) を参照してください。DB インスタンスの作成については、「[Amazon RDS DB インスタンスの作成](USER_CreateDBInstance.md)」を参照してください。DB インスタンスの変更については、[Amazon RDS DB インスタンスを変更する](Overview.DBInstance.Modifying.md)を参照してください。

**注記**  
新しい DB パラメータグループを DB インスタンスに関連付ける場合、変更された静的パラメータと動的パラメータは、DB インスタンスが再起動された後にのみ適用されます。ただし、DB インスタンスに関連付けた後に DB パラメータグループの動的パラメータを変更すると、これらの変更は再起動せずに直ちに適用されます。

## コンソール
<a name="USER_WorkingWithParamGroups.Associating.CON"></a>

**DB パラメータグループを DB インスタンスに関連付けるには**

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

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

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

1. **DB パラメータグループ**の設定を変更します。

1. [**Continue**] を選択して、変更の概要を確認します。

1. (オプション) 変更をすぐに適用するには、**[Apply immediately]** (すぐに適用) を選択します。このオプションを選択すると、停止状態になる場合があります。詳細については、「[スケジュール変更設定の使用](USER_ModifyInstance.ApplyImmediately.md)」を参照してください。

1. 確認ページで、変更内容を確認します。正しい場合は、[**Modify DB Instance (DB インスタンスを変更)**] を選択して変更を保存します。

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

## AWS CLI
<a name="USER_WorkingWithParamGroups.Associating.CLI"></a>

DB パラメータグループを DB インスタンスに関連付けるには、以下のオプションを指定しながら AWS CLI の [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) コマンドを使用します。
+ `--db-instance-identifier`
+ `--db-parameter-group-name`

次の例では、`mydbpg` DB パラメータグループを `database-1` DB インスタンスに関連付けます。`--apply-immediately` を使用すると変更はすぐに適用されます。`--no-apply-immediately` を使用して、次のメンテナンス時間中に変更を適用します。詳細については、 を参照してください。[スケジュール変更設定の使用](USER_ModifyInstance.ApplyImmediately.md)

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

```
aws rds modify-db-instance \
    --db-instance-identifier database-1 \
    --db-parameter-group-name mydbpg \
    --apply-immediately
```
Windows の場合:  

```
aws rds modify-db-instance ^
    --db-instance-identifier database-1 ^
    --db-parameter-group-name mydbpg ^
    --apply-immediately
```

## RDS API
<a name="USER_WorkingWithParamGroups.Associating.API"></a>

DB パラメータグループを DB インスタンスに関連付けるには、以下のパラメータを指定しながら RDS API の [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) オペレーションを使用します。
+ `DBInstanceName`
+ `DBParameterGroupName`

# Amazon RDS の DB パラメータグループのパラメータの変更
<a name="USER_WorkingWithParamGroups.Modifying"></a>

ユーザー定義の DB パラメータグループのパラメータ値は変更できますが、デフォルトの DB パラメータグループのパラメータ値を変更することはできません。ユーザー定義の DB パラメータグループのパラメータの変更は、その DB パラメータグループに関連付けられたすべての DB インスタンスに適用されます。

パラメータには、動的パラメータと静的パラメータの 2 種類があります。動的パラメータへの変更は、再起動せずに直ちに DB インスタンスに適用されます。静的パラメータへの変更は、DB インスタンスの再起動後にのみ適用されます。

DB インスタンスに関連付けられている DB パラメータグループのステータスは、RDS コンソールの [**設定**] タブに表示されます。例えば、DB インスタンスがその関連付けられた DB パラメータグループの最新の変更を使用していない場合、RDS コンソールは、DB パラメータグループのステータスを [**再起動の保留中**] と表示します。パラメータの最新の変更を DB インスタンスに適用するには、DB インスタンスを手動で再起動します。

![\[再起動保留中のパラメータ変更のシナリオ\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/param-reboot.png)


## コンソール
<a name="USER_WorkingWithParamGroups.Modifying.CON"></a>

**DB パラメータグループ内のパラメータを変更するには**

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

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

1. リストで、変更するパラメータグループの名前を選択します。

1. [**Parameter group actions (パラメータグループのアクション)**] で、[**編集**] を選択します。

1. 変更するパラメータの値を変更します。ダイアログボックスの右上にある矢印キーを使用して、パラメータをスクロールできます。

   デフォルトパラメータグループの値を変更することはできません。

1. [**Save changes**] (変更を保存) をクリックします。

## AWS CLI
<a name="USER_WorkingWithParamGroups.Modifying.CLI"></a>

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

以下の例では、*mydbparametergroup *という名前の DB パラメータグループの ` max_connections` と `max_allowed_packet` の値を変更しています。

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

```
aws rds modify-db-parameter-group \
    --db-parameter-group-name mydbparametergroup \
    --parameters "ParameterName=max_connections,ParameterValue=250,ApplyMethod=immediate" \
                 "ParameterName=max_allowed_packet,ParameterValue=1024,ApplyMethod=immediate"
```
Windows の場合:  

```
aws rds modify-db-parameter-group ^
    --db-parameter-group-name mydbparametergroup ^
    --parameters "ParameterName=max_connections,ParameterValue=250,ApplyMethod=immediate" ^
                 "ParameterName=max_allowed_packet,ParameterValue=1024,ApplyMethod=immediate"
```
このコマンドでは、以下のような出力が生成されます。  

```
DBPARAMETERGROUP  mydbparametergroup
```

## RDS API
<a name="USER_WorkingWithParamGroups.Modifying.API"></a>

DB パラメータグループを変更するには、以下の必須パラメータを指定しながら RDS API の [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBParameterGroup.html) オペレーションを使用します。
+ `DBParameterGroupName`
+ `Parameters`

# Amazon RDS の DB パラメータグループのパラメータをデフォルト値にリセットします
<a name="USER_WorkingWithParamGroups.Resetting"></a>

顧客が作成した DB パラメータグループのパラメータ値をデフォルト値にリセットできます。ユーザー定義の DB パラメータグループのパラメータの変更は、その DB パラメータグループに関連付けられたすべての DB インスタンスに適用されます。

コンソールを使用すると、特定のパラメータをデフォルト値にリセットできます。ただし、DB パラメータグループのすべてのパラメータを一度にリセットするのは簡単ではありません。AWS CLI または RDS API を使用すると、特定のパラメータをデフォルト値にリセットできます。DB パラメータグループのすべてのパラメータを一度にリセットすることもできます。

一部のパラメータへの変更は、再起動せずに直ちに DB インスタンスに適用されます。他のパラメータの変更は、DB インスタンスの再起動後にのみ適用されます。DB インスタンスに関連付けられている DB パラメータグループのステータスは、RDS コンソールの [**設定**] タブに表示されます。例えば、DB インスタンスがその関連付けられた DB パラメータグループに対する最新の変更を使用していないとします。その場合、RDS コンソールは、DB パラメータグループのステータスを **[pending-reboot]** (再起動の保留中) と表示します。パラメータの最新の変更を DB インスタンスに適用するには、DB インスタンスを手動で再起動します。

![\[再起動保留中のパラメータ変更のシナリオ\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/param-reboot.png)


**注記**  
デフォルトの DB パラメータグループでは、パラメータは常にデフォルト値に設定されます。

## コンソール
<a name="USER_WorkingWithParamGroups.Resetting.CON"></a>

**DB パラメータグループのパラメータをデフォルト値にリセットするには**

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

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

1. リストからパラメータグループを選択します。

1. [**Parameter group actions (パラメータグループのアクション)**] で、[**編集**] を選択します。

1. デフォルト値にリセットするパラメータを選択します。ダイアログボックスの右上にある矢印キーを使用して、パラメータをスクロールできます。

   デフォルトのパラメータグループの値をリセットすることはできません。

1. **リセット**を選択し、**パラメータをリセット**を選択して確定します。

## AWS CLI
<a name="USER_WorkingWithParamGroups.Resetting.CLI"></a>

DB パラメータグループの一部またはすべてのパラメータをリセットするには、AWS CLI[https://docs.aws.amazon.com/cli/latest/reference/rds/reset-db-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/reset-db-parameter-group.html)コマンドに必須オプション`--db-parameter-group-name`を指定します。

DB パラメータグループのすべてのパラメータをリセットするには、`--reset-all-parameters`オプションを指定します。特定のパラメータをリセットするには、`--parameters`オプションを指定します。

次の例では、*mydbparametergroup* という名前の DB パラメータグループ内のすべてのパラメータをデフォルト値にリセットします。

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

```
aws rds reset-db-parameter-group \
    --db-parameter-group-name mydbparametergroup \
    --reset-all-parameters
```
Windows の場合:  

```
aws rds reset-db-parameter-group ^
    --db-parameter-group-name mydbparametergroup ^
    --reset-all-parameters
```

次の例では、*mydbparametergroup* という名前の DB パラメータグループのおよび`max_connections`オプション`max_allowed_packet`をデフォルト値にリセットします。

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

```
aws rds reset-db-parameter-group \
    --db-parameter-group-name mydbparametergroup \
    --parameters "ParameterName=max_connections,ApplyMethod=immediate" \
                 "ParameterName=max_allowed_packet,ApplyMethod=immediate"
```
Windows の場合:  

```
aws rds reset-db-parameter-group ^
    --db-parameter-group-name mydbparametergroup ^
    --parameters "ParameterName=max_connections,ApplyMethod=immediate" ^
                 "ParameterName=max_allowed_packet,ApplyMethod=immediate"
```
このコマンドでは、以下のような出力が生成されます。  

```
DBParameterGroupName  mydbparametergroup
```

## RDS API
<a name="USER_WorkingWithParamGroups.Resetting.API"></a>

DB パラメータグループ内のパラメータをデフォルト値にリセットするには、RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ResetDBParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ResetDBParameterGroup.html) コマンドに必須パラメータ `DBParameterGroupName` を指定します。

DB パラメータグループのすべてのパラメータをリセットするには、`ResetAllParameters`パラメータを`true`に設定します。特定のパラメータをリセットするには、`Parameters`パラメータを指定します。

# Amazon RDS での DB パラメータグループのコピー
<a name="USER_WorkingWithParamGroups.Copying"></a>

作成したカスタム DB パラメータグループをコピーできます。パラメータグループのコピーは便利なソリューションです。例としては、作成済みの DB パラメータグループがあり、そのほとんどのカスタムパラメータと値を、新しい DB パラメータグループに含める場合です。AWS マネジメントコンソール を使用して、DB パラメータグループをコピーできます。AWS CLI [copy-db-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/copy-db-parameter-group.html) コマンド、または RDS API [CopyDBParameterGroup](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CopyDBParameterGroup.html) オペレーションも使用できます。

DB パラメータグループをコピーした後で、その DB パラメータグループをデフォルトのパラメータグループとして使用する最初の DB インスタンスを作成するまで、最低 5 分待ちます。これにより、パラメータグループを使用する前に、Amazon RDS はコピーアクションが完全に終了できます。これは、DB インスタンスのデフォルトのデータベースを作成する際に不可欠となるパラメータで特に重要です。例としては、`character_set_database` パラメータで定義するデフォルトのデータベースの文字セットが挙げられます。DB パラメータグループが作成されたことを確認するには、**Amazon RDS コンソール**の [[パラメータグループ](https://console.aws.amazon.com/rds/)] オプション、または [describe-db-parameters](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-parameters.html) コマンドを使用します。

**注記**  
デフォルトのパラメータグループをコピーすることはできません。ただし、デフォルトのパラメータグループに基づく新しいパラメータグループを作成できます。  
DB パラメータグループを別の AWS アカウント または AWS リージョン にコピーすることはできません。

## コンソール
<a name="USER_WorkingWithParamGroups.Copying.CON"></a>

**DB パラメータグループをコピーするには**

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

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

1. リストで、コピーするカスタムパラメータグループを選択します。

1. [**Parameter group actions (パラメータグループのアクション)**] で、[**コピー**] を選択します。

1. [**新規の DB パラメータグループの識別子**] に、新しいパラメータグループの名前を入力します。

1. [**説明**] に、新しいパラメータグループの説明を入力します。

1. [**Copy (コピー)**] を選択します。

## AWS CLI
<a name="USER_WorkingWithParamGroups.Copying.CLI"></a>

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

次の例は、DB パラメータグループ `mygroup2` のコピーである `mygroup1` という名前の新しい DB パラメータグループを作成します。

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

```
aws rds copy-db-parameter-group \
    --source-db-parameter-group-identifier mygroup1 \
    --target-db-parameter-group-identifier mygroup2 \
    --target-db-parameter-group-description "DB parameter group 2"
```
Windows の場合:  

```
aws rds copy-db-parameter-group ^
    --source-db-parameter-group-identifier mygroup1 ^
    --target-db-parameter-group-identifier mygroup2 ^
    --target-db-parameter-group-description "DB parameter group 2"
```

## RDS API
<a name="USER_WorkingWithParamGroups.Copying.API"></a>

DB パラメータグループをコピーするには、以下の必須パラメータを指定して、RDS API の [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CopyDBParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CopyDBParameterGroup.html) オペレーションを使用します。
+ `SourceDBParameterGroupIdentifier`
+ `TargetDBParameterGroupIdentifier`
+ `TargetDBParameterGroupDescription`

# Amazon RDS での DB パラメータグループの一覧表示
<a name="USER_WorkingWithParamGroups.Listing"></a>

AWS アカウント用に作成した DB パラメータグループを一覧表示できます。

**注記**  
デフォルトのパラメータグループは、特定の DB エンジンとバージョンの DB インスタンスを作成するときに、デフォルトのパラメータテンプレートから自動的に作成されます。これらのデフォルトのパラメータグループには、優先されるパラメータ設定が含まれています。これを変更することはできません。カスタムパラメータグループを作成する場合、パラメータ設定を変更できます。

## コンソール
<a name="USER_WorkingWithParamGroups.Listing.CON"></a>

**AWS アカウントのすべての DB パラメータグループを一覧表示するには**

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

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

   DB パラメータグループがリストに表示されます。

## AWS CLI
<a name="USER_WorkingWithParamGroups.Listing.CLI"></a>

AWS アカウントのすべての DB パラメータグループを一覧表示するには、AWS CLI の [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-parameter-groups.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-parameter-groups.html) コマンドを使用します。

**Example**  
以下の例では、AWS アカウントに使用できるすべての DB パラメータグループを一覧表示しています。  

```
aws rds describe-db-parameter-groups
```
このコマンドでは次のようなレスポンスが返されます。  

```
DBPARAMETERGROUP  default.mysql8.0     mysql8.0  Default parameter group for MySQL8.0
DBPARAMETERGROUP  mydbparametergroup   mysql8.0  My new parameter group
```
次の例は、*mydbparamgroup1* パラメータグループを表しています。  
Linux、macOS、Unix の場合:  

```
aws rds describe-db-parameter-groups \
    --db-parameter-group-name mydbparamgroup1
```
Windows の場合:  

```
aws rds describe-db-parameter-groups ^
    --db-parameter-group-name mydbparamgroup1
```
このコマンドでは次のようなレスポンスが返されます。  

```
DBPARAMETERGROUP  mydbparametergroup1  mysql8.0  My new parameter group
```

## RDS API
<a name="USER_WorkingWithParamGroups.Listing.API"></a>

AWS アカウントのすべての DB パラメータグループを一覧表示するには、RDS API の [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBParameterGroups.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBParameterGroups.html) オペレーションを使用します。

# Amazon RDS のDB パラメータグループのパラメータ値の表示
<a name="USER_WorkingWithParamGroups.Viewing"></a>

DB パラメータグループのすべてのパラメータとそれらの値のリストを取得できます。

## コンソール
<a name="USER_WorkingWithParamGroups.Viewing.CON"></a>

**DB パラメータグループのパラメータ値を表示するには**

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

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

   DB パラメータグループがリストに表示されます。

1. パラメータを一覧表示するパラメータグループの名前を選択します。

## AWS CLI
<a name="USER_WorkingWithParamGroups.Viewing.CLI"></a>

DB パラメータグループのパラメータ値を表示するには、以下の必須パラメータを指定して、AWS CLI の [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-parameters.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-parameters.html) コマンドを使用します。
+ `--db-parameter-group-name`

**Example**  
以下の例では、*mydbparametergroup* という名前の DB パラメータグループのパラメータとその値を一覧表示しています。  

```
aws rds describe-db-parameters --db-parameter-group-name mydbparametergroup
```
このコマンドでは次のようなレスポンスが返されます。  

```
DBPARAMETER  Parameter Name            Parameter Value  Source           Data Type  Apply Type  Is Modifiable
DBPARAMETER  allow-suspicious-udfs                      engine-default   boolean    static      false
DBPARAMETER  auto_increment_increment                   engine-default   integer    dynamic     true
DBPARAMETER  auto_increment_offset                      engine-default   integer    dynamic     true
DBPARAMETER  binlog_cache_size         32768            system           integer    dynamic     true
DBPARAMETER  socket                    /tmp/mysql.sock  system           string     static      false
```

## RDS API
<a name="USER_WorkingWithParamGroups.Viewing.API"></a>

DB パラメータグループのパラメータ値を表示するには、以下の必須パラメータを指定して、RDS API の [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBParameters.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBParameters.html) コマンドを使用します。
+ `DBParameterGroupName`

# Amazon RDS での DB パラメータグループの削除
<a name="USER_WorkingWithParamGroups.Deleting"></a>

DB パラメータグループは、AWS マネジメントコンソール、AWS CLI、または RDS API を使用して削除できます。パラメータグループは、DB インスタンスに関連付けられていない場合にのみ削除できます。

## コンソール
<a name="USER_WorkingWithParamGroups.Deleting.CON"></a>

**DB パラメータグループを削除するには**

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

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

   DB パラメータグループがリストに表示されます。

1. 削除するパラメータグループの名前を選択します。

1. **[アクション]** を選択し、**[削除]** を選択します。

1. パラメータグループ名を確認して、**[削除]** を選択します。

## AWS CLI
<a name="USER_WorkingWithParamGroups.Deleting.CLI"></a>

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

**Example**  
次の例では、**mydbparametergroup という名前の DB パラメータグループを削除します。  

```
aws rds delete-db-parameter-group --db-parameter-group-name mydbparametergroup
```

## RDS API
<a name="USER_WorkingWithParamGroups.Deleting.API"></a>

DB パラメータグループを削除するには、RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteDBParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteDBParameterGroup.html) コマンドを使用して、次の必須パラメータを指定します。
+ `DBParameterGroupName`

# マルチ AZ DB クラスターの DB クラスターパラメータグループを使用する
<a name="USER_WorkingWithDBClusterParamGroups"></a>

マルチ AZ DB クラスターでは、DB クラスターパラメータグループが使用されます。次のセクションでは、DB クラスターパラメータグループの設定と管理について説明します。

**Topics**
+ [DB クラスターパラメータグループの作成](USER_WorkingWithParamGroups.CreatingCluster.md)
+ [DB クラスターパラメータグループのパラメータの変更](USER_WorkingWithParamGroups.ModifyingCluster.md)
+ [DB クラスターパラメータグループのパラメータのリセット](USER_WorkingWithParamGroups.ResettingCluster.md)
+ [DB クラスターパラメータグループのコピー](USER_WorkingWithParamGroups.CopyingCluster.md)
+ [DB クラスターパラメータグループの一覧表示](USER_WorkingWithParamGroups.ListingCluster.md)
+ [DB クラスターパラメータグループのパラメータ値の表示](USER_WorkingWithParamGroups.ViewingCluster.md)
+ [DB クラスターパラメータグループの削除](USER_WorkingWithParamGroups.DeletingCluster.md)

# DB クラスターパラメータグループの作成
<a name="USER_WorkingWithParamGroups.CreatingCluster"></a>

新しい DB クラスターパラメータグループは、AWS マネジメントコンソール、AWS CLI、または RDS API を使って作成できます。

DB クラスターパラメータグループの作成後、その DB クラスターパラメータグループを使用する最初の DB クラスターが作成されるまで、5 分以上かかります。これにより、Amazon RDS は新しい DB クラスターによって使用される前に、パラメータグループを完全に作成することができます。DB クラスターパラメータグループが作成されたことを確認するには、[Amazon RDS コンソール](https://console.aws.amazon.com/rds/)の **[パラメータグループ]** ページまたは [describe-db-cluster-parameters](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-cluster-parameters.html) コマンドを使用できます。

DB クラスターパラメータグループ名には、次の制限事項が適用されます。
+ 名前は、1～255 の英字、数字、ハイフンである必要があります。

  デフォルトのパラメータグループ名には、`default.mysql5.7` のようなピリオドを含めることができます。ただし、カスタムパラメータグループ名にはピリオドを含めることはできません。
+ 1 字目は文字である必要があります。
+ 名前の最後にハイフンを使用したり、ハイフンを 2 つ続けて使用したりすることはできません。

## コンソール
<a name="USER_WorkingWithParamGroups.CreatingCluster.CON"></a>

**DB クラスターパラメータグループを作成するには**

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

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

1. **[パラメータグループの作成]** を選択します。

1. **[パラメータグループ名]** に、新しい DB クラスターパラメータグループの名前を入力します。

1. **[説明]** に、新しい DB クラスターパラメータグループの説明を入力します。

1. **[エンジンタイプ]** でデータベースエンジンを選択します。

1. **[パラメータグループファミリー]** で、DB パラメータグループファミリーを選択します。

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

## AWS CLI
<a name="USER_WorkingWithParamGroups.CreatingCluster.CLI"></a>

DB クラスターのパラメータグループを作成するには、AWS CLI​ の [​`create-db-cluster-parameter-group`](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-cluster-parameter-group.html)​ コマンドを使用します。

次の例では、RDS for MySQL バージョン 8.0 用に、*mydbclusterparametergroup* という名前で、「*My new cluster parameter group*」(新しいクラスターパラメータグループ) という説明の DB クラスターパラメータグループを作成しています。

以下の必須パラメータを含めます。
+ `--db-cluster-parameter-group-name`
+ `--db-parameter-group-family`
+ `--description`

使用可能なすべてのパラメータグループファミリーを一覧表示するには、次のコマンドを使用します。

```
aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily"
```

**注記**  
出力は重複が含まれます。

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

```
aws rds create-db-cluster-parameter-group \
    --db-cluster-parameter-group-name mydbclusterparametergroup \
    --db-parameter-group-family mysql8.0 \
    --description "My new cluster parameter group"
```
Windows の場合:  

```
aws rds create-db-cluster-parameter-group ^
    --db-cluster-parameter-group-name mydbclusterparametergroup ^
    --db-parameter-group-family mysql8.0 ^
    --description "My new cluster parameter group"
```
このコマンドでは、以下のような出力が生成されます。  

```
{
    "DBClusterParameterGroup": {
        "DBClusterParameterGroupName": "mydbclusterparametergroup",
        "DBParameterGroupFamily": "mysql8.0",
        "Description": "My new cluster parameter group",
        "DBClusterParameterGroupArn": "arn:aws:rds:us-east-1:123456789012:cluster-pg:mydbclusterparametergroup2"
    }
}
```

## RDS API
<a name="USER_WorkingWithParamGroups.CreatingCluster.API"></a>

DB クラスターのパラメータグループを作成するには、​RDS API の ​[https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBClusterParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBClusterParameterGroup.html) アクションを使用します。

以下の必須パラメータを含めます。
+ `DBClusterParameterGroupName`
+ `DBParameterGroupFamily`
+ `Description`

# DB クラスターパラメータグループのパラメータの変更
<a name="USER_WorkingWithParamGroups.ModifyingCluster"></a>

ユーザーが作成した DB クラスターパラメータグループのパラメータ値は変更できます。デフォルト DB クラスターパラメータグループのパラメータ値は変更できません。ユーザー定義の DB クラスターパラメータグループのパラメータの変更は、その DB クラスターパラメータグループに関連付けられたすべての DB クラスターに適用されます。

## コンソール
<a name="USER_WorkingWithParamGroups.ModifyingCluster.CON"></a>

**DB クラスターパラメータグループを変更するには**

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

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

1. リストで、変更するパラメータグループを選択します。

1. [**Parameter group actions (パラメータグループのアクション)**] で、[**編集**] を選択します。

1. 変更するパラメータの値を変更します。ダイアログボックスの右上にある矢印キーを使用して、パラメータをスクロールできます。

   デフォルトパラメータグループの値を変更することはできません。

1. **[変更を保存]** をクリックします。

1. クラスター内のを再起動して、変更を適用します。

   クラスターを再起動しない場合、フェイルオーバーオペレーションに通常よりも時間がかかることがあります。

## AWS CLI
<a name="USER_WorkingWithParamGroups.ModifyingCluster.CLI"></a>

DB クラスターパラメータグループを変更するには、以下の必須パラメータを指定しながら AWS CLI の [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster-parameter-group.html) コマンドを使用します。
+ `--db-cluster-parameter-group-name`
+ `--parameters`

以下の例では、*mydbclusterparametergroup *という名前の DB クラスターパラメータグループの `server_audit_logging` と `server_audit_logs_upload` の値を変更しています。

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

```
aws rds modify-db-cluster-parameter-group \
    --db-cluster-parameter-group-name mydbclusterparametergroup \
    --parameters "ParameterName=server_audit_logging,ParameterValue=1,ApplyMethod=immediate" \
                 "ParameterName=server_audit_logs_upload,ParameterValue=1,ApplyMethod=immediate"
```
Windows の場合:  

```
aws rds modify-db-cluster-parameter-group ^
    --db-cluster-parameter-group-name mydbclusterparametergroup ^
    --parameters "ParameterName=server_audit_logging,ParameterValue=1,ApplyMethod=immediate" ^
                 "ParameterName=server_audit_logs_upload,ParameterValue=1,ApplyMethod=immediate"
```
このコマンドでは、以下のような出力が生成されます。  

```
DBCLUSTERPARAMETERGROUP  mydbclusterparametergroup
```

## RDS API
<a name="USER_WorkingWithParamGroups.ModifyingCluster.API"></a>

DB クラスターのパラメータグループを変更するには、以下の必須パラメータを指定しながら RDS API の [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBClusterParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBClusterParameterGroup.html) コマンドを使用します。
+ `DBClusterParameterGroupName`
+ `Parameters`

# DB クラスターパラメータグループのパラメータのリセット
<a name="USER_WorkingWithParamGroups.ResettingCluster"></a>

顧客が作成した DB クラスターパラメータグループの、デフォルト値のパラメータはリセットできます。ユーザー定義の DB クラスターパラメータグループのパラメータの変更は、その DB クラスターパラメータグループに関連付けられたすべての DB クラスターに適用されます。

**注記**  
デフォルトの DB クラスターパラメータグループでは、パラメータは常にデフォルト値に設定されます。

## コンソール
<a name="USER_WorkingWithParamGroups.ResettingCluster.CON"></a>

**DB クラスターパラメータグループのパラメータをデフォルト値にリセットするには**

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

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

1. リストからパラメータグループを選択します。

1. [**Parameter group actions (パラメータグループのアクション)**] で、[**編集**] を選択します。

1. デフォルト値にリセットするパラメータを選択します。ダイアログボックスの右上にある矢印キーを使用して、パラメータをスクロールできます。

   デフォルトのパラメータグループの値をリセットすることはできません。

1. **リセット**を選択し、**パラメータをリセット**を選択して確定します。

1. 。

## AWS CLI
<a name="USER_WorkingWithParamGroups.ResettingCluster.CLI"></a>

DB クラスターのパラメータグループにおいて、パラメータをデフォルト値にリセットするには、以下の `--db-cluster-parameter-group-name` オプション (必須) を指定しながら AWS CLI の [https://docs.aws.amazon.com/cli/latest/reference/rds/reset-db-cluster-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/reset-db-cluster-parameter-group.html) コマンドを使用します。

DB クラスターパラメータグループのパラメータをすべてリセットするには、`--reset-all-parameters` オプションを指定します。特定のパラメータをリセットするには、`--parameters`オプションを指定します。

次の例では、*mydbparametergroup* という名前の DB パラメータグループ内のすべてのパラメータをデフォルト値にリセットします。

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

```
aws rds reset-db-cluster-parameter-group \
    --db-cluster-parameter-group-name mydbparametergroup \
    --reset-all-parameters
```
Windows の場合:  

```
aws rds reset-db-cluster-parameter-group ^
    --db-cluster-parameter-group-name mydbparametergroup ^
    --reset-all-parameters
```

以下の例では、*mydbclusterparametergroup* という名前の DB クラスターパラメータグループにある `server_audit_logging` と `server_audit_logs_upload` をデフォルト値にリセットしています。

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

```
aws rds reset-db-cluster-parameter-group \
    --db-cluster-parameter-group-name mydbclusterparametergroup \
    --parameters "ParameterName=server_audit_logging,ApplyMethod=immediate" \
                 "ParameterName=server_audit_logs_upload,ApplyMethod=immediate"
```
Windows の場合:  

```
aws rds reset-db-cluster-parameter-group ^
    --db-cluster-parameter-group-name mydbclusterparametergroup ^
    --parameters "ParameterName=server_audit_logging,ParameterValue=1,ApplyMethod=immediate" ^
                 "ParameterName=server_audit_logs_upload,ParameterValue=1,ApplyMethod=immediate"
```
このコマンドでは、以下のような出力が生成されます。  

```
DBClusterParameterGroupName  mydbclusterparametergroup
```

## RDS API
<a name="USER_WorkingWithParamGroups.ResettingCluster.API"></a>

DB クラスターパラメータグループのパラメータをデフォルト値にリセットするには、以下の必須パラメータを指定して、RDS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ResetDBClusterParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ResetDBClusterParameterGroup.html)コマンドを使用します。`DBClusterParameterGroupName`

DB クラスターパラメータグループのパラメータをすべてリセットするには、`ResetAllParameters` パラメータを `true` に設定します。特定のパラメータをリセットするには、`Parameters`パラメータを指定します。

# DB クラスターパラメータグループのコピー
<a name="USER_WorkingWithParamGroups.CopyingCluster"></a>

作成したカスタム DB クラスターパラメータグループをコピーできます。パラメータグループのコピーは、作成済みの DB クラスターパラメータグループがあり、そのグループの多くのカスタムパラメータと値を新しい DB クラスターパラメータグループに含める必要がある場合に便利な方法です。DB クラスターパラメータグループをコピーするには、AWS CLI [copy-db-cluster-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/copy-db-cluster-parameter-group.html) コマンド、または RDS API [CopyDBClusterParameterGroup](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CopyDBParameterGroup.html) オペレーションを使用できます。

DB クラスターパラメータグループをコピーした後で、この DB クラスターパラメータグループを使用する DB クラスターを作成するまで、5 分以上かかります。これにより、Amazon RDS は新しい DB クラスターによって使用される前に、パラメータグループを完全にコピーすることができます。DB クラスターパラメータグループが作成されたことを確認するには、[Amazon RDS コンソール](https://console.aws.amazon.com/rds/)の **[Parameter groups]** (パラメータグループ) ページまたは [describe-db-cluster-parameters](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-cluster-parameters.html) コマンドを使用できます。

**注記**  
デフォルトのパラメータグループをコピーすることはできません。ただし、デフォルトのパラメータグループに基づく新しいパラメータグループを作成できます。  
DB クラスターパラメータグループを別の AWS アカウント または AWS リージョン にコピーすることはできません。

## コンソール
<a name="USER_WorkingWithParamGroups.CopyingCluster.CON"></a>

**DB クラスターパラメータグループをコピーするには**

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

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

1. リストで、コピーするカスタムパラメータグループを選択します。

1. [**Parameter group actions (パラメータグループのアクション)**] で、[**コピー**] を選択します。

1. [**新規の DB パラメータグループの識別子**] に、新しいパラメータグループの名前を入力します。

1. [**説明**] に、新しいパラメータグループの説明を入力します。

1. [**Copy (コピー)**] を選択します。

## AWS CLI
<a name="USER_WorkingWithParamGroups.CopyingCluster.CLI"></a>

DB クラスターのパラメータグループをコピーするには、以下の必須パラメータを指定しながら AWS CLI の [https://docs.aws.amazon.com/cli/latest/reference/rds/copy-db-cluster-parameter-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/copy-db-cluster-parameter-group.html) コマンドを使用します。
+ `--source-db-cluster-parameter-group-identifier`
+ `--target-db-cluster-parameter-group-identifier`
+ `--target-db-cluster-parameter-group-description`

次の例は、DB クラスターパラメータグループ `mygroup2` のコピーである `mygroup1` という名前の新しい DB クラスターパラメータグループを作成します。

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

```
aws rds copy-db-cluster-parameter-group \
    --source-db-cluster-parameter-group-identifier mygroup1 \
    --target-db-cluster-parameter-group-identifier mygroup2 \
    --target-db-cluster-parameter-group-description "DB parameter group 2"
```
Windows の場合:  

```
aws rds copy-db-cluster-parameter-group ^
    --source-db-cluster-parameter-group-identifier mygroup1 ^
    --target-db-cluster-parameter-group-identifier mygroup2 ^
    --target-db-cluster-parameter-group-description "DB parameter group 2"
```

## RDS API
<a name="USER_WorkingWithParamGroups.Copying.API"></a>

DB クラスターパラメータグループをコピーするには、以下の必須パラメータを指定して、RDS API の [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CopyDBClusterParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CopyDBClusterParameterGroup.html) オペレーションを使用します。
+ `SourceDBClusterParameterGroupIdentifier`
+ `TargetDBClusterParameterGroupIdentifier`
+ `TargetDBClusterParameterGroupDescription`

# DB クラスターパラメータグループの一覧表示
<a name="USER_WorkingWithParamGroups.ListingCluster"></a>

AWS アカウント用に作成した DB クラスターパラメータグループを一覧表示できます。

**注記**  
デフォルトのパラメータグループは、特定の DB エンジンとバージョンの DB クラスターを作成するときに、デフォルトのパラメータテンプレートから自動的に作成されます。これらのデフォルトのパラメータグループには、優先されるパラメータ設定が含まれています。これを変更することはできません。カスタムパラメータグループを作成する場合、パラメータ設定を変更できます。

## コンソール
<a name="USER_WorkingWithParamGroups.ListingCluster.CON"></a>

**AWS アカウントのすべての DB クラスターパラメータグループを一覧表示するには**

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

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

   DB クラスターパラメータグループは、[**Type**] (タイプ) が [**DB cluster parameter group**] (DB クラスターパラメータグループ) のリストに表示されます。

## AWS CLI
<a name="USER_WorkingWithParamGroups.ListingCluster.CLI"></a>

AWS アカウントにある、すべての DB クラスターのパラメータグループを一覧表示するには、AWS CLI の [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-clusterparameter-groups.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-clusterparameter-groups.html) コマンドを使用します。

**Example**  
以下の例では、AWS アカウントに使用できるすべての DB クラスターパラメータグループを一覧表示しています。  

```
aws rds describe-db-cluster-parameter-groups
```
次の例は、*mydbclusterparametergroup* パラメータグループを表しています。  
Linux、macOS、Unix の場合:  

```
aws rds describe-db-cluster-parameter-groups \
    --db-cluster-parameter-group-name mydbclusterparametergroup
```
Windows の場合:  

```
aws rds describe-db-cluster-parameter-groups ^
    --db-cluster-parameter-group-name mydbclusterparametergroup
```
このコマンドでは次のようなレスポンスが返されます。  

```
{
    "DBClusterParameterGroups": [
        {
            "DBClusterParameterGroupName": "mydbclusterparametergroup2",
            "DBParameterGroupFamily": "mysql8.0",
            "Description": "My new cluster parameter group",
            "DBClusterParameterGroupArn": "arn:aws:rds:us-east-1:123456789012:cluster-pg:mydbclusterparametergroup"
        }
    ]
}
```

## RDS API
<a name="USER_WorkingWithParamGroups.ListingCluster.API"></a>

AWS アカウントにある、すべての DB クラスターのパラメータグループを一覧表示するには、RDS API の [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBClusterParameterGroups.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBClusterParameterGroups.html) アクションを使用します。

# DB クラスターパラメータグループのパラメータ値の表示
<a name="USER_WorkingWithParamGroups.ViewingCluster"></a>

DB クラスターパラメータグループのすべてのパラメータとそれらの値のリストを取得できます。

## コンソール
<a name="USER_WorkingWithParamGroups.ViewingCluster.CON"></a>

**DB クラスターパラメータグループのパラメータ値を表示するには**

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

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

   DB クラスターパラメータグループは、**[タイプ]** が **[DB クラスターパラメータグループ]** のリストに表示されます。

1. パラメータを一覧表示する DB クラスターパラメータグループの名前を選択します。

## AWS CLI
<a name="USER_WorkingWithParamGroups.ViewingCluster.CLI"></a>

DB クラスターのパラメータグループについて、そのパラメータ値を表示するには、以下の必須パラメータを指定しながら AWS CLI の [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-cluster-parameters.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-cluster-parameters.html) コマンドを使用します。
+ `--db-cluster-parameter-group-name`

**Example**  
以下の例では、JSON 形式の *mydbclusterparametergroup* という名前の DB クラスターパラメータグループのパラメータとその値を一覧表示しています。  
このコマンドでは次のようなレスポンスが返されます。  

```
aws rds describe-db-cluster-parameters --db-cluster-parameter-group-name mydbclusterparametergroup
```

```
{
    "Parameters": [
        {
            "ParameterName": "activate_all_roles_on_login",
            "ParameterValue": "0",
            "Description": "Automatically set all granted roles as active after the user has authenticated successfully.",
            "Source": "engine-default",
            "ApplyType": "dynamic",
            "DataType": "boolean",
            "AllowedValues": "0,1",
            "IsModifiable": true,
            "ApplyMethod": "pending-reboot",
            "SupportedEngineModes": [
                "provisioned"
            ]
        },
        {
            "ParameterName": "allow-suspicious-udfs",
            "Description": "Controls whether user-defined functions that have only an xxx symbol for the main function can be loaded",
            "Source": "engine-default",
            "ApplyType": "static",
            "DataType": "boolean",
            "AllowedValues": "0,1",
            "IsModifiable": false,
            "ApplyMethod": "pending-reboot",
            "SupportedEngineModes": [
                "provisioned"
            ]
        },
...
```

## RDS API
<a name="USER_WorkingWithParamGroups.ViewingCluster.API"></a>

DB クラスターパラメータグループのパラメータ値を表示するには、以下の必須パラメータを指定して、RDS API の [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBParameters.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBParameters.html) コマンドを使用します。
+ `DBClusterParameterGroupName`

場合によっては、パラメータに指定できる値が表示されないことがあります。これらは常にソースがデータベースエンジンのデフォルトであるパラメータです。

これらのパラメータの値を表示するには、次の SQL ステートメントを実行します。
+ MySQL:

  ```
  -- Show the value of a particular parameter
  mysql$ SHOW VARIABLES LIKE '%parameter_name%';
  
  -- Show the values of all parameters
  mysql$ SHOW VARIABLES;
  ```
+ PostgreSQL:

  ```
  -- Show the value of a particular parameter
  postgresql=> SHOW parameter_name;
  
  -- Show the values of all parameters
  postgresql=> SHOW ALL;
  ```

# DB クラスターパラメータグループの削除
<a name="USER_WorkingWithParamGroups.DeletingCluster"></a>

DB クラスターパラメータグループは、AWS マネジメントコンソール、AWS CLI、または RDS API を使用して削除できます。DB クラスターパラメータグループは、DB クラスターに関連付けられていない場合にのみ削除できます。

## コンソール
<a name="USER_WorkingWithParamGroups.DeletingCluster.CON"></a>

**パラメータグループを削除するには**

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

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

   パラメータグループがリストに表示されます。

1. 削除する DB クラスターパラメータグループの名前を選択します。

1. **[アクション]** を選択し、**[削除]** を選択します。

1. パラメータグループ名を確認して、**[削除]** を選択します。

## AWS CLI
<a name="USER_WorkingWithParamGroups.DeletingCluster.CLI"></a>

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

**Example**  
次の例では、**mydbparametergroup という名前の DB クラスターパラメータグループを削除します。  

```
aws rds delete-db-cluster-parameter-group --db-parameter-group-name mydbparametergroup
```

## RDS API
<a name="USER_WorkingWithParamGroups.DeletingCluster.API"></a>

DB クラスターパラメータグループを削除するには、RDS API の [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteDBClusterParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteDBClusterParameterGroup.html) コマンドを使用して、次の必須パラメータを指定します。
+ `DBParameterGroupName`

# DB パラメータグループを比較する
<a name="USER_WorkingWithParamGroups.Comparing"></a>

AWS マネジメントコンソール を使用して、2 つの DB パラメータグループ間の差異を表示できます。

指定されたパラメータグループは、両方とも DB パラメータグループであるか、両方とも DB クラスターパラメータグループである必要があります。DB エンジンとバージョンが同じであっても当てはまります。例えば、`aurora-mysql8.0` (Aurora MySQL バージョン 3) DB パラメータグループと `aurora-mysql8.0` DB クラスターパラメータグループを比較することはできません。

Aurora MySQL と RDS for MySQL DB のパラメータグループは、バージョンが異なっていても比較できますが、Aurora PostgreSQL と RDS for PostgreSQL DB のパラメータグループは比較できません。

**2 つの DB パラメータグループを比較するには**

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

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

1. リストで、比較する 2 つのパラメータグループを選択します。
**注記**  
デフォルトのパラメータグループとカスタムパラメータグループを比較するには、まず、**[デフォルト]** タブでデフォルトパラメータグループを選択し、次に **[カスタム]** タブでカスタムパラメータグループを選択します。

1. **[アクション]** で、**[比較]** を選択します。

# DB パラメータの指定
<a name="USER_ParamValuesRef"></a>

DB パラメータの種類には、次のものがあります。
+ 整数
+ ブール値
+ 文字列
+ Long
+ ダブル
+ タイムスタンプ
+ 他の定義されたデータ型オブジェクト
+ 整数、ブール値、文字列、長整数、倍精度、タイムスタンプ、オブジェクト型の値の配列

表現、数式、関数を使用して、整数およびブール型パラメータを指定することもできます。

Oracle エンジンの場合は、`DBInstanceClassHugePagesDefault` 式変数を使用して、ブール型 DB パラメータを指定します。「[DB パラメータ式の変数](#USER_FormulaVariables)」を参照してください。

PostgreSQL エンジンでは、式を使用してブール型 DB パラメータを指定できます。「[ブール型 DB パラメータ式](#USER_ParamBooleanExpressions)」を参照してください。

**Contents**
+ [DB パラメータ式](#USER_ParamFormulas)
  + [DB パラメータ式の変数](#USER_FormulaVariables)
  + [DB パラメータ式の演算子](#USER_FormulaOperators)
+ [DB パラメータ関数](#USER_ParamFunctions)
+ [ブール型 DB パラメータ式](#USER_ParamBooleanExpressions)
+ [DB パラメータログ式](#USER_ParamLogExpressions)
+ [DB パラメータ値の例](#USER_ParamValueExamples)

## DB パラメータ式
<a name="USER_ParamFormulas"></a>

DB パラメータ式は整数値に解決される式あるいはブール値です。式は中かっこ \$1\$1 で囲みます。式は、DB パラメータ値、または DB パラメータ関数の引数として使用できます。

**構文**  

```
{FormulaVariable}
{FormulaVariable*Integer}
{FormulaVariable*Integer/Integer}
{FormulaVariable/Integer}
```

### DB パラメータ式の変数
<a name="USER_FormulaVariables"></a>

各式の変数は整数あるいはブール値を返します。変数名では大文字と小文字が区別されます。

*AllocatedStorage*  
データボリュームのサイズ (バイト単位) を表す整数を返します。

*DBInstanceClassHugePagesDefault*  
ブール値を返します。現在のところ、これは Oracle エンジンのみでサポートされています。  
詳細については、「[サポートされている RDS for Oracle インスタンスで HugePages をオンにする](Oracle.Concepts.HugePages.md)」を参照してください。

*DBInstanceClassMemory*  
データベースプロセスに対し、使用可能なメモリのバイト数を整数で返します。この数値は、DB インスタンスクラスの合計メモリ量から始めて内部的に計算されます。この数から、インスタンスを管理する RDS プロセスとオペレーティングシステム用に予約されているメモリ量を減算します。したがって、この数値は、「[ DB インスタンスクラス](Concepts.DBInstanceClass.md)」のインスタンスクラステーブルに示されているメモリ値よりも、常にやや低くなります。正確な値は、複数の要因の組み合わせによって異なります。これらには、インスタンスクラスと DB エンジンが含まれ、この値が適用されるのが RDS インスタンスなのか、Aurora クラスターに含まれているインスタンスなのかによっても異なります。

*DBInstanceVCPU*  
Amazon RDS がインスタンスの管理に使用する仮想中央演算装置 (vCPU) の数を表す整数を返します。

*EndPointPort*  
DB インスタンスに接続するときに使用されるポートを表す整数を返します。

*TrueIfReplica*  
DB インスタンスがリードレプリカである場合は `1`、リードレプリカでない場合は `0` が返されます。これは MySQL の`read_only` パラメータのデフォルト値です。

### DB パラメータ式の演算子
<a name="USER_FormulaOperators"></a>

DB パラメータ式では、2 つ演算子 (除算と乗算) がサポートされています。

*除算演算子: /*  
被除数を除数で割り、整数の商を返します。商の小数部分は四捨五入されず切り捨てられます。  
構文  

```
dividend / divisor
```
被除数と除数の引数は整数式である必要があります。

*乗算演算子: \$1*  
式を乗算し、式の積を返します。式の小数部分は四捨五入されず切り捨てられます。  
構文  

```
expression * expression
```
両方の式は整数である必要があります。

## DB パラメータ関数
<a name="USER_ParamFunctions"></a>

DB パラメータ関数の引数は、整数または数式で指定します。各関数には 1 つ以上の引数が必要です。複数の引数をカンマ区切りのリストで指定します。リストには、*argument1*,,*argument3* など、空のメンバーを使用することはできません。関数名では大文字と小文字は区別されません。

*IF*  
引数を返します。  
現在のところ、これは Oracle エンジンに対してのみサポートされ、最初の引数が `{DBInstanceClassHugePagesDefault}` の場合のみサポートされています。詳細については、「[サポートされている RDS for Oracle インスタンスで HugePages をオンにする](Oracle.Concepts.HugePages.md)」を参照してください。  
構文  

```
IF(argument1, argument2, argument3)
```
最初の引数が true と評価する場合に、2 番目の引数を返します。それ以外の場合には、3 番目の引数を返します。

*GREATEST*  
整数またはパラメータ式のリストから最大値を返します。  
構文  

```
GREATEST(argument1, argument2,...argumentn)
```
整数を返します。

*LEAST*  
整数またはパラメータ式のリストから最小値を返します。  
構文  

```
LEAST(argument1, argument2,...argumentn)
```
整数を返します。

*SUM*  
指定した整数またはパラメータ式の値を加算します。  
構文  

```
SUM(argument1, argument2,...argumentn)
```
整数を返します。

## ブール型 DB パラメータ式
<a name="USER_ParamBooleanExpressions"></a>

ブール型 DB パラメータ式は、ブール値 1 または 0 に解決されます。式は引用符で囲みます。

**注記**  
ブール型 DB パラメータ式は、PostgreSQL エンジンでのみサポートされています。

**構文**  

```
"expression operator expression"
```
どちらの式も整数に解決する必要があります。式には、次のものがあります。  
+ 整数定数
+ DB パラメータ式
+ DB パラメータ関数
+ DB パラメータ変数

ブール型 DB パラメータ式は、次の不等号演算子をサポートしています。

*より大きい演算子: >*  
構文  

```
"expression > expression"
```

*より小さい演算子: <*  
構文  

```
"expression < expression"
```

* より大きいか等しい演算子: >=、=>*  
構文  

```
"expression >= expression"
"expression => expression"
```

*より小さいか等しい演算子: <=、=<*  
構文  

```
"expression <= expression"
"expression =< expression"
```

**Example ブール型 DB パラメータ式の使用**  
次のブール型 DB パラメータ式の例では、パラメータ式の結果を整数と比較します。これは、PostgreSQL DB インスタンスのブール型 DB パラメータ `wal_compression` を変更するためです。パラメータ式は、vCPU の数と値 2 を比較します。仮想 CPU の数が 2 より大きい場合、`wal_compression` DB パラメータが true に設定されます。  

```
aws rds modify-db-parameter-group --db-parameter-group-name group-name \
--parameters "ParameterName=wal_compression,ParameterValue=\"{DBInstanceVCPU} > 2\" "
```

## DB パラメータログ式
<a name="USER_ParamLogExpressions"></a>

整数 DB パラメータ値をログ式に設定できます。式は中かっこ \$1\$1 で囲みます。次に例を示します。

```
{log(DBInstanceClassMemory/8187281418)*1000}
```

`log` 関数はログベース 2 を表します。この例では、`DBInstanceClassMemory` 数式変数も使用しています。「[DB パラメータ式の変数](#USER_FormulaVariables)」を参照してください。

**注記**  
現在、MySQL`innodb_log_file_size`パラメータを整数以外の値で指定することはできません。

## DB パラメータ値の例
<a name="USER_ParamValueExamples"></a>

これらの例は、DB パラメータの値に対して数式、関数、および式を使用していることを示しています。

**警告**  
DB パラメータグループのパラメータを不適切に設定すると、意図しない悪影響が生じる可能性があります。これには、パフォーマンスの低下やシステムの不安定化が含まれます。データベースパラメータの変更時には注意が必要です。DB パラメータグループの変更前にはデータをバックアップしてください。パラメータグループの変更は、テスト DB インスタンス (ポイントインタイム復元を使用して作成) で試してから、本番稼働用 DB インスタンスに適用してください。

**Example DB パラメータ関数 GREATEST の使用**  
Oracle プロセスパラメータで `GREATEST` 関数を指定できます。これを使用して、ユーザープロセスの数を 80、 または `DBInstanceClassMemory` を 9,868,951 で割った値の大きい方に設定します。  

```
GREATEST({DBInstanceClassMemory/9868951},80)
```

**Example DB パラメータ関数 LEAST の使用**  
MySQL `LEAST` パラメータ値で `max_binlog_cache_size` 関数を指定できます。これを使用して、トランザクションが MySQL インスタンスで使用できる最大キャッシュサイズを 1MB または `DBInstanceClass`/256 のいずれか小さい方に設定します。  

```
LEAST({DBInstanceClassMemory/256},10485760)
```

# の Amazon RDS DB インスタンス設定を使用した Amazon ElastiCache キャッシュの作成
<a name="creating-elasticache-cluster-with-RDS-settings"></a>

ElastiCache は、フルマネージドのインメモリキャッシュサービスであり、マイクロ秒単位の読み取り/書き込みレイテンシーを提供し、柔軟なリアルタイムユースケースをサポートします。ElastiCache は、アプリケーションとデータベースのパフォーマンスを向上させるのに役立ちます。ElastiCache は、ゲームのリーダーボード、ストリーミング、データ分析など、データの耐久性を必要としないユースケースのプライマリデータストアとして使用できます。ElastiCache は、分散コンピューティング環境のデプロイと管理に関連する複雑さを排除するのに役立ちます。詳細については、Memcached の場合は、「[Common ElastiCache Use Cases and How ElastiCache Can Help](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/elasticache-use-cases.html)」を、Redis OSS の場合は、「[Common ElastiCache Use Cases and How ElastiCache Can Help](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/elasticache-use-cases.html)」を参照してください。ElastiCache キャッシュを作成する際に、Amazon RDS コンソールを使用できます。

Amazon ElastiCache は 2 つの形式で運用できます。サーバーレスキャッシュで始めるか、独自のキャッシュクラスターを設計するかを選択できます。独自のキャッシュクラスターを設計する場合、ElastiCache は Redis OSS エンジンと Memcached エンジンの両方で動作します。使用するエンジンが不明な場合は、「[Comparing Memcached and Redis OSS](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html)」を参照してください。Amazon ElastiCache の詳細については、「[Amazon ElastiCache ユーザーガイド](https://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/)」を参照してください。

**Topics**
+ [RDS DB インスタンス設定による ElastiCache キャッシュ作成の概要](#creating-elasticache-cluster-with-RDS-settings-overview)
+ [既存の RDS DB インスタンスの設定で ElastiCache キャッシュを作成する](#creating-elasticache-cluster-with-RDS-settings-new-DB)

## RDS DB インスタンス設定による ElastiCache キャッシュ作成の概要
<a name="creating-elasticache-cluster-with-RDS-settings-overview"></a>

新規作成または既存の RDS DB インスタンスと同じ設定を使用して、Amazon RDS から ElastiCache キャッシュを作成できます。

ElastiCache キャッシュを DB インスタンスに関連付けるためのいくつかのユースケース:
+ RDS で ElastiCache を使用すると、RDS だけで実行するよりもコストを節約し、パフォーマンスを向上させることができます。

  例えば、RDS for MySQL で ElastiCache を使用すると、RDS for MySQLS のみを使用する場合と比較して、コストを最大 55% 節約し、読み取りパフォーマンスを最大 80 倍高速化できます。
+ ElastiCache キャッシュは、データの耐久性を必要としないプライマリデータストアとしてアプリケーションで使用できます。Redis OSS または Memcached を使用するアプリケーションでは ElastiCache を利用できます。ほとんど変更はありません。

RDS から ElastiCache キャッシュを作成すると、ElastiCache キャッシュは、関連する RDS DB インスタンスから以下の設定を継承します。
+ ElastiCache 接続設定
+ ElastiCache セキュリティ設定

要件に応じて、キャッシュ設定を指定できます。

### アプリケーションで ElastiCache を設定する
<a name="creating-elasticache-cluster-with-RDS-settings-overview-SettingUpELC"></a>

アプリケーションは ElastiCache キャッシュを利用するように設定する必要があります。また、要件に応じてキャッシュ戦略を使用するようにアプリケーションを設定することで、キャッシュのパフォーマンスを最適化して改善できます。
+  ElastiCache キャッシュにアクセスして開始するには、「[Getting started with ElastiCache (Redis OSS)](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/GettingStarted.html)」と「[Getting started with ElastiCache (Memcached)](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/GettingStarted.html)」を参照してください。
+  キャッシュ戦略の詳細については、Memcached の場合は「[Caching strategies and best practices](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/BestPractices.html)」、Redis OSS の場合は「[Caching strategies and best practices](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/BestPractices.html)」を参照してください。
+  ElastiCache (Redis OSS) クラスターの高可用性の詳細については、「[High availability using replication groups](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/BestPractices.html)」を参照してください。
+  バックアップストレージ、リージョン内またはリージョン間のデータ転送、または使用に関連するコストが発生する可能性があります。AWS Outposts価格設定の詳細については、「[Amazon ElastiCache 料金表](https://aws.amazon.com/elasticache/pricing/)」を参照してください。

## 既存の RDS DB インスタンスの設定で ElastiCache キャッシュを作成する
<a name="creating-elasticache-cluster-with-RDS-settings-new-DB"></a>

DB インスタンスから継承された設定を使用して、 RDS DB インスタンスの ElastiCache キャッシュを作成できます。

**DB インスタンスの設定で ElastiCache キャッシュを作成する**

1. DB インスタンスを作成するには、「[Amazon RDS DB インスタンスの作成](USER_CreateDBInstance.md)」の手順に従います。

1. RDS DB インスタンスを作成すると、コンソールに **[推奨されるアドオン]** ウィンドウが表示されます。**[DB 設定を使用して RDS から ElastiCache クラスターを作成する]** を選択します。

   既存のデータベースでは、**[データベース]** ページで、必要な DB インスタンスを選択します。**[アクション]** ドロップダウンメニューで **[ElastiCache クラスターの作成]** を選択して、既存の RDS DB インスタンスと同じ設定の ElastiCache キャッシュを RDS に作成します。

   **[ElastiCache 設定セクション]** で、**[ソース DB 識別子]** に ElastiCache キャッシュが設定を継承する DB インスタンスが表示されます。

1. Redis OSS または Memcached クラスターを作成するかどうかを選択します。詳細については、「[Comparing Memcached and Redis OSS](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/SelectEngine.html)」を参照してください。  
![\[クラスタータイプとデプロイオプションを選択します。\]](http://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/images/EC-RDS-Config.png)

1. その後、**[サーバーレスキャッシュ]** を作成するか、**[独自のキャッシュを設計]** するかを選択します。詳細については、「[デプロイオプションの選択](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/WhatIs.deployment.html)」を参照してください。

   **[サーバーレスキャッシュ]** を選択した場合：

   1. **[キャッシュ設定]** で、**[名前]** と **[説明]** に値を入力します。

   1. **[デフォルト設定の表示]** ではデフォルト設定のままにして、キャッシュと DB インスタンス間の接続を確立します。

   1. **[デフォルト設定をカスタマイズ]** を選択して、デフォルトの設定を編集することもできます。**[ElastiCache の接続設定]**、**[ElastiCache のセキュリティ設定]**、**[使用量の上限]** を選択します。

1. **[独自のキャッシュ を設計]** を選択した場合：

   1. **[Redis OSS クラスター]** を選択した場合は、クラスターモードを **[有効]** にするか **[無効]** にするかを選択します。詳細については、「[Replication: Redis OSS (Cluster Mode Disabled) vs. Redis OSS (Cluster Mode Enabled)](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Replication.Redis-RedisCluster.html)」を参照してください。

   1. **[名前]**、**[説明]**、**[エンジンバージョン]** の値を入力します。

      **[エンジンバージョン]** については、推奨されるデフォルト値は最新のエンジンバージョンです。要件に最も合う ElastiCache キャッシュの **[エンジンバージョン]** を選択することもできます。

   1. **[ノードタイプ]** オプションでノードタイプを選択します。詳細については、「[ノードの管理](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.html)」を参照してください。

      **[クラスターモード]** を **[有効]** に設定して Redis OSS クラスターを作成する場合、**[シャード数]** オプションにシャード (パーティション/ノードグループ) の数を入力します。

      **[レプリカ数]** に各シャードのレプリカ数を入力します。
**注記**  
選択したノードタイプ、シャード数、レプリカ数はすべて、キャッシュのパフォーマンスとリソースコストに影響します。これらの設定がデータベースのニーズに合っていることを確認してください。料金情報については、「[Amazon ElastiCache 料金表](https://aws.amazon.com/elasticache/pricing/)」を参照してください。

   1. **[ElastiCache の接続設定]** と **[ElastiCache のセキュリティ設定]** を選択します。デフォルト設定のままにすることも、要件に応じて設定をカスタマイズすることもできます。

1. ElastiCache キャッシュのデフォルト設定と継承された設定を確認します。一部の設定は、作成後に変更できません。
**注記**  
RDS は、60 分の最小ウィンドウ要件を満たすように ElastiCache キャッシュのバックアップウィンドウを調整する場合があります。ソースデータベースのバックアップウィンドウは変わりません。

1. 準備が完了したら、**[ElastiCache キャッシュの作成]** を選択します。

コンソールに、ElastiCache キャッシュの作成に関する確認バナーが表示されます。バナーにあるリンクから ElastiCache コンソールにアクセスすると、キャッシュの詳細が表示されます。ElastiCache コンソールには、新しく作成された ElastiCache キャッシュが表示されます。

# AWS Database Migration Service を使用した、EC2 データベースの Amazon RDS への自動移行
<a name="USER_DMS_migration"></a>

RDS コンソールを使用して、EC2 データベースを RDS に移行できます。RDS では AWS Database Migration Service (AWS DMS) を使用してソース EC2 データベースを移行します。AWS DMS によって、リレーショナルデータベースの AWS クラウドへの移行が可能になります。AWS Database Migration Service の詳細については、*AWS Database Migration Service ユーザーガイド* の [AWS Database Migration Service とは](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) を参照してください。

移行を開始するには、データの移行先となる同等の RDS DB インスタンスを作成する必要があります。ターゲットデータベースを作成したら、そのデータベースに EC2 データベースをインポートできます。ソースデータベースが 1TiB 未満の場合、この移行アクションにより、データを RDS に移行するために必要となる時間とリソースが節約されます。

## 概要
<a name="USER_DMS_migration-overview"></a>

RDS コンソールで、EC2 データベースを同等の RDS データベースに移行できます。コンソールからの移行を有効にするには、RDS データベースを作成する必要があります。

次のデータベースエンジンの EC2 データベースを移行できます。
+ MySQL
+ MariaDB
+ PostgreSQL

この移行プロセスには、以下のステップが含まれます。
+ RDS で同等のデータベースを作成します。データベースを同等にするには、同じデータベースエンジンおよび互換性のあるエンジンバージョンが必要です。また、データベースは同じ VPC 内にある必要があります。データベースを作成する手順については、「[Amazon RDS DB インスタンスの作成](USER_CreateDBInstance.md)」を参照してください。
+ データベースのレプリケーションのタイプを選択します。
  + **フルロード移行** – RDS は、ソースデータベース全体をターゲットデータベースにコピーし、必要に応じてターゲットに新しいテーブルを作成します。
**注記**  
このオプションを選択すると、対象の RDS データベースが停止します。
  + **フルロードと変更データキャプチャ (CDC) 移行** – フルロード移行と同様に、このオプションでは、RDS はソースデータベース全体をターゲットデータベースにコピーします。ただし、フルロード移行の後は、RDS はソースでキャプチャされた変更をターゲットデータベースに適用します。変更データキャプチャでは、データベースエンジンのネイティブ API を使用してデータベースログへの変更を収集します。
**注記**  
このオプションを選択すると、対象の RDS データベースが停止します。
  + **変更データキャプチャ (CDC)** — このオプションを使用すると、移行中もターゲットデータベースを使用できます。RDS は、ソースデータベースの進行中の変更をターゲットデータベースに移行します。
+ RDS は、移行を容易にするために必要なネットワークリソースを作成します。RDS が必要なリソースを作成すると、作成されたリソースについて通知が行われ、データ転送を開始できます。

  移行の完了に必要な時間は、レプリケーションのタイプとソースデータベースのサイズによって異なります。

## 前提条件
<a name="USER_DMS_migration-Prerequisites"></a>

### MySQL と MariaDB
<a name="USER_DMS_migration-Prerequisites.MySQL"></a>

MySQL または MariaDB データベースをソースデータベースとして使用し始める前に、次の前提条件を満たしていることを確認してください。これらの前提条件は、AWS が管理するソースに適用されます。

レプリケーション管理者ロールを持つ AWS DMS のアカウントを保有している必要があります。ロールには、次の権限が必要です。
+ **[REPLICATION CLIENT]** (レプリケーション クライアント) – この権限は、CDC タスクにのみ必要です。つまり、フルロードのみのタスクにはこの権限は必要ありません。
+ **[REPLICATION SLAVE]** (レプリケーション スレーブ) – この権限は、CDC タスクにのみ必要です。つまり、フルロードのみのタスクにはこの権限は必要ありません。

AWS DMS ユーザーには、レプリケーション対象に指定されたソーステーブルに対する SELECT 権限も必要です。

MySQL 固有の移行前評価を使用する場合、次の権限を付与します。

```
grant select on mysql.user to <dms_user>;
grant select on mysql.db to <dms_user>;
grant select on mysql.tables_priv to <dms_user>;
grant select on mysql.role_edges to <dms_user>  #only for MySQL version 8.0.11 and higher
```

### PostgreSQL
<a name="USER_DMS_migration-Prerequisites.PostgreSQL"></a>

AWS が管理する PostgreSQL ソースデータベースからデータを移行する前に、以下を実行します：
+ AWS DMS の PostgreSQL ソースエンドポイントのユーザーアカウントとして、PostgreSQL DB インスタンスに必要な最小限のアクセス許可を持つ AWS ユーザーアカウントを使用することをお勧めします。管理アカウントの使用はお勧めしません。このアカウントには `rds_superuser` ロールと `rds_replication` ロールが必要です。`rds_replication` ロールは、論理スロットを管理し、論理スロットを使用してデータをストリーミングするアクセス権許可付与します。

**注記**  
一部の AWS DMS トランザクションでは、DMS エンジンで再度そのパラメータが使用されるまでの間、しばらくアイドル状態になります。PostgreSQL バージョン 9.6 以降で `idle_in_transaction_session_timeout` パラメータを使用すると、アイドル状態のトランザクションでタイムアウトやエラーが生じる場合があります。

## 制限事項
<a name="USER_DMS_migration-Limitations"></a>

自動移行プロセスには、次の制限が適用されます。
+ ソースデータベースの移行を開始するには、ターゲットデータベースのステータスが**[使用可能]** である必要があります。
+ MySQL ソースデータベースから移行する場合、 RDS アカウントにレプリケーション管理者ロールが必要です。また、そのロールに適切な権限を適用する必要があります。
+ EC2 インスタンスとターゲットデータベースは同じ VPC 内にある必要があります。
+ **[EC2 データベースからデータを移行]** アクションを使用する場合、EC2 データベースを次のターゲットデータベースに移行することはできません。
  + クラスターのメンバーであるデータベース
  + Oracle、SQL Server、Db2 データベース
  + MySQL バージョン 5.7 未満のデータベース
  + PostgreSQL バージョン 10.4 未満のデータベース
  + MariaDB バージョン 10.2 未満のデータベース

# 同種移行のための IAM リソースの作成
<a name="USER_DMS_migration-IAM"></a>

RDS は AWS DMS を使用してデータを移行します。データベースにアクセスしてデータを移行するために、AWS DMS は同種データ移行用のサーバーレス環境を作成します。AWS DMS はこの環境で、VPC ピアリング、ルートテーブル、セキュリティグループ、その他の AWS リソースにアクセスする必要があります。また、AWS DMS は、各データ移行のログ、メトリクス、進行状況を Amazon CloudWatch に保存します。データ移行プロジェクトを作成するには、AWS DMS がこのようなサービスにアクセスする必要があります。

また、AWS DMS は、一連のユーザー認証情報を表すシークレットにアクセスして、ソースおよびターゲット接続のためにデータベース接続を認証する必要もあります。

**注記**  
**[EC2 インスタンスからデータを移行]** アクションを使用すると、RDS コンソールを使ってこれらの IAM リソースを生成できます。コンソールで生成された IAM リソースを使用する場合は、この手順を省略してください。

このプロセスでは、次の IAM リソースが必要です。

**Topics**
+ [同種データ移行のための IAM ポリシーの作成](#USER_DMS_migration-IAM.iam-policy)
+ [同種データ移行のための IAM ロールの作成](#USER_DMS_migration-IAM.iam-role)
+ [シークレットアクセスポリシーとロールの作成](USER_DMS_migration-IAM.secret-iam-role-policy.md)
+ [Amazon VPC を管理するために AWS DMS の IAM ロールを作成する](USER_DMS_migration-IAM.dms-vpc-role.md)

## 同種データ移行のための IAM ポリシーの作成
<a name="USER_DMS_migration-IAM.iam-policy"></a>

このステップでは、AWS DMS に Amazon EC2 と CloudWatch のリソースへのアクセスを付与する IAM ポリシーを作成します。その後、IAM ロールを作成して、このポリシーをアタッチします。

**データ移行のために IAM ポリシーを作成するには**

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

1. ナビゲーションペインで、**[ポリシー]** を選択します。

1. **[Create policy]** (ポリシーの作成) を選択します。

1. **[ポリシーの作成]** ページで、**[JSON]** タブをクリックします。

1. 次の JSON コードをエディタに貼り付けます。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:DescribeRouteTables",
                   "ec2:DescribeSecurityGroups",
                   "ec2:DescribeVpcPeeringConnections",
                   "ec2:DescribeVpcs",
                   "ec2:DescribePrefixLists",
                   "logs:DescribeLogGroups"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "servicequotas:GetServiceQuota"
               ],
               "Resource": "arn:aws:servicequotas:*:*:vpc/L-0EA8095F"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "logs:CreateLogGroup",
                   "logs:DescribeLogStreams"
               ],
               "Resource": "arn:aws:logs:*:*:log-group:dms-data-migration-*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "logs:CreateLogStream",
                   "logs:PutLogEvents"
               ],
               "Resource": "arn:aws:logs:*:*:log-group:dms-data-migration-*:log-stream:dms-data-migration-*"
           },
           {
               "Effect": "Allow",
               "Action": "cloudwatch:PutMetricData",
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:CreateRoute",
                   "ec2:DeleteRoute"
               ],
               "Resource": "arn:aws:ec2:*:*:route-table/*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:CreateTags"
               ],
               "Resource": [
                   "arn:aws:ec2:*:*:security-group/*",
                   "arn:aws:ec2:*:*:security-group-rule/*",
                   "arn:aws:ec2:*:*:route-table/*",
                   "arn:aws:ec2:*:*:vpc-peering-connection/*",
                   "arn:aws:ec2:*:*:vpc/*"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:AuthorizeSecurityGroupEgress",
                   "ec2:AuthorizeSecurityGroupIngress"
               ],
               "Resource": "arn:aws:ec2:*:*:security-group-rule/*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:AuthorizeSecurityGroupEgress",
                   "ec2:AuthorizeSecurityGroupIngress",
                   "ec2:RevokeSecurityGroupEgress",
                   "ec2:RevokeSecurityGroupIngress"
               ],
               "Resource": "arn:aws:ec2:*:*:security-group/*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:AcceptVpcPeeringConnection",
                   "ec2:ModifyVpcPeeringConnectionOptions"
               ],
               "Resource": "arn:aws:ec2:*:*:vpc-peering-connection/*"
           },
           {
               "Effect": "Allow",
               "Action": "ec2:AcceptVpcPeeringConnection",
               "Resource": "arn:aws:ec2:*:*:vpc/*"
           }
       ]
   }
   ```

------

1. **[次へ: タグ]**、**[次へ: 確認]** の順に選択します。

1. **[名前\$1]** には **HomogeneousDataMigrationsPolicy** と入力して、**[ポリシーを作成]** をクリックします。

## 同種データ移行のための IAM ロールの作成
<a name="USER_DMS_migration-IAM.iam-role"></a>

このステップでは、AWS Secrets Manager、Amazon EC2、CloudWatch へのアクセスを付与する IAM ロールを作成します。

**データ移行のための IAM ロールを作成するには**

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

1. ナビゲーションペインで **[Roles]** (ロール) を選択します。

1. [**ロールの作成**] を選択してください。

1. **[信頼されたエンティティを選択]** ページの **[信頼されたエンティティタイプ]** では、**AWS[サービス]** を選択します。**[その他の AWS サービスのユースケース]** では、**[DMS]** を選択します。

1. **[DMS]** チェックボックスをオンにして、**[次へ]** をクリックします。

1. **[許可を追加]** ページで、作成した **[HomogeneousDataMigrationsPolicy]** を選択します。[**次へ**] を選択します。

1. **[名前、確認、および作成]** ページで、**[ロール名]** に **HomogeneousDataMigrationsRole** と入力して、**[ロールの作成]** をクリックします。

1. **[ロール]** ページの **[ロール名]** には、**HomogeneousDataMigrationsRole** と入力します。**[HomogeneousDataMigrationsRole]** を選択します。

1. **[HomogeneousDataMigrationsRole]** ページで、**[信頼関係]** タブをクリックします。**[Edit trust policy]** (信頼ポリシーを編集) を選択します。

1. **[信頼ポリシーを編集]** ページで、次の JSON コードをエディタに貼り付けて、既存のテキストを置き換えます。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "",
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       "dms-data-migrations.amazonaws.com",
                       "dms.your_region.amazonaws.com"
                   ]
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

   上記の例の *your\$1region* は独自の AWS リージョン ユーザー名に置き換えます。

   上記のリソースベースのポリシーは、カスタマーマネージドの **HomogeneousDataMigrationsPolicy** ポリシーに沿ってタスクを実行するアクセス許可を AWS DMS サービスプリンシパルに付与します。

1. [**ポリシーの更新**] を選択します。

# シークレットアクセスポリシーとロールの作成
<a name="USER_DMS_migration-IAM.secret-iam-role-policy"></a>

以下の手順に従って、シークレットアクセスポリシーとロールを作成し、DMS がソースデータベースとターゲットデータベースのユーザー認証情報にアクセスできるようにします。

**シークレットアクセスポリシーとロールを作成して、Amazon RDS の AWS Secrets Manager へのアクセスを許可して適切なシークレットにアクセスできるようにするには**

1. AWS マネジメントコンソール にサインインして、[https://console.aws.amazon.com/iam](https://console.aws.amazon.com/iam/) の AWS Identity and Access Management (IAM) マネジメントコンソールを開きます。

1. **[Policies]** (ポリシー) を選択し、次に**[Create Policy]** (ポリシー作成) を選択します

1. **[JSON]** を選択し、次のポリシーを入力して、シークレットへのアクセスと復号化を有効にします。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "secretsmanager:GetSecretValue",
               "Resource": "arn:aws:secretsmanager:us-east-1:111122223333:secret:SecretName-ABCDEF"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "kms:Decrypt",
                   "kms:DescribeKey"
               ],
               "Resource": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
           }
       ]
   }
   ```

------

   `secret_arn` は、必要に応じて `SecretsManagerSecretId` より取得できるシークレットの ARN で、`kms_key_arn` は、シークレットを暗号化するために使用する AWS KMS キーの ARN です。次に例を示します。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "secretsmanager:GetSecretValue",
               "Resource": "arn:aws:secretsmanager:us-east-2:123456789012:secret:MySQLTestSecret-qeHamH"
           },
           {
                "Effect": "Allow",
                "Action": [
                           "kms:Decrypt",
                           "kms:DescribeKey"
                         ],
                "Resource": "arn:aws:kms:us-east-2:123456789012:key/761138dc-0542-4e58-947f-4a3a8458d0fd"
           }
        ]
   }
   ```

------
**注記**  
AWS Secrets Manager で作成されたデフォルトの暗号化キーを使用する場合、`kms_key_arn` に AWS KMS 許可を指定する必要はありません。  
ポリシーで両方のシークレットへのアクセスを許可する場合は、もう 1 つの *[secret\$1arn]* に追加の JSON リソースオブジェクトを指定するだけです。

1. フレンドリ名とオプションの説明を使用して、ポリシーを確認して作成します。

1. **[Roles]** (ロール)、**[Create role]** (ロールの作成) の順に選択します。

1. 信頼されたエンティティの種類に、**[AWS service]** (サービス) を選択します。

1. 信頼されたサービスのリストから **[DMS]** を選択し、**[Next: Permissions]** (次へ: アクセス許可) を選択します。

1. ステップ 4 で作成したポリシーを検索しアタッチし、任意のタグを追加しながらロールを確認します。この時点で、信頼されたエンティティとして Amazon RDS リージョンサービスプリンシパルを使用するように、ロールの信頼関係を編集します。このプリンシパルの形式は以下のとおりです。

   ```
   dms.region-name.amazonaws.com
   ```

   ここで、*`region-name`* は 例えば `us-east-1` などといったリージョンの名前です。したがって、このリージョンの Amazon RDS リージョンサービスプリンシパルが続きます。

   ```
   dms.us-east-1.amazonaws.com
   dms-data-migrations.amazonaws.com
   ```

# Amazon VPC を管理するために AWS DMS の IAM ロールを作成する
<a name="USER_DMS_migration-IAM.dms-vpc-role"></a>

リソースの VPC 設定を管理するには、AWS DMS の IAM ロールを作成する必要があります。移行を成功させるためには、このロールを用意する必要があります。

**データベース移行のために `dms-vpc-role` を作成する**

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

1. コンソールのナビゲーションペインで、**[ロール]**、**[ロールの作成]** の順に選択します。

1. **[信頼されたエンティティを選択]** オプションで **[AWS のサービス]** オプションを選択します。

   **[ユースケース]** で、**[DMS]** を選択します。

1. **[許可を追加]** ステップで、[`AmazonDMSVPCManagementRole`] を選択して **[次へ]** 選択します。

1. **[名前、確認、および作成]** ページで、**[ロール名]** を [`dms-vpc-role`] に設定し、**[ロールを作成]** を選択します。

これにより、移行の VPC 設定を管理するための DMS のロールが作成されます。

# EC2 データベースのデータ移行の設定
<a name="USER_DMS_migration-SetUp"></a>

EC2 ソースデータベースからデータの移行を開始するには、同等の RDS データベースを作成する必要があります。データベースを作成する手順については、「[Amazon RDS DB インスタンスの作成](USER_CreateDBInstance.md)」を参照してください。

ターゲットデータベースを作成したら、次のステップを使用してデータ移行を設定します。

**データ移行プロジェクトを設定する**

1. RDS コンソールの **[データベース]** ページでターゲットデータベースを選択します。

1. **[アクション]** ドロップダウンを選択し、**[EC2 データベースからデータを移行]** オプションを選択します。サポート対象のターゲットデータベースについては、「[制限事項](USER_DMS_migration.md#USER_DMS_migration-Limitations)」を参照してください。

1. **[ソース EC2 データベースの選択]** セクションで、次の操作を行います。

   1. **[エンジンのタイプ]** をチェックし、ソースデータベースと同じであることを確認します。

      また、エンジンのバージョンに互換性があるかどうかを確認します。

   1. **[EC2 インスタンス]** で、ソースデータベースが存在する EC2 インスタンスを選択します。

   1. **[ポート]** で、ソースデータベースがトラフィックを許可するポートを入力します。

   1. 既存のシークレットがない場合は、**[シークレット]** で **[新しいシークレットを作成して使用]** を選択します。ソースデータベースの **[ユーザー名]** と **[パスワード]** を入力します。また、シークレットの暗号化に使用する KMS キーも選択します。

      既存のシークレットがある場合は、**[既存のシークレットを使用]** を選択し、ドロップダウンからシークレットを選択します。

   1. 既存の IAM ロールがある場合は、**[シークレットの IAM ロール]** で、**[既存の IAM ロールを使用]** を選択し、前のステップのシークレット ID へのアクセスが許可された IAM ロールをドロップダウンから選択します。

      既存の IAM ロールがない場合は、**[新しい IAM ロールを作成して使用]** を選択します。**[IAM ロール名] に、ロールの新しい名前を入力します。下のリンクでこのロールに関連付けられたアクセス許可を確認できます。**

1. **[ターゲット RDS データベースの表示]** セクションで、次の操作を行います。

   1. セクションの上部でターゲットデータベースの設定を確認します。

   1. ターゲットデータベースの認証情報を保持する既存のシークレットがない場合は、**[シークレット]** で **[新しいシークレットを作成して使用]** を選択します。

      既存のシークレットがある場合は、ドロップダウンからシークレットを選択します。

   1. **[シークレットの IAM ロール]** で、前のステップのシークレットへのアクセスが許可された IAM ロールを選択します。既存の IAM ロールがない場合は、新しい IAM ロールを作成することもできます。

      ドロップダウンに IAM ロールが表示されない場合は、**[IAM ロール ARN]** を `arn:aws:iam:account_id:role/roleName` 形式で指定します。

1. **[データ移行の設定]** セクションで、次の操作を行います。

   1. **[フルロード]**、**[フルロードおよび変更データキャプチャ (CDC)]**、**[変更データキャプチャ (CDC)]** の中から、データ移行のタイプを選択します。これらのパラメータの詳細については「[概要](USER_DMS_migration.md#USER_DMS_migration-overview)」を参照してください。

      移行の開始後に移行タイプを変更することはできません。

   1. 既存の IAM ロールがある場合は、**[データ移行の IAM ロール]** で **[既存の IAM ロールを使用]** を選択し、移行に必要なリソースを作成するアクセス許可を DMS に付与する IAM ロールをドロップダウンから選択します。既存の IAM ロールがない場合は、**[新しい IAM ロールを作成して使用]** を選択します。

1. **[移行設定を表示]** タブに、データ移行を適切に設定するために必要な設定が表示されていることを確認します。

1. **[移行]** を選択して、移行のセットアップを完了します。

これらのステップを完了した後、コンソールの進行状況バナーで **[詳細を表示]** を選択すると、データ移行用に設定されるリソースを確認できます。必要なリソースが設定されると、移行が自動的に開始されます。作成する場合 

複数のデータベースをターゲットデータベースに移行するには、新しい EC2 データベースの詳細情報を使用して上記のプロセスを再度開始します。

# データ移行の管理
<a name="USER_DMS_migration.Managing"></a>

RDS コンソールで **[EC2 データベースからデータを移行]** アクションを使用すると、RDS が自動的に移行を開始します。

AWS DMS コンソールを使用して移行リソースを作成した場合は、ユーザーが移行プロセスを開始できます。

## データ移行の開始
<a name="USER_DMS_migration.Managing.Start"></a>

データ移行を開始するには、次の手順に従います。

**データ移行を開始する**

1. RDS コンソールの **[データベース]** ページでターゲットデータベースを選択します。

1. データベースの詳細ページで、**[データの移行]** タブを選択します。

1. **[データの移行]** タブの **[関連するデータ移行]** に、使用可能なデータ移行が一覧表示されます。

   RDS コンソールを使用して設定された移行は、必要なリソースが設定されると自動的に開始されます。

   DMS コンソールを使用して設定された移行は、**[準備完了]** に設定されます。

   これらの移行を開始するには、**[アクション]** ドロップダウンを選択し、**[開始]** を選択します。

1. これにより、EC2 データベースのデータ移行が開始されます。

## データ移行の停止
<a name="USER_DMS_migration.Managing.Stop"></a>

レプリケーションタイプがフルロードのデータ移行の場合、移行を停止するとプロセスが停止し、再開できません。停止したら、移行を再度開始する必要があります。

レプリケーションタイプが変更データキャプチャ (CDC) またはフルロードと CDC に設定された移行の場合、連続するレプリケーションプロセスを停止して、後でプロセスを再開できます。

**データ移行の停止**

1. RDS コンソールの **[データベース]** ページでターゲットデータベースを選択します。

1. データベースの詳細ページで、**[データの移行]** タブを選択します。

1. **[データの移行]** タブの **[関連するデータ移行]** に、進行中のデータ移行が一覧表示されます。

   移行を停止するには、データ移行を選択し、**[アクション]** ドロップダウンで **[停止]** を選択します。

1. これにより、EC2 データベースのデータ移行が停止します。

## データ移行の再開
<a name="USER_DMS_migration.Managing.Resuming"></a>

レプリケーションタイプがフルロードと変更データキャプチャ (CDC) または変更データキャプチャ (CDC) のデータ移行の場合、CDC プロセスを最後の停止ポイントから再開できます。

**データ移行の再開**

1. RDS コンソールの **[データベース]** ページでターゲットデータベースを選択します。

1. データベースの詳細ページで、**[データの移行]** タブを選択します。

1. **[データの移行]** タブの **[関連するデータ移行]** に、停止中のデータ移行が一覧表示されます。

   移行を再開するには、データ移行を選択し、**[アクション]** ドロップダウンで **[処理を再開]** を選択します。

1. これにより、EC2 データベースのデータ移行が再開されます。

## データ移行の削除
<a name="USER_DMS_migration.Managing.Deleting"></a>

関連するデータ移行を削除するには、以下の手順に従います。

**データ移行の削除**

1. RDS コンソールの **[データベース]** ページでターゲットデータベースを選択します。

1. データベースの詳細ページで、**[データの移行]** タブを選択します。

1. 移行を削除するには、データ移行を選択し、**[アクション]** ドロップダウンで **[削除]** を選択します。

1. これにより、データ移行が削除されます。

進行中のデータ移行を削除しても、ターゲットデータベースに既にロードされているデータには影響しません。

## データ移行の再開
<a name="USER_DMS_migration.Managing.Restarting"></a>

CDC 開始点から関連するデータ移行をやり直すには、次の手順を使用します。

**データ移行の再開**

1. RDS コンソールの **[データベース]** ページでターゲットデータベースを選択します。

1. データベースの詳細ページで、**[データの移行]** タブを選択します。

1. 移行をやり直すには、データ移行を選択し、**[アクション]** ドロップダウンで **[再起動]** を選択します。

1. これにより、CDC 開始点からデータ移行が再度開始されます。

進行中のデータ移行をやり直しても、ターゲットデータベースに既にロードされているデータには影響しません。

# データ移行のモニタリング
<a name="USER_DMS_migration.Monitoring"></a>

データ移行を開始したら、移行のステータスと進行状況をモニタリングできます。大規模なデータセットのデータ移行の場合、完了するまでに数時間かかります。データ移行の信頼性、可用性、パフォーマンスを維持するには、移行の進捗を定期的にモニタリングします。

**データ移行のステータスと進捗を確認するには**

1. RDS コンソールの **[データベース]** ページでターゲットデータベースを選択します。

1. データベースの詳細ページで、**[データの移行]** タブを選択します。

1. **[関連するデータ移行]** セクションにデータ移行が一覧表示されます。**[ステータス]** 列を確認します。

1. **[移行の進行状況]** 列に、実行中のデータ移行の移行済みデータの割合が % で表示されます。

1. CloudWatch でプロセスを監視するには、**[CloudWatch]** 列にあるリンクを使用します。

## 移行ステータス
<a name="USER_DMS_migration.Monitoring.status"></a>

実行するデータ移行ごとに、RDS コンソールに **[ステータス]** が表示されます。次のリストにステータスを示します。
+ `Ready`: データ移行を開始する準備が整っています。
+ `Starting`: RDS はデータ移行のためのサーバーレス環境を作成しています。
+ `Load running`: RDS はフルロード移行を実行しています。
+ `Load complete, replication ongoing`: RDS はフルロードを完了し、進行中の変更をレプリケートしています。このステータスは、フルロードと CDC タイプの移行にのみ適用されます。
+ `Replication ongoing`: RDS は進行中の変更をレプリケートしています。このステータスは CDC タイプの移行にのみ適用されます。
+ `Stopping`: RDS はデータ移行を停止しています。このステータスは、**[アクション]** メニューからデータ移行を停止する場合に適用されます。
+ `Stopped`: RDS はデータ移行を停止しました。
+ `Failed`: データ移行が失敗しました。詳細については、ログファイルを確認してください。
+ `Restarting`: データ移行は、進行中のデータレプリケーションを CDC 開始点からやり直しました。

# チュートリアル: カスタムパラメータと新しいオプショングループを使用した MySQL DB インスタンス の作成
<a name="tutorial-creating-custom-OPG"></a>

このチュートリアルでは、カスタムパラメータと新しいオプショングループを使用して MySQL DB インスタンス を作成します。カスタムパラメータとオプショングループの詳細については、「[Amazon RDS のパラメータグループ](USER_WorkingWithParamGroups.md)」および「[オプショングループを使用する](USER_WorkingWithOptionGroups.md)」を参照してください。

**重要**  
AWS アカウントを作成するための料金はかかりません。ただし、このチュートリアルを完了すると、使用する AWS リソースのコストが発生する可能性があります。これらのリソースが不要になった場合は、チュートリアルの完了後に削除できます。

カスタム構成と設定で DB インスタンスを作成するには、カスタムパラメータと新しいオプショングループを使用できます。カスタムパラメータと新しいオプショングループは、複数のデータベースを使用し、それらの設定を統一したい場合に特に便利です。

これらの手順を実行することで、次のことが理解できます。
+ Amazon RDS を使用して、カスタムパラメータと新しいオプショングループを持つ MySQL DB インスタンスを作成する方法。
+ MySQL DB インスタンスの特定のパラメータとオプションを使用する方法。

このチュートリアルを完了するには、次のタスクを実行します。

1. MySQL パラメータ `default_password_lifetime` と `disconnect_on_expired_password` を使用して、カスタムパラメータグループを作成します。

1. MySQL オプション機能 `MariaDB Audit Plugin` を使用して新しいオプショングループを作成します。オプショングループを作成する手順については、「[オプショングループを使用する](USER_WorkingWithOptionGroups.md)」を参照してください。

1. 作成したカスタム パラメータグループと新しいオプショングループを使用して MySQL DB インスタンスを作成します。

**Topics**
+ [前提条件](#tutorial-creating-custom-OPG.Prerequisites)
+ [Amazon RDS パラメータグループを作成する](#tutorial-creating-custom-OPG.create-parameter-group)
+ [カスタムパラメータグループのパラメータ値を変更する](#tutorial-creating-custom-OPG.add-parameters)
+ [新しい Amazon RDS オプショングループを作成する](#tutorial-creating-custom-OPG.create-option-group)
+ [新しいオプショングループにオプションを追加する](#tutorial-creating-custom-OPG.add-options)
+ [カスタムパラメータと新しいオプショングループを使用して MySQL DB インスタンスを作成する](#tutorial-creating-custom-OPG.create-OPG)

## 前提条件
<a name="tutorial-creating-custom-OPG.Prerequisites"></a>

このチュートリアルでは、AWS アカウントと管理アクセスを持つユーザーが必要です。まだ設定していない場合は、次のセクションの手順を完了してください。
+ [AWS アカウントへのサインアップ](CHAP_SettingUp.md#sign-up-for-aws)
+ [管理アクセスを持つユーザーを作成する](CHAP_SettingUp.md#create-an-admin)

## Amazon RDS パラメータグループを作成する
<a name="tutorial-creating-custom-OPG.create-parameter-group"></a>

このチュートリアルでは、コンソールで MySQL DB インスタンスの [default\$1password\$1lifetime](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_password_lifetime) と [disconnect\$1on\$1expired\$1password](https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_disconnect_on_expired_password) を使用してカスタムパラメータグループを作成する方法について説明します。`default_password_lifetime` パラメータは、クライアントパスワードが自動的に期限切れになるまでの日数を制御します。`disconnect_on_expired_password` パラメータは、パスワードの有効期限が切れたときに MySQL DB インスタンスがクライアントを切断するかどうかを制御します。MySQL DB インスタンスで使用できるその他のパラメータの詳細については、「[MySQL のパラメータ](Appendix.MySQL.Parameters.md)」「」を参照してください。

**パラメータグループを作成するには**

1. Amazon RDS コンソールを開き、**[パラメータグループ]** を選択します。

1. **[カスタムパラメータグループ]** で、**[パラメータグループの作成]** を選択します。

1. パラメータグループの詳細を設定します。

   1. パラメータグループの名前を入力します。

   1. パラメータグループの説明を入力します。

   1. **[エンジンタイプ]** で、**[MySQL Community]** を選択します。 

   1. **[パラメータグループファミリー]** で、**[MySQL 8.0]** を選択します。

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

新しい パラメータグループは、Amazon RDS コンソールの **[パラメータグループ]** ページに表示されます。次の手順は、パラメータ値を変更してパラメータグループをカスタマイズする方法を示しています。

## カスタムパラメータグループのパラメータ値を変更する
<a name="tutorial-creating-custom-OPG.add-parameters"></a>

次のステップを使用して、「[Amazon RDS パラメータグループを作成する](#tutorial-creating-custom-OPG.create-parameter-group)」で作成したパラメータグループのパラメータ値を変更します。

**パラメータグループ内のパラメータ値を変更するには**

1. Amazon RDS コンソールを開き、**[パラメータグループ]** を選択します。

1. **[カスタムパラメータグループ]** で、作成した パラメータグループの名前を選択します。

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

1. **[パラメータをフィルタリング]** 検索ボックスで、カスタムパラメータ `default_password_lifetime` を検索します。

1. パラメータの横にあるチェックボックスを選択し、このパスワード有効期間パラメータに設定する日数の値を入力します。

1. **[Save Changes]** (変更を保存) をクリックします。

1. パラメータ ` disconnect_on_expired_password` に対して同じ手順を繰り返します。このパラメータを選択すると、ドロップダウンメニューから 0 または 1 の値を選択するように求められます。期限切れのパスワードで切断するには、1 を選択します。

これで、カスタムパラメータグループを Amazon RDS for MySQL 8.0 DB インスタンスに関連付けることができるようになりました。次に、DB インスタンスの新しいオプショングループを作成します。

## 新しい Amazon RDS オプショングループを作成する
<a name="tutorial-creating-custom-OPG.create-option-group"></a>

[[MariaDB 監査プラグイン]](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MySQL.Options.AuditPlugin.html) オプションを使用して新しいオプショングループを作成します。このプラグインは、セキュリティとコンプライアンスに関するサーバーアクティビティをログに記録します。MySQL DB インスタンスで使用できるその他のカスタムオプションの詳細については、「[MySQL DB インスタンスのオプション](Appendix.MySQL.Options.md)」を参照してください。

**オプショングループを作成するには**

1. Amazon RDS コンソールを開き、**[オプショングループ]** を選択します。

1. **[オプショングループ]** で、**[グループを作成]** を選択します。

1. オプショングループの詳細を設定します。
   + オプショングループの名前を入力します。
   + オプショングループの説明を入力します。
   + **[エンジン]** で **[MySQL]** を選択します。
   + **[メジャーエンジンバージョン]** で、**[8.0]** を選択します。

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

新しいオプショングループは、Amazon RDS コンソールの **[オプショングループ]** ページに表示されます。次の手順は、オプショングループにオプションを追加する方法を示しています。

## 新しいオプショングループにオプションを追加する
<a name="tutorial-creating-custom-OPG.add-options"></a>

次の手順を使用して、「[新しい Amazon RDS オプショングループを作成する](#tutorial-creating-custom-OPG.create-option-group)」で作成した新しいオプショングループにオプションを追加します。

**オプショングループにオプションを追加するには**

1. Amazon RDS コンソールを開き、**[オプショングループ]** を選択します。

1. **[オプショングループ]** で、作成したオプショングループの名前を選択します。

1. **[オプション]** で、**[オプションの追加]** を選択します。

1. オプショングループの詳細を設定します。
   + **[オプション名]** で、MariaDB 監査プラグインの **[MARIADB\$1AUDIT\$1PLUGIN]** オプションを選択します。
   + **[オプション設定]** で、すべてのデフォルトオプションを選択したままにします。
   + **[すぐに適用]** で、**[はい]** を選択します。

1. **[オプションの作成]** を選択します。

これで、関連付けられたすべての DB インスタンスでこの新しいオプショングループが使用可能になりました。次に、カスタムパラメータと新しいオプショングループを使用して MySQL DB インスタンスを作成します。

## カスタムパラメータと新しいオプショングループを使用して MySQL DB インスタンスを作成する
<a name="tutorial-creating-custom-OPG.create-OPG"></a>

最後に、前のステップで作成したカスタムパラメータと新しいオプショングループを使用して MySQL DB インスタンスを作成します。次の手順は、カスタムパラメータと新しいオプショングループを使用して MySQL DB インスタンスを作成する方法を示しています。

**カスタムパラメータと新しいオプショングループを使用して DB インスタンスを作成するには**

1. Amazon RDS コンソールを開き、**[データベース]** を選択します。

1. **[データベースの作成]** を選択します。

1. **[データベース作成方法を選択]** で **[標準作成]** を選択します。

1. **[エンジンのオプション]** として、**[MySQL]** を選択します。

1. **[可用性と耐久性]** で、**[単一の DB インスタンス]** を選択します。このステップは、カスタムパラメータまたは新しいオプショングループをサポートするために必要です。

1. **[追加設定]** を選択します。
   + **[最初のデータベース名]** で、DB インスタンスの名前を選択します。
   + **[DB パラメータグループ]** ドロップダウンで、前に作成したカスタムパラメータグループの名前を選択します。
   + **[オプショングループ]** ドロップダウンで、前に作成した新しいオプショングループの名前を選択します。

1. このチュートリアルでは、他の DB 設定はデフォルト設定のままにすることも、必要に応じて変更することもできます。

1. **[データベースの作成]** を選択します。

RDS は、カスタムパラメータグループと新しいオプショングループを使用して新しい MySQL DB インスタンスを作成します。このデータベースの詳細については、Amazon RDS コンソールの「**データベース**」のページを参照してください。

このチュートリアルでは、カスタムパラメータと新しいオプショングループを使用して、カスタマイズされた設定で MySQL DB インスタンスを設定します。この新しく作成された MySQL DB インスタンスは、`default_password_lifetime` パラメータを使用してユーザーパスワードの有効期間を管理します。この DB インスタンスは、`disconnect_on_expired_password` パラメータを使用して、期限切れのパスワードで接続するユーザーも切断します。また、`MariaDB Audit Plugin` オプションを使用して、サーバーアクティビティも追跡します。データベースを最適化するには、カスタムパラメータグループに追加の設定を適用し、オプションを追加します。

 カスタマイズした DB インスタンスの作成が完了したら、不要なコストが発生しないようにリソースを削除する必要があります。DB インスタンスを削除するには、「[DB インスタンスを削除する](USER_DeleteInstance.md)」の手順に従います。