SlideShare a Scribd company logo
1 of 59
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とセキュリティグループの関連付けは、線で結ぶ
プロパティの入力
• VPC
 CIDR
• EC2
 AMI ID
 インスタンスタイプ
• (オプション)Parameterなどの設定
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

More Related Content

What's hot

20190402 AWS Black Belt Online Seminar Let's Dive Deep into AWS Lambda Part1 ...
20190402 AWS Black Belt Online Seminar Let's Dive Deep into AWS Lambda Part1 ...20190402 AWS Black Belt Online Seminar Let's Dive Deep into AWS Lambda Part1 ...
20190402 AWS Black Belt Online Seminar Let's Dive Deep into AWS Lambda Part1 ...Amazon Web Services Japan
 
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...Amazon Web Services Japan
 
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティスAmazon Web Services Japan
 
CloudFrontのリアルタイムログをKibanaで可視化しよう
CloudFrontのリアルタイムログをKibanaで可視化しようCloudFrontのリアルタイムログをKibanaで可視化しよう
CloudFrontのリアルタイムログをKibanaで可視化しようEiji KOMINAMI
 
20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline
20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline
20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipelineAmazon Web Services Japan
 
20200526 AWS Black Belt Online Seminar AWS X-Ray
20200526 AWS Black Belt Online Seminar AWS X-Ray20200526 AWS Black Belt Online Seminar AWS X-Ray
20200526 AWS Black Belt Online Seminar AWS X-RayAmazon Web Services Japan
 
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)Amazon Web Services Japan
 
AWS Black Belt Online Seminar - Amazon Lightsail
AWS Black Belt Online Seminar - Amazon Lightsail AWS Black Belt Online Seminar - Amazon Lightsail
AWS Black Belt Online Seminar - Amazon Lightsail Amazon Web Services Japan
 
20190226 AWS Black Belt Online Seminar Amazon WorkSpaces
20190226 AWS Black Belt Online Seminar Amazon WorkSpaces20190226 AWS Black Belt Online Seminar Amazon WorkSpaces
20190226 AWS Black Belt Online Seminar Amazon WorkSpacesAmazon Web Services Japan
 
20200826 AWS Black Belt Online Seminar AWS CloudFormation
20200826 AWS Black Belt Online Seminar AWS CloudFormation 20200826 AWS Black Belt Online Seminar AWS CloudFormation
20200826 AWS Black Belt Online Seminar AWS CloudFormation Amazon Web Services Japan
 
20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS GlueAmazon Web Services Japan
 
AWS Black Belt Online Seminar 2017 Amazon DynamoDB
AWS Black Belt Online Seminar 2017 Amazon DynamoDB AWS Black Belt Online Seminar 2017 Amazon DynamoDB
AWS Black Belt Online Seminar 2017 Amazon DynamoDB Amazon Web Services Japan
 
AWS Black Belt Online Seminar 2018 AWS Well-Architected Framework
AWS Black Belt Online Seminar 2018 AWS Well-Architected FrameworkAWS Black Belt Online Seminar 2018 AWS Well-Architected Framework
AWS Black Belt Online Seminar 2018 AWS Well-Architected FrameworkAmazon Web Services Japan
 
20200708サーバーレスでのAPI管理の考え方
20200708サーバーレスでのAPI管理の考え方20200708サーバーレスでのAPI管理の考え方
20200708サーバーレスでのAPI管理の考え方Amazon Web Services Japan
 
20200617 AWS Black Belt Online Seminar Amazon Athena
20200617 AWS Black Belt Online Seminar Amazon Athena20200617 AWS Black Belt Online Seminar Amazon Athena
20200617 AWS Black Belt Online Seminar Amazon AthenaAmazon Web Services Japan
 
20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したことAmazon Web Services Japan
 
20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver
20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver
20191016 AWS Black Belt Online Seminar Amazon Route 53 ResolverAmazon Web Services Japan
 
20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems Manager20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems ManagerAmazon Web Services Japan
 
20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本Amazon Web Services Japan
 

What's hot (20)

