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