プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • AWS
  • 【AWS】「CloudFormation」の概要、書き方
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【AWS】「CloudFormation」の概要、書き方

12.29

  • miyabisan2
  • コメントを書く

この記事は2分で読めます

CloudFormationとは?

EC2やELBといったAWSサービスの環境構築を自動化できるサービスです。

構築後すぐにリソースが稼働し始めます。どのリソースが変更されたか変更されてないか自動で判断します。作成したスタック自体には課金されませんがスタックで作成されたリソース自体には課金されるので気をつけましょう。

背景

  • 同じような環境を複数構築するニーズが多いため。(開発環境、ステージング環境、プロダクション環境など)
  • 必要な時にリソースを用意して、不要になったらすぐに破棄したいというニーズがある。

メリット

  • 変更内容が管理しやすいです。
  • 変更内容が見やすい。

必要なスキル

「世界中のトップエンジニアが公開しているテンプレート」を理解してカスタマイズできるスキル

基本機能

作成

  • テンプレートに定義された構成でスタックを自動作成
  • 並列でリソースを作成し依存関係がある場合は自動的に解決する。

変更

  • スタックに前回のテンプレートとの差分を適用する。
  • リソース停止時は無停止変更/再起動/再作成のいずれかが発生
  • Change Setを作る事で差分の内容を事前に確認可能

削除

  • 依存関係は解決しつつリソースを全て削除
  • データストアはスナップショット取得/保持が可能

テンプレート

決まった形式(JSON/YAML形式)で指定します。可視性が高くコメントが記述できるYAMLで記述することが一般的です。テンプレートを動かすためにはS3にアップロードする必要があります。

記述内容

  • パラメータの定義
  • リソースの作成
  • 実際の設定
  • コスト判別しやすい。(コスト計算ツールに反映させることができる。)
  • スタックの作成や削除がしやすいです。

テンプレートに誤りがあった場合

自動でロールバックしてくれるので安心できます。

スタック

CloudFormationのテンプレートから作成されたAWSサービスの集合体のこと。

流れ

  1. 記述
  2. アップロード
  3. スタックの作成
  4. リソースの作成と管理

書き方

拡張子はymlやyaml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
AWSTemplateFormatVersion: '2010-09-09'
Parameters:
  VPCStack:
    Type: String
    Default: xxxxxx
 
Resources:
  EC2Server01:
    Type: AWS::EC2::Instance
    Propeties:
      ImageId: : !Ref  EC2AMI
 
Outputs:
  EC2Server01:  
    Value: !Ref EC2xxxx
    Export:
      Name: !Sub

主要項目

Parameters

スタック構築時にユーザーに指定させる値を指定

Resources

必須項目、起動するタイプやプロパティを指定します。

Outputs

スタック構築後に表示・取得した値や他のスタックとの連携のための出力を指定します。

スポンサーリンク
  • 2020 12.29
  • miyabisan2
  • コメントを書く
  • AWS
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2021 01.11

    【AWS】「AWS CLI」、初期設定、コマンドの基本、環境別設定(prod、dev)

  2. 2021 11.20

    【AWS】「ElasticCache」、「DynamoDB」、「RDS」、その他サービスの違い

  3. 2020 06.09

    【AWS】VPC「ルートテーブル」や「インターネットゲートウェイ」、「NATゲートウェイ」について

  4. 2020 02.24

    【AWS】「S3」、設定など

  5. 2021 12.03

    【AWS】「ECS/Fargate構成」におけるメトリクス設計

  6. 2021 11.28

    【AWS】「Lambda」と「Fargate」の使い分け

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【AWS】EBSの基本、EC2へ「EBS」をマウントす…

【AWS】「ECS」、構築手順メモ、運用方法

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー