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

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

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

DB インスタンスとAurora DB クラスターをパラメータグループに関連付けて、データベースの設定を管理します。Aurora は、デフォルト設定を使用してパラメータグループを定義します。

重要

カスタマイズした設定を使用して独自のパラメータグループを定義できます。次に、独自のパラメータグループを使用するように DB インスタンスとAurora DB クラスターを変更できます。

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

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 システムのデフォルトが含まれています。デフォルトのパラメータグループのパラメータ設定は変更できません。代わりに、独自のパラメータ設定を選択して、独自のパラメータグループを作成します。DB エンジンのすべてのパラメータが、作成した DB パラメータグループで変更できるわけではありません。

独自のパラメータグループを使用する場合は、新しいパラメータグループを作成し、変更するパラメータを変更します。次に、新しいパラメータグループを使用するように DB インスタンスまたは DB クラスターを変更します。DB パラメータグループ内のパラメータを更新すると、このパラメータグループに関連付けられたすべての DB インスタンスに変更が適用されます。同様に、Aurora DB クラスターパラメータグループ内のパラメータを更新すると、この DB クラスターパラメータグループに関連付けられたすべての Aurora クラスターに変更が適用されます。

AWS CLI の copy-db-parameter-group コマンドで、既存の DB パラメータグループをコピーすることもできます。AWS CLI の copy-db-cluster-parameter-group コマンドで、既存の DB クラスターパラメータグループをコピーすることができます。パラメータグループをコピーすると便利な場合があります。例えば、既存の パラメータグループのカスタムパラメータと値のほとんどを新しい パラメータグループに含めたい場合です。

パラメータグループのパラメータを使用する際の重要なポイントを以下に示します。

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

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

    AWS Management Console を使用して DB クラスターのパラメータ値を変更するときには、常に動的パラメータ向けの ApplyMethod として immediate を使用します。静的パラメータの場合、AWS Management Console は常に ApplyMethod として pending-reboot を使用します。

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

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

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

    AWS Management Console を使用して DB インスタンスのパラメータ値を変更するときには、常に動的パラメータ向けの ApplyMethod として immediate を使用します。静的パラメータの場合、AWS Management Console は常に ApplyMethod として pending-reboot を使用します。

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

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

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

  • 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 エンジンでは、ALTER DATABASE コマンドを使用して、既存のデータベースの文字セットまたは照合値を変更できます。次に例を示します。

    ALTER DATABASE database_name CHARACTER SET character_set_name COLLATE collation;

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

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

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

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