20190402 AWS Black Belt Online Seminar Let's Dive Deep into AWS Lambda Part1 ...
20190402 AWS Black Belt Online Seminar Let's Dive Deep into AWS Lambda Part1 ...20190402 AWS Black Belt Online Seminar Let's Dive Deep into AWS Lambda Part1 ...
20190402 AWS Black Belt Online Seminar Let's Dive Deep into AWS Lambda Part1 ...
 
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
 
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
 
CloudFrontのリアルタイムログをKibanaで可視化しよう
CloudFrontのリアルタイムログをKibanaで可視化しようCloudFrontのリアルタイムログをKibanaで可視化しよう
CloudFrontのリアルタイムログをKibanaで可視化しよう
 
20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline
20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline
20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline
 
20200526 AWS Black Belt Online Seminar AWS X-Ray
20200526 AWS Black Belt Online Seminar AWS X-Ray20200526 AWS Black Belt Online Seminar AWS X-Ray
20200526 AWS Black Belt Online Seminar AWS X-Ray
 
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
 
AWS Black Belt Online Seminar - Amazon Lightsail
AWS Black Belt Online Seminar - Amazon Lightsail AWS Black Belt Online Seminar - Amazon Lightsail
AWS Black Belt Online Seminar - Amazon Lightsail
 
20190226 AWS Black Belt Online Seminar Amazon WorkSpaces
20190226 AWS Black Belt Online Seminar Amazon WorkSpaces20190226 AWS Black Belt Online Seminar Amazon WorkSpaces
20190226 AWS Black Belt Online Seminar Amazon WorkSpaces
 
20200826 AWS Black Belt Online Seminar AWS CloudFormation
20200826 AWS Black Belt Online Seminar AWS CloudFormation 20200826 AWS Black Belt Online Seminar AWS CloudFormation
20200826 AWS Black Belt Online Seminar AWS CloudFormation
 
20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue20190806 AWS Black Belt Online Seminar AWS Glue
20190806 AWS Black Belt Online Seminar AWS Glue
 
AWS Black Belt Online Seminar 2017 Amazon DynamoDB
AWS Black Belt Online Seminar 2017 Amazon DynamoDB AWS Black Belt Online Seminar 2017 Amazon DynamoDB
AWS Black Belt Online Seminar 2017 Amazon DynamoDB
 
AWS Black Belt Online Seminar 2018 AWS Well-Architected Framework
AWS Black Belt Online Seminar 2018 AWS Well-Architected FrameworkAWS Black Belt Online Seminar 2018 AWS Well-Architected Framework
AWS Black Belt Online Seminar 2018 AWS Well-Architected Framework
 
20200708サーバーレスでのAPI管理の考え方
20200708サーバーレスでのAPI管理の考え方20200708サーバーレスでのAPI管理の考え方
20200708サーバーレスでのAPI管理の考え方
 
20200617 AWS Black Belt Online Seminar Amazon Athena
20200617 AWS Black Belt Online Seminar Amazon Athena20200617 AWS Black Belt Online Seminar Amazon Athena
20200617 AWS Black Belt Online Seminar Amazon Athena
 
20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと
 
AWS BlackBelt AWS上でのDDoS対策
AWS BlackBelt AWS上でのDDoS対策AWS BlackBelt AWS上でのDDoS対策
AWS BlackBelt AWS上でのDDoS対策
 
20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver
20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver
20191016 AWS Black Belt Online Seminar Amazon Route 53 Resolver
 
20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems Manager20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems Manager
 
20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本
 

Similar to Cloud formation デザイナーで捗ろう

Awsのインフラをデザインパターン駆使して設計構築
Awsのインフラをデザインパターン駆使して設計構築Awsのインフラをデザインパターン駆使して設計構築
Awsのインフラをデザインパターン駆使して設計構築Monstar Lab Inc.
 
AWS Black Belt Tech シリーズ 2015 - AWS CloudFormation
AWS Black Belt Tech シリーズ 2015 - AWS CloudFormationAWS Black Belt Tech シリーズ 2015 - AWS CloudFormation
AWS Black Belt Tech シリーズ 2015 - AWS CloudFormationAmazon Web Services Japan
 
