cloud formation デザイナーで捗ろう

59
CloudFormation デデデデデデデデデ デデデデデデデ AWS デデデデデデデデデ デデ デデ

Upload: koki-abe

Post on 13-Apr-2017

544 views

Category:

Software


1 download

TRANSCRIPT

Page 1: Cloud formation デザイナーで捗ろう

CloudFormation デザイナーで捗ろう

クラスメソッド AWS コンサルティング部阿部 洸樹

Page 2: Cloud formation デザイナーで捗ろう

自己紹介

• 阿部 洸樹http://dev.classmethod.jp/author/abe-koki/

• クラスメソッド AWS コンサルティング部

• Twitter@AbeIka

• 好きな AWS サービスCloudFormation デザイナー

Page 3: Cloud formation デザイナーで捗ろう

アジェンダ

• CloudFormation の基本を振り返る• CloudFormation デザイナーで捗る

サンプルテンプレートを試してみる 1 からテンプレートを作ってみる

• CloudFormation デザイナーのデメリット• まとめ

Page 4: Cloud formation デザイナーで捗ろう

アジェンダ

• CloudFormation の基本を振り返る• CloudFormation デザイナーで捗る

サンプルテンプレートを試してみる 1 からテンプレートを作ってみる

• CloudFormation デザイナーのデメリット• まとめ

Page 5: Cloud formation デザイナーで捗ろう

AWS CloudFormation とは?

CloudFormation :テンプレートに基づき、 AWS の環境を自動構築

JSON のテキスト

Page 6: Cloud formation デザイナーで捗ろう

CloudFormation の主なメリット

環境の複製 すぐに作ってすぐに消せる

Page 7: Cloud formation デザイナーで捗ろう

CloudFormation の活用例

• 標準テンプレートの作成 組織内で統一された環境構築

統一的な命名、セキュリティグループルール 自分でテンプレートをつくるパターン

• ISV ベンダー提供のテンプレートの利用 AWS 上で製品を展開するベンダー

Create Stack で製品を試せる 他人のテンプレートを利用するパターン

Page 8: Cloud formation デザイナーで捗ろう

利用料金

• CloudFormation 自体は無料

• テンプレートで構築されたリソースに対して、課金 EC2,ELB などの利用料金

Page 9: Cloud formation デザイナーで捗ろう

アジェンダ

• CloudFormation の基本を振り返る• CloudFormation デザイナーで捗る

サンプルテンプレートを試してみる 1 からテンプレートを作ってみる

• CloudFormation デザイナーのデメリット• まとめ

Page 10: Cloud formation デザイナーで捗ろう

ここから面白くなります!

@AbeIka

Page 11: Cloud formation デザイナーで捗ろう

簡単そうなテンプレートで試してみる

http://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/sample-templates-services-us-west-2.html

“ 表示”を選択して、テンプレートを確認してみる

Page 12: Cloud formation デザイナーで捗ろう

テンプレートの表示

適当なテキストエディタにコピー&ペーストこのまま参照、編集しても OK

Page 13: Cloud formation デザイナーで捗ろう

(☉_☉)206 行

Page 14: Cloud formation デザイナーで捗ろう

206 段の石段

Page 15: Cloud formation デザイナーで捗ろう

206 行とか辛いシンプルな構成でも

数百行のテンプレートになりがち

Page 16: Cloud formation デザイナーで捗ろう

CloudFormationデザイナーがあるよ

@AbeIka

Page 17: Cloud formation デザイナーで捗ろう

これからやること

• サンプルテンプレートの参照• 編集• バリデーション• 保存• Create Stack

Page 18: Cloud formation デザイナーで捗ろう

テンプレートを表示してみる(デザイナー)

http://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/sample-templates-services-us-west-2.html

“ デザイナーで表示”を選択してみる

Page 19: Cloud formation デザイナーで捗ろう

CloudFormation デザイナーが起動

画面上部: Canvas 、下部:テキストエディタ

Page 20: Cloud formation デザイナーで捗ろう
Page 21: Cloud formation デザイナーで捗ろう

読まずとも中身がわかる!!

Page 22: Cloud formation デザイナーで捗ろう

何行であってもまるっとお見通し

Page 23: Cloud formation デザイナーで捗ろう

テキストエディタ

項目ごとにタブ表示

206 行中、140 行が Mappings

Page 24: Cloud formation デザイナーで捗ろう

リソースのプロパティを確認

・ Canvas でリソースを選択

→ テキストエディタに表示される

Page 25: Cloud formation デザイナーで捗ろう

リソースのプロパティを編集

[EC2 の削除保護の有効化 ]

1. リファレンスを開き

2.EC2::Instance 開き

3. プロパティ名 , 書式の確認

Page 26: Cloud formation デザイナーで捗ろう

リファレンスが必要

Page 27: Cloud formation デザイナーで捗ろう

テキストエディタの便利機能 – リファレンスへのリンク

リソースを右クリック > リファレンスが Open

Page 28: Cloud formation デザイナーで捗ろう

必要なリファレンスをすぐに参照できる

Page 29: Cloud formation デザイナーで捗ろう

テキストエディタの便利機能 – ショートカット

キー 操作

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 デザイナーで捗ろう

編集の反映

Validate template (構文チェック)

