AWSの管理ツールである『クラウドフォーメーション』では何ができるのか?
サンダークラウドフォーメーション!
――パシフィックリムがもはや10年近く前の映画になってることに驚きが隠せません……。
さておく。
AWSの管理ツールのひとつにクラウドフォーメーションというものがございます。
(名前を聞いて真っ先に頭へ浮かんだものが冒頭のソレでございました……)
どんなものかと言われれば、
『YAMLかJSON形式でこさえたテンプレートを「お食べ」とアップロードすると、
テンプレートに従ってAWSリソースを自動的に作ってくれる』
そんなスゴイツールです。
例えば、60KBぐらいのYAMLで
「VPC作ってー、
AZ二つにそれぞれサブネットをpublicひとつ、protectedふたつ、privateひとつで作ってー、
InternetGatewayとNatGateway作ってアタッチしてー、
RouteTable作って割り当てしてー、
作ったサブネットにそれぞれインスタンスを作ってセキュリティグループも作って割り当てしてyum updateしてアレソレ入れてユーザー追加して公開鍵持ってきて格納してー、
ElasticIPとRDS作ってー、
ALB作ってターゲットグループ作って――」
と、一通り必要なインフラ揃えてくれちゃったりします。
もちろん、『ちゃんと書けば』、ですが。
その辺もサポートが効いていて「ここオカシイデス」とアップロードして実行すると教えてくれたり、
クラウドフォーメーションで作成後に各リソースへ手作業変更を加えたりすると、「ここ差分アリマス」とテンプレートへフィードバックする箇所を教えてくれたりと、なかなか気のいいやつです。
先に挙げた例だけでなく、いろいろと作成できます。
・代替ドメインつきCloudFrontと紐づけS3バケット
・WAFのACLにIPsets
・CodePipeLine
などなど。それぞれにお作法があるので、一筋縄ではいかないところもあったりなかったり。
「で、具体的に何ができて何ができないのよ?」というところですが――
> Q: AWS CloudFormation は、どのようなリソースをサポートしていますか?
> A: サポート対象の AWS リソースとその機能については、ドキュメントのリリース履歴からサポート対象の AWS のサービスページをご参照ください。
> AWS CloudFormation レジストリと AWS CloudFormation カスタムリソースで、追加の AWS およびサードパーティーのリソースを管理できます。
――ということでリリース履歴を見てみると
こんな感じ。
え、『サポート対象の AWS リソースとその機能』をブラウザ検索と手で探せと……?
――と、思いきや。
ここが実質的に『サポート対象の AWS リソースとその機能のリスト・一覧』という具合になってたりします。
「スゴーイ、これ全部網羅して使いこなせればクラウドフォーメーションだけで全部作れちゃうんじゃあないの??」
マニュアルは現在日本語に非対応なので、英語話者でないと首を傾げて頭を捻りながら立ち向かうことになる模様。
――まあ、そのへんはガッツと根性で(੭ ᐕ)
おつかれさまでした。