#CloudFormation
AWS CloudFormation は Amazon Web Services リソースのモデル化およびセットアップに役立つサービスです
一読
CloudFormationの全てを味わいつくせ!「AWSの全てをコードで管理する方法〜その理想と現実〜」 #cmdevio
https://dev.classmethod.jp/articles/aws-all-iac/
##AWS CloudFormation のベストプラクティス
###計画と編成
-
ライフサイクルと所有権によるスタックの整理
-
クロススタック参照を使用して共有リソースをエクスポートします
-
IAM を使用したアクセス制御
-
テンプレートを再利用して複数の環境にスタックを複製する
-
すべてのリソースタイプのクォータを確認する
-
ネストされたスタックを使用して共通テンプレートパターンを再利用する
###Create
-
テンプレートに認証情報を埋め込まない
-
AWS 固有のパラメータータイプの使用
-
パラメーターの制約の使用
-
AWS::CloudFormation::Init を使用して Amazon EC2 インスタンスにソフトウェアアプリケーションをデプロイする
-
最新のヘルパースクリプトを使用する
-
テンプレートを使用する前に検証する
###スタックの管理
-
AWS CloudFormation ですべてのスタックリソースを管理する
-
スタックを更新する前に変更セットを作成する
-
スタックポリシーを使用する
-
AWS CloudTrail を使用して AWS CloudFormation 呼び出しを記録する
-
コードの確認とリビジョン管理を使用してテンプレートを管理する
-
Amazon EC2 Linux インスタンスを定期的に更新する
既存リソースの CloudFormation 管理への取り込み
AWS CloudFormation 管理外の AWS リソースを作成した場合は、resource import を使用してこの既存のリソースを AWS CloudFormation 管理に取り込むことができます。リソースは、削除してスタックの一部として再作成しなくても、作成された場所に関係なく AWS CloudFormation を使用して管理できます。
##AWS CloudFormation StackSets の操作
AWS CloudFormation StackSets は、複数のアカウントおよびリージョンのスタックを 1 度のオペレーションで、作成、更新、削除できるようにすることで、スタックの機能を拡張します。管理者アカウントを使用して、AWS CloudFormation テンプレートを定義および管理し、指定のリージョンの選択されたターゲットアカウントにスタックをプロビジョニングする基盤としてテンプレートを使用します。
#参考文献