subtitle

RaiseTechの各種コースをはじめとしたイロイロな学習の記録

CloudFormationとは?

前回の更新から、少し間があいてしまった。(と言っても数日だけど)

・・・というのも、正直何をしていいのか分からなかったからだ。


RaiseTechのAWSフルコースも第9回目を迎え、いよいよ後半戦の自動化に入ったは良いが、どこから手を付けていいかわからない。


まずは、あちらこちらとネットサーフをして、ふわっと概要を負うことにした。


CloudFormationとは?

CloudFormationは、AWSの各種サービスをテンプレート化したものである。

例えば、これまでマネジメントコンソールで作成してきたような、VPC、EC2、RDSを、GUIではなくJSONやYAML形式でコード化(テンプレート化)する事で、同じ環境をいくつも複製することができるのだ。

まあ、本当にざっくりと言うと、VPCなどを作成するときに設定したことを、設定ファイルにしました、みたいな感じではないだろうか。

例えば、YAMAHAのルータ設定は、GUIで色々設定できるが、その設定ファイルをコード(コマンド)の状態でエクスポートしておくと、別のYAMAHAのルータにその設定ファイルを読み込ませると、全く同じ設定(フィルタリングとか)がそのまま再現できるのにちょっと似ている。

では、どうやってそのコードを作成するのか?

先生が、まずBlack Beltを見てみるといいよ、と言っていたので、早速検索してみる。

ていうか、ブラックベルトって何?(←そこからw)


Black Belt(ブラックベルト)とは?

AWS Black Beltとは、AWS Black Belt Online Seminarのことらしい。

AWSの基本的なサービスや最新の情報まで、幅広くAWSに関する情報を公開してくれているようだ。

動画や動画で使われている資料は、無料で閲覧できる。


[AWS Black Belt Online Seminar] AWS CloudFormation

動画で使われている資料は、こちらで見ることも可能。


この動画及び資料では、CloudFormationについての概要が「ざっくりと」わかる。

が、チュートリアルとしては使えないと思う。(概要過ぎて、初心者には何をしていいかが分からない。←たぶん)

全体像をつかむにはいいかな。

初めての人は、前半だけでいいと思う。ある程度分かるようになってきたら後半を見ればいいかと。


いやいや、これだけじゃあ、さっぱりわからない。

というわけで、次。

AWS CloudFormation ユーザーガイドだ。


AWS CloudFormation ユーザーガイド

これを読めば、全てが分かる!

と思って読み始めたものの、量が多くて萎えるww

でも一次ソースなのだから、ココから始めなくては。最初から読み進めてみるものの、もう無理。

そして、ふと目次を見ると、「サンプルテンプレート」の文字が。


東京リージョンの「サービス」テンプレートにVPCを発見。

このサンプルテンプレートと、マネジメントコンソールの画面を見比べれば、とりあえずVPNのCloudFormationについて理解できるのでは?



サンプルテンプレート

まずはVPCから作ってみては?と先生がおっしゃっていたので、「Amazon VPC における単一の Amazon EC2」というサンプルテンプレートを見てみることにする。


YAML形式のファイルは、700行程度の小さなファイルのようだ。

CloudFormationのテンプレートファイルにおける文法は、Resources:セクションが必須でそれ以外はオプションなので、Resourcesセクションに的を絞ってみていく。



VPCの設定があって、Subnetの設定、インターネットゲートウェイの設定・・・と、VPCのマネジメントコンソール上で設定したような内容がずらりと並んでいる。


なるほど。

これなら、何とかなりそうだ。

このテンプレートをもとにして、次回自分仕様のVPCのテンプレートを作成してみることにする。