【RDS】全DBエンジンごとのパラメーターグループの値を出力してみた。

記事タイトルとURLをコピーする

はじめに

こんにちは。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

※①で抽出したエンジンバージョンごと②~④の処理を実行します。

実行結果

以下の感じでエンジンバージョンごとにファイルが作成されます。 f:id:swx-fukushima:20200826172725p:plain

ファイルの中身は、以下の感じです。 f:id:swx-fukushima:20210611040904p:plain

最後に

Excelに出力して見てみると、RDSパラメーターの多さを改めて実感しました。
全て理解するのは無理ですが、時間あるときに勉強してみたいと思います。

それでは、またお会いしましょ~

福島 和弥 (記事一覧)

2019/10 入社

AWS CLIが好きです。

AWS資格12冠。2023 Japan AWS Partner Ambassador/APN ALL AWS Certifications Engineer。