SlideShare a Scribd company logo
1 of 50
マネージメントサービス株式会社
Copyright Management Service Corp. All Rights Reserved.Copyright Management Service Corp. All Rights Reserved.
AWS CloudFormation
マネージメントサービス株式会社
デジタルビジネスイノベーションセンター
山本 友樹
2019
11-29
AWS若手勉強会#13
Copyright Management Service Corp. All Rights Reserved.
1.AWS CloudFormationとは
2.使い方
3.特徴
4.料金
5.テンプレートの書き方
6.まとめ
2
アジェンダ
Copyright Management Service Corp. All Rights Reserved.
1.AWS CloudFormationとは
2.使い方
3.特徴
4.料金
5.テンプレートの書き方
6.まとめ
3
アジェンダ
Copyright Management Service Corp. All Rights Reserved.
AWS CloudFormationとは
AWS CloudFormation は、クラウド環境内のすべてのインフ
ラストラクチャリソースを記述してプロビジョニングするため
の共通言語を提供します。CloudFormation では、プログラ
ミング言語またはシンプルなテキストファイルを使用して、あ
らゆるリージョンとアカウントでアプリケーションに必要とさ
れるすべてのリソースを、自動化された安全な方法でモデル化
し、プロビジョニングできます。
(AWS公式ページより)
4
Copyright Management Service Corp. All Rights Reserved.
簡単に言うと
コードからAWSサービスのリソースを
作成するサービス
5
Copyright Management Service Corp. All Rights Reserved.
例
6
テンプレート AWS CloudFormation
VPC
AWS Cloud
Availability Zone 1 Availability Zone 2
Amazon EC2 Amazon EC2
どのようなリソース
を作成するか記述
Copyright Management Service Corp. All Rights Reserved.
1.AWS CloudFormationとは
2.使い方
3.特徴
4.料金
5.テンプレートの書き方
6.まとめ
7
アジェンダ
Copyright Management Service Corp. All Rights Reserved.
使い方
テンプレートの作成
↓
CloudFormationにテンプレートをアップロード
8
Copyright Management Service Corp. All Rights Reserved.
テンプレートを作成
9
S3バケットとバケットポリシー
を作成する例
Copyright Management Service Corp. All Rights Reserved.
ざっくりのルール
10
赤枠が作成するAWSリソースに名前を
自由につける
※CloudFormationでのみ使う
その他(赤枠以外)の定義は、どんな
AWSリソースにするかとういう定義
Copyright Management Service Corp. All Rights Reserved.
CloudFormationへのアップロード方法
11
Copyright Management Service Corp. All Rights Reserved.
12
②新しいリソースを使用(標準)
をクリック
①スタックの作成をクリック
Copyright Management Service Corp. All Rights Reserved.
13
①テンプレートファイルのアップロードを選
択し、作成したテンプレートをアップロード
Copyright Management Service Corp. All Rights Reserved.
14
①次へをクリック
Copyright Management Service Corp. All Rights Reserved.
15
①スタック名を入力
②次へをクリック
Copyright Management Service Corp. All Rights Reserved.
16
①次へをクリック
Copyright Management Service Corp. All Rights Reserved.
・・・
17
①スタックの作成をクリック
Copyright Management Service Corp. All Rights Reserved.
18
①作成中になり少し待つ
Copyright Management Service Corp. All Rights Reserved.
19
①作成完了
Copyright Management Service Corp. All Rights Reserved.
S3バケット・バケットポリシーの確認
20
Copyright Management Service Corp. All Rights Reserved.
更新
• テンプレートを更新して、アップロードすることで更新します。
手順は、前述の通り。
※注意
CloudFormationで作成したAWSリソースは、必ずCloudFormation
の機能で更新しないといけない。
マネジメントコンソール等で設定を変更するとCloudFormationから更新/
削除ができなくなります。
もし、手動で変更してしまった場合は手動で戻してからCloudFormation
で更新/削除ができるようになる。
21
Copyright Management Service Corp. All Rights Reserved.
削除
22
削除をクリックするだけ
Copyright Management Service Corp. All Rights Reserved.
テンプレートの作成以外は簡単!
23
Copyright Management Service Corp. All Rights Reserved.
1.AWS CloudFormationとは
2.使い方
3.特徴
4.料金
5.テンプレートの書き方
6.まとめ
24
アジェンダ
Copyright Management Service Corp. All Rights Reserved.
特徴
• 一気に複数のAWSサービスのリソースが作成できる
• テンプレートを使いまわすことができる
• インフラをコードで管理できる
25
Copyright Management Service Corp. All Rights Reserved.
一気に複数のAWSサービスのリソースが作成
できる
テンプレートに記載したリソースが一気に作成される。
一気に作成したリソースのかたまりをスタックと呼んで管理する。
リソースのかたまりが不要になったときは、個別に削除する必要なし。
スタックを削除することで、全て削除される。
26
Copyright Management Service Corp. All Rights Reserved.
テンプレートを使いまわすことができる
一度、テンプレートを作成すれば何度でも使える。
他のAWSアカウントで使用も可能。
テンプレートさえあれば、AWSリソースを作成する手順書は不要。
27
Copyright Management Service Corp. All Rights Reserved.
つまり、こんなことがあるかも!?
• テンプレートさえ一度作ってしまえば・・・
28
先輩
こういうAWSのリソース作っといて
(まぁ、半日ぐらいかかるかな)
自分
それなら1回作ったことあるんで、
ちょっとテンプレート修正して30分
ぐらいで作れますよ
先輩
(こいつ・・・できる・・・)
Copyright Management Service Corp. All Rights Reserved.
インフラをコードで管理できる
インフラ環境をコードを元に作成できるので、コードで管理できる。
テンプレートをバージョン管理すれば、インフラ環境をバージョン管理す
ることができる。
インフラをコードで管理するということで、
Infrastructure as Code(IaC)
と呼ばれる。
29
Copyright Management Service Corp. All Rights Reserved.
1.AWS CloudFormationとは
2.使い方
3.特徴
4.料金
5.テンプレートの書き方
6.まとめ
30
アジェンダ
Copyright Management Service Corp. All Rights Reserved.
料金
無料
31
※作成したAWSリソースに掛かる料金は必要
Copyright Management Service Corp. All Rights Reserved.
1.AWS CloudFormationとは
2.使い方
3.特徴
4.料金
5.テンプレートの書き方
6.まとめ
32
アジェンダ
Copyright Management Service Corp. All Rights Reserved.
ファイルの種類
• JSONファイル or YAMLファイルで作成する。
JSON? YAML?
33
Copyright Management Service Corp. All Rights Reserved.
JSONとは
• JavaScript Object Notaion の略
• 文字コードは UTF-8
• 下記のように中かっこで囲い、キー:値で記述する
34
{
"name": "Tanaka",
"age": 26
}
Copyright Management Service Corp. All Rights Reserved.
YAMLとは
• YAML Ain‘t Markup Languageの略
• 構造化データの表現する記法
• 下記のようにインデントを利用して構造を表現する
35
company:
name: マネージメントサービス
num: 622
Copyright Management Service Corp. All Rights Reserved.
個人的感想
• JSONとYAMLだったらYAMLがオススメ
コメントが書けるから!!!
ネットでコメント付きでわかりやすいテンプレート見つけると非常に助
かります。
36
# 会社
company:
# 社名
name: マネージメントサービス
# 従業員数
num: 622
Copyright Management Service Corp. All Rights Reserved.
文法
• 使いたいAWSサービス毎にAWSが定めたルールに沿って記載します。
下記ページのルールを見ながら記載していきます。
https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/U
serGuide/Welcome.html
※このルールを覚えて何も見ずにガリガリ書くのは無理だと思います。
調べて冷静に書くのが普通だと思います。
ただし、1回理解してから書くと次はコピペでスラスラ掛けます。
• AWSサービスに依存しない基本的なルールはあります。
次のスライド参照(AWS Black Beltの資料)
37
Copyright Management Service Corp. All Rights Reserved.
AWS-BlackBelt資料より
38
可変にしたい値
何を作るか
Copyright Management Service Corp. All Rights Reserved.
最初に作成したテンプレート
39
何を作るかのみを記載
Copyright Management Service Corp. All Rights Reserved.
Parametersを使用して1つのテンプレートでS3バケット名をスタック作
成の度に変えれるようにしてみる。
40
Copyright Management Service Corp. All Rights Reserved.
パラメータを追加したテンプレート
41
バケット名をパラメータ
で指定
パラメータを使用するときは、
「!Ref パラメータ名」で指定
文字列結合したいときは、「!Sub」
と指定してから「${パラメータ名}」
と指定
Copyright Management Service Corp. All Rights Reserved.
作成したテンプレートをアップロード
42
テンプレートで指定した
BucketNameが表示される
Copyright Management Service Corp. All Rights Reserved.
バケット名を指定してスタック作成
43
Copyright Management Service Corp. All Rights Reserved.
44
パラメータで指定した値で
作成されている
Copyright Management Service Corp. All Rights Reserved.
テンプレートの小技
• 疑似パラメータ
– AWS::Region → リージョン名(例. ap-northeast-1)
– AWS::AccountId → AWSアカウントID (例.123456789012)
• !Ref
論理IDから物理IDを参照する
45
論理ID
S3の物理IDはバケット名
Copyright Management Service Corp. All Rights Reserved.
論理ID・物理IDの確認
• マネジメントコンソールのリソースタブから確認することができる。
46
Copyright Management Service Corp. All Rights Reserved.
1.AWS CloudFormationとは
2.使い方
3.特徴
4.料金
5.テンプレートの書き方
6.まとめ
47
アジェンダ
Copyright Management Service Corp. All Rights Reserved.
まとめ
• インフラもコードを書くことが必要な時代になっていってます。
調べながら書いていくので誰でも書けます。
• 1度テンプレートを作れば他でも使えるので、テンプレート作って手順
書作らずに、楽をできるようにしていきましょう。
48
Copyright Management Service Corp. All Rights Reserved.
参考資料
• 公式ページ
https://aws.amazon.com/jp/cloudformation/
• AWS-BlackBelt
https://d1.awsstatic.com/webinars/jp/pdf/services/20181128-
AWS-BlackBelt-CloudFormation.pdf
• JSON入門
http://www.tohoho-web.com/ex/json.html
• エンジニア成長日記(YAMLを覚えよう)
http://abcmark2010.hatenablog.com/entry/2015/12/20/235604
49
Copyright Management Service Corp. All Rights Reserved.
ありがとうございました
50

More Related Content

What's hot

スタートアップでのAWS(Amazon Web Services)活用事例
スタートアップでのAWS(Amazon Web Services)活用事例スタートアップでのAWS(Amazon Web Services)活用事例
スタートアップでのAWS(Amazon Web Services)活用事例schoowebcampus
 
Cloud formation デザイナーで捗ろう
Cloud formation デザイナーで捗ろうCloud formation デザイナーで捗ろう
Cloud formation デザイナーで捗ろうkoki abe
 
業務アプリをクラウド化する5つのステップ ~Amazon Web Services活用の勘所~
業務アプリをクラウド化する5つのステップ ~Amazon Web Services活用の勘所~業務アプリをクラウド化する5つのステップ ~Amazon Web Services活用の勘所~
業務アプリをクラウド化する5つのステップ ~Amazon Web Services活用の勘所~SORACOM, INC
 
20170210 jawsug横浜(AWSタグ)
20170210 jawsug横浜(AWSタグ)20170210 jawsug横浜(AWSタグ)
20170210 jawsug横浜(AWSタグ)Toshihiro Setojima
 
ACMで作成するSSL証明書の活用
ACMで作成するSSL証明書の活用ACMで作成するSSL証明書の活用
ACMで作成するSSL証明書の活用Ikuna Wada
 
AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016
AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016
AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016Sanehiko Yogi
 
2013/06 九州産業大学 -とある業界の禁書目録-
2013/06 九州産業大学 -とある業界の禁書目録-2013/06 九州産業大学 -とある業界の禁書目録-
2013/06 九州産業大学 -とある業界の禁書目録-Serverworks Co.,Ltd.
 
スタートアップならおさえておきたいAWS(Amazon Web Services)入門 1限目:サービス概要と基礎知識編 先生:
スタートアップならおさえておきたいAWS(Amazon Web Services)入門 1限目:サービス概要と基礎知識編 先生:スタートアップならおさえておきたいAWS(Amazon Web Services)入門 1限目:サービス概要と基礎知識編 先生:
スタートアップならおさえておきたいAWS(Amazon Web Services)入門 1限目:サービス概要と基礎知識編 先生:schoowebcampus
 
JAWS-DAYS 2015 / 北海道 x 農業 x クラウド
JAWS-DAYS 2015 / 北海道 x 農業 x クラウドJAWS-DAYS 2015 / 北海道 x 農業 x クラウド
JAWS-DAYS 2015 / 北海道 x 農業 x クラウドTakehito Tanabe
 
2013/08 JAWS_UG北九州 AWSを使った儲け方
2013/08 JAWS_UG北九州 AWSを使った儲け方2013/08 JAWS_UG北九州 AWSを使った儲け方
2013/08 JAWS_UG北九州 AWSを使った儲け方Serverworks Co.,Ltd.
 
AWS Black Belt Online Seminar 2017 初心者向け クラウドコンピューティング はじめの一歩
AWS Black Belt Online Seminar 2017  初心者向け クラウドコンピューティング はじめの一歩AWS Black Belt Online Seminar 2017  初心者向け クラウドコンピューティング はじめの一歩
AWS Black Belt Online Seminar 2017 初心者向け クラウドコンピューティング はじめの一歩Amazon Web Services Japan
 
AWS Black Belt Online Seminar 2017 EC2 Windows
AWS Black Belt Online Seminar 2017 EC2 WindowsAWS Black Belt Online Seminar 2017 EC2 Windows
AWS Black Belt Online Seminar 2017 EC2 WindowsAmazon Web Services Japan
 
Awsの質問に何でも答えます
Awsの質問に何でも答えますAwsの質問に何でも答えます
Awsの質問に何でも答えますYasuhiro Araki, Ph.D
 
JAWS-UG 名古屋 第5回 発表資料 「AWSアップデート」
JAWS-UG 名古屋 第5回 発表資料 「AWSアップデート」JAWS-UG 名古屋 第5回 発表資料 「AWSアップデート」
JAWS-UG 名古屋 第5回 発表資料 「AWSアップデート」Yasuhiro Horiuchi
 
Amazonでのレコメンド生成における深層学習とAWS利用について
Amazonでのレコメンド生成における深層学習とAWS利用についてAmazonでのレコメンド生成における深層学習とAWS利用について
Amazonでのレコメンド生成における深層学習とAWS利用についてAmazon Web Services Japan
 
AWSが誕生するまでの秘話
AWSが誕生するまでの秘話AWSが誕生するまでの秘話
AWSが誕生するまでの秘話Yasuhiro Horiuchi
 
20150326 よくわかる AWS OpsWorks
20150326 よくわかる AWS OpsWorks20150326 よくわかる AWS OpsWorks
20150326 よくわかる AWS OpsWorksTetsuya Chiba
 
