前回の更新から、少し間があいてしまった。(と言っても数日だけど)
・・・というのも、正直何をしていいのか分からなかったからだ。
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 ユーザーガイド
これを読めば、全てが分かる!
と思って読み始めたものの、量が多くて萎えるww
でも一次ソースなのだから、ココから始めなくては。最初から読み進めてみるものの、もう無理。
そして、ふと目次を見ると、「サンプルテンプレート」の文字が。
東京リージョンの「サービス」テンプレートにVPCを発見。
このサンプルテンプレートと、マネジメントコンソールの画面を見比べれば、とりあえずVPNのCloudFormationについて理解できるのでは?
サンプルテンプレート
まずはVPCから作ってみては?と先生がおっしゃっていたので、「Amazon VPC における単一の Amazon EC2」というサンプルテンプレートを見てみることにする。
YAML形式のファイルは、700行程度の小さなファイルのようだ。
CloudFormationのテンプレートファイルにおける文法は、Resources:セクションが必須でそれ以外はオプションなので、Resourcesセクションに的を絞ってみていく。
VPCの設定があって、Subnetの設定、インターネットゲートウェイの設定・・・と、VPCのマネジメントコンソール上で設定したような内容がずらりと並んでいる。
なるほど。
これなら、何とかなりそうだ。
このテンプレートをもとにして、次回自分仕様のVPCのテンプレートを作成してみることにする。