■ はじめに
AWS CloudFormation (CFn) について 業務で触る可能性が出てきたので、知識を整理・復習する
目次
【1】CloudFormation 1)動画 2)料金 【2】CloudFormation の流れ 1)スタック (Stacks) 2)テンプレート(Template) 【3】関連用語 1)ドリフト検出(Drift Detection)
【1】CloudFormation
* AWSシステム構成をJSON/YAMLで記述してテンプレート化し、 AWSリソースを自動で構築するサービス => 環境のコード化(IaC; Infrastructure as Code)の実現
1)動画
* イメージが付きやすいように、 一度、以下の動画をみてみるのもいいかも。
https://www.youtube.com/watch?v=Na9Wl4Flr8M&t=8s
https://www.youtube.com/watch?v=8uvWfCs6orE
AWS 公式
* 1時間位あるが、大体理解できたら 流石、AWSの方が説明しているので、 聞いておいた方がいいと思う
https://www.youtube.com/watch?v=HU47ZAM3mtw
https://www.youtube.com/watch?v=Viyqh9fNBjw
https://www.youtube.com/watch?v=XOuhtEIdf0k
2)料金
* 無料 * ただし、構成したリソース(EC2、S3など)の料金は必要
【2】CloudFormation の流れ
[1] CloudFormation テンプレートを作成する [2] CloudFormation テンプレートを適用する => [2] によってスタック (Stacks) が作成され それに紐づく形でAWSリソースが自動構築
1)スタック (Stacks)
* テンプレートによって作成されたAWSリソース群の単位
使用上の注意
* テンプレートを修正し、スタックを指定して再度適用した場合 スタック上ののAWSリソースの設定は変更されたり リソースが削除される => パラメータを変更し、別リソースを作成するといったことはできない => この場合、同じテンプレートを利用し、別スタックとして新たに作成
2)テンプレート(Template)
* スタックの設計図 * JSON/YAML形式で記述
【3】関連用語
1)ドリフト検出(Drift Detection)
* テンプレートと現状のリソースとの差分(ドリフト)を検出
動画解説
https://youtu.be/HU47ZAM3mtw?t=1892
関連記事
CloudFormation ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2021/10/26/224812
CloudFormation ~ 基本編 ~
https://dk521123.hatenablog.com/entry/2021/12/01/170326
CloudFormation ~ 開発環境 ~
https://dk521123.hatenablog.com/entry/2022/05/22/000000
CloudFormation ~ 組み込み関数 ~
https://dk521123.hatenablog.com/entry/2021/12/04/202519
CloudFormation ~ 条件分岐 ~
https://dk521123.hatenablog.com/entry/2022/07/02/214543
CloudFormation ~ Mappings ~
https://dk521123.hatenablog.com/entry/2024/03/09/000428
CloudFormation ~ Parameters ~
https://dk521123.hatenablog.com/entry/2024/02/29/220042
CloudFormation ~ Outputs ~
https://dk521123.hatenablog.com/entry/2024/04/04/112146
CloudFormation ~ 疑似パラメータ ~
https://dk521123.hatenablog.com/entry/2021/12/05/134313
CloudFormation ~ DeletionPolicy 属性 ~
https://dk521123.hatenablog.com/entry/2021/12/27/211328
CloudFormation ~ 認証情報の扱い ~
https://dk521123.hatenablog.com/entry/2021/12/28/224501
CloudFormation ~ AWS CLI ~
https://dk521123.hatenablog.com/entry/2024/02/23/003010
CloudFormation ~ VPC ~
https://dk521123.hatenablog.com/entry/2024/03/03/011149
CloudFormation ~ S3 ~
https://dk521123.hatenablog.com/entry/2022/05/25/220037
CloudFormation ~ EC2 ~
https://dk521123.hatenablog.com/entry/2024/02/11/010935
CloudFormation ~ KMS ~
https://dk521123.hatenablog.com/entry/2022/05/26/112627
CloudFormation ~ IAM ~
https://dk521123.hatenablog.com/entry/2022/05/27/100820
CloudFormation で Github/CodePipeline/CodeBuild を構築する
https://dk521123.hatenablog.com/entry/2021/12/26/155956
CloudFormation でのトラブル
https://dk521123.hatenablog.com/entry/2022/05/30/191507
CloudFormationで変数を参照したら、エラー「Unresolved resource dependencies」が表示
https://dk521123.hatenablog.com/entry/2024/02/27/211050
AWS Service Catalog ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2022/06/12/225648
CodeBuild ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/01/21/221122
CodePipeline ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/01/23/231827
CodeDeploy ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/05/30/122803
Amazon ECR ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2020/05/22/165711
AWS Lake Formation ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2020/10/13/094041
Terraform ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2019/12/09/222057
機密データの管理 ~ パラメータストア / Secrets Manager ~
https://dk521123.hatenablog.com/entry/2020/01/31/231636
YAML (YAML Ain't Markup Language)
https://dk521123.hatenablog.com/entry/2019/10/13/000000