DB クラスターパラメータグループを使用する - Amazon Aurora

DB クラスターパラメータグループを使用する

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

Amazon Aurora の DB クラスターパラメータと DB インスタンスパラメータ

Aurora は、以下に示すように、2 レベルシステムの構成設定を使用します。

  • DB クラスターパラメータグループのパラメータは、DB クラスター内のすべての DB インスタンスに適用されます。データは、Aurora 共有ストレージサブシステムに保存されます。このため、テーブルデータの物理レイアウトに関連するすべてのパラメータは、Aurora クラスター内のすべての DB インスタンスで同じにする必要があります。同様に、Aurora DB インスタンスはレプリケーションで接続されているため、レプリケーション設定のすべてのパラメータは Aurora クラスター全体で同じにする必要があります。

  • DB パラメータグループのパラメータは、Aurora DB クラスター内の単一の DB インスタンスに適用されます。これらのパラメータは、同じ Aurora クラスター内の DB インスタンス間で変化させることができるメモリ使用量などの要素に関連しています。例えば、クラスターには、AWS インスタンスクラスが異なる DB インスタンスが含まれる場合がよくあります。

すべての Aurora クラスターは、DB クラスターパラメータグループに関連付けられます。このパラメータグループは、対応する DB エンジンのすべての設定値にデフォルト値を割り当てます。クラスターパラメータグループには、クラスターレベルとインスタンスレベルの両方のパラメータのデフォルトが含まれています。プロビジョニングされたクラスターまたは Aurora Serverless v2 クラスター内の各 DB インスタンスは、その DB クラスターパラメータグループから設定を継承します。

各 DB インスタンスにも DB パラメータグループが関連付けられます。DB パラメータグループの値によって、クラスターパラメータグループのデフォルト値をオーバーライドできます。例えば、クラスター内の 1 つのインスタンスに問題が発生した場合、そのインスタンスにカスタム DB パラメータグループを割り当てることができます。カスタムパラメータグループには、デバッグまたはパフォーマンスチューニングに関連するパラメータとして特定の設定を含めることができます。

Aurora は、指定されたデータベースエンジンおよびバージョンに基づいて、クラスターまたは新しい DB インスタンスを作成すると、デフォルトのパラメータグループを割り当てます。代わりに、カスタムパラメータグループを指定することもできます。これらのパラメータグループは自分で作成し、パラメータ値を編集できます。これらのカスタムパラメータグループは、作成時に指定できます。DB クラスターまたはインスタンスを後で変更して、カスタムパラメータグループを使用することもできます。

プロビジョニングされたインスタンスと Aurora Serverless v2 インスタンスの場合、DB クラスターパラメータグループで変更した設定値は、DB パラメータグループのデフォルト値をオーバーライドします。DB パラメータグループ内の対応する値を編集すると、これらの値によって DB クラスターパラメータグループの設定が上書きされます。

変更した DB パラメータ設定は、構成設定を変更してデフォルト値に戻した場合でも、DB クラスターパラメータグループ値より優先されます。どのパラメータがオーバーライドされるかは、describe-db-parameters AWS CLI コマンドまたは DescribeDBParameters RDS API オペレーションを使用して確認できます。Source フィールドには、該当するパラメータを変更した場合に、値 user が含まれます。DB クラスターパラメータグループの値が優先されるように、1 つ以上のパラメータをリセットするには、reset-db-parameter-group AWS CLI コマンドまたは ResetDBParameterGroup RDS API オペレーションを使用します。

DB クラスターと、Aurora で利用可能な DB インスタンスパラメータは、データベースエンジンの互換性に応じて異なります。

データベースエンジン パラメータ

Aurora MySQL

Aurora MySQL 設定パラメータ」を参照してください。

Aurora Serverless クラスターの詳細については、Aurora Serverless v2 のパラメータグループを使用するAurora Serverless v1 のパラメータグループ のその他の詳細を参照してください。

Aurora PostgreSQL

Amazon Aurora PostgreSQL 個のパラメータ」を参照してください。

Aurora Serverless クラスターの詳細については、Aurora Serverless v2 のパラメータグループを使用するAurora Serverless v1 のパラメータグループ のその他の詳細を参照してください。

注記

Aurora Serverless v1 クラスターには、DB クラスターパラメータグループのみ関連付けられており、DB パラメータグループは関連付けられていません。Aurora Serverless v2 クラスターでは、すべての変更は、DB クラスターパラメータグループ内のカスタムパラメータに対して行います。

Aurora Serverless v2 は、DB クラスターパラメータグループと DB パラメータグループの両方を使用します。Aurora Serverless v2 では、ほぼすべての構成パラメータを変更できます。Aurora Serverless v2 は、一部の容量関連の構成パラメータの設定をオーバーライドして、Aurora Serverless v2 インスタンスがスケールダウンしたときにワークロードが中断されないようにします。

