CloudFormationの使い方

 

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)
    • テンプレートの作り方
    • 作成したテンプレートを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/パラメータストア

 

 

スタックの作成

自分で用意したテンプレートファイルを選択、次へ

スタックの名前をつける

タグ名をつけて、次へボタンをクリック(※画面上見えていませんが、一番下にあります)

確認画面で画面下にある スタックの作成 をクリック。