AWS CouldFormationとは?

AWS CloudFormation

  • CloudFormationとは?

  • CloudFormationの仕組みは?

  • 下記文章をわかりやすく説明して。スタック?プロビジョニング?ってそもそも何かわからない。  - スタックを作成するたびに、AWS CloudFormation はテンプレートに記述されているリソースをプロビジョニングします。
  • CloudFormationのサンプルを書いてみて。

AWS公式ドキュメント

用語

用語 説明
テンプレート AWSリソースの種類、各リソースのプロパティ、リソース間の関係が記載されているファイル
リソース EC2, Lambda, APIGateway, Codecommit等AWSサービスのユーザが作成・操作可能なもの。エンティティ。 OOPでいうオブジェクトかな)
スタック リソースの集合(ClouldFormationで扱うリソース群)
プロビジョニング テンプレートに従い、各種リソースを作成し、実行可能な環境を構築すること。

Note:公式ドキュメントの用語集


1. Cloudformationとは何か?

AWS公式ドキュメントによると、

  • AWSリソースのモデル化およびセットアップに役立つサービス

  • テンプレートによるリソースの定義と管理を行う

    • どのリソースを使用するか (EC2, Lambda, APIGateway,Codecommit,etc..)

    • リソースのプロパティ定義

    • 各リソース間の関係

    Cloudformationのメリット

    テンプレートで管理することにより、

    • 手作業起因のヒューマンエラーが防げる
    • 変更履歴が追える
    • 一瞬で環境設定ができる
    • 複製も簡単

2. Cloudformationの仕組みは?

AWS公式ドキュメントから抜粋した超一言は↓↓

AWS CloudFormation はテンプレートに記述されている AWS サービスを呼び出して、リソースをプロビジョニングし設定します。

[テンプレート]

  • 記載フォーマット : JSON or YAMLフォーマットで記載
  • 保存先 : S3 bucket or ローカルに保存しておく
  • プロビジョニング方法 : AWS CloudFormationのコンソール or AWS CLI or APIを使用する。

3. 実際にサンプルを動かしてみる

サンプルとして、Codecommitを監視して、APIGatewayとLambda funcにデプロイするCodecommitのCloudFormationのスタックを作成中。。。