AWS Cloudformation ベストプラクティス まとめ
1. はじめに
AWS CloudFormation は、AWS リソースをコードとして定義し、Infrastructure as Code (IaC) を実現するためのサービスです。文書管理+検索サービスを提供するうえでは、多様なAWSリソース(例: Amazon S3、Amazon DynamoDB、Amazon OpenSearch Service、Amazon EC2、IAM など)を利用することが多く、これらを効率よく管理するために CloudFormation は欠かせない存在となります。 本ドキュメントでは、主に以下のような運用管理を想定しています:
- 文書保管のための S3 バケットや、ドキュメントメタデータを管理する DynamoDB テーブルの管理
- 検索基盤としての Amazon OpenSearch Service (旧 Elasticsearch Service) の構築・更新
- CloudFormation テンプレートのバージョン管理・変更管理
- 変更差分やスタックドリフトの検出
- 運用・保守プロセスの自動化 (CI/CD パイプライン連携など)
以下の各項目で、AWS CloudFormation のベストプラクティスを踏まえ、運用に役立つポイントを解説します。