[AWSマイスターシリーズ]Amazon Simple Workflow Service (SWF)
[AWSマイスターシリーズ]Amazon Simple Workflow Service (SWF)[AWSマイスターシリーズ]Amazon Simple Workflow Service (SWF)
[AWSマイスターシリーズ]Amazon Simple Workflow Service (SWF)Amazon Web Services Japan
 

What's hot (20)

Jaws days2017-ops jaws-2
Jaws days2017-ops jaws-2Jaws days2017-ops jaws-2
Jaws days2017-ops jaws-2
 
スタートアップでのAWS(Amazon Web Services)活用事例
スタートアップでのAWS(Amazon Web Services)活用事例スタートアップでのAWS(Amazon Web Services)活用事例
スタートアップでのAWS(Amazon Web Services)活用事例
 
クラウド入門(AWS編)
クラウド入門(AWS編)クラウド入門(AWS編)
クラウド入門(AWS編)
 
Cloud formation デザイナーで捗ろう
Cloud formation デザイナーで捗ろうCloud formation デザイナーで捗ろう
Cloud formation デザイナーで捗ろう
 
業務アプリをクラウド化する5つのステップ ~Amazon Web Services活用の勘所~
業務アプリをクラウド化する5つのステップ ~Amazon Web Services活用の勘所~業務アプリをクラウド化する5つのステップ ~Amazon Web Services活用の勘所~
業務アプリをクラウド化する5つのステップ ~Amazon Web Services活用の勘所~
 
20170210 jawsug横浜(AWSタグ)
20170210 jawsug横浜(AWSタグ)20170210 jawsug横浜(AWSタグ)
20170210 jawsug横浜(AWSタグ)
 
ACMで作成するSSL証明書の活用
ACMで作成するSSL証明書の活用ACMで作成するSSL証明書の活用
ACMで作成するSSL証明書の活用
 
AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016
AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016
AWS WAF でセキュリティ対策_JAWS-UG沖縄勉強会_Cloud on the BEACH 2016
 
2013/06 九州産業大学 -とある業界の禁書目録-
2013/06 九州産業大学 -とある業界の禁書目録-2013/06 九州産業大学 -とある業界の禁書目録-
2013/06 九州産業大学 -とある業界の禁書目録-
 
スタートアップならおさえておきたいAWS(Amazon Web Services)入門 1限目:サービス概要と基礎知識編 先生:
スタートアップならおさえておきたいAWS(Amazon Web Services)入門 1限目:サービス概要と基礎知識編 先生:スタートアップならおさえておきたいAWS(Amazon Web Services)入門 1限目:サービス概要と基礎知識編 先生:
スタートアップならおさえておきたいAWS(Amazon Web Services)入門 1限目:サービス概要と基礎知識編 先生:
 
JAWS-DAYS 2015 / 北海道 x 農業 x クラウド
JAWS-DAYS 2015 / 北海道 x 農業 x クラウドJAWS-DAYS 2015 / 北海道 x 農業 x クラウド
JAWS-DAYS 2015 / 北海道 x 農業 x クラウド
 
2013/08 JAWS_UG北九州 AWSを使った儲け方
2013/08 JAWS_UG北九州 AWSを使った儲け方2013/08 JAWS_UG北九州 AWSを使った儲け方
2013/08 JAWS_UG北九州 AWSを使った儲け方
 
AWS Black Belt Online Seminar 2017 初心者向け クラウドコンピューティング はじめの一歩
AWS Black Belt Online Seminar 2017  初心者向け クラウドコンピューティング はじめの一歩AWS Black Belt Online Seminar 2017  初心者向け クラウドコンピューティング はじめの一歩
AWS Black Belt Online Seminar 2017 初心者向け クラウドコンピューティング はじめの一歩
 
AWS Black Belt Online Seminar 2017 EC2 Windows
AWS Black Belt Online Seminar 2017 EC2 WindowsAWS Black Belt Online Seminar 2017 EC2 Windows
AWS Black Belt Online Seminar 2017 EC2 Windows
 
Awsの質問に何でも答えます
Awsの質問に何でも答えますAwsの質問に何でも答えます
Awsの質問に何でも答えます
 
JAWS-UG 名古屋 第5回 発表資料 「AWSアップデート」
JAWS-UG 名古屋 第5回 発表資料 「AWSアップデート」JAWS-UG 名古屋 第5回 発表資料 「AWSアップデート」
JAWS-UG 名古屋 第5回 発表資料 「AWSアップデート」
 
Amazonでのレコメンド生成における深層学習とAWS利用について
Amazonでのレコメンド生成における深層学習とAWS利用についてAmazonでのレコメンド生成における深層学習とAWS利用について
Amazonでのレコメンド生成における深層学習とAWS利用について
 
AWSが誕生するまでの秘話
AWSが誕生するまでの秘話AWSが誕生するまでの秘話
AWSが誕生するまでの秘話
 
20150326 よくわかる AWS OpsWorks
20150326 よくわかる AWS OpsWorks20150326 よくわかる AWS OpsWorks
20150326 よくわかる AWS OpsWorks
 
