Cloud formation デザイナーで捗ろう
Transcript of Cloud formation デザイナーで捗ろう
![Page 1: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/1.jpg)
CloudFormation デザイナーで捗ろう
クラスメソッド AWS コンサルティング部阿部 洸樹
![Page 2: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/2.jpg)
自己紹介
• 阿部 洸樹http://dev.classmethod.jp/author/abe-koki/
• クラスメソッド AWS コンサルティング部
• Twitter@AbeIka
• 好きな AWS サービスCloudFormation デザイナー
![Page 3: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/3.jpg)
アジェンダ
• CloudFormation の基本を振り返る• CloudFormation デザイナーで捗る
サンプルテンプレートを試してみる 1 からテンプレートを作ってみる
• CloudFormation デザイナーのデメリット• まとめ
![Page 4: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/4.jpg)
アジェンダ
• CloudFormation の基本を振り返る• CloudFormation デザイナーで捗る
サンプルテンプレートを試してみる 1 からテンプレートを作ってみる
• CloudFormation デザイナーのデメリット• まとめ
![Page 5: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/5.jpg)
AWS CloudFormation とは?
CloudFormation :テンプレートに基づき、 AWS の環境を自動構築
JSON のテキスト
![Page 6: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/6.jpg)
CloudFormation の主なメリット
環境の複製 すぐに作ってすぐに消せる
![Page 7: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/7.jpg)
CloudFormation の活用例
• 標準テンプレートの作成 組織内で統一された環境構築
統一的な命名、セキュリティグループルール 自分でテンプレートをつくるパターン
• ISV ベンダー提供のテンプレートの利用 AWS 上で製品を展開するベンダー
Create Stack で製品を試せる 他人のテンプレートを利用するパターン
![Page 8: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/8.jpg)
利用料金
• CloudFormation 自体は無料
• テンプレートで構築されたリソースに対して、課金 EC2,ELB などの利用料金
![Page 9: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/9.jpg)
アジェンダ
• CloudFormation の基本を振り返る• CloudFormation デザイナーで捗る
サンプルテンプレートを試してみる 1 からテンプレートを作ってみる
• CloudFormation デザイナーのデメリット• まとめ
![Page 10: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/10.jpg)
ここから面白くなります!
@AbeIka
![Page 11: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/11.jpg)
簡単そうなテンプレートで試してみる
http://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/sample-templates-services-us-west-2.html
“ 表示”を選択して、テンプレートを確認してみる
![Page 12: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/12.jpg)
テンプレートの表示
適当なテキストエディタにコピー&ペーストこのまま参照、編集しても OK
![Page 13: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/13.jpg)
(☉_☉)206 行
![Page 14: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/14.jpg)
206 段の石段
![Page 15: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/15.jpg)
206 行とか辛いシンプルな構成でも
数百行のテンプレートになりがち
![Page 16: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/16.jpg)
CloudFormationデザイナーがあるよ
@AbeIka
![Page 17: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/17.jpg)
これからやること
• サンプルテンプレートの参照• 編集• バリデーション• 保存• Create Stack
![Page 18: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/18.jpg)
テンプレートを表示してみる(デザイナー)
http://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/sample-templates-services-us-west-2.html
“ デザイナーで表示”を選択してみる
![Page 19: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/19.jpg)
CloudFormation デザイナーが起動
画面上部: Canvas 、下部:テキストエディタ
![Page 20: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/20.jpg)
![Page 21: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/21.jpg)
読まずとも中身がわかる!!
![Page 22: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/22.jpg)
何行であってもまるっとお見通し
![Page 23: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/23.jpg)
テキストエディタ
項目ごとにタブ表示
206 行中、140 行が Mappings
![Page 24: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/24.jpg)
リソースのプロパティを確認
・ Canvas でリソースを選択
→ テキストエディタに表示される
![Page 25: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/25.jpg)
リソースのプロパティを編集
[EC2 の削除保護の有効化 ]
1. リファレンスを開き
2.EC2::Instance 開き
3. プロパティ名 , 書式の確認
![Page 26: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/26.jpg)
リファレンスが必要
![Page 27: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/27.jpg)
テキストエディタの便利機能 – リファレンスへのリンク
リソースを右クリック > リファレンスが Open
![Page 28: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/28.jpg)
必要なリファレンスをすぐに参照できる
![Page 29: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/29.jpg)
テキストエディタの便利機能 – ショートカット
キー 操作
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/
ショートカット
![Page 30: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/30.jpg)
編集の反映
Validate template (構文チェック)
デザイナーのツールバー
![Page 31: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/31.jpg)
編集の反映
Undo, Redo
デザイナーのツールバー
![Page 32: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/32.jpg)
編集の反映
ローカル or S3 バケットに保存
デザイナーのツールバー
![Page 33: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/33.jpg)
編集の反映
Create Stack
デザイナーのツールバー
![Page 34: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/34.jpg)
Create Stack
パラメータやオプションを入力し、 Create Stack!!
![Page 35: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/35.jpg)
環境の自動構築
![Page 36: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/36.jpg)
やってやったぜ
@AbeIka
![Page 37: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/37.jpg)
デザイナーの捗りポイント①
• テンプレートの可視化 Canvas
• 便利機能 リファレンスへのリンク ショートカット Validate
他人が書いたテンプレートでも、デザイナーにかかれば捗る!
![Page 38: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/38.jpg)
アジェンダ
• CloudFormation の基本を振り返る• CloudFormation デザイナーで捗る
サンプルテンプレートを試してみる 1 からテンプレートを作ってみる
• CloudFormation デザイナーのデメリット• まとめ
![Page 39: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/39.jpg)
ゴール
テンプレートで VPC,EC2 インスタンス , セキュリティグループを作成
Canvas で絵を描く
プロパティの入力
論理名の変更
![Page 40: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/40.jpg)
Canvas で絵を描く
ドラッグ ドロップ
![Page 41: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/41.jpg)
Canvas で絵を描いた成果
Canvas の操作が、エディタに反映された
![Page 42: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/42.jpg)
論理名の編集
鉛筆マークを選択し、わかりやすい名前に変更
![Page 43: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/43.jpg)
Canvus で絵を描く その 2
ドラッグ VPC 上にドロップ
![Page 44: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/44.jpg)
リソースの関連付け
Canvas の操作でリソースの関連付け出来た!
![Page 45: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/45.jpg)
Canvas の完成系
EC2 とセキュリティグループの関連付けは、線で結ぶ
![Page 46: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/46.jpg)
Canvas の操作でリソースを関連付ける
![Page 47: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/47.jpg)
プロパティの入力
• VPC CIDR
• EC2 AMI ID インスタンスタイプ
• (オプション) Parameter などの設定Create Stack 時に入力する値
必須ではない
![Page 48: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/48.jpg)
保存& Create Stack
![Page 49: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/49.jpg)
環境の自動構築
![Page 50: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/50.jpg)
やってやったぜ
@AbeIka
![Page 51: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/51.jpg)
デザイナーの捗りポイント②
• 直感的な操作Canvas で絵を描く
リソースの作成 リソースの関連付け
Canvas で絵を描く
プロパティの入力
論理名の変更
![Page 52: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/52.jpg)
アジェンダ
• CloudFormation の基本を振り返る• CloudFormation デザイナーで捗る
サンプルテンプレートを試してみる 1 からテンプレートを作ってみる
• CloudFormation デザイナーのデメリット• まとめ
![Page 53: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/53.jpg)
デメリット
• テンプレートにメタデータが入る リソースのサイズ、位置情報をメタデータとして持つ テンプレートサイズが大きくなる
• デメリット? テンプレートの自動整形
改行やインデントが自動で入る
![Page 54: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/54.jpg)
CloudFormation デザイナー以外の選択肢• AWS CloudFormation Template Editor for Eclipse
Eclipse から直接、スタックを作成 / 更新 入力補完 構文ハイライト バリデーション機能
• 普段使いのエディタ Vim Emacs Atom メモ帳 Etc..
![Page 55: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/55.jpg)
Emacs の場合
http://dev.classmethod.jp/devenv/emacs-edit-json-cloudformation/
Emacs + json-mode→ シンタックスハイライト、リアルタイム文法チェック
![Page 56: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/56.jpg)
Atom の場合
http://dev.classmethod.jp/cloud/aws/atom-settings-for-creating-a-cfn-template/
Atom + cform→ 補完機能
![Page 57: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/57.jpg)
普段使いのエディタ+
プライグイン= 捗る
@AbeIka
![Page 58: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/58.jpg)
アジェンダ
• CloudFormation の基本を振り返る• CloudFormation デザイナーで捗る
サンプルテンプレートを試してみる 1 からテンプレートを作ってみる
• CloudFormation デザイナーのデメリット• まとめ
![Page 59: Cloud formation デザイナーで捗ろう](https://reader036.fdocuments.net/reader036/viewer/2022062503/58a0952e1a28aba73f8b6fbd/html5/thumbnails/59.jpg)
まとめ• CloudFormation は便利だが、つらい
• デザイナーは捗る グラフィカルな画面 ショートカット バリデーション
• お好きなエディタでどうぞ テキストエディタであれば OK
• デザイナーを始めたい ウォークスルーで覚えましょう
https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/CHAP_Using.html