RDB:DBパラメーターグループ
仕様
DBエンジンの設定の管理は、DBパラメーターグループを利用して行います。
DBパラメーターグループは、複数のDBサーバーに適用可能な設定を保存しておく場所で、設定情報は複数のパラメーターとそれに対応する値として保存されます。
DB パラメーターグループを指定せずにDBサーバーを作成した場合、デフォルトのDBパラメーターグループが適用されます。
このデフォルトのグループは、DBエンジンのデフォルト値と、ニフクラ RDBがそのDBサーバーのDBエンジン・DB サーバータイプ・ディスク容量に応じて決定したシステムのデフォルト値が含まれおり、デフォルト値の中には、DBパラメーターグループで変更できないものも存在します。
DBパラメーターグループ名 | 半角英数字、ハイフン 1~255文字 |
グループ設定数 | 50個まで |
変更可能なパラメーター数 | 20個まで |
メモ | 全半角255文字以内 |
※上限を変更が必要な場合は、下記フォームよりご申請ください。
各種変更申請フォーム
機能一覧
DBパラメーターの変更
独自に作成したDBパラメーターグループに指定されたパラメーターの値は、後から変更できます。
変更がDBサーバーに適用されるタイミングは、パラメーターの適用タイプによって変わります。
適用タイプ | 適用方法 | 説明 | ||||||
---|---|---|---|---|---|---|---|---|
static | pending-reboot(再起動待ち) | DBサーバー内の設定ファイルに反映されます。
|
||||||
dynamic | immediate(今すぐ) | DBサーバーに即時反映します。
|
なお、DB パラメーターの変更をModifyDBParameter APIで行うと、適用タイプがdynamicであってもApplyMethod(適用方法)にpending-reboot(再起動待ち)が選択可能です。
PostgreSQLエンジンの場合、すべてのdynamicパラメーターについてimmediateでの適用のみが可能です(pending-rebootを指定しても即時反映されます)。
List型パラメーターに複数のパラメーター値を設定するには、パラメーター値をカンマで区切って指定してください。
変更したDBパラメーターの確認方法
MySQLの場合
以下のSQLを実行し、意図した値になっているか確認してください。
※staticパラメーターはDBサーバー再起動後例)tx_isolation mysql> show variables like 'tx_isolation'; +---------------+-----------------+ | Variable_name | Value | +---------------+-----------------+ | tx_isolation | REPEATABLE-READ | +---------------+-----------------+
意図した値でない場合は、イベントとMySQLのエラーログを確認してください。
PostgreSQLの場合
以下のSQLを実行し、意図した値になっているか確認してください。
※staticパラメーターはDBサーバー再起動後例)application_name DB01=> show application_name; application_name ------------------ psql (1 row)
意図した値ではない場合、イベントとPostgreSQLのエラーログを確認してください。 エラーが出力されていた場合は以下のいずれかを実行してください。
- ModifyDBParameterGroupで正常な値の指定
- ResetDBParameterGroupでパラメーターのリセット
また、staticパラメーターの場合またはDBサーバーのステータスがincompatible-parametersの場合はRebootDBInstanceで再起動を行ってください。
DBサーバーへの適用
自分で定義したDBパラメーターをDBサーバーに適用する手順は以下となります。
- 新しいDBパラメーターグループを作成する。
- 必要なパラメーターを修正する。
- DBサーバーに1)で作成したDBパラメーターグループを割り当てる。
- DBパラメーターグループでパラメーターの値を変更した場合、そのDBパラメーターグループに所属しているすべてのDBサーバーに変更が適用されます。
- 新規に作成したDBパラメーターグループは、DBサーバーを所属させることでDBサーバーへ適用されます。
- 既存のDBサーバーへ新規に作成したDBパラメーターグループを反映するには、DBサーバーの再起動を実施してください。
DBパラメーターのリセット
- 「DBパラメーターグループのリセット」操作により、DBパラメーターグループ内のすべてのパラメーターがデフォルト値に戻ります。
- ただし、PostgreSQLエンジンでリードレプリカを利用していると、関連するDBサーバーに適用されたDBパラメーターグループはリセットできません。 詳しくは技術仕様/制限値(RDB:リードレプリカ)のページをご参照ください。
DBパラメーターの値
DBパラメーターの値には、整数またはDBパラメーター式を指定できます。
DBパラメーター式
「DB パラメーター式」は、評価すると整数になる { } で囲んだ表現です。
この「DB パラメーター式」を、DBパラメーターの値に指定できます。
{DBパラメーター式変数}
{DBパラメーター式変数*整数}
{DBパラメーター式変数*整数1/整数2}
{DBパラメーター式変数/整数}
DBパラメーター式変数
DBパラメーター式変数は整数を返します。変数名には大文字・小文字の区別があります。
DBInstanceClassMemory
DBサーバーに設定されたDBサーバータイプのメモリ量をバイト数で返却します。実際には管理用プロセスのメモリ使用量を差し引いた下記表の値となります。dbクラス メモリ DBInstanceClassMemory db.mini 512MB 356,482,286 db.small / db.e-small 1GB 880,468,296 db.small2 / db.medium / db.e-small2 / db.e-medium 2GB 1,954,210,120 db.small4 / db.medium4 / db.large / db.e-small4 / db.e-medium4 / db.e-large 4GB 4,101,693,768 db.small8 / db.medium8 / db.large8 / db.extra-large8 / db.e-small8 / db.e-medium8 / db.e-large8 /db.e-extra-large8 8GB 8,396,661,064 db.small16 / db.medium16 / db.large16 / db.extra-large16 / db.double-large16 / db.e-small16 / db.e-medium16 / db.e-large16 / db.e-extra-large16 / db.e-double-large16 16GB 16,986,595,656 db.medium24 / db.large24 / db.extra-large24 / db.double-large24 / db.e-medium24 / db.e-large24 / db.e-extra-large24 / db.e-double-large24 24GB 25,576,530,248 db.large32 / db.extra-large32 / db.double-large32 / db.triple-large32 / db.e-large32 / db.e-extra-large32 / db.e-double-large32 32GB 34,166,464,840 db.extra-large48 / db.double-large48 / db.triple-large48 / db.e-extra-large48 / db.e-double-large48 48GB 51,346,334,024 db.double-large64 / db.triple-large64 / db.quad-large64 / db.e-double-large64 64GB 68,526,203,208 db.double-large96 / db.triple-large96 / db.quad-large96 / db.e-double-large96 96GB 101,005,979,976 db.triple-large128 / db.quad-large128 / db.septa-large128 128GB 134,827,090,248 EndPointPort
DBサーバーに接続する際に使用するポート番号を返却します。
DBパラメーター式演算子
DBパラメーター式では乗算演算子(*)と除算演算子(/)の 2 つが使えます。
除算演算子(/)
被除数を除数で割り、商を返却します。商に含まれる小数点以下の端数は四捨五入されず切り捨てられます。被除数 / 除数
乗算演算子(*)
被乗数を乗数で掛け、積を返却します。積に含まれる小数点以下の端数は四捨五入されず切り捨てられます。被乗数 * 乗数
DBパラメーターの値の例
下記の式で、DBサーバーに割り当てられたメモリの3/4を指定できます。
MySQL 5.7用のデフォルトDBパラメーターグループで、innodb_buffer_pool_sizeに指定されているものです。
{DBInstanceClassMemory*3/4}
MySQLのread_onlyパラメーターについて
- {TrueIfReplica}は、DBサーバーがリードレプリカの場合に1を返却し、それ以外の場合は0を返却します。
- DBエンジンがMySQLの場合、read_onlyパラメーターを変更できますが、下記のDBサーバーに関してはread_onlyパラメーターに関わらず固定値が設定されます。
- リードレプリカ ※固定値で1が設定されます。
- read_onlyパラメーターを{TrueIfReplica}に変更するには、以下どちらかを実施してください。
- ModifyDBParameterGroup APIを実行
- ResetDBParameterGroup APIを実行してデフォルトに戻す