
CloudFormationの使い方
概要
- テンプレートを作成する
- ローカルPCに任意のファイル名で作成する
- 書く内容はVPC作成、EC2作成など
- YAML形式、もしくはJSON形式で記載する
- テンプレートの中身(YAML形式の場合)
- AWS TemplateFormatVersion: "version data"
- Description:
- 説明内容を記述
- Metadata:
- Parameters:
- Mappings
- Conditions
- Transform
- Resources
- Outputs
- AWSリソースを作成するには、Resourcesセクションに内容を記述する
- Resourcesの中身 ※()は説明、実際には記載しない
- Resources:
- EC2(Logical ID)
- Type: AWS::EC2::Instance(Resource Type)
- Properties:
- AvailabilityZone:"ap-northeast-1a" (Set of properties)
- Resources:
- テンプレートの作り方
- 作成したテンプレートをCloudFormationにアップロードして内容を反映させると構築が始まる
- テンプレートをCloudFormationにアップロードする
- スタックを作成する
- スタックとは、テンプレートの集合体(複数のテンプレートが集まったもの)
- スタックは複数のテンプレートを管理しやすくしたもの
- CloudFormationはテンプレートの依存関係を自動で認識する
- 通常であれば、VPC作成後でないとEC2は作成できない
- テンプレートをスタックにVPC作成とEC2作成と2つに分けて作成した場合でも、CloudFormationはVPC作成後にEC2を作成してくれる
- 構文にエラーがあった場合、最初にロールバックされる
- スタックは複数作成することが可能
- ロールバックはスタック単位で行われる(中途半端に作成されることはない)
- CloudFormationの管理画面で、どのテンプレートが実行されたのか確認できる
- 一度作成したテンプレートを修正することはできない
- テンプレートを修正する場合、新規テンプレートを再度作成して、上書きする(CloudFormationにアップロードする)
- テンプレートを削除する場合、スタック単位で削除される
- テンプレートで作成したAWSリソースを手動で削除した場合(テンプレートとAWSリソースとに差分が生じた場合)
- Drift Detection(差分検知)を利用する
- スタックを作成する
- 最新バージョンのAMIを利用する場合
- /aws/service/ami-amazon-linux-lastest/amzn-ami-hvm-x86_64-gp2
- SystemsManager/パラメータストア
スタックの作成
自分で用意したテンプレートファイルを選択、次へ
スタックの名前をつける
タグ名をつけて、次へボタンをクリック(※画面上見えていませんが、一番下にあります)
確認画面で画面下にある スタックの作成 をクリック。