アプリ開発&チーム管理で 役立った拡張機能
アプリ開発&チーム管理で役立った拡張機能アプリ開発&チーム管理で役立った拡張機能
アプリ開発&チーム管理で 役立った拡張機能Masaki Suzuki
 
7/7 WordBench kobe dreamweaver seminar
7/7 WordBench kobe dreamweaver seminar7/7 WordBench kobe dreamweaver seminar
7/7 WordBench kobe dreamweaver seminarAtushi Sugiyama
 
Aws well architected-framework_seminar_overview
Aws well architected-framework_seminar_overviewAws well architected-framework_seminar_overview
Aws well architected-framework_seminar_overviewYoshii Ryo
 
20191129 AWS CloudFormarion
20191129 AWS CloudFormarion20191129 AWS CloudFormarion
20191129 AWS CloudFormarionyamamotomsc
 
サイドプロジェクトで使う Azure DevOps
サイドプロジェクトで使う Azure DevOpsサイドプロジェクトで使う Azure DevOps
サイドプロジェクトで使う Azure DevOpsShuhei Eda
 
May the FaaS be with us!!
May the FaaS be with us!!May the FaaS be with us!!
May the FaaS be with us!!真吾 吉田
 
AWSクラウドデザインパターン(CDP) - コンテンツ配信編 -
AWSクラウドデザインパターン(CDP) - コンテンツ配信編 -AWSクラウドデザインパターン(CDP) - コンテンツ配信編 -
AWSクラウドデザインパターン(CDP) - コンテンツ配信編 -Akio Katayama
 
20140508_JAWS-UG岩手#1
20140508_JAWS-UG岩手#120140508_JAWS-UG岩手#1
20140508_JAWS-UG岩手#1Tomoya Ishida
 
AWS & Google Cloudを使ったシステム開発/技術選定のはなし
AWS & Google Cloudを使ったシステム開発/技術選定のはなしAWS & Google Cloudを使ったシステム開発/技術選定のはなし
AWS & Google Cloudを使ったシステム開発/技術選定のはなし修一 高橋
 
Multi Cloud Design Pattern(Beta)
Multi Cloud Design Pattern(Beta)Multi Cloud Design Pattern(Beta)
Multi Cloud Design Pattern(Beta)Terui Masashi
 
CloudFormation で SAP
CloudFormation で SAPCloudFormation で SAP
CloudFormation で SAPiret Inc.
 
CloudFormation/SAMのススメ
CloudFormation/SAMのススメCloudFormation/SAMのススメ
CloudFormation/SAMのススメEiji KOMINAMI
 
AWSサムライハンズオン CDPから始めよう #jawsdays
AWSサムライハンズオン CDPから始めよう #jawsdays AWSサムライハンズオン CDPから始めよう #jawsdays
AWSサムライハンズオン CDPから始めよう #jawsdays 真吾 吉田
 
New Cloud Design Pattern using Amazon Aurora
New Cloud Design Pattern using Amazon AuroraNew Cloud Design Pattern using Amazon Aurora
New Cloud Design Pattern using Amazon Aurora宗 大栗
 
Cloud Formation Best Practice
Cloud Formation Best PracticeCloud Formation Best Practice
Cloud Formation Best Practiceyutamuramot
 

Similar to Cloud formation デザイナーで捗ろう (20)

Awsのインフラをデザインパターン駆使して設計構築
Awsのインフラをデザインパターン駆使して設計構築Awsのインフラをデザインパターン駆使して設計構築
Awsのインフラをデザインパターン駆使して設計構築
 
AWS Black Belt Tech シリーズ 2015 - AWS CloudFormation
AWS Black Belt Tech シリーズ 2015 - AWS CloudFormationAWS Black Belt Tech シリーズ 2015 - AWS CloudFormation
AWS Black Belt Tech シリーズ 2015 - AWS CloudFormation
 
アプリ開発&チーム管理で 役立った拡張機能
アプリ開発&チーム管理で役立った拡張機能アプリ開発&チーム管理で役立った拡張機能
アプリ開発&チーム管理で 役立った拡張機能
 
7/7 WordBench kobe dreamweaver seminar
7/7 WordBench kobe dreamweaver seminar7/7 WordBench kobe dreamweaver seminar
7/7 WordBench kobe dreamweaver seminar
 