[AWSマイスターシリーズ]Amazon Simple Workflow Service (SWF)
[AWSマイスターシリーズ]Amazon Simple Workflow Service (SWF)[AWSマイスターシリーズ]Amazon Simple Workflow Service (SWF)
[AWSマイスターシリーズ]Amazon Simple Workflow Service (SWF)
 

Similar to 20191129 AWS CloudFormarion

PHP on Windows Azure in Open Source Conference
PHP on Windows Azure in Open Source ConferencePHP on Windows Azure in Open Source Conference
PHP on Windows Azure in Open Source ConferenceMicrosoft
 
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
 
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャAkira Inoue
 
Programming AWS with Perl at YAPC::Asia 2013
Programming AWS with Perl at YAPC::Asia 2013Programming AWS with Perl at YAPC::Asia 2013
Programming AWS with Perl at YAPC::Asia 2013Yasuhiro Horiuchi
 
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NETAkira Inoue
 
Let's join in OpsWorks world!
Let's join in OpsWorks world!Let's join in OpsWorks world!
Let's join in OpsWorks world!Shigeo Nakano
 
PHP on Windows Azure
PHP on Windows AzurePHP on Windows Azure
PHP on Windows AzureMicrosoft
 
同じサービスを ECSとOpsWorksで 運用してみた
同じサービスをECSとOpsWorksで運用してみた同じサービスをECSとOpsWorksで運用してみた
同じサービスを ECSとOpsWorksで 運用してみたJun Ichikawa
 
MicrosoftのOSSへの取り組み
MicrosoftのOSSへの取り組みMicrosoftのOSSへの取り組み
MicrosoftのOSSへの取り組みShinichiro Arai
 
Amazon Web Services 最新事例集
Amazon Web Services 最新事例集Amazon Web Services 最新事例集
Amazon Web Services 最新事例集SORACOM, INC
 
AWS Summit Tokyo 2015_NTTデータセッション(前半:クラウドを活用したオムニチャネル基盤構築)
AWS Summit Tokyo 2015_NTTデータセッション(前半:クラウドを活用したオムニチャネル基盤構築)AWS Summit Tokyo 2015_NTTデータセッション(前半:クラウドを活用したオムニチャネル基盤構築)
AWS Summit Tokyo 2015_NTTデータセッション(前半:クラウドを活用したオムニチャネル基盤構築)Hinemos
 
20111026 switch on福岡(クラウドコンピューティング)
20111026 switch on福岡(クラウドコンピューティング)20111026 switch on福岡(クラウドコンピューティング)
20111026 switch on福岡(クラウドコンピューティング)dekakin
 
AWSクラウドデザインパターン - JEITA講演 -
AWSクラウドデザインパターン - JEITA講演 - AWSクラウドデザインパターン - JEITA講演 -
AWSクラウドデザインパターン - JEITA講演 - SORACOM, INC
 

Similar to 20191129 AWS CloudFormarion (20)

PHP on Windows Azure in Open Source Conference
PHP on Windows Azure in Open Source ConferencePHP on Windows Azure in Open Source Conference
PHP on Windows Azure in Open Source Conference
 
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
 
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ
 
Elastic beanstalk
Elastic beanstalkElastic beanstalk
Elastic beanstalk
 
Programming AWS with Perl at YAPC::Asia 2013
Programming AWS with Perl at YAPC::Asia 2013Programming AWS with Perl at YAPC::Asia 2013
Programming AWS with Perl at YAPC::Asia 2013
 
20130326 aws meister-reloaded-windows
20130326 aws meister-reloaded-windows20130326 aws meister-reloaded-windows
20130326 aws meister-reloaded-windows
 
JAWS DAYS 2015
JAWS DAYS 2015JAWS DAYS 2015
JAWS DAYS 2015
 
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
本格化するクラウド ネイティブに向けて進化する開発プラットフォームと .NET
 
Let's join in OpsWorks world!
Let's join in OpsWorks world!Let's join in OpsWorks world!
Let's join in OpsWorks world!
 
PHP on Windows Azure
PHP on Windows AzurePHP on Windows Azure
PHP on Windows Azure
 
PHP on Windows Azure
PHP on Windows AzurePHP on Windows Azure
PHP on Windows Azure
 
同じサービスを ECSとOpsWorksで 運用してみた
同じサービスをECSとOpsWorksで運用してみた同じサービスをECSとOpsWorksで運用してみた
同じサービスを ECSとOpsWorksで 運用してみた
 
Cloudformation
CloudformationCloudformation
Cloudformation
 
Gaming cicd-pipeline gaming-technight-2
Gaming cicd-pipeline gaming-technight-2Gaming cicd-pipeline gaming-technight-2
Gaming cicd-pipeline gaming-technight-2
 
MicrosoftのOSSへの取り組み
MicrosoftのOSSへの取り組みMicrosoftのOSSへの取り組み
MicrosoftのOSSへの取り組み
 
Azure Fundamental
Azure FundamentalAzure Fundamental
Azure Fundamental
 
Amazon Web Services 最新事例集
Amazon Web Services 最新事例集Amazon Web Services 最新事例集
Amazon Web Services 最新事例集
 
