Submit Search
Cloud FormationによるBlue-Green Deployment - Dev io mtup11 003
10 likes
4,580 views
Shuji Watanabe
re:Growth 札幌での発表資料
Technology
Read more
1 of 19
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
More Related Content
PDF
LambdaとMobileの美味しいかもしれない関係
Hiraku Komuro
PDF
Cm re growth-reinvent-app304-kaji
Hiroyuki Kaji
PPTX
AWSによるWebサイト構築と運用 - concrete5 編 -
Shuji Watanabe
PDF
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
Shuji Watanabe
PDF
AWSクラウドデザインパターン(CDP) - 概要編 -
SORACOM, INC
PDF
JAWS DAYS 2017 LT 古きを捨て新しきに近づける
Tetsuya Mase
PDF
VIOPS09 AWSで実現するクラウドと物理製品の融合
Hiroyasu Suzuki
PPTX
6リージョン同時75万接続のメッセージ配信基盤をCloudFormationとCapistranoで3日で構築した話
Ryuta Otaki
LambdaとMobileの美味しいかもしれない関係
Hiraku Komuro
Cm re growth-reinvent-app304-kaji
Hiroyuki Kaji
AWSによるWebサイト構築と運用 - concrete5 編 -
Shuji Watanabe
プロビジョニングの今 ーフルマネージド・サービスを目指してー #cmdevio2016 #E
Shuji Watanabe
AWSクラウドデザインパターン(CDP) - 概要編 -
SORACOM, INC
JAWS DAYS 2017 LT 古きを捨て新しきに近づける
Tetsuya Mase
VIOPS09 AWSで実現するクラウドと物理製品の融合
Hiroyasu Suzuki
6リージョン同時75万接続のメッセージ配信基盤をCloudFormationとCapistranoで3日で構築した話
Ryuta Otaki
What's hot
(16)
PDF
AWSクラウドデザインパターン(CDP) - コンテンツ配信編 -
Akio Katayama
PDF
CDP(キャンペーンサイト編)
Hiroyasu Suzuki
PDF
AWS で concrete5 を 簡単起動!
Kazue Igarashi
PDF
AWSクラウドデザインパターン(CDP) - Eコマース編 -
SORACOM, INC
PDF
サーバーレスの今とこれから
真吾 吉田
PPTX
グリーにおけるAWS移行の必然性
gree_tech
PDF
Single Command Deployのための gradle-aws-plugin講座
都元ダイスケ Miyamoto
PDF
AWS クックパッドの運用事例
Satoshi Takada
PDF
[AWS Summit 2012] クラウドデザインパターン#8 CDP アンチパターン編
Amazon Web Services Japan
PDF
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
都元ダイスケ Miyamoto
PDF
Aws startup-tech-summer2015
Shota Umeda
PDF
パブリッククラウドサービスAmazon EC2の性能検証レポート (CADC研究レポート発表会用)
Yuuki Namikawa
PPTX
20140628 AWSの2014前半のアップデートまとめ
Yasuhiro Araki, Ph.D
PDF
AWSでアプリ開発するなら 知っておくべこと
Keisuke Nishitani
PDF
MySQL→Aurora移行セミナー
真吾 吉田
PDF
Awsのインフラをデザインパターン駆使して設計構築
Monstar Lab Inc.
AWSクラウドデザインパターン(CDP) - コンテンツ配信編 -
Akio Katayama
CDP(キャンペーンサイト編)
Hiroyasu Suzuki
AWS で concrete5 を 簡単起動!
Kazue Igarashi
AWSクラウドデザインパターン(CDP) - Eコマース編 -
SORACOM, INC
サーバーレスの今とこれから
真吾 吉田
グリーにおけるAWS移行の必然性
gree_tech
Single Command Deployのための gradle-aws-plugin講座
都元ダイスケ Miyamoto
AWS クックパッドの運用事例
Satoshi Takada
[AWS Summit 2012] クラウドデザインパターン#8 CDP アンチパターン編
Amazon Web Services Japan
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
都元ダイスケ Miyamoto
Aws startup-tech-summer2015
Shota Umeda
パブリッククラウドサービスAmazon EC2の性能検証レポート (CADC研究レポート発表会用)
Yuuki Namikawa
20140628 AWSの2014前半のアップデートまとめ
Yasuhiro Araki, Ph.D
AWSでアプリ開発するなら 知っておくべこと
Keisuke Nishitani
MySQL→Aurora移行セミナー
真吾 吉田
Awsのインフラをデザインパターン駆使して設計構築
Monstar Lab Inc.
Ad
Viewers also liked
(20)
PDF
Jenkinsはじめました - Yahoo! JAPANのCI+CD -
Yahoo!デベロッパーネットワーク
PPTX
Cloud Formationで既存のインフラを増築した話
Ryoutaro Gotou
PPTX
オープンセミナー2015@広島プレゼン
Kakigi Katuyuki
PPT
Green Tourism Business Award training museums dec 2011
Association of Independent Museums
PPTX
Green Tourism Certification Programme - GTBS Update - Simpler & Better
GreenTourismUK
PDF
もっと気軽にCloudFormation
Satoshi Nakada
PPTX
カナダ研修旅行報告スライド
Ryuji Matsuoka
PPT
green school Tokyo のつくり方
Yoshihiro Kanematsu
PPTX
Green Tourism Certification Programme Overview April 2014 GTBS
GreenTourismUK
PDF
Tourtech - Tourism × Tech - 地方創生プロジェクト
Masanori Ueno
PDF
Deep Dive: Amazon DynamoDB (db tech showcase 2016)
Amazon Web Services Japan
PPTX
MySQLメインの人がPostgreSQLのベンチマークをしてみた話
hiroi10
PPTX
Eco-Tourism
M A F Farzana 😀
PPTX
HPC で使えそうな FPGA 搭載 AWS F1 インスタンス 20170127
HPCシステムズ株式会社
PPT
Sustainable Savings: Green Tourism Business Scheme
zoeviney
PDF
20150226_JAWS_UG札幌
美佳 松井
PPTX
Lambdaについて
Ara Jo
PDF
20150425 JAWS-UG Okinawa
Toshiyuki Konparu
PDF
JavaのLambdaの裏事情
なおき きしだ
PDF
20150928楽しいlambda
Norifumi Homma
Jenkinsはじめました - Yahoo! JAPANのCI+CD -
Yahoo!デベロッパーネットワーク
Cloud Formationで既存のインフラを増築した話
Ryoutaro Gotou
オープンセミナー2015@広島プレゼン
Kakigi Katuyuki
Green Tourism Business Award training museums dec 2011
Association of Independent Museums
Green Tourism Certification Programme - GTBS Update - Simpler & Better
GreenTourismUK
もっと気軽にCloudFormation
Satoshi Nakada
カナダ研修旅行報告スライド
Ryuji Matsuoka
green school Tokyo のつくり方
Yoshihiro Kanematsu
Green Tourism Certification Programme Overview April 2014 GTBS
GreenTourismUK
Tourtech - Tourism × Tech - 地方創生プロジェクト
Masanori Ueno
Deep Dive: Amazon DynamoDB (db tech showcase 2016)
Amazon Web Services Japan
MySQLメインの人がPostgreSQLのベンチマークをしてみた話
hiroi10
Eco-Tourism
M A F Farzana 😀
HPC で使えそうな FPGA 搭載 AWS F1 インスタンス 20170127
HPCシステムズ株式会社
Sustainable Savings: Green Tourism Business Scheme
zoeviney
20150226_JAWS_UG札幌
美佳 松井
Lambdaについて
Ara Jo
20150425 JAWS-UG Okinawa
Toshiyuki Konparu
JavaのLambdaの裏事情
なおき きしだ
20150928楽しいlambda
Norifumi Homma
Ad
Similar to Cloud FormationによるBlue-Green Deployment - Dev io mtup11 003
(20)
PPTX
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Yoichi Kawasaki
PDF
May the FaaS be with us!!
真吾 吉田
PPTX
エンジニアのための勉強会 #2 『Public Cloud - AWSの基礎 -』
Naoki Yoshitake
PPTX
JAWS-UG Santo 2014-07-05 Drupal on PaaS Cloud
ANNAI_LLC
PPTX
AWS & Google Cloudを使ったシステム開発/技術選定のはなし
修一 高橋
PDF
OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)
NTT DATA Technology & Innovation
PDF
実践!AWSクラウドデザインパターン
Hiroyasu Suzuki
PDF
クラウド+コンテナで作る簡単Webアプリケーション
Tsukasa Kato
PPTX
サンプルアプリケーションで学ぶApache Cassandraを使ったJavaアプリケーションの作り方
Yuki Morishita
PDF
試して学べるクラウド技術! OpenShift
Etsuji Nakai
PDF
AzureDevOpsで作るHoloLensアプリCI環境
Tatsuya Sakai
PDF
AWSへのWindows Server 2003の移行 そして今後インフラとどう向き合うべきか
真吾 吉田
PPTX
20140518 JJUG MySQL Clsuter as NoSQL
Ryusuke Kajiyama
PPTX
Microsoft azure上にwebサイトやアプリケーションを構築する方法 アドバンスド
Kazumi Hirose
PDF
Container deployment on Azure
Tsukasa Kato
PDF
20190201 Cloud Native Kansai AKS Azure
Issei Hiraoka
PDF
俺とHashiCorp
Toru Makabe
PDF
AWS SAMで始めるサーバーレスアプリケーション開発
真吾 吉田
PDF
Application Deployment on AWS
Eiji Shinohara
PDF
PHP開発者のためのNoSQL入門
じゅん なかざ
Web App for Containers + MySQLでコンテナ対応したPHPアプリを作ろう!
Yoichi Kawasaki
May the FaaS be with us!!
真吾 吉田
エンジニアのための勉強会 #2 『Public Cloud - AWSの基礎 -』
Naoki Yoshitake
JAWS-UG Santo 2014-07-05 Drupal on PaaS Cloud
ANNAI_LLC
AWS & Google Cloudを使ったシステム開発/技術選定のはなし
修一 高橋
OpenLineage による Airflow のデータ来歴の収集と可視化(Airflow Meetup Tokyo #3 発表資料)
NTT DATA Technology & Innovation
実践!AWSクラウドデザインパターン
Hiroyasu Suzuki
クラウド+コンテナで作る簡単Webアプリケーション
Tsukasa Kato
サンプルアプリケーションで学ぶApache Cassandraを使ったJavaアプリケーションの作り方
Yuki Morishita
試して学べるクラウド技術! OpenShift
Etsuji Nakai
AzureDevOpsで作るHoloLensアプリCI環境
Tatsuya Sakai
AWSへのWindows Server 2003の移行 そして今後インフラとどう向き合うべきか
真吾 吉田
20140518 JJUG MySQL Clsuter as NoSQL
Ryusuke Kajiyama
Microsoft azure上にwebサイトやアプリケーションを構築する方法 アドバンスド
Kazumi Hirose
Container deployment on Azure
Tsukasa Kato
20190201 Cloud Native Kansai AKS Azure
Issei Hiraoka
俺とHashiCorp
Toru Makabe
AWS SAMで始めるサーバーレスアプリケーション開発
真吾 吉田
Application Deployment on AWS
Eiji Shinohara
PHP開発者のためのNoSQL入門
じゅん なかざ
More from Shuji Watanabe
(20)
PDF
Serverless - Developers.IO 2019
Shuji Watanabe
PDF
Ansible ハンズオン on AWS - DevelopersIO 2017
Shuji Watanabe
PDF
SSMでマネージドEC2 #reinvent #cmdevio
Shuji Watanabe
PPTX
ELBの概要と勘所
Shuji Watanabe
PDF
CloudSearchによる全文検索 - CM:道 2014/08/01
Shuji Watanabe
PDF
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Shuji Watanabe
PDF
TDD BootCamp in JJUG CCC - レガシーコード対策編 -
Shuji Watanabe
PDF
s3+cloud frontによる静的コンテンツ配信 - Sphinx編 #cmdevio
Shuji Watanabe
PDF
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
Shuji Watanabe
PDF
テスト駆動開発へようこそ
Shuji Watanabe
PDF
テスト駆動開発のはじめ方
Shuji Watanabe
PDF
ユースケースからテスト駆動開発へ
Shuji Watanabe
KEY
テスト駆動開発入門
Shuji Watanabe
KEY
テストコードのリファクタリング
Shuji Watanabe
KEY
テスト駆動開発の導入ーペアプログラミングの学習効果ー
Shuji Watanabe
KEY
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
Shuji Watanabe
KEY
アジャイルテスティング
Shuji Watanabe
PDF
テストリストの見つけ方
Shuji Watanabe
PDF
TDDをはじめよう
Shuji Watanabe
KEY
Jenkins導入事例
Shuji Watanabe
Serverless - Developers.IO 2019
Shuji Watanabe
Ansible ハンズオン on AWS - DevelopersIO 2017
Shuji Watanabe
SSMでマネージドEC2 #reinvent #cmdevio
Shuji Watanabe
ELBの概要と勘所
Shuji Watanabe
CloudSearchによる全文検索 - CM:道 2014/08/01
Shuji Watanabe
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Shuji Watanabe
TDD BootCamp in JJUG CCC - レガシーコード対策編 -
Shuji Watanabe
s3+cloud frontによる静的コンテンツ配信 - Sphinx編 #cmdevio
Shuji Watanabe
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
Shuji Watanabe
テスト駆動開発へようこそ
Shuji Watanabe
テスト駆動開発のはじめ方
Shuji Watanabe
ユースケースからテスト駆動開発へ
Shuji Watanabe
テスト駆動開発入門
Shuji Watanabe
テストコードのリファクタリング
Shuji Watanabe
テスト駆動開発の導入ーペアプログラミングの学習効果ー
Shuji Watanabe
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
Shuji Watanabe
アジャイルテスティング
Shuji Watanabe
テストリストの見つけ方
Shuji Watanabe
TDDをはじめよう
Shuji Watanabe
Jenkins導入事例
Shuji Watanabe
Cloud FormationによるBlue-Green Deployment - Dev io mtup11 003
1.
CloudFormation による Blue-Green
Deployment Ⓒ Classmethod, Inc. 1 DevIO MTUP11-SAPPORO-003 渡辺 修司, クラスメソッド 2014年11月19日
2.
渡辺 修司 •
AWSコンサルティング部 • ソリューションアーキテクト • 2014年8月入社 • 前職 • Java業務システムの開発 • Web関連のサービス開発 • 現在 • メンバーズポータル開発 • 開発系のAWS環境のコンサル、開発支援 • 趣味 • ロードバイク、スノーボード、猫 Ⓒ Classmethod, Inc. 2
3.
Blue-Green Deployment 3
4.
Deployment / 配備
• アプリケーションを配置し、利用できる状態にする • ビルド • サーバへの転送 • アプリケーションサーバの再起動 • 初期リリース時やアップデート時に実施 • デプロイ用ツールなどを使って自動化する • 複数サーバを手動でやるのは手間 • 人為的ミスの防止 Ⓒ Classmethod, Inc. 4
5.
Deployment時の課題 • ダウンタイム
• メンテナンス時間として利用不可 • 切り戻し • アップデートが原因によるシステム障害 Ⓒ Classmethod, Inc. 5
6.
Blue-Green Deployment •
ダウンタイムゼロのデプロイメントパターン • マーチン・ファウラ̶が提唱 • プロダクション環境を2系統用意(Blue/Green) • 一方をアクティブ系、もう一方をスタンバイ系 • スタンバイ系にデプロイを行う • デプロイが完了したならばRouterで切り替える • http://martinfowler.com/bliki/BlueGreenDeployment.html Ⓒ Classmethod, Inc. 6
7.
Blue-Green Deploymentの課題 •
2系統のサーバが必要 • コストが2倍 • トランザクションデータの扱い • RDBのデータ移行時間が発生 • データベースのスキーマ変更 Ⓒ Classmethod, Inc. 7
8.
AWSによる解決と妥協点 • Blue-Green環境は必要に応じて構築
• 不要な時は破棄することでコストを抑える • アップデート後、切り戻しが不要と判断したら破棄 • DBレイヤはBlue-Greenとしない • 妥協する部分 • Multi-AZならば冗長化もされている • 問題発生時はレストアの方針 • DBのスキーマ変更 • クリティカルならばダウンタイムを許容 • 変更前と変更後に対応できるような実装もあり • 切り替え時のユーザ操作の整合性 Ⓒ Classmethod, Inc. 8
9.
Cloud Formationによる Blue-Green
Deployment 9 AWS CloudFormation
10.
CloudFormationでリソースを構築 • 繰り返し作業に効果的な自動化
• 手作業はNG • ヒューマンエラー防止 • AMIイメージを予め作成(Chefなど) Ⓒ Classmethod, Inc. 10 AWS CloudFormation
11.
RDSは妥協 • Blue/Greenにするデメリットが大きい
• データの同期問題 • スキーマ変更の影響 • アプリレイヤで吸収(必要に応じて) • 問題発生時はバックアップからリストア • どうにもならない場合は止める • 最終的にはコストバランスを考慮 Ⓒ Classmethod, Inc. 11 Amazon RDB
12.
テンプレートはレイヤ毎に分割 • Base
/ Green / Blue のテンプレートを用意 • Base にはVPC関連と共通リソースを定義 • GreenとBlueにはアプリレイヤーを定義 • GreenとBlueは独立してStackを構築/撤収可能 Ⓒ Classmethod, Inc. 12 CloudFormation Template
13.
BlueとGreenはパラメータで指定 • 共通テンプレートでOK
• パラメータを活用し違いを吸収 Ⓒ Classmethod, Inc. 13 "Parameters": { "Env": { "Type": "String", "Default": "Blue", "AllowedValues": [ "Blue", "Green" ] } }, "Resources": { "FrontWeb1": { "Type": "AWS::EC2::Instance", "Properties": { "SubnetId": { "Fn::FindInMap": [ "Subnet", { "Ref": "Env" }, "AppA" ] } } "Mappings": { "Subnet": { "Blue": { "AppA": "subnet-xxxxxxxxx", "AppC": "subnet-xxxxxxxxx" }, "Green": { "AppA": "subnet-xxxxxxxx", "AppC": "subnet-xxxxxxxx" } } } CloudFormation Template
14.
1)デプロイの準備 • Base環境を構築
• 基本的に1回だけ(必要に応じてUpdate) Ⓒ Classmethod, Inc. 14 CloudFormation Stack
15.
2)初回リリース • Blue環境を構築(初回リリース)
• アプリはデプロイツールでデプロイ Ⓒ Classmethod, Inc. 15 CloudFormation Stack
16.
3)初回アップデート • Green環境を構築
• Green環境にアップデート版をデプロイし検証 Ⓒ Classmethod, Inc. 16 CloudFormation Stack 検証できたら Route53の設定を Green側に変更
17.
4)Blue環境の撤収 • Blue環境を削除してコストを押さえる
• 不安がある場合はしばらく残してもOK Ⓒ Classmethod, Inc. 17 CloudFormation Stack
18.
まとめ • 最小のダウンタイム
• アップデート時のリスク対策 • Cloud Formationを活用し、省コスト • Deployの自動化でヒューマンエラーを防止 Ⓒ Classmethod, Inc. 18
19.
Ⓒ Classmethod, Inc.
#cmdevio ご静聴ありがとうございました。 スライドは後日ブログで公開します。 19 DevIO MTUP11-SAPPORO-003
Download