JAWS DAYS 2015
JAWS DAYS 2015JAWS DAYS 2015
JAWS DAYS 2015
 
Aws well architected-framework_seminar_overview
Aws well architected-framework_seminar_overviewAws well architected-framework_seminar_overview
Aws well architected-framework_seminar_overview
 
20191129 AWS CloudFormarion
20191129 AWS CloudFormarion20191129 AWS CloudFormarion
20191129 AWS CloudFormarion
 
サイドプロジェクトで使う Azure DevOps
サイドプロジェクトで使う Azure DevOpsサイドプロジェクトで使う Azure DevOps
サイドプロジェクトで使う Azure DevOps
 
May the FaaS be with us!!
May the FaaS be with us!!May the FaaS be with us!!
May the FaaS be with us!!
 
俺とHashiCorp
俺とHashiCorp俺とHashiCorp
俺とHashiCorp
 
AWSクラウドデザインパターン(CDP) - コンテンツ配信編 -
AWSクラウドデザインパターン(CDP) - コンテンツ配信編 -AWSクラウドデザインパターン(CDP) - コンテンツ配信編 -
AWSクラウドデザインパターン(CDP) - コンテンツ配信編 -
 
20140508_JAWS-UG岩手#1
20140508_JAWS-UG岩手#120140508_JAWS-UG岩手#1
20140508_JAWS-UG岩手#1
 
AWS & Google Cloudを使ったシステム開発/技術選定のはなし
AWS & Google Cloudを使ったシステム開発/技術選定のはなしAWS & Google Cloudを使ったシステム開発/技術選定のはなし
AWS & Google Cloudを使ったシステム開発/技術選定のはなし
 
Multi Cloud Design Pattern(Beta)
Multi Cloud Design Pattern(Beta)Multi Cloud Design Pattern(Beta)
Multi Cloud Design Pattern(Beta)
 
CloudFormation で SAP
CloudFormation で SAPCloudFormation で SAP
CloudFormation で SAP
 
CloudFormation/SAMのススメ
CloudFormation/SAMのススメCloudFormation/SAMのススメ
CloudFormation/SAMのススメ
 
AWSサムライハンズオン CDPから始めよう #jawsdays
AWSサムライハンズオン CDPから始めよう #jawsdays AWSサムライハンズオン CDPから始めよう #jawsdays
AWSサムライハンズオン CDPから始めよう #jawsdays
 
New Cloud Design Pattern using Amazon Aurora
New Cloud Design Pattern using Amazon AuroraNew Cloud Design Pattern using Amazon Aurora
New Cloud Design Pattern using Amazon Aurora
 
Cloud Formation Best Practice
Cloud Formation Best PracticeCloud Formation Best Practice
Cloud Formation Best Practice
 
Cloudformation
CloudformationCloudformation
Cloudformation
 

Cloud formation デザイナーで捗ろう

