1
0

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 1 year has passed since last update.

gfam2021Advent Calendar 2021

Day 8

【AWS】CloudFormation(CFn)を使ってみる:概要編

Posted at

image.png

はじめに

みなさん、コードは管理してますか?
してる?
良いですね。

では、インフラもコード管理してますか?
えっ?神が作られし古文書(Excelのドキュメント)があるから大丈夫だって?
じゃあ、それを元に検証環境を1台作ってみましょうかーーーー
image.png

どーも、のぶこふです。
この記事はGFAMアドベントカレンダー2021の8日目の記事です。

今回のサービス一覧

Service名とか 概要
CloudFormation 1 2 3 AWS向けのIaC

IaC?

  • Infrastructure as Code
  • 細かい説明はWikipedia大先生にお任せするとして、ざっくりと・・・
    • すばやく複製:コードでインフラを定義することで、構築における再利用性と冪等性を担保する
    • 管理を簡略化:パラメータシートやドキュメントを管理する必要がなくなり、コードを正とできる
    • 制御や変更の追跡:Git等によるコード管理により、改訂履歴の追跡が可能

CloudFormation

  • くらうど ふぉーめーしょん
  • 設定ファイル(テンプレート)を使ったリソースのモデル化と管理を行う、AWS向けのIaC。
    • AWSおよびサードパーティのリソースをモデル化、プロビジョニング、管理することが可能
    • テンプレートを自由に作成することができ、自分好みのシステム構成を自動的に構築できる
      • JSON、YAMLフォーマットのテキスト形式をサポート
  • CFnと略される

基本機能

  • 作成
    • テンプレートに定義された構成でスタックを自動作成
    • 並列でリソースを作成し、依存関係がある場合は自動的に解決(すごい)
  • 変更
    • スタックに前回のテンプレートとの差分を適用(冪等性)
    • リソース変更時は「無停止変更/再起動/再作成」のいずれかが発生
    • Change Setを作成することで、差分の内容を事前に確認可能
  • 削除
    • 依存関係を解決しつつリソースをすべて削除
    • データストアはスナップショット取得/保持が可能

手順

  1. テンプレート作成
  2. アップロード
  3. スタックの作成
  4. リソースの作成と管理

用語

名称 概要
テンプレート スタックの設計図。JSON/YAML形式のテキスト
スタック テンプレートからプロビジョニングされるリソースの集合体。スタック単位でリソースの管理が可能。リソースの構築順は、テンプレートの依存関係からCFnが自動的に決定

テンプレートの要素

名称 概要
AWSTemplateFormatVersion CFnのテンプレートバージョン。「2010-09-09」が唯一有効な値
Description テンプレートの説明文
Metadata テンプレートに関する追加情報
Parameters スタック作成や更新の際に、ユーザ入力を求めるパラメータ
Mappings Conditionsに使用するキーと値のマッピングテーブル
Conditions 条件名と条件判断内容を列挙。本番/検証で構成が異なる場合等に便利
Transform サーバレスアプリケーションや定形コンテンツ挿入等のためのマクロを指定
Resources 「必須」。スタックを構成するリソースとプロパティ
Outputs スタック構築後にCFnから出力させる値

おわりに

一旦、今回はここまでとして、次回、実際にテンプレートの作成やCFnの実行を試してみようと思います。

今回はここまでです。
ありがとうございました。

  1. CloudFormation概要

  2. CFn BlackBelt

  3. CFn Deep Dive BlackBelt

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?