LoginSignup
6
2

More than 3 years have passed since last update.

【AWS】CloudFormationの概要を5分で理解する

Last updated at Posted at 2021-03-12
                                           
CF.drawio.png

アプリケーション開発で実践されているような、コード管理・作業の自動化をインフラ構築にも導入し、インフラ構築作業内容をコードで記述して管理できるようにしたIaC(Infrastructure as Code)という考え方があります。

参考
https://www.sbbit.jp/article/cont1/39402

そしてAWSで、IaCを実現したサービスがCloudFormationです。

想定している読者

  • CloudFormationについてほとんど知識がない方。
  • CloudFormationの概要や利用することのメリットを知りたい方

本記事のゴール

  • CloudFormationについての概要が理解できること
  • CloudFormationを利用することのメリットが理解できていること

そもそもCloudFormationとは?

  • AWS内の全てのリソースを自動でプロビジョニングできるAWSサービス
  • 構成定義ファイルをjson,yaml形式で記述可能
  • CloudFormationを利用することに対する料金は発生しない
  • CloudFormationを利用して作成したリソースに対して、手動で作成した場合と同様の料金が発生

重要な用語

  • テンプレート
    リソースの構築内容を定義するファイル。それぞれのリソースの依存関係もこのテンプレートに記述される。また、json,yamlの2種類の形式で記述可能。(2020/3/12現在)

  • スタック
    テンプレートを利用してCloudFormationによってプロビジョニングされるAWSリソースの集合体。スタックを削除すればスタック内の全てのリソースも削除される。また、テンプレートを更新した場合に、差分のあるリソースのみに対して変更を加えることも可能。

ユースケース

  • AWSのリソースを効率的に構築したい
  • 開発・テスト・本番など、同一の構成の環境を複数構築したい
  • 環境構成をバージョン管理したい

CloudFormationを利用するメリット

素早くリソースを構築できる

手動で構築する場合と比べて圧倒的に短い時間でリソースを構築することが可能です。
ざっくりとした比較をすると、慣れた人であっても30分ぐらい時間がかかるような作業であっても、CloudFormationを利用すれば実行1分、構築まで3分ぐらい短時間で構築が完了してしまうようなイメージです。

何度でも同じ構成を再現できる

手動で作業をすると、どうしても手順にミスなどが発生しますが、CloudFormationを実行することで、全く同じ構成がリソースを構築できます。本番環境とテスト環境などで、同じ構成を実現したい場合に有効です。

インフラストラクチャの運用をバージョン管理できる

インフラ環境の運用をコードで管理しているため、同じ作業であれば、以前実行したコードをそのまま流用できます。また、環境構成に変更が生じた場合には、該当箇所のみコードを修正し、修正版の環境を構築できます。これにより、インフラ環境のバージョン管理が容易に実現できます。

不要になったリソースを確実に削除できる

手動でリソースを削除する場合、どうしても依存関係が複雑で消すのに苦労したり、消し忘れが発生します。有料のリソースを利用している場合、当然消し忘れた分の費用も発生します。しかし、CloudFormationはスタック単位でリソースがまとまっており、スタックを消せば、スタック内の全てのリソースが削除されます。これによって、不要になったリソースを確実に削除することができます。

6
2
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
6
2