【AWS】RDSのパラメータグループの設定内容を取得する

Amazon RDS

実務の中でバージョン間でのパラメータ差分を確認する必要があったので
その時の対応を纏めておきたいと思います。

準備

下記のコマンドが使えるようにしておく必要があります。

  • jqコマンド
  • AWS CLI

CSVへ出力する

こちらを参考に下記のコマンドを実行して各バージョンのパラメータをCSVに出力します。

$ aws rds describe-db-parameters --db-parameter-group-name default.postgres13 \
    | jq -r '["名前","値","許可された値","変更可能","送信元","適用タイプ","データ型","説明","ApplyMethod","MinimumEngineVersion"], (.Parameters[] | [.ParameterName,.ParameterValue,.AllowedValues,.IsModifiable,.Source,.ApplyType,.DataType,.Description,.ApplyMethod,.MinimumEngineVersion]) | @csv' \
    | iconv -t sjis > parameters.csv

コマンドの説明

describe-db-parameters

descrive-db-parameters --db-parameter-group-name default.postgres13

パラメータグループの名前を指定。一致したパラメータグループの詳細を返す

jq

jq -r '["名前","値","許可された値","変更可能","送信元","適用タイプ","データ型","説明","ApplyMethod","MinimumEngineVersion"], (.Parameters[] | [.ParameterName,.ParameterValue,.AllowedValues,.IsModifiable,.Source,.ApplyType,.DataType,.Description,.ApplyMethod,.MinimumEngineVersion]) | @csv'

-rでダブルクォートを取り除く
["名前","値","許可された値","変更可能","送信元","適用タイプ","データ型","説明","ApplyMethod","MinimumEngineVersion"]でヘッダを付ける
(.Parameters[]でParameters内の配列を返す
[.ParameterName,.ParameterValue,.AllowedValues,.IsModifiable,.Source,.ApplyType,.DataType,.Description,.ApplyMethod,.MinimumEngineVersion])でフィルタの結果を返す
@csvでCSVとしてレンダリングする

上記はdefault.postgres13を取得しているので、別途postgres14のパラメータ詳細を取得する

バージョン間での差分を確認する

それぞれCSVを取得したら後はdiffなどを使って差分を確認する

diff parameters13.csv parameter14.csv

まとめ

  • jqコマンドのおかげでとても簡単にCSV出力することができた
    今後のバージョンアップがあったときには、都度使っていくだろうと思うので
    今回知ることができてよかったです。

コメント

タイトルとURLをコピーしました