cloud formation デザイナーで捗ろう
Post on 13-Apr-2017
544 Views
Preview:
TRANSCRIPT
CloudFormation デザイナーで捗ろう
クラスメソッド AWS コンサルティング部阿部 洸樹
自己紹介
• 阿部 洸樹http://dev.classmethod.jp/author/abe-koki/
• クラスメソッド AWS コンサルティング部
• Twitter@AbeIka
• 好きな AWS サービスCloudFormation デザイナー
アジェンダ
• CloudFormation の基本を振り返る• CloudFormation デザイナーで捗る
サンプルテンプレートを試してみる 1 からテンプレートを作ってみる
• CloudFormation デザイナーのデメリット• まとめ
アジェンダ
• CloudFormation の基本を振り返る• CloudFormation デザイナーで捗る
サンプルテンプレートを試してみる 1 からテンプレートを作ってみる
• CloudFormation デザイナーのデメリット• まとめ
AWS CloudFormation とは?
CloudFormation :テンプレートに基づき、 AWS の環境を自動構築
JSON のテキスト
CloudFormation の主なメリット
環境の複製 すぐに作ってすぐに消せる
CloudFormation の活用例
• 標準テンプレートの作成 組織内で統一された環境構築
統一的な命名、セキュリティグループルール 自分でテンプレートをつくるパターン
• ISV ベンダー提供のテンプレートの利用 AWS 上で製品を展開するベンダー
Create Stack で製品を試せる 他人のテンプレートを利用するパターン
利用料金
• CloudFormation 自体は無料
• テンプレートで構築されたリソースに対して、課金 EC2,ELB などの利用料金
アジェンダ
• CloudFormation の基本を振り返る• CloudFormation デザイナーで捗る
サンプルテンプレートを試してみる 1 からテンプレートを作ってみる
• CloudFormation デザイナーのデメリット• まとめ
ここから面白くなります!
@AbeIka
簡単そうなテンプレートで試してみる
http://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/sample-templates-services-us-west-2.html
“ 表示”を選択して、テンプレートを確認してみる
テンプレートの表示
適当なテキストエディタにコピー&ペーストこのまま参照、編集しても OK
(☉_☉)206 行
206 段の石段
206 行とか辛いシンプルな構成でも
数百行のテンプレートになりがち
CloudFormationデザイナーがあるよ
@AbeIka
これからやること
• サンプルテンプレートの参照• 編集• バリデーション• 保存• Create Stack
テンプレートを表示してみる(デザイナー)
http://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/sample-templates-services-us-west-2.html
“ デザイナーで表示”を選択してみる
CloudFormation デザイナーが起動
画面上部: Canvas 、下部:テキストエディタ
読まずとも中身がわかる!!
何行であってもまるっとお見通し
テキストエディタ
項目ごとにタブ表示
206 行中、140 行が Mappings
リソースのプロパティを確認
・ Canvas でリソースを選択
→ テキストエディタに表示される
リソースのプロパティを編集
[EC2 の削除保護の有効化 ]
1. リファレンスを開き
2.EC2::Instance 開き
3. プロパティ名 , 書式の確認
リファレンスが必要
テキストエディタの便利機能 – リファレンスへのリンク
リソースを右クリック > リファレンスが Open
必要なリファレンスをすぐに参照できる
テキストエディタの便利機能 – ショートカット
キー 操作
Ctrl+Space リソースで使用可能なプロパティを表示
Ctrl+F 検索
Ctrl+\ テキストのフォーマット
Ctrl+Shift+\ 空白を削除
Windows https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/working-with-templates-cfn-designer-json-editor.html
Mac http://dev.classmethod.jp/cloud/aws/cfn-designer-macos-auto-complete-not-working/
ショートカット
編集の反映
Validate template (構文チェック)
デザイナーのツールバー
編集の反映
Undo, Redo
デザイナーのツールバー
編集の反映
ローカル or S3 バケットに保存
デザイナーのツールバー
編集の反映
Create Stack
デザイナーのツールバー
Create Stack
パラメータやオプションを入力し、 Create Stack!!
環境の自動構築
やってやったぜ
@AbeIka
デザイナーの捗りポイント①
• テンプレートの可視化 Canvas
• 便利機能 リファレンスへのリンク ショートカット Validate
他人が書いたテンプレートでも、デザイナーにかかれば捗る!
アジェンダ
• CloudFormation の基本を振り返る• CloudFormation デザイナーで捗る
サンプルテンプレートを試してみる 1 からテンプレートを作ってみる
• CloudFormation デザイナーのデメリット• まとめ
ゴール
テンプレートで VPC,EC2 インスタンス , セキュリティグループを作成
Canvas で絵を描く
プロパティの入力
論理名の変更
Canvas で絵を描く
ドラッグ ドロップ
Canvas で絵を描いた成果
Canvas の操作が、エディタに反映された
論理名の編集
鉛筆マークを選択し、わかりやすい名前に変更
Canvus で絵を描く その 2
ドラッグ VPC 上にドロップ
リソースの関連付け
Canvas の操作でリソースの関連付け出来た!
Canvas の完成系
EC2 とセキュリティグループの関連付けは、線で結ぶ
Canvas の操作でリソースを関連付ける
プロパティの入力
• VPC CIDR
• EC2 AMI ID インスタンスタイプ
• (オプション) Parameter などの設定Create Stack 時に入力する値
必須ではない
保存& Create Stack
環境の自動構築
やってやったぜ
@AbeIka
デザイナーの捗りポイント②
• 直感的な操作Canvas で絵を描く
リソースの作成 リソースの関連付け
Canvas で絵を描く
プロパティの入力
論理名の変更
アジェンダ
• CloudFormation の基本を振り返る• CloudFormation デザイナーで捗る
サンプルテンプレートを試してみる 1 からテンプレートを作ってみる
• CloudFormation デザイナーのデメリット• まとめ
デメリット
• テンプレートにメタデータが入る リソースのサイズ、位置情報をメタデータとして持つ テンプレートサイズが大きくなる
• デメリット? テンプレートの自動整形
改行やインデントが自動で入る
CloudFormation デザイナー以外の選択肢• AWS CloudFormation Template Editor for Eclipse
Eclipse から直接、スタックを作成 / 更新 入力補完 構文ハイライト バリデーション機能
• 普段使いのエディタ Vim Emacs Atom メモ帳 Etc..
Emacs の場合
http://dev.classmethod.jp/devenv/emacs-edit-json-cloudformation/
Emacs + json-mode→ シンタックスハイライト、リアルタイム文法チェック
Atom の場合
http://dev.classmethod.jp/cloud/aws/atom-settings-for-creating-a-cfn-template/
Atom + cform→ 補完機能
普段使いのエディタ+
プライグイン= 捗る
@AbeIka
アジェンダ
• CloudFormation の基本を振り返る• CloudFormation デザイナーで捗る
サンプルテンプレートを試してみる 1 からテンプレートを作ってみる
• CloudFormation デザイナーのデメリット• まとめ
まとめ• CloudFormation は便利だが、つらい
• デザイナーは捗る グラフィカルな画面 ショートカット バリデーション
• お好きなエディタでどうぞ テキストエディタであれば OK
• デザイナーを始めたい ウォークスルーで覚えましょう
https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/CHAP_Using.html
top related