Aurora Serverless の構成設定と変更できる設定の詳細については、Aurora Serverless v2 のパラメータグループを使用するAurora Serverless v1 のパラメータグループ を参照してください。

DB クラスターのパラメータグループの作成

新しい DB クラスターパラメータグループは、AWS Management Console、AWS CLI、または RDS API を使って作成できます。

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

  1. AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

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

  3. [Create parameter group] (パラメータグループの作成) を選択します。

    [パラメータグループの作成] ウィンドウが表示されます。

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

  5. [Type] リストで、[DB Cluster Parameter Group] を選択します。

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

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

  8. [Create] を選択します。

DB クラスターのパラメータグループを作成するには、AWS CLI​ の create-db-cluster-parameter-group​ コマンドを使用します。

次の例では、Aurora MySQL バージョン 5.7 用に、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"
注記

出力は重複が含まれます。

Linux、macOS、Unix の場合:

aws rds create-db-cluster-parameter-group \ --db-cluster-parameter-group-name mydbclusterparametergroup \ --db-parameter-group-family aurora-mysql5.7 \ --description "My new cluster parameter group"

Windows の場合:

aws rds create-db-cluster-parameter-group ^ --db-cluster-parameter-group-name mydbclusterparametergroup ^ --db-parameter-group-family aurora-mysql5.7 ^ --description "My new cluster parameter group"

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

{ "DBClusterParameterGroup": { "DBClusterParameterGroupName": "mydbclusterparametergroup", "DBParameterGroupFamily": "aurora-mysql5.7", "Description": "My new cluster parameter group", "DBClusterParameterGroupArn": "arn:aws:rds:us-east-1:123456789012:cluster-pg:mydbclusterparametergroup" } }

DB クラスターのパラメータグループを作成するには、​RDS API の ​CreateDBClusterParameterGroup アクションを使用します。

以下の必須パラメータを含めます。

  • DBClusterParameterGroupName

  • DBParameterGroupFamily

  • Description

DB クラスターパラメータグループと DB クラスターの関連付け

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

DB クラスターのパラメータグループの作成については、DB クラスターのパラメータグループの作成 を参照してください。DB クラスターの作成方法については、Amazon Aurora DB クラスターの作成 を参照してください。DB クラスターの変更については、「Amazon Aurora DB クラスターの変更」を参照してください。

注記

DB クラスターに関連付けられている DB クラスターパラメータグループを変更した後、クラスター内のプライマリ DB インスタンスを再起動して、クラスター内のすべての DB インスタンスに変更を適用します。

変更を適用するために DB クラスターのプライマリ DB インスタンスを再起動する必要があるかどうかを判定するには、以下の AWS CLI コマンドを実行します。

aws rds describe-db-clusters --db-cluster-identifier db_cluster_identifier

出力でプライマリ DB インスタンスの DBClusterParameterGroupStatus 値を確認します。値が pending-reboot の場合は、DB クラスターのプライマリ DB インスタンスを再起動します。

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

  1. AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

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

  3. [Modify] を選択します。[DB クラスターの変更] ページが表示されます。

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

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

    [Scheduling of modifications (変更のスケジュール)] 設定に関係なく、変更はすぐに適用されます。

  6. 確認ページで、変更内容を確認します。正しい場合は、[クラスターの変更] を選択して変更を保存します。

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

DB クラスターのパラメータグループと DB クラスターを関連付けるには、以下のオプションを指定しながら AWS CLI の modify-db-cluster コマンドを使用します。

  • --db-cluster-name

  • --db-cluster-parameter-group-name

次の例では、mydbclpg DB パラメータグループを mydbcluster DB クラスターに関連付けます。

Linux、macOS、Unix の場合:

aws rds modify-db-cluster \ --db-cluster-identifier mydbcluster \ --db-cluster-parameter-group-name mydbclpg

Windows の場合:

aws rds modify-db-cluster ^ --db-cluster-identifier mydbcluster ^ --db-cluster-parameter-group-name mydbclpg

DB クラスターパラメータグループと DB クラスターを関連付けるには、以下のパラメータを指定しながら RDS API の ModifyDBCluster オペレーションを使用します。

  • DBClusterIdentifier

  • DBClusterParameterGroupName

DB クラスターパラメータグループのパラメータの変更

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

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

  1. AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

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

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

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

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

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

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

  7. クラスター内のプライマリ DB インスタンスを再起動して、クラスター内のすべての DB インスタンスに変更を適用します。

DB クラスターパラメータグループを変更するには、以下の必須パラメータを指定しながら AWS CLI の modify-db-cluster-parameter-group コマンドを使用します。

  • --db-cluster-parameter-group-name

  • --parameters

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

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

DB クラスターのパラメータグループを変更するには、以下の必須パラメータを指定ながら RDS API の ModifyDBClusterParameterGroup コマンドを使用します。

  • DBClusterParameterGroupName

  • Parameters

