share facebook facebook twitter menu hatena pocket slack

2011.12.20 TUE

そろそろCloudFormation(HelloCloudFormation編)

鈴木 宏康

WRITTEN BY 鈴木 宏康

CloudFormationの用途として、一時的に利用する開発環境や検証環境、バックアップ環境の起動/停止を一度にまとめて行うというものがあると思います。
(この他の用途については未確認ですが。)

そこで、最近になってこのような要件が出てきたので、しっかりと一から試すことにしました。
(つまり、HelloCloudFormationということです。)

下記は一番簡単な、AMIからEC2を起動するHelloCloudFormationのテンプレートになります。
(シンプルなテンプレートなので、内容については直感的に理解できると思います。)

{
  "AWSTemplateFormatVersion" : "2010-09-09",

  "Description" : "Create an Amazon EC2 instance running the SUZ-LAB CentOS AMI.",

  "Parameters" : {
    "KeyName" : {
      "Description" : "Name of an existing EC2 KeyPair to enable SSH access to the instance",
      "Type" : "String"
    }
  },

  "Mappings" : {
    "RegionMap" : {
      "ap-northeast-1" : { "AMI" : "ami-de9126df" }
    }
  },

  "Resources" : {
    "Ec2Instance" : {
      "Type" : "AWS::EC2::Instance",
      "Properties" : {
        "KeyName" : { "Ref" : "KeyName" },
        "ImageId" : { "Fn::FindInMap" : [ "RegionMap", { "Ref" : "AWS::Region" }, "AMI" ]}
      }
    }
  },

  "Outputs" : {
    "InstanceId" : {
      "Description" : "InstanceId of the newly created EC2 instance",
      "Value" : { "Ref" : "Ec2Instance" }
    }
  }
}

それでは、上記のテンプレートを実際にAWS Management Consoleから利用してみます。

はじめに、上記のテンプレートを下記のようにS3に配置します。

https://s3-ap-northeast-1.amazonaws.com/www.suz-lab.com/formation/HelloCloudFormation.template

次に、下記のようにProvide a Template URLを選択し、テンプレートのURLを入力します。

そして、パラメータを入力します。
ここで入力するパラメータは上記のテンプレートのParametersで定義されたもので、任意に指定することが可能です。

最後に、情報の確認をして問題がなければ、構築を開始します。

起動後、Outputsタグを確認すると、下記のようにテンプレートのOutputsで定義した情報が出力されていることが確認できます。

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら

鈴木 宏康

鈴木 宏康

愛知県生まれ。東京工業大学大学院修士課程修了。在学時より、ベンチャー企業でインターネットに関する業務に携わり、現在はクラウド(主にAmazon Web Services)上での開発・運用を軸とした事業の、業務の中心として活躍。

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。