RDSってどんな製品(エンジン)が利用できるのだろうか。一覧とかだして、確認
することができたらいいな。AWSコンソールから操作すると、もし、何かミスをし
て、他のシステムに影響があったら困るし、課金されても困る。どんなエンジンが
あるかどうかさえ分かれば、いいのに。こんな時には、AWS CLIを使いましょう。
1.現在利用中のRDSの情報を出力しよう!
利用中のRDS一覧を出力する場合は、以下のコマンドを実行します。
aws rds describe-db-instances
![画像A RDSの情報](https://i0.wp.com/opt-p.co.jp/blog/wp-content/uploads/2022/04/image-3.png?resize=525%2C292&ssl=1)
json形式で沢山出力されます。
2.現在利用中のRDSで出力する情報を絞り込んでみよう!
オプションのqueryを使用することで絞り込みができます。
以下の例は、ClassとId,Engine,Endpointのアドレスに絞った例です。
トップレベルがDBInstanceで(画像C 階層と項目)DBInstanceIdentifer,
DBInstanceClass,Engineをdict{}に配置し、{EndPoint.Address}を分けて配置
させます。DBinstanceIdentiferと同列に書くと縦長に配置されて出力されます。
aws rds describe-db-instances \
--query "DBInstances[].[{ID:DBInstanceIdentifier,Class:DBInstanceClass,\
Engine:Engine},{Endpoint:Endpoint.Address}]" \
--out table
![画像B 項目を絞って出力](https://i0.wp.com/opt-p.co.jp/blog/wp-content/uploads/2022/04/image-4.png?resize=525%2C115&ssl=1)
![](https://i0.wp.com/opt-p.co.jp/blog/wp-content/uploads/2022/05/image-1.png?resize=525%2C269&ssl=1)
3.利用可能なRDSのEngineとVersion情報を出力しよう!
利用中のリージョンで、利用可能なRDS一覧を見たい場合に以下のコマンドを実行します。
aws rds describe-db-engine-versions
![画像D 出力結果](https://i0.wp.com/opt-p.co.jp/blog/wp-content/uploads/2022/03/image-22.png?resize=525%2C353&ssl=1)
json形式でどばーっと出力されます
4 出力する情報を絞り込んでみよう!
オプションのqueryを使用することで絞り込みができます。
以下の例はDBParameterGroupFamilyとEngineversionのみに絞ったものです。
DBParameterGroupFamilyが、このDBパラメータグループファミリー互換性のある名前で
EngineVersion が、このエンジンのバージョンです。
aws rds describe-db-engine-versions \
--query "DBEngineVersions[*].[{FamiryName:DBParameterGroupFamily,Vesion:EngineVersion}]" \
--out table
![画像E FamiryNameとVersion出力](https://i0.wp.com/opt-p.co.jp/blog/wp-content/uploads/2022/03/image-20.png?resize=525%2C290&ssl=1)
queryオプションの設定は以下のようになります 結果は、Json形式で出力されます。
これを踏まえて絞り込む内容を記述します。
トップレベルが、DBEngineVersions[*]. (画像F 階層と項目)
DBEngineVersions[*] .[{FamiryName:DBParameterGroupFamily,Vesion:EngineVersion}]
下の階層(画像C 階層と項目)DBParameterGroupFamily項目)の値と、EngineVersion項目の値を
{key1:value,key2:value}のdict形式でフォーマットして、項目名を出力するようにする
![画像F 階層と項目](https://i0.wp.com/opt-p.co.jp/blog/wp-content/uploads/2022/03/image-21.png?resize=525%2C165&ssl=1)
5 RDSのエンジンを指定してそのエンジン情報のみ出力しよう!
5.1 エンジンにaurora-mysqlを指定
aurora-mysqlのみ出力したい場合は、engineにaurora-mysqlを指定します。
更にFamiryNameとVesionのみを出力するようにします。
aws rds describe-db-engine-versions --engine aurora-mysql \
--query "DBEngineVersions[*].[{FamiryName:DBParameterGroupFamily,Vesion:EngineVersion}]"\
--out table
![画像G RDS aurora-mysql](https://i0.wp.com/opt-p.co.jp/blog/wp-content/uploads/2022/04/image.png?resize=525%2C302&ssl=1)
5.2 エンジンにoracle-eeを指定
oracleの場合は、oracle-eeとoracle-seが利用可能です。–engineオプション にoracle-ee
まで指定する必要があります。
aws ds describe-db-engine-versions --engine oracle-ee \
--query "DBEngineVersions[*].[{FamiryName:DBParameterGroupFamily,Vesion:EngineVersion}]"\
--out table
![画像H oracle-ee](https://i0.wp.com/opt-p.co.jp/blog/wp-content/uploads/2022/03/image-24.png?resize=525%2C265&ssl=1)
6 VersionUp可能なエンジンを表示しよう!
6.1 MariaDB 10.2.37からバージョンアップ可能なRDS一覧
RDSを利用していると、現在利用しているエンジンのバージョンアップを要求される
ことがあります。どのバージョンにアップしたら良いのか(可能なのか)が
AWS CLIコマンドで確認できます。以下の例はmariadb 10.2.37からバージョンアップ
可能なエンジンの一覧を出力するものです。
echo 'mariadb 10.2.37 up'
aws rds describe-db-engine-versions \
--engine mariadb --engine-version 10.2.37 \
--query "DBEngineVersions[].ValidUpgradeTarget[].[{Des:Description,Auto:AutoUp
grade,Major:IsMajorVersionUpgrade,UpVersion:EngineVersion}]" \
--out table
![画像J marriadb 10.2.37からバージョンアップ可能なRDS](https://i0.wp.com/opt-p.co.jp/blog/wp-content/uploads/2022/04/image-1.png?resize=525%2C280&ssl=1)
queryオプションの指定はトップレベルが(画像K 階層と項目)DBEngineVersions 一つ下の
レベルがValidUpgradeTargetそこを全て見るのでDBEngineVersions[*].ValidUpgradeTarget[*]
その下の項目(画像L 指定項目)、Description,AutoUpgrade,IsMajorverVersion,EngineVersion
をDict形式で指定する
![画像K 階層と項目](https://i0.wp.com/opt-p.co.jp/blog/wp-content/uploads/2022/03/image-27.png?resize=525%2C219&ssl=1)
![画像L 指定項目](https://i0.wp.com/opt-p.co.jp/blog/wp-content/uploads/2022/03/image-28.png?resize=525%2C218&ssl=1)
6.2 Oracle-ee 12.1.0.2.v2からバージョンアップ可能なRDS
以下の例はoracle-ee 12.1.0.2.v2からバージョンアップ可能なエンジンの一覧を出力するものです。
echo 'oracle-ee 12.1.0.2.v2 up'
aws rds describe-db-engine-versions \
--engine oracle-ee --engine-version 12.1.0.2.v2 \
--query "DBEngineVersions[].ValidUpgradeTarget[].[{Version:EngineVersion,Auto:
AutoUpgrade,Major:IsMajorVersionUpgrade}]" \
--out table
![画像M oracle12.0.1.2V2からバージョンアップ可能なRDS一覧](https://i0.wp.com/opt-p.co.jp/blog/wp-content/uploads/2022/04/image-2.png?resize=525%2C304&ssl=1)
7.感想
RDSの情報でニーズがありそうな項目を出力するコマンドを実行してみました。
今利用のバージョンからバージョンアップ可能な物は何があるかは、良く問い合わせがあります。
何かのお役に立てば何よりです。
Linux版その1 EC2の情報出力 https://opt-p.co.jp/blog/aws/post-1633/
Linux版その3 VPCの情報出力 https://opt-p.co.jp/blog/aws/post-2080/
Linux版その4 色々な情報出力 https://opt-p.co.jp/blog/aws/post-2421/