AWS Summit Tokyo 2015_NTTデータセッション(前半:クラウドを活用したオムニチャネル基盤構築)
AWS Summit Tokyo 2015_NTTデータセッション(前半:クラウドを活用したオムニチャネル基盤構築)AWS Summit Tokyo 2015_NTTデータセッション(前半:クラウドを活用したオムニチャネル基盤構築)
AWS Summit Tokyo 2015_NTTデータセッション(前半:クラウドを活用したオムニチャネル基盤構築)
 
20111026 switch on福岡(クラウドコンピューティング)
20111026 switch on福岡(クラウドコンピューティング)20111026 switch on福岡(クラウドコンピューティング)
20111026 switch on福岡(クラウドコンピューティング)
 
AWSクラウドデザインパターン - JEITA講演 -
AWSクラウドデザインパターン - JEITA講演 - AWSクラウドデザインパターン - JEITA講演 -
AWSクラウドデザインパターン - JEITA講演 -
 

More from yamamotomsc

20191224 aws cloud9
20191224 aws cloud920191224 aws cloud9
20191224 aws cloud9yamamotomsc
 
20191206_Alexaスキルを作ってみよう
20191206_Alexaスキルを作ってみよう20191206_Alexaスキルを作ってみよう
20191206_Alexaスキルを作ってみようyamamotomsc
 
20191115_Cloud Front
20191115_Cloud Front20191115_Cloud Front
20191115_Cloud Frontyamamotomsc
 
20191031_Amazon Api Gateway
20191031_Amazon Api Gateway20191031_Amazon Api Gateway
20191031_Amazon Api Gatewayyamamotomsc
 
20191018 AWS Lambda
20191018 AWS Lambda20191018 AWS Lambda
20191018 AWS Lambdayamamotomsc
 
20191011_Route 53
20191011_Route 5320191011_Route 53
20191011_Route 53yamamotomsc
 
20190927_AWS VPC
20190927_AWS VPC20190927_AWS VPC
20190927_AWS VPCyamamotomsc
 
20190920 AWS IAM
20190920 AWS IAM20190920 AWS IAM
20190920 AWS IAMyamamotomsc
 
20190906_私が使ったAWSサービス
20190906_私が使ったAWSサービス20190906_私が使ったAWSサービス
20190906_私が使ったAWSサービスyamamotomsc
 
20190823_AMAZON EC2
20190823_AMAZON EC220190823_AMAZON EC2
20190823_AMAZON EC2yamamotomsc
 
20190809_AWS第1歩目
20190809_AWS第1歩目20190809_AWS第1歩目
20190809_AWS第1歩目yamamotomsc
 

More from yamamotomsc (13)

20200304 vuejs
20200304 vuejs20200304 vuejs
20200304 vuejs
 
20191224 aws cloud9
20191224 aws cloud920191224 aws cloud9
20191224 aws cloud9
 
20191206_Alexaスキルを作ってみよう
20191206_Alexaスキルを作ってみよう20191206_Alexaスキルを作ってみよう
20191206_Alexaスキルを作ってみよう
 
20191115_Cloud Front
20191115_Cloud Front20191115_Cloud Front
20191115_Cloud Front
 
20191031_Amazon Api Gateway
20191031_Amazon Api Gateway20191031_Amazon Api Gateway
20191031_Amazon Api Gateway
 
20191018 AWS Lambda
20191018 AWS Lambda20191018 AWS Lambda
20191018 AWS Lambda
 
20191011_Route 53
20191011_Route 5320191011_Route 53
20191011_Route 53
 
20190927_AWS VPC
20190927_AWS VPC20190927_AWS VPC
20190927_AWS VPC
 
20190920 AWS IAM
20190920 AWS IAM20190920 AWS IAM
20190920 AWS IAM
 
20190913 awscli
20190913 awscli20190913 awscli
20190913 awscli
 
20190906_私が使ったAWSサービス
20190906_私が使ったAWSサービス20190906_私が使ったAWSサービス
20190906_私が使ったAWSサービス
 
20190823_AMAZON EC2
20190823_AMAZON EC220190823_AMAZON EC2
20190823_AMAZON EC2
 
20190809_AWS第1歩目
20190809_AWS第1歩目20190809_AWS第1歩目
20190809_AWS第1歩目
 

