CloudFormation
public.icon
https://gyazo.com/61dbf32df7e2f6b0e1469b12895849ad
AWSリソースをコードで管理できる
リソースをテキストファイル(JSON or YAML)で記述することができる(テンプレート)
2021/5/5#60929e4f09c5f20000c9adecで使った
インフラをコード化する概念は、IaC(Infrastructure as Code)というらしい
構築の効率化(GUIで手動構築する手間が省ける)
拡張がしやすい(環境の複製が容易。環境に合わせて一部パラメーターを変数化することも可能)
属人性の排除(誰でも同じ構成をデプロイする事ができる。環境が可視化できる)
バージョン管理(Githubのフローを利用できる。バックアップ手段としても有効)
他、代表的なIaCツールはTerraformがあります。
これを理解するためには、ステートメントを理解する方がいいらしい
環境構築を自動化するサービスは他にもElastic Beanstalk、OpsWorksがあります。
参考:
公式リファレンス
Zenn:CloudFormationまとめ
code:template.yml
# バージョン(必須)
AWSTemplateFormatVersion: "2010-09-09"
# スタックの説明(任意)
Description:
# メタデータ(任意)
Metadata:
# パラメータ(任意)
Parameters:
# マッピング(任意)
Mappings:
# 条件(任意)
Conditions:
# 起動するAWSリソース(必須)
Resources:
# 出力
Outputs:
CloudFormationテンプレートは上記のような、AWSTemplateFormatVersion, Description, Metadata, Parameter, Mappings, Condition, Resouces, Outputsから構成される。
AWS::CloudFormation::Initみたいな文字列は見たことがある
AWS初心者によるAWS初心者のためのAWS環境自動化入門