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

【CloudFormation編】SAA先生に学ぶAWSの全容と授業メモ

0
Posted at

CloudFormationは「設計図を渡すだけでインフラが建つ」仕組み 🏗️

CloudFormationは「インフラを文章で発注する」サービス

AWSクラウド上でインフラ環境を自動構築・管理するサービスがCloudFormation。
いわゆる IaC(Infrastructure as Code) の代表格。

JSONやYAMLで書かれたテンプレートを渡すだけで、
その通りのインフラが出来上がる。

手作業でポチポチ環境を作っていた身からすると、
インフラを注文書一枚で発注しているような感覚に近い。

スタックは「ひとまとめのインフラ」

テンプレートの定義そのものを スタック と呼ぶ。

EC2やVPCなど、複数のリソースをまとめて一つの単位として扱う。

ここで地味にありがたいのが、
スタックを削除すれば関連リソースもまとめて削除される点。

作った時と同じくらい、片付けも一撃でできるのは気持ちがいい。

サービスロールは「CloudTrailの作業許可証」

CloudTrailに付与する、リソース操作の権限のこと。

「誰が何をしたか記録する係」自身にも、
ちゃんと権限管理がされているという地味な発見だった。

スタックセットは「同じ設計図を全国展開する」機能

複数のAWSアカウントや複数リージョンにまたがって、
同じスタックを構築できるのがスタックセット。

プロビジョニング先のアカウントとリージョンを指定するだけで済む。

  • 複数のテスト環境構築
  • IAMとSGのグループ設定

といった、同じ構成を横展開したい場面で活躍する。

一つの設計図を、支店ごとにコピーして配るようなイメージ。

Service Catalogは「社内向けの製品カタログ」

組織が承認したサービスやアプリケーションを
ポートフォリオとしてまとめ、組織外のユーザーへ製品として共有するサービス。

「好きにインフラを組んでいい」わけではなく、
会社として許可した構成だけを選んでもらう、という統制の仕組み。

自由度よりもガバナンスを優先したい組織向けの機能だと感じた。

Elastic Beanstalkとの比較

似たような「インフラを楽にする系」サービスとして、
Elastic Beanstalkとよく比較される。

項目 CloudFormation Elastic Beanstalk
得意なこと 複雑な構成をコードベースで管理 アプリの運用とデプロイを自動化
カスタマイズ性 高度なカスタマイズが可能 中程度のカスタマイズ
規模感 大規模、JSON/YAMLで定義 インフラ管理を最小化
使い方 テンプレートを書いて構築 ソースコードをアップロードするだけで自動デプロイ

CloudFormationが「設計図から建物を建てる」なら、
Beanstalkは「家具付き物件にとりあえず住み始める」ような感覚。

どこまで自分で設計したいかで、選ぶべきサービスが変わってくる。


まとめメモ ✍️

  • CloudFormationはIaCの代表格、JSON/YAMLでインフラを定義
  • スタック単位でリソースをまとめて作成・削除できる
  • サービスロールはCloudTrailの操作権限
  • スタックセットで複数アカウント・リージョンへの横展開が可能
  • Service Catalogは組織向けの製品カタログ的な統制の仕組み
  • Beanstalkとはカスタマイズ性と手軽さのトレードオフで住み分け

インフラを「その都度手で作るもの」から
「テンプレートとして資産化するもの」に捉え直すきっかけになった回だった。

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