Editor's Notes

  1. CloudFormationデザイナーで捗ろうというテーマで、わたくし あべが発表させて頂きます。
  2. 簡単に自己紹介させて頂きます。 クラスメソッドAWSコンサルティング部に所属しております。阿部と申します。 普段は東京で主にAWSのインフラ構築を担当しています。 SNSでは、いかのアイコンを使っていまして、Twitterではあべいかというアカウントでつぶやいています。 好きなAWSサービスはCloudFormationデザイナーです。 今回は、CloudFormationとデザイナーの良さをお伝えできればと思います。
  3. 本日のアジェンダです。 まず、CloudFormationの基本を振り返ります。 CloudFormationが、どんなサービスでどんなメリットがあるのか確認します。 次にCloufFormationデザイナーでどれだけ捗るのかを、 サンプルテンプレートと、1からのテンプレート作成でご紹介します。 デザイナー捗るんですが、デメリットもありますのでご紹介し、 最後にまとめとさせていただきます
  4. では、CloudFormationの基本を振り返ってみます。
  5. CloudFormationがそもそもどんなサービスなのか復習します。 CloudFormationは、テンプレートに基づいて、AWSの環境を自動構築してくれるサービスです。 AWS上のリソース、例えば、EC2やVPC、ELBなどを構築します。 ユーザーは構成情報が書かれたテンプレートを準備しておきます。 テンプレートはJSON形式のテキストファイルです。 内容としては、EC2のインスタンスタイプやVPCのCIDRなどなど構成情報を記載します。 テンプレートが出来たら、Create Stackという操作を行う事で、環境構築が行われます。
  6. CloudFormationのメリットを確認します。 まず、環境の複製があります。一度テンプレート化してしまえば、同等のAWS環境がすぐに手に入ります。 Create Stackの操作ですぐに環境が出来上がりますので、デモや一時的な検証環境に適しています。 環境が不要になったら、Delete Stackという操作を行う事で、AWSリソースをまとめて削除する事が出来ます。 スライドに記載していませんが、 AWSのEC2やVPCなどのインフラストラクチャーをコードで管理できるため、ソフトウェアのようにバージョン管理が出来るメリットなどがあります。
  7. CloudFormationの活用例をご紹介します。 まず、標準テンプレートの作成です。 マネージメントコンソールからの構築では、エンジニアによって、命名やセキュリティ方針が異なってしまいます。 命名やセキュリティグループのルールについても、テンプレート化できるので、組織で統一した環境をつくることが可能です 自分たちでテンプレートをつくり、利用するパターンになります。 次に、ISVベンダーが提供するテンプレートです。 AWS上で製品を展開するISVベンダーは、よくCloudFormationテンプレートを公開しています。 ユーザーからすると、Create Stackをするだけで製品を試せるメリットがあります。 エンジニアは、自分でテンプレートを作成することもあり、 また、ほかの人が書いたテンプレートを読んだり、編集することもあるという事になります。
  8. 利用料金について、CloudFormation自体の料金は無料です。 テンプレートから構築したリソースについて、課金が発生します。 EC2とELBを作成したのであれば、EC2とELBについての課金となります。
  9. サンプルテンプレートの閲覧と編集を通して、CloudFormationデザイナーが捗る事をご紹介します。
  10. AWSでは、サービスごとにCloudFormationテンプレートを公開しています。 その中から、一番簡単そうなEC2のテンプレートをピックアップしました。 セキュリティグループ内にEC2インスタンスを作成するテンプレートです。 表示を選択して、テンプレートの内容を確認してみます。
  11. ブラウザ上にテンプレートが表示されますので、適当なテキストエディタにコピー&ペーストしてみます。 すると、テンプレートが206行あることがわかります。
  12. そう206行あります。
  13. 石段で表現するとこんな感じです。
  14. 206行が多いか少ないか、受け取り方には個人差があると思います。 私は、簡単そうなテンプレートを選んだのに206行もあるのかーと感じてしまいます。 ただ、実際にテンプレートを書いていると、数百行~数千行になってしまいがちです。 サンプルが悪いわけではありません。 といつつ、他の人が書いた数百行のテンプレートを読むのは、つらさを感じてしまいます。
  15. そんなモヤモヤを解消するのが、CloudFormationデザイナーです。 昨年の10月にリリースされたAWS公式のGUIエディターです。
  16. これから、CloudFormationデザイナーで サンプルテンプレートを参照、編集し、 バリデーションをかけたうえで、 保存、Create Stackする一連の流れをご紹介します。
  17. サンプルテンプレートの画面に戻ります。 デザイナーで表示というリンクがありますので、選択してみましょう。
  18. CloudFormationデザイナーが起動します。 画面の上がキャンバスで、下がテキストエディタになっています。
  19. ドーーーーーンと、 キャンバスの表示拡大してみます。 すると、EC2が1台、セキュリティグループが1つのテンプレートであることがわかります。
  20. この機能、すばらしいですよね 206行のテンプレートを読まずとも、概要を把握することができました。
  21. 何行でも同じです
  22. テキストエディタに注目します。 エディタは項目ごとにタブで分かれています。 タブを切り替えていくと、206行のうち、ほとんどがMappingsという項目であることがわかります。 サンプルテンプレートは、旧世代のインスタンスタイプとマルチリージョンに対応する形で作られていて、行数が増えていました。 テンプレートのボリュームが大きくなったときに、タブ表示の利便性を感じることが出来ると思います。
  23. サンプルテンプレートのEC2インスタンスのプロパティを確認します。 まず、キャンバスでEC2を選択します。 すると、テキストエディタに設定内容が表示されます。 テンプレートのボリュームが増えると、何がどこに書いてあるかわからなくなりがちですが、 デザイナーであれば、エディタとキャンバスが連動しますので、見たい設定をすぐに確認できます。
  24. リソースのプロパティの編集にうつります。 EC2の削除保護の有効化をする例について、考えます。 まず、CloudFormationのリファレンスを開き、EC2::Instanceの章を開きます。 すると、プロパティ名と書式が記載されていますので、 テンプレートを編集します。 CloudFormationテンプレートを作成、編集するにあたり、リファレンスは必要になってきます。
  25. 大事なので、協調します。 CloudFormationテンプレートの読み書きには、リファレンスが必要です!!
  26. デザイナーでは、リファレンスへのリンクを提供しています。 対象のリソースを右クリックし、はてなマークを選択すると、そのリソースのリファレンスが開かれます。 必要なリファレンスをすぐに確認できるという事です。
  27. 大事なので、協調します。 CloudFormationテンプレートの読み書きには、リファレンスが必要です!!
  28. 便利機能として、ショートカットも提供されます。 利用可能なプロパティの表示、検索、フォーマット、空白の削除が使えます。 特に、プロパティの表示は使う事が多いです。 削除保護の有効化では、DisableApiTerminationプロパティを使います。 これを入力するには、スペルミスが怖いしですから、ショートカットを積極的に使っていきます。 ショートカットは、WinodowsとMacで異なるので気をつけてください。 スライドの表はWindowsのキーバインドです。
  29. 編集が完了したら、デザイナーのツールバーに注目します。 構文チェックのアイコンがありますので、こまめにチェックします。
  30. 誤りがあった場合は、 テキストエディタで修正する。もしくは、Undo,Redoを使って、修正します。
  31. 修正がおわったら、PCのローカルまたは、S3バケットにテンプレートを保存します。 基本的にはローカルにダウンロードして、バージョン管理システムで管理する形が良いかと思います。
  32. スタックをつくる場合は、Create Stackを選択し、作成画面にうつります。
  33. Create Stackの画面に遷移します。 Create Stackの画面では、パラメータやオプションを入力します。
  34. CloudFormationがAWS環境を自動構築してくれます。 私たちのタスクは完了しました。
  35. やってやったぜ!って事です。
  36. デザイナーのはかどりポイントを整理します。 テンプレートの可視化ということで、Canvusでグラフィカルにテンプレートの状況を確認することができます。 テンプレートの中身を確認する場合、まずはCunvusで表示してみるような使い方が出来ます。 便利機能として、大きく3つありました。 1つめがリファレンスへのリンクです。必要なリファレンスをすぐに参照できます。 2つ目がショートカットです。 主に、リソースで利用可能なプロパティを表示する機能を使って、スペルミスを防止します。 最後にバリデートです。テンプレートの書式チェックを行うことができます。 他人が書いたテンプレートでも、デザイナーにかかれば、参照も編集も簡単に出来て、捗ります。
  37. 1からテンプレートを作る際に、デザイナーで捗ることをご紹介します。
  38. デザイナーを使って、1からテンプレートをつくるケースを考えてみます。 テンプレートには、VPC、サブネット、セキュリティグループ、EC2を記載します。 テンプレートづくりには、3つのタスクが必要になります。 1つ目が、Canvusで絵を描くことです。Cunvusにサービスアイコンを配置していきます。 2つ目が、論理名の変更です。デザイナーが自動でつける名前をわかりやすいものに変更します。 3つ目が、プロパティの入力です。VPCのプロパティであれば、CIDRなどがありますし、EC2のプロパティであれば、インスタンスタイプなどがあります。 1つずつ解説していきます。
  39. まずは、Canvasで絵を描くタスクです。 キャンバスの左メニューには、AWSサービスのアイコンが並んでいます。 左メニューからVPCアイコンをドラッグし、キャンバスにドロップします。
  40. 以上の操作で、テンプレートにVPCが追加されました。 プロパティについては、空の状態です。 また、リソースには、自動で名前が付けられます。 この例ですと、”EC2VPC59UPC”です。 自動でつけられた名前では、テンプレートが読みづらくなってしまうため、変更します。
  41. エディタの鉛筆マークを選択することで、論理名を変更することができます。 基本的に、ドラッグ&ドロップと論理名の変更はセットと考えます。 論理名は、テンプレート内で一意である必要があります。 わかりやすいかつ、かぶらない名前に変更します。
  42. サブネットを追加します。VPCと同様にアイコンをドラッグし、ドロップします。 このとき、VPCの上にドロップします。
  43. VPCの上にドロップする事で、サブネットのプロパティにVPCへのリンクが記載されます。 プロパティのVpcIDで、Ref関数を使ってリンクされています。 このように、Canvasの操作でリソースの関連付けを行うことができます。
  44. EC2とセキュリティグループを、配置します。 EC2はサブネットの上に配置し、セキュリティグループは、VPCの上に配置します。 EC2とセキュリティグループの関連付けは、線で表現します。 EC2の丸を選択すると線が表示されるので、セキュリティグループに伸ばします。
  45. Canvusの操作で、リソースを関連付けることができました。 当然、Canvasを見れば、リソースの関連付けを確認することが出来ます。
  46. 最後の作業がプロパティの入力です。 リファレンスを参照しつつ、ショートカットを駆使して記載します。 VPCであれば、CIDR、EC2であれば、AMI IDやインスタンスタイプなどを記載します。 必要であれば、ParamterやMapping、Outputについても、記載します。 例えば、Parameterを使えば、Create Stack時にパラメータを渡すことが出来ます。
  47. テンプレートが出来たら、
  48. CloudFormationがAWS環境を自動構築してくれます。 私たちのタスクは完了しました。
  49. やってやったぜって事です。
  50. 1からテンプレートを作成する流れ、 Canvasで絵をかき、論理名を変更し、プロパティを入力する事をご説明しました。 Canvasで絵を描くことで、 2点の操作、リソースの作成と関連付けを行いました。 これらの操作を直感的に行えるのは、デザイナーの捗りポイントです。
  51. CloudFormationが捗ることをご紹介してきましたが、デメリットもあります。
  52. 大きいデメリットは、メタデータが入ることだと考えています。 キャンバスでの表示に必要な、サイズや、位置情報がテンプレートに入ってきます。 結果、テンプレートのサイズが大きくなってしまいます。 デザイナーを使っていれば、気になることはほとんどないですが、 デザイナーで作成したテンプレートを、ほかのエディターで開くと邪魔に感じてしまいます。 デメリットか、メリットか判断が難しいものとして、自動整形があります。 改行やインデントが自動ではいります。 誰が書いても同じようなテンプレートが出来上がるメリットがありますがが、気が利かないなと思うことはあります。
  53. デザイナー以外の選択肢もあります。 Template Editor for Eclipse は、AWS公式のツールです。公式ツールだけあぅて、機能が豊富です。 普段、Eclipseをお使いのかたは、第1選択肢に入ってくると思います。 また、CloudFormationテンプレートはテキストですので、 普段使いのエディタを使う手もあります。 JSON用のプラグインを入れたり、サードパーティーツールを使う形になるかと思います。
  54. やってやったぜって事です。
  55. さいごにまとめにはいります。
  56. まとめです。 CloudFormationは、環境の複製ができたり、標準構成をつくるなど、便利な機能です。 ただ、行数が増えることで閲覧や編集が難しくなりがちです。 CloudFormationデザイナーは、グラフィカルな画面に加えて ショートカットやバリデーションなどの便利機能があり、捗ります。 デザイナーをお勧めしましたが、CloudFormationテンプレートはあくまでテキストです。 お好きなテキストエディタを使って、捗って頂ければと思います。 デザイナーをはじめたいというかたは、AWSが出しているウォークスルーを試してみてください。 CloudFormationの基本とデザイナーの使い方を習得することができます。 以上で発表を終わらせて頂きます。