はじめに
こんにちは。SRE2課の福島です。
最近、温泉巡りをしています。
「志村坂上」という駅の近くにある「さやの湯処」が温泉の種類も多く、値段も安かったので、オススメです。
https://www.sayanoyudokoro.co.jp/guide/
概要
さて今回は、RDSのパラメーターグループ値をスクリプトを使って出力してみましたので、 そのスクリプトをご紹介したいと思います。
スクリプト
スクリプトは、以下の通りです。
#!/bin/bash aws rds describe-db-engine-versions | jq -r .DBEngineVersions[].DBParameterGroupFamily | uniq | while read LINE do aws rds create-db-parameter-group --db-parameter-group-name tmp --db-parameter-group-family ${LINE} --description default.${LINE}_tmp aws rds describe-db-parameters --db-parameter-group-name tmp |\ jq -r '["名前","値","許可された値","変更可能","送信元","適用タイプ","データ型","説明","ApplyMethod","MinimumEngineVersion"], (.Parameters[] | [.ParameterName,.ParameterValue,.AllowedValues,.IsModifiable,.Source,.ApplyType,.DataType,.Description,.ApplyMethod,.MinimumEngineVersion]) | @csv' | iconv -t sjis > ./${LINE}.csv aws rds delete-db-parameter-group --db-parameter-group-name tmp done
解説
①全エンジンバージョンを抽出し、1つずつ「LINE」という変数に代入します。
aws rds describe-db-engine-versions | jq -r .DBEngineVersions[].DBParameterGroupFamily | uniq | while read LINE
②パラメーターグループを作成します。
aws rds create-db-parameter-group --db-parameter-group-name tmp --db-parameter-group-family ${LINE} --description default.${LINE}_tmp
③パラメーターグループの値を整形し、ファイルに出力します。
aws rds describe-db-parameters --db-parameter-group-name tmp |\ jq -r '["名前","値","許可された値","変更可能","送信元","適用タイプ","データ型","説明","ApplyMethod","MinimumEngineVersion"], (.Parameters[] | [.ParameterName,.ParameterValue,.AllowedValues,.IsModifiable,.Source,.ApplyType,.DataType,.Description,.ApplyMethod,.MinimumEngineVersion]) | @csv' | iconv -t sjis > ./${LINE}.csv aws rds delete-db-parameter-group --db-parameter-group-name tmp
④作成したパラメーターグループを削除します。
aws rds delete-db-parameter-group --db-parameter-group-name tmp
※①で抽出したエンジンバージョンごと②~④の処理を実行します。
実行結果
以下の感じでエンジンバージョンごとにファイルが作成されます。
ファイルの中身は、以下の感じです。
最後に
Excelに出力して見てみると、RDSパラメーターの多さを改めて実感しました。
全て理解するのは無理ですが、時間あるときに勉強してみたいと思います。
それでは、またお会いしましょ~