
AWS CloudFormation
CloudFormationの概要
AWSリソースをコード化できるマネージドサービス。
テンプレートを使用する。(AWS独自の記述ルールでコード化)
YAML か JSON形式で記述する。(YAML推奨)
テンプレートでAWSリソースを作成、変更、削除する。
テンプレート形式

YAML形式が推奨されている理由は、コメントを書くことができる点と人間にとって一番読みやすいコードのため。
CloudFormation スタック

AWSリソース(上記画像でいうとVPC、EC2、RDS、S3)をコード化したもの。
かみ砕いて説明するとサービス一式(必要な部品一式)
車に置き換えて説明すると車を作る為に必要な部品一式のようなもの。

CloudFormationが使用される理由は、コードを変更するだけでスタック(必要な部品一式)を作成、変更、削除ができるため。
運用保守の観点からみて非常に助かる。
クラウドが登場する前のオンプレミスだった場合は、ベンダーがデータセンターがある現地まで出向き部品を取り替えしたりする必要があったがクラウドはインターネット上で取り替え等ができるため非常に貢献している。
Drift Detection
Drift Detectionとは差分検知をする機能。
具体的にCloudFormationのコードを誤って削除してしまった場合、変更前のコードと比較して削除した箇所が分かる機能。
これにより修正が容易となる。
