AWS CloudFormationを触ってみる #1
こんにちは 中村です!
業務でCloudFormation扱う機会が少ないので、自分で触ってみることにしました!
CloudFormationとは
公式によると以下の通り
AWS CloudFormation は、インフラストラクチャをコードとして扱うことで、AWS およびサードパーティーの> リソースをモデル化、プロビジョニング、管理することができます。
動画で見るとイメージしやすいですね
同じようなリソースを何度も作成する必要がある場合に迅速でミスなく作れちゃうのがメリットかと思います!
テンプレートファイルを書くのは大変ではありますが!
手順
テンプレート作成
以下のテンプレートを保存します
とりあえずCloudFormationを触ってみるだけなので、簡単そうなSNSを作ってみます
Parameters:
Email:
Type: String
AWSTemplateFormatVersion: 2010-09-09
Resources:
CarSalesTopic:
Type: AWS::SNS::Topic
Properties:
DisplayName: test-sns
TopicName: test-sns
Subscription:
- Endpoint: !Ref Email
Protocol: email
CloudFormation スタックを作成
AWSマネジメントコンソールにてCloudFormationの画面を開き、
スタックの作成
をクリックする
テンプレートファイルのアップロード
を選択する
ファイルの選択
をクリックする
先ほど保存したテンプレートファイルを選択する
次へ
すすむ
お好みのスタックの名前
を入力する
パラメータを入力する ※今回のテンプレートではSNSの宛先になるメールアドレスを入力します
次へ
すすむ
パラメータ
は、テンプレートファイルにて自由に定義する事ができます
定義したパラメータを使ってリソース名や設定内容をスタックごとに変更する事ができますね!
今回はSNSから送る宛先のメールアドレスを変えられるように設定しました!
次の画面は特に入力不要
画面下部へスクロールし、次へ
すすむ
設定内容のプレビュー画面が表示されます。
内容が問題なければ画面下部のスタックの作成
をクリックする
CREATE_IN_PROGRESS
なので、今作成中です。しばしお待ちを。
CREATE_COMPLETE
と表示されれば完了です
ちゃんと作成されたか確認
-
リソース
タブをクリックすると、作成されたリソースが確認できます - ARNをクリックすると作成されたリソースの画面へ飛ぶことができます
SNSが作成されていますね
動作確認
SNSではサブスクリプション作成時に宛先のメールアドレスが承認
しないとメールが送れません
設定したメールアドレスに届いているメールを確認し、
Confirm subscription
をクリックてサブスクリプションを承認します。
保留流の確認
から確認済み
に変わりました。これでメールを送る事ができます
メールを送ってみましょう。メッセージの発行
をクリックします
適当に文字を入力します
メッセージの発行
をクリックします
ちゃんとメールが届きました
テンプレートファイルの書き方について
最初に紹介したテンプレートファイルですが、CloudFormationユーザーガイドと睨めっこしながら書来ました。
左メニューから
Template reference
→ Resource and property reference
と進みます
するとAWSサービスの一覧がズラーっと出てくるので...
作成したいサービスを探します
今回はSNSトピックを作成しようとしているのでAWS::SNS::Topic
をクリックする
あとは出てきたページとひたすら睨めっこします (; ・ Д ・ )
全部英語ですが、気合いでどうにかします (; ・ Д ・ )
所感
1つのリソースだけだとymlファイルは短くて済みますが、本来の業務で使うようなツールはもっと色々なリソースを作成するかと思います。なので、もっと公式のリファレンスと仲良くなってymlの書き方にも慣れていく必要があると感じました。頑張るぞっ
Discussion