Amazon RDS のパラメータグループを比較する

AWS

2024.3.7

Topics

はじめに

RDS では、サーバー変数をパラメータグループを使って管理します。
このパラメータグループには、「比較」という機能があります。
例えば、バージョンをアップグレードする際に、バージョンごとのパラメータの差異をパラメータグループの比較機能を使って簡単に調べることができるため知っておくと便利な機能です。

今回は、その使い方について記述します。

パラメータグループを比較する

比較する方法を、以下の 2 つに分けてそれぞれ詳細を記述します。

  • デフォルトパラメータグループとカスタムパラメータグループで比較
  • カスタムパラメータグループ同士で比較

なお、簡単ではありますが用語について少しだけ解説します。

  • パラメータグループ : データベースの設定値を操作するRDSの機能
  • デフォルトパラメータグループ : データベースエンジンのデフォルトと RDS システムのデフォルトが含まれているパラメータグループ
  • カスタムパラメータグループ : ユーザー側でパラメータ値を操作可能なパラメータグループ
  • クラスターパラメータグループ : Aurora DB クラスター内のすべての DB インスタンスに適用して機能するパラメータグループ
  • インスタンスパラメータグループ: DB インスタンス単体に適用して機能するパラメータグループ

パラメータグループの概要 – Amazon Relational Database Service

余談ですが、デフォルトパラメータグループよりカスタムパラメータグループを使うことを推奨します。
詳細については以下を御覧ください。

関連記事
Amazon RDS を使い始める際に見るべき 10 の設定

デフォルトパラメータグループとカスタムパラメータグループで比較

まず、比較対象として任意のカスタムパラメータグループを作成します。
今回は「test」という名前で作成しました。

また、今回は差分がわかりやすいように、以下のパラメータ値をデフォルトから変更しています。

  • autocommit : 0 → 1
  • general_lo : 0 → 1
  • max_connections : 計算式 → 1000

続いて、作成したカスタムパラメータグループを選択して、アクションから「比較」を選択します。
こうすることにより、カスタムパラメータグループを作成するときに選択したファミリーのデフォルトパラメータグループと自動的に比較されます。

パラメータグループを選択して比較する

比較して表示される項目は、差分があるパラメータ値だけとなります。

カスタムパラメータとデフォルトパラメータの比較結果

先程変更した項目の他にも、差分のあるパラメータ値が表示されています。

この比較をすることにより、新しい環境やバージョンでパラメータを設定するときに AWS の設定との乖離をすぐに発見することができます。

カスタムパラメータグループ同士で比較

続いては、カスタムパラメータグループ同士で比較します。
先程の「test」に加えて、何も変更していない「test2」のカスタムパラメータグループを作成します。

先程は、1 つしか選択しませんでしたが、今度は 2 つ選択して比較を選択します。

カスタムパラメータ同士で比較する

先程と同じ様に差分が表示されます。

カスタムパラメータ同士の比較結果

比較機能の制限事項

なお、この比較対象に少し制限があるため記述します。

  • タイプが同じじゃないと比較できない
  • Aurora PostgreSQL と RDS for PostgreSQL DB のパラメータグループはバージョンが異なると比較できない

タイプが同じじゃないと比較できない

タイプが、「クラスターパラメータグループ」と「インスタンスパラメータグループ」だと比較が選択できません。

指定されたパラメータグループは、両方とも DB パラメータグループであるか、両方とも DB クラスターパラメータグループである必要があります。DB エンジンとバージョンが同じであっても当てはまります。例えば、Aurora MySQL 8.0 DB パラメータグループと Aurora MySQL 8.0 DB クラスターパラメータグループを比較することはできません。
パラメータグループを比較する – Amazon Relational Database Service

クラスターパラメータグループとインスタンスパラメータグループを比較する

Aurora の場合は、「クラスターパラメータグループ」と「インスタンスパラメータグループ」が分かれているため作成する際はご注意下さい。

Aurora PostgreSQL と RDS for PostgreSQL DB のパラメータグループはバージョンが異なると比較できない

PostgreSQL に存在する制限になっています。
Aurora PostgreSQL と RDS for PostgreSQL DB はバージョンが異なる場合、パラメータグループは比較できません。

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

PostreSQLのパラメータ比較

ただし、MySQL は RDS と Aurora でバージョンが違っても比較することができます。

MySQLでAuroraとRDSのバージョンが違うパラメータを比較する

参考資料

パラメータグループを比較する – Amazon Relational Database Service

Cold-Airflow

2021年新卒入社。インフラエンジニアです。RDBが三度の飯より好きです。 主にデータベースやAWSのサーバレスについて書く予定です。あと寒いのは苦手です。

Recommends

こちらもおすすめ

Special Topics

注目記事はこちら