本記事は「2025 Japan AWS Jr. Chanpions 夏のQiitaリレー 」の49日目の記事です。
過去の投稿はこちらからご覧ください!
はじめに
今回はAmazon Q Devloperを使ってCloudFormationテンプレートで定義された設定値を抽出してみました。
背景
DataExportを使った複数アカウントでのコスト一元化の実装を公式ドキュメントに従い、実施していました。実装方法がCloudFormationを使っており、各AWSリソースの設定値などを確認するのが手間だと思っていました。
そこでQ Devloperを使って設定値の抽出をさせてみました。
Amazon Q Devloperの準備
Amazon Q Devloperの設定を実施します。
-
インストール後、Amazon Qのアイコンをクリックして、「Personal account」か「Company account」を選択
-
ポップアップが表示されクリックすると、Builder IDの認証画面に遷移するので、そこでBuilder IDを入力する
※Builder IDがない人は以下を参考に作成が必要です
認証が完了したらVSCodeの左側からプロンプトを入力できるようになる。

設定値抽出してみる
VSCodeで対象のCloudFormationテンプレートファイルが入っているフォルダを開き、以下のプロンプトを実行します。
※今回対象とするCloudFormationテンプレートは以下の公式ドキュメントのStep2で用意されているものです。
CloudFormationテンプレートファイルである「data-export.yaml」で作成されるAWSサービスのリソースの設定値を整理してマークダウンファイルにまとめてください
すると以下のように回答が得られ、「data-export-resources.md」ファイルが生成されました。

生成されたdata-export-resources.mdファイルの中身を見てみます
最初にCloudFormationテンプレートの概要やパラメータが表示されていました。
さらに下に進むと、作成される各AWSリソースの設定値が確認できました。
例えばS3バケットの設定値は以下の内容を見れば、バージョニングや暗号化、ライフサイクル設定などが容易に確認できますね。

IAMロールに設定する権限については直接ポリシーが表示されるのではなく、必要な権限のアクションの内容のみ記載されていました。

ついでにマネコンでの操作手順も作ってもらう
マネジメントコンソール上でCloudFormationテンプレートに記載のリソースを作成する場合どういう手順で作ればよいのかわかるようにしたかったので、追記してもらいます。
- 入力プロンプト
先ほど作成した「data-export-resources.md」に以下の情報を含めるように修正して
・マネジメントコンソール上で各AWSリソースを作成する場合の入力する設定値なども含めた詳細な実行手順
以下の情報が出力され、「data-export-resources.md」が更新されています。

ファイルの末尾にマネコン上での操作手順が追記されていました。

しかし、マネジメントコンソールの表示と完璧に一致してはいないため、あまり詳しくない人が操作する場合は混乱するかもしれません。AWSにある程度詳しければ問題ない粒度ではあると思います。
この辺はもう少し改良の余地がありそうですね。
まとめ
CloudFormationテンプレートの設定値とマネコンでの手順を抽出してみました。今回はこの2つでしたが、各リソースの解説などAmazon Q Devloperを使えば様々な情報を抽出できそうだと感じました。
また、CloudFormationテンプレートだけでなくPythonなどのプログラムでもこういった解説や説明書などを作れば、知らない人が見たときにコードを理解しやすそうだと思いました。
Amazon Q Devloperは簡単に導入でき、無料版でも十分に使えるので、ぜひ皆さんも使ってみてください。

