はじめに
CloudFormation テンプレートを作成する際に、「Outputs セクションは絶対に必要なのか?」という疑問を持つ方も多いと思います。
個人の備忘録程度の走り書きとなっておりますが、温かい目で見守っていただければ幸いです。
この記事では、その疑問に答えるとともに、Outputs セクションの役割や、使うべきケースについて個人の備忘録としてまとめました。
Outputs は必須?
結論から言うと、Outputs セクションは必須ではありません。
CloudFormation テンプレートを実行(スタック作成)する上で、Outputs がなくてもスタックの作成やリソースの動作には一切影響しません。
使うべきケースは?
Outputs セクションは、以下のような場面で便利です:
- CloudFront のドメイン名を後から AWS マネジメントコンソールで確認したい
- S3 バケット名やエンドポイント URL を外部のツールや他スタックに引き渡したい
- CloudFormation スタックをクロススタック参照する際に値を export したい
Outputs:
CloudFrontURL:
Value: !GetAtt CloudFrontDistribution.DomainName
Description: "CloudFront のドメイン名"
参考文献
いらないなら削除してOK
Outputs セクションはあくまで補助的な機能です。不要であれば削除してまったく問題ありません。
特に開発中やテスト用のテンプレートでは、Outputs を省略してシンプルに保つのも良い選択です。
まとめ
- Outputs セクションは CloudFormation の動作には不要
- 後から値を確認したいときや、他スタックと連携したい場合に便利
- 不要であれば削除しても OK(特に開発中や小規模構成)
必要に応じて柔軟に使い分けてみてください!