0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[AWS] CloudFormationの基本

Posted at

#Cloud Formationとは
AWSリソース(EC2インスタンス、 RDS DBインスタンスなど)のモデル化およびセットアップに役立つサービス。テンプレートに設定を書けばその設定通りにCloudFormationがAWSリソースを作ってくれる。無料サービス

#テンプレートってどうやって書くの?
JSONまたはyaml形式で次のような感じで書く。

JSON形式

{
  "AWSTemplateFormatVersion" : "2010-09-09",
  "Description" : "A simple EC2 instance",
  "Resources" : {
    "MyEC2Instance" : {
      "Type" : "AWS::EC2::Instance",
      "Properties" : {
        "ImageId" : "ami-0ff8a91507f77f867",
        "InstanceType" : "t1.micro"
      }
    }
  }
}

yaml形式

AWSTemplateFormatVersion: '2010-09-09'
Description: A simple EC2 instance
Resources:
  MyEC2Instance:
    Type: AWS::EC2::Instance
    Properties:
      ImageId: ami-0ff8a91507f77f867
      InstanceType: t1.micro

詳しく説明すると時間がかかりすぎるので他の記事にまかせます。
https://dev.classmethod.jp/articles/cloudformation-beginner01

その他の選択肢としてデザイナーツールを使って構築するというものがある。
image.png
視覚的でわかりやすく、JSONやyamlでの書き方がわからなくても使えるのが利点。

#CloudFormationを使用する利点
主に3つ利点がある。

AWSでのインフラ構築の手間が省ける
テンプレートを利用することで、それぞれのAWSリソースのコンソールに移動してあれやこれや設定することをしなくてよくなる。
慣れてくると時間も短縮されそう。

インフラの複製が簡単にできる
可用性(=ユーザーがサービスが使える時間の割合の大きさ)を高くしたい時、別のリージョンに同じインフラを構築したくなる。その時にテンプレートをコピーするだけで同じインフラが構築できる。

インフラの変更点を追いやすい
例えば、予想されていたよりもアクセスが多くてサーバーを強化したあとに問題が何か起こったとする。CloudFormationを使っていない場合は強化する前のインフラ構成を覚えておいて変更前後でどのような違いがあったかを確認する必要がある。しかし、CloudFormationを使っていれば、インフラの構成はテンプレートに残っているので現在との差分がわかりやすくなる。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?