デザイナーのツールバー

Page 31: Cloud formation デザイナーで捗ろう

編集の反映

Undo, Redo

デザイナーのツールバー

Page 32: Cloud formation デザイナーで捗ろう

編集の反映

ローカル or S3 バケットに保存

デザイナーのツールバー

Page 33: Cloud formation デザイナーで捗ろう

編集の反映

Create Stack

デザイナーのツールバー

Page 34: Cloud formation デザイナーで捗ろう

Create Stack

パラメータやオプションを入力し、 Create Stack!!

Page 35: Cloud formation デザイナーで捗ろう

環境の自動構築

Page 36: Cloud formation デザイナーで捗ろう

やってやったぜ

@AbeIka

Page 37: Cloud formation デザイナーで捗ろう

デザイナーの捗りポイント①

• テンプレートの可視化 Canvas

• 便利機能 リファレンスへのリンク ショートカット Validate

他人が書いたテンプレートでも、デザイナーにかかれば捗る!

Page 38: Cloud formation デザイナーで捗ろう

アジェンダ

• CloudFormation の基本を振り返る• CloudFormation デザイナーで捗る

サンプルテンプレートを試してみる 1 からテンプレートを作ってみる

• CloudFormation デザイナーのデメリット• まとめ

Page 39: Cloud formation デザイナーで捗ろう

ゴール

テンプレートで VPC,EC2 インスタンス , セキュリティグループを作成

Canvas で絵を描く

プロパティの入力

論理名の変更

Page 40: Cloud formation デザイナーで捗ろう

Canvas で絵を描く

ドラッグ ドロップ

Page 41: Cloud formation デザイナーで捗ろう

Canvas で絵を描いた成果

Canvas の操作が、エディタに反映された

Page 42: Cloud formation デザイナーで捗ろう

論理名の編集

鉛筆マークを選択し、わかりやすい名前に変更

Page 43: Cloud formation デザイナーで捗ろう

Canvus で絵を描く その 2

ドラッグ VPC 上にドロップ

Page 44: Cloud formation デザイナーで捗ろう

リソースの関連付け

Canvas の操作でリソースの関連付け出来た!

Page 45: Cloud formation デザイナーで捗ろう

Canvas の完成系

EC2 とセキュリティグループの関連付けは、線で結ぶ

Page 46: Cloud formation デザイナーで捗ろう

Canvas の操作でリソースを関連付ける

Page 47: Cloud formation デザイナーで捗ろう

プロパティの入力

• VPC CIDR

• EC2 AMI ID インスタンスタイプ

• (オプション) Parameter などの設定Create Stack 時に入力する値

必須ではない

Page 48: Cloud formation デザイナーで捗ろう

保存& Create Stack

Page 49: Cloud formation デザイナーで捗ろう

環境の自動構築

Page 50: Cloud formation デザイナーで捗ろう

やってやったぜ

@AbeIka

Page 51: Cloud formation デザイナーで捗ろう

デザイナーの捗りポイント②

• 直感的な操作Canvas で絵を描く

リソースの作成 リソースの関連付け

Canvas で絵を描く

プロパティの入力

論理名の変更

Page 52: Cloud formation デザイナーで捗ろう

アジェンダ

• CloudFormation の基本を振り返る• CloudFormation デザイナーで捗る

サンプルテンプレートを試してみる 1 からテンプレートを作ってみる

• CloudFormation デザイナーのデメリット• まとめ

Page 53: Cloud formation デザイナーで捗ろう

デメリット

• テンプレートにメタデータが入る リソースのサイズ、位置情報をメタデータとして持つ テンプレートサイズが大きくなる

• デメリット? テンプレートの自動整形

改行やインデントが自動で入る

Page 54: Cloud formation デザイナーで捗ろう

CloudFormation デザイナー以外の選択肢• AWS CloudFormation Template Editor for Eclipse

Eclipse から直接、スタックを作成 / 更新 入力補完 構文ハイライト バリデーション機能

• 普段使いのエディタ Vim Emacs Atom メモ帳 Etc..

Page 55: Cloud formation デザイナーで捗ろう

Emacs の場合

http://dev.classmethod.jp/devenv/emacs-edit-json-cloudformation/

Emacs + json-mode→ シンタックスハイライト、リアルタイム文法チェック

Page 56: Cloud formation デザイナーで捗ろう

Atom の場合

http://dev.classmethod.jp/cloud/aws/atom-settings-for-creating-a-cfn-template/

Atom + cform→ 補完機能

Page 57: Cloud formation デザイナーで捗ろう

普段使いのエディタ+

プライグイン= 捗る

@AbeIka

Page 58: Cloud formation デザイナーで捗ろう

アジェンダ

• CloudFormation の基本を振り返る• CloudFormation デザイナーで捗る

サンプルテンプレートを試してみる 1 からテンプレートを作ってみる

• CloudFormation デザイナーのデメリット• まとめ

Page 59: Cloud formation デザイナーで捗ろう

まとめ• CloudFormation は便利だが、つらい

• デザイナーは捗る グラフィカルな画面 ショートカット バリデーション

• お好きなエディタでどうぞ テキストエディタであれば OK

• デザイナーを始めたい ウォークスルーで覚えましょう

https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/CHAP_Using.html