DB クラスターパラメータグループのパラメータのリセット

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

注記

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

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

  1. AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

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

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

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

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

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

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

  7. DB クラスター内のプライマリ DB インスタンスを再起動して、DB クラスター内のすべての DB インスタンスに変更を適用します。

DB クラスターのパラメータグループにおいて、パラメータをデフォルト値にリセットするには、以下の --db-cluster-parameter-group-name オプション (必須) を指定しながら AWS CLI の reset-db-cluster-parameter-group コマンドを使用します。

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

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

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_loggingserver_audit_logs_upload をデフォルト値にリセットしています。

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

DB クラスターパラメータグループのパラメータをデフォルト値にリセットするには、以下の必須パラメータを指定して、RDS API ResetDBClusterParameterGroupコマンドを使用します。DBClusterParameterGroupName

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

DB クラスターのパラメータグループのコピー

作成したカスタム DB クラスターパラメータグループをコピーできます。パラメータグループのコピーは、作成済みの DB クラスターパラメータグループがあり、そのグループの多くのカスタムパラメータと値を新しい DB クラスターパラメータグループに含める必要がある場合に便利な方法です。DB クラスターパラメータグループをコピーするには、AWS CLI copy-db-cluster-parameter-group コマンド、または RDS API CopyDBClusterParameterGroup オペレーションを使用できます。

DB クラスターパラメータグループをコピーした後で、この DB クラスターパラメータグループをデフォルトのパラメータグループとして使用する最初の DB クラスターを作成するまで、最低 5 分待ちます。これにより、パラメータグループを新しい DB クラスターのデフォルトとして使用する前に、Amazon RDS はコピーアクションが完全に終了できます。DB クラスターパラメータグループが作成されたことを確認するには、Amazon RDS コンソールの [パラメータグループ] オプションまたは describe-db-cluster-parameters コマンドを使用できます。

注記

デフォルトのパラメータグループをコピーすることはできません。ただし、デフォルトのパラメータグループに基づく新しいパラメータグループを作成できます。

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

  1. AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

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

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

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

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

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

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

DB クラスターのパラメータグループをコピーするには、以下の必須パラメータを指定しながら AWS CLI の copy-db-cluster-parameter-group コマンドを使用します。

  • --source-db-cluster-parameter-group-identifier

  • --target-db-cluster-parameter-group-identifier

  • --target-db-cluster-parameter-group-description

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

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"

DB クラスターパラメータグループをコピーするには、以下の必須パラメータを指定して、RDS API の CopyDBClusterParameterGroup オペレーションを使用します。

  • SourceDBClusterParameterGroupIdentifier

  • TargetDBClusterParameterGroupIdentifier

  • TargetDBClusterParameterGroupDescription

DB クラスターのパラメータグループのリスト化

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

注記

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

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

  1. AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

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

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

AWS アカウントにある、すべての DB クラスターのパラメータグループを一覧表示するには、AWS CLI の describe-db-cluster-parameter-groups コマンドを使用します。

以下の例では、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": "mydbclusterparametergroup", "DBParameterGroupFamily": "aurora-mysql5.7", "Description": "My new cluster parameter group", "DBClusterParameterGroupArn": "arn:aws:rds:us-east-1:123456789012:cluster-pg:mydbclusterparametergroup" } ] }

AWS アカウントにある、すべての DB クラスターのパラメータグループを一覧表示するには、RDS API の DescribeDBClusterParameterGroups アクションを使用します。

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

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

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

  1. AWS Management Console にサインインし、Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

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

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

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

DB クラスターのパラメータグループについて、そのパラメータ値を表示するには、以下の必須パラメータを指定しながら AWS CLI の describe-db-cluster-parameters コマンドを使用します。

  • --db-cluster-parameter-group-name

以下の例では、JSON 形式の mydbclusterparametergroup という名前の DB クラスターパラメータグループのパラメータとその値を一覧表示しています。

このコマンドでは次のようなレスポンスが返されます。

aws rds describe-db-cluster-parameters --db-cluster-parameter-group-name mydbclusterparametergroup
{ "Parameters": [ { "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" ] }, { "ParameterName": "aurora_binlog_read_buffer_size", "ParameterValue": "5242880", "Description": "Read buffer size used by master dump thread when the switch aurora_binlog_use_large_read_buffer is ON.", "Source": "engine-default", "ApplyType": "dynamic", "DataType": "integer", "AllowedValues": "8192-536870912", "IsModifiable": true, "ApplyMethod": "pending-reboot", "SupportedEngineModes": [ "provisioned" ] }, ...

DB クラスターパラメータグループのパラメータ値を表示するには、以下の必須パラメータを指定して、RDS API の DescribeDBClusterParameters コマンドを使用します。

  • DBClusterParameterGroupName