パラメータグループの概要 - Amazon Aurora

パラメータグループの概要

DB クラスターパラメータグループは、Aurora DB クラスター内のすべての DB インスタンスに適用されるエンジン設定値のコンテナとして機能します。例えば、Aurora 共有ストレージモデルでは、Aurora クラスター内のすべての DB インスタンスが innodb_file_per_table などのパラメータで同じ設定を使用することが要求されます。したがって、物理的なストレージレイアウトに影響するパラメータは、クラスターパラメータグループの一部です。DB クラスターパラメータグループには、インスタンスレベルのすべてのパラメータのデフォルト値も含まれています。

DB パラメータグループは、1 つ以上の DB インスタンスに適用されるエンジン設定値のコンテナとして機能します。DB パラメータグループは、Amazon RDS と Aurora の両方の DB インスタンスに適用されます。これらの構成設定が適用されるプロパティ (メモリバッファのサイズなど) は、Aurora クラスター内の DB インスタンス間で異なる場合があります。

デフォルトおよびカスタムパラメータグループ

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

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

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

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

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

    DB クラスターまたは DB インスタンスの変更については、「Amazon Aurora DB クラスターの変更」を参照してください。

    注記

    カスタムパラメータグループを使用するように DB インスタンスを変更して、DB インスタンスを起動すると、RDS は起動プロセスの一環として DB インスタンスを自動的に再起動します。

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

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

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

静的および動的 DB クラスターパラメータ

DB クラスターパラメータは静的または動的に使用することができます。これらは次の点で異なります。

  • 静的パラメータを変更して DB クラスターのパラメータグループを保存する場合、パラメータの変更は、関連付けられている各 DB クラスター内の DB インスタンスを手動で再起動した後に有効になります。AWS Management Console を使用して静的 DB クラスターパラメータ値を変更するときには、常に ApplyMethod として pending-reboot を使用します。

  • 動的パラメータを変更すると、デフォルトでは、パラメータの変更は直ちに有効になり、再起動は不要です。コンソールを使用する場合、常に ApplyMethod として immediate を使用します。パラメータの変更を、関連付けられている DB クラスター内の DB インスタンスが再起動されるまで延期するには、AWS CLI または RDS API を使用します。パラメータを変更する場合は、ApplyMethodpending-reboot に設定します。

AWS CLI を使用してパラメータ値を変更する方法については、「modify-db-cluster-parameter-group」を参照してください。RDS API を使用してパラメータ値を変更する方法については、「ModifyDBClusterParameterGroup」を参照してください。

DB クラスターに関連付けられている 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 インスタンスパラメータは静的または動的に使用することができます。違いについては下記をご覧ください。

  • 静的パラメータを変更して DB パラメータグループを保存すると、パラメータの変更は関連付けられている DB インスタンスを手動で再起動した後に有効になります。静的パラメータの場合、コンソールは常に ApplyMethod として pending-reboot を使用します。

  • 動的パラメータを変更すると、デフォルトでは、パラメータの変更は直ちに有効になり、再起動は不要です。AWS Management Console を使用して DB インスタンスのパラメータ値を変更するときには、常に動的パラメータ向けの ApplyMethod として immediate を使用します。パラメータの変更を、関連付けられている DB インスタンスが再起動されるまで延期するには、AWS CLI または RDS API を使用します。パラメータを変更する場合は、ApplyMethodpending-reboot に設定します。

AWS CLI を使用してパラメータ値を変更する方法については、「modify-db-parameter-group」を参照してください。RDS API を使用してパラメータ値を変更する方法については、「ModifyDBParameterGroup」を参照してください。

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

文字セットパラメータ

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

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

ALTER DATABASE database_name CHARACTER SET character_set_name COLLATE collation;

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

サポートされるパラメータとパラメータ値

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

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

Aurora グローバルデータベースでは、Aurora クラスター別に異なる構成設定を指定できます。セカンダリクラスターをプライマリクラスターに昇格させる場合は、両者を同様の設定にして動作を一貫させてください。例えば、Aurora グローバルデータベースのすべてのクラスターでタイムゾーンと文字セットに同じ設定を使用します。

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