20191129 AWS CloudFormarion

  • 1. マネージメントサービス株式会社 Copyright Management Service Corp. All Rights Reserved.Copyright Management Service Corp. All Rights Reserved. AWS CloudFormation マネージメントサービス株式会社 デジタルビジネスイノベーションセンター 山本 友樹 2019 11-29 AWS若手勉強会#13
  • 2. Copyright Management Service Corp. All Rights Reserved. 1.AWS CloudFormationとは 2.使い方 3.特徴 4.料金 5.テンプレートの書き方 6.まとめ 2 アジェンダ
  • 3. Copyright Management Service Corp. All Rights Reserved. 1.AWS CloudFormationとは 2.使い方 3.特徴 4.料金 5.テンプレートの書き方 6.まとめ 3 アジェンダ
  • 4. Copyright Management Service Corp. All Rights Reserved. AWS CloudFormationとは AWS CloudFormation は、クラウド環境内のすべてのインフ ラストラクチャリソースを記述してプロビジョニングするため の共通言語を提供します。CloudFormation では、プログラ ミング言語またはシンプルなテキストファイルを使用して、あ らゆるリージョンとアカウントでアプリケーションに必要とさ れるすべてのリソースを、自動化された安全な方法でモデル化 し、プロビジョニングできます。 (AWS公式ページより) 4
  • 5. Copyright Management Service Corp. All Rights Reserved. 簡単に言うと コードからAWSサービスのリソースを 作成するサービス 5
  • 6. Copyright Management Service Corp. All Rights Reserved. 例 6 テンプレート AWS CloudFormation VPC AWS Cloud Availability Zone 1 Availability Zone 2 Amazon EC2 Amazon EC2 どのようなリソース を作成するか記述
  • 7. Copyright Management Service Corp. All Rights Reserved. 1.AWS CloudFormationとは 2.使い方 3.特徴 4.料金 5.テンプレートの書き方 6.まとめ 7 アジェンダ
  • 8. Copyright Management Service Corp. All Rights Reserved. 使い方 テンプレートの作成 ↓ CloudFormationにテンプレートをアップロード 8
  • 9. Copyright Management Service Corp. All Rights Reserved. テンプレートを作成 9 S3バケットとバケットポリシー を作成する例
  • 10. Copyright Management Service Corp. All Rights Reserved. ざっくりのルール 10 赤枠が作成するAWSリソースに名前を 自由につける ※CloudFormationでのみ使う その他(赤枠以外)の定義は、どんな AWSリソースにするかとういう定義
  • 11. Copyright Management Service Corp. All Rights Reserved. CloudFormationへのアップロード方法 11
  • 12. Copyright Management Service Corp. All Rights Reserved. 12 ②新しいリソースを使用(標準) をクリック ①スタックの作成をクリック
  • 13. Copyright Management Service Corp. All Rights Reserved. 13 ①テンプレートファイルのアップロードを選 択し、作成したテンプレートをアップロード
  • 14. Copyright Management Service Corp. All Rights Reserved. 14 ①次へをクリック
  • 15. Copyright Management Service Corp. All Rights Reserved. 15 ①スタック名を入力 ②次へをクリック
  • 16. Copyright Management Service Corp. All Rights Reserved. 16 ①次へをクリック
  • 17. Copyright Management Service Corp. All Rights Reserved. ・・・ 17 ①スタックの作成をクリック
  • 18. Copyright Management Service Corp. All Rights Reserved. 18 ①作成中になり少し待つ
  • 19. Copyright Management Service Corp. All Rights Reserved. 19 ①作成完了
  • 20. Copyright Management Service Corp. All Rights Reserved. S3バケット・バケットポリシーの確認 20
  • 21. Copyright Management Service Corp. All Rights Reserved. 更新 • テンプレートを更新して、アップロードすることで更新します。 手順は、前述の通り。 ※注意 CloudFormationで作成したAWSリソースは、必ずCloudFormation の機能で更新しないといけない。 マネジメントコンソール等で設定を変更するとCloudFormationから更新/ 削除ができなくなります。 もし、手動で変更してしまった場合は手動で戻してからCloudFormation で更新/削除ができるようになる。 21
  • 22. Copyright Management Service Corp. All Rights Reserved. 削除 22 削除をクリックするだけ
  • 23. Copyright Management Service Corp. All Rights Reserved. テンプレートの作成以外は簡単! 23
  • 24. Copyright Management Service Corp. All Rights Reserved. 1.AWS CloudFormationとは 2.使い方 3.特徴 4.料金 5.テンプレートの書き方 6.まとめ 24 アジェンダ
  • 25. Copyright Management Service Corp. All Rights Reserved. 特徴 • 一気に複数のAWSサービスのリソースが作成できる • テンプレートを使いまわすことができる • インフラをコードで管理できる 25
  • 26. Copyright Management Service Corp. All Rights Reserved. 一気に複数のAWSサービスのリソースが作成 できる テンプレートに記載したリソースが一気に作成される。 一気に作成したリソースのかたまりをスタックと呼んで管理する。 リソースのかたまりが不要になったときは、個別に削除する必要なし。 スタックを削除することで、全て削除される。 26
  • 27. Copyright Management Service Corp. All Rights Reserved. テンプレートを使いまわすことができる 一度、テンプレートを作成すれば何度でも使える。 他のAWSアカウントで使用も可能。 テンプレートさえあれば、AWSリソースを作成する手順書は不要。 27
  • 28. Copyright Management Service Corp. All Rights Reserved. つまり、こんなことがあるかも!? • テンプレートさえ一度作ってしまえば・・・ 28 先輩 こういうAWSのリソース作っといて (まぁ、半日ぐらいかかるかな) 自分 それなら1回作ったことあるんで、 ちょっとテンプレート修正して30分 ぐらいで作れますよ 先輩 (こいつ・・・できる・・・)
  • 29. Copyright Management Service Corp. All Rights Reserved. インフラをコードで管理できる インフラ環境をコードを元に作成できるので、コードで管理できる。 テンプレートをバージョン管理すれば、インフラ環境をバージョン管理す ることができる。 インフラをコードで管理するということで、 Infrastructure as Code(IaC) と呼ばれる。 29
  • 30. Copyright Management Service Corp. All Rights Reserved. 1.AWS CloudFormationとは 2.使い方 3.特徴 4.料金 5.テンプレートの書き方 6.まとめ 30 アジェンダ
  • 31. Copyright Management Service Corp. All Rights Reserved. 料金 無料 31 ※作成したAWSリソースに掛かる料金は必要
  • 32. Copyright Management Service Corp. All Rights Reserved. 1.AWS CloudFormationとは 2.使い方 3.特徴 4.料金 5.テンプレートの書き方 6.まとめ 32 アジェンダ
  • 33. Copyright Management Service Corp. All Rights Reserved. ファイルの種類 • JSONファイル or YAMLファイルで作成する。 JSON? YAML? 33
  • 34. Copyright Management Service Corp. All Rights Reserved. JSONとは • JavaScript Object Notaion の略 • 文字コードは UTF-8 • 下記のように中かっこで囲い、キー:値で記述する 34 { "name": "Tanaka", "age": 26 }
  • 35. Copyright Management Service Corp. All Rights Reserved. YAMLとは • YAML Ain‘t Markup Languageの略 • 構造化データの表現する記法 • 下記のようにインデントを利用して構造を表現する 35 company: name: マネージメントサービス num: 622
  • 36. Copyright Management Service Corp. All Rights Reserved. 個人的感想 • JSONとYAMLだったらYAMLがオススメ コメントが書けるから!!! ネットでコメント付きでわかりやすいテンプレート見つけると非常に助 かります。 36 # 会社 company: # 社名 name: マネージメントサービス # 従業員数 num: 622
  • 37. Copyright Management Service Corp. All Rights Reserved. 文法 • 使いたいAWSサービス毎にAWSが定めたルールに沿って記載します。 下記ページのルールを見ながら記載していきます。 https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/U serGuide/Welcome.html ※このルールを覚えて何も見ずにガリガリ書くのは無理だと思います。 調べて冷静に書くのが普通だと思います。 ただし、1回理解してから書くと次はコピペでスラスラ掛けます。 • AWSサービスに依存しない基本的なルールはあります。 次のスライド参照(AWS Black Beltの資料) 37
  • 38. Copyright Management Service Corp. All Rights Reserved. AWS-BlackBelt資料より 38 可変にしたい値 何を作るか
  • 39. Copyright Management Service Corp. All Rights Reserved. 最初に作成したテンプレート 39 何を作るかのみを記載
  • 40. Copyright Management Service Corp. All Rights Reserved. Parametersを使用して1つのテンプレートでS3バケット名をスタック作 成の度に変えれるようにしてみる。 40
  • 41. Copyright Management Service Corp. All Rights Reserved. パラメータを追加したテンプレート 41 バケット名をパラメータ で指定 パラメータを使用するときは、 「!Ref パラメータ名」で指定 文字列結合したいときは、「!Sub」 と指定してから「${パラメータ名}」 と指定
  • 42. Copyright Management Service Corp. All Rights Reserved. 作成したテンプレートをアップロード 42 テンプレートで指定した BucketNameが表示される
  • 43. Copyright Management Service Corp. All Rights Reserved. バケット名を指定してスタック作成 43
  • 44. Copyright Management Service Corp. All Rights Reserved. 44 パラメータで指定した値で 作成されている
  • 45. Copyright Management Service Corp. All Rights Reserved. テンプレートの小技 • 疑似パラメータ – AWS::Region → リージョン名(例. ap-northeast-1) – AWS::AccountId → AWSアカウントID (例.123456789012) • !Ref 論理IDから物理IDを参照する 45 論理ID S3の物理IDはバケット名
  • 46. Copyright Management Service Corp. All Rights Reserved. 論理ID・物理IDの確認 • マネジメントコンソールのリソースタブから確認することができる。 46
  • 47. Copyright Management Service Corp. All Rights Reserved. 1.AWS CloudFormationとは 2.使い方 3.特徴 4.料金 5.テンプレートの書き方 6.まとめ 47 アジェンダ
  • 48. Copyright Management Service Corp. All Rights Reserved. まとめ • インフラもコードを書くことが必要な時代になっていってます。 調べながら書いていくので誰でも書けます。 • 1度テンプレートを作れば他でも使えるので、テンプレート作って手順 書作らずに、楽をできるようにしていきましょう。 48
  • 49. Copyright Management Service Corp. All Rights Reserved. 参考資料 • 公式ページ https://aws.amazon.com/jp/cloudformation/ • AWS-BlackBelt https://d1.awsstatic.com/webinars/jp/pdf/services/20181128- AWS-BlackBelt-CloudFormation.pdf • JSON入門 http://www.tohoho-web.com/ex/json.html • エンジニア成長日記(YAMLを覚えよう) http://abcmark2010.hatenablog.com/entry/2015/12/20/235604 49
  • 50. Copyright Management Service Corp. All Rights Reserved. ありがとうございました 50