実務の中でバージョン間でのパラメータ差分を確認する必要があったので
その時の対応を纏めておきたいと思います。
準備
下記のコマンドが使えるようにしておく必要があります。
- 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
コマンドの説明
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出力することができた
今後のバージョンアップがあったときには、都度使っていくだろうと思うので
今回知ることができてよかったです。
コメント