Submit Search
AWS Black Belt Online Seminar 2017 Deployment on AWS
13 likes
14,868 views
Amazon Web Services Japan
AWS Black Belt Online Seminar 2017 Deployment on AWS
Technology
Read more
1 of 68
Download now
Downloaded 216 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
More Related Content
PPTX
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
ShuheiUda
PDF
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
Amazon Web Services Japan
PDF
AWS CURのデータを安く楽に可視化して共有したい
Takayuki Ishikawa
PDF
20180717 AWS Black Belt Online Seminar AWS大阪ローカルリージョンの活用とAWSで実現するDisaster Rec...
Amazon Web Services Japan
PPTX
AWSで作る分析基盤
Yu Otsubo
PDF
AWSのログ管理ベストプラクティス
Akihiro Kuwano
PDF
20190806 AWS Black Belt Online Seminar AWS Glue
Amazon Web Services Japan
PDF
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
Amazon Web Services Japan
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
ShuheiUda
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
Amazon Web Services Japan
AWS CURのデータを安く楽に可視化して共有したい
Takayuki Ishikawa
20180717 AWS Black Belt Online Seminar AWS大阪ローカルリージョンの活用とAWSで実現するDisaster Rec...
Amazon Web Services Japan
AWSで作る分析基盤
Yu Otsubo
AWSのログ管理ベストプラクティス
Akihiro Kuwano
20190806 AWS Black Belt Online Seminar AWS Glue
Amazon Web Services Japan
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
Amazon Web Services Japan
What's hot
(20)
PDF
Infrastructure as Code (IaC) 談義 2022
Amazon Web Services Japan
PDF
AWS Well-Architected Security とベストプラクティス
Amazon Web Services Japan
PDF
AWS初心者向けWebinar RDBのAWSへの移行方法(Oracleを例に)
Amazon Web Services Japan
PDF
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
Amazon Web Services Japan
PPTX
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
Ohyama Masanori
PDF
CloudFrontのリアルタイムログをKibanaで可視化しよう
Eiji KOMINAMI
PPTX
DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA
PDF
20190320 AWS Black Belt Online Seminar Amazon EBS
Amazon Web Services Japan
PDF
20190911 AWS Black Belt Online Seminar AWS Batch
Amazon Web Services Japan
PDF
20210526 AWS Expert Online マルチアカウント管理の基本
Amazon Web Services Japan
PDF
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
Amazon Web Services Japan
PDF
各種データベースの特徴とパフォーマンス比較
株式会社オプト 仙台ラボラトリ
PDF
20190919 よくご相談いただくセキュリティの質問と考え方
Amazon Web Services Japan
PDF
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
PDF
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
Amazon Web Services Japan
PDF
AWS X-Rayによるアプリケーションの分析とデバッグ
Amazon Web Services Japan
PDF
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
Amazon Web Services Japan
PDF
20190522 AWS Black Belt Online Seminar AWS Step Functions
Amazon Web Services Japan
PDF
20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline
Amazon Web Services Japan
PDF
Azure Monitor Logで実現するモダンな管理手法
Takeshi Fukuhara
Infrastructure as Code (IaC) 談義 2022
Amazon Web Services Japan
AWS Well-Architected Security とベストプラクティス
Amazon Web Services Japan
AWS初心者向けWebinar RDBのAWSへの移行方法(Oracleを例に)
Amazon Web Services Japan
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
Amazon Web Services Japan
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
Ohyama Masanori
CloudFrontのリアルタイムログをKibanaで可視化しよう
Eiji KOMINAMI
DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA
20190320 AWS Black Belt Online Seminar Amazon EBS
Amazon Web Services Japan
20190911 AWS Black Belt Online Seminar AWS Batch
Amazon Web Services Japan
20210526 AWS Expert Online マルチアカウント管理の基本
Amazon Web Services Japan
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
Amazon Web Services Japan
各種データベースの特徴とパフォーマンス比較
株式会社オプト 仙台ラボラトリ
20190919 よくご相談いただくセキュリティの質問と考え方
Amazon Web Services Japan
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
Amazon Web Services Japan
AWS X-Rayによるアプリケーションの分析とデバッグ
Amazon Web Services Japan
20190130 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
Amazon Web Services Japan
20190522 AWS Black Belt Online Seminar AWS Step Functions
Amazon Web Services Japan
20201111 AWS Black Belt Online Seminar AWS CodeStar & AWS CodePipeline
Amazon Web Services Japan
Azure Monitor Logで実現するモダンな管理手法
Takeshi Fukuhara
Ad
Viewers also liked
(20)
PDF
ReNomによるNeural Style Transfer
ReNom User Group
PDF
AIによる働き方改革!~本当にストレスを感じている社員を見逃すな~
ReNom User Group
PDF
深層学習を医療に応用するために
ReNom User Group
PDF
~チュートリアル第1弾~ チュートリアルの概要と事例の紹介
ReNom User Group
PDF
強化学習を用いたポートフォリオマネジメントの試み
ReNom User Group
PDF
ReNom User Group #1 Part2
ReNom User Group
PDF
元BIエバンジェリストが語る!脱獄matplot!
ReNom User Group
PDF
TDAを構成する技術の紹介 ~PCA編~
ReNom User Group
PDF
ReNom User Group #1 Part3
ReNom User Group
PDF
ReNom User Group #1 Part1
ReNom User Group
PPTX
Style transfer
zaburo
PDF
Infrastructure as CodeでReNom環境構築入門
ReNom User Group
PDF
Building a Sustainable Data Platform on AWS
SmartNews, Inc.
PDF
[よくわかるクラウドデータベース] リクルートにおけるRedshift導入・活用事例
Amazon Web Services Japan
PDF
20170725 black belt_monitoring_on_aws
Amazon Web Services Japan
PDF
20170726 black belt_stepfunctions
Amazon Web Services Japan
PDF
Recurrent Neural Networks
Seiya Tokui
PDF
Amazon Redshiftによるリアルタイム分析サービスの構築
Minero Aoki
PDF
AWS Black Belt Online Seminar 2017 Amazon Connect
Amazon Web Services Japan
PDF
AWS Black Belt Online Seminar 2017 AWS Shield
Amazon Web Services Japan
ReNomによるNeural Style Transfer
ReNom User Group
AIによる働き方改革!~本当にストレスを感じている社員を見逃すな~
ReNom User Group
深層学習を医療に応用するために
ReNom User Group
~チュートリアル第1弾~ チュートリアルの概要と事例の紹介
ReNom User Group
強化学習を用いたポートフォリオマネジメントの試み
ReNom User Group
ReNom User Group #1 Part2
ReNom User Group
元BIエバンジェリストが語る!脱獄matplot!
ReNom User Group
TDAを構成する技術の紹介 ~PCA編~
ReNom User Group
ReNom User Group #1 Part3
ReNom User Group
ReNom User Group #1 Part1
ReNom User Group
Style transfer
zaburo
Infrastructure as CodeでReNom環境構築入門
ReNom User Group
Building a Sustainable Data Platform on AWS
SmartNews, Inc.
[よくわかるクラウドデータベース] リクルートにおけるRedshift導入・活用事例
Amazon Web Services Japan
20170725 black belt_monitoring_on_aws
Amazon Web Services Japan
20170726 black belt_stepfunctions
Amazon Web Services Japan
Recurrent Neural Networks
Seiya Tokui
Amazon Redshiftによるリアルタイム分析サービスの構築
Minero Aoki
AWS Black Belt Online Seminar 2017 Amazon Connect
Amazon Web Services Japan
AWS Black Belt Online Seminar 2017 AWS Shield
Amazon Web Services Japan
Ad
Similar to AWS Black Belt Online Seminar 2017 Deployment on AWS
(20)
PDF
Application Deployment on AWS
Eiji Shinohara
PDF
20160720 aws development-tools-and_hybrid_cdp
Yukitaka Ohmura
PDF
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Deploy with EB CLI編~
Amazon Web Services Japan
PDF
20210126 AWS Black Belt Online Seminar AWS CodeDeploy
Amazon Web Services Japan
PDF
AWS Black Belt Tech シリーズ 2015 - AWS CodeCommit & AWS CodePipeline & AWS CodeD...
Amazon Web Services Japan
PDF
20170809 AWS code series
Atsushi Fukui
PDF
[AWSマイスターシリーズ] AWS Elastic Beanstalk
Amazon Web Services Japan
PDF
AWS Black Belt Techシリーズ AWS Elastic Beanstalk
Amazon Web Services Japan
PDF
Windows 開発者のための Dev&Ops on AWS
Amazon Web Services Japan
PDF
AWS上でのWebアプリケーションデプロイ
Amazon Web Services Japan
PDF
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
Amazon Web Services Japan
PDF
Gaming cicd-pipeline gaming-technight-2
Amazon Web Services Japan
PDF
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
Amazon Web Services Japan
PPTX
【AWS×Deployment】TechTalk #5
幸夫 茅根
PDF
JAWSUG初心者向けトラック 【Deploy&Ops】
Yukihiko SAWANOBORI
PDF
JAWS-UG Meets Windows (JAWS Days 2017)
Amazon Web Services Japan
PDF
Cloud FormationによるBlue-Green Deployment - Dev io mtup11 003
Shuji Watanabe
PDF
AWS Black Belt Online Seminar AWS上のJenkins活用方法
Amazon Web Services Japan
PDF
20180613 AWS Black Belt Online Seminar AWS Cloud9 入門
Amazon Web Services Japan
PDF
【12/5 最新版】AWS Black Belt Online Seminar AWS re:Invent 2018 アップデート情報
Amazon Web Services Japan
Application Deployment on AWS
Eiji Shinohara
20160720 aws development-tools-and_hybrid_cdp
Yukitaka Ohmura
AWS Black Belt Online Seminar 2017 AWS体験ハンズオン~Deploy with EB CLI編~
Amazon Web Services Japan
20210126 AWS Black Belt Online Seminar AWS CodeDeploy
Amazon Web Services Japan
AWS Black Belt Tech シリーズ 2015 - AWS CodeCommit & AWS CodePipeline & AWS CodeD...
Amazon Web Services Japan
20170809 AWS code series
Atsushi Fukui
[AWSマイスターシリーズ] AWS Elastic Beanstalk
Amazon Web Services Japan
AWS Black Belt Techシリーズ AWS Elastic Beanstalk
Amazon Web Services Japan
Windows 開発者のための Dev&Ops on AWS
Amazon Web Services Japan
AWS上でのWebアプリケーションデプロイ
Amazon Web Services Japan
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
Amazon Web Services Japan
Gaming cicd-pipeline gaming-technight-2
Amazon Web Services Japan
AWS Black Belt Online Seminar AWSサービスを利用したアプリケーション開発を始めよう
Amazon Web Services Japan
【AWS×Deployment】TechTalk #5
幸夫 茅根
JAWSUG初心者向けトラック 【Deploy&Ops】
Yukihiko SAWANOBORI
JAWS-UG Meets Windows (JAWS Days 2017)
Amazon Web Services Japan
Cloud FormationによるBlue-Green Deployment - Dev io mtup11 003
Shuji Watanabe
AWS Black Belt Online Seminar AWS上のJenkins活用方法
Amazon Web Services Japan
20180613 AWS Black Belt Online Seminar AWS Cloud9 入門
Amazon Web Services Japan
【12/5 最新版】AWS Black Belt Online Seminar AWS re:Invent 2018 アップデート情報
Amazon Web Services Japan
More from Amazon Web Services Japan
(20)
PDF
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
Amazon Web Services Japan
PDF
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
Amazon Web Services Japan
PDF
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
Amazon Web Services Japan
PDF
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
Amazon Web Services Japan
PDF
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
Amazon Web Services Japan
PDF
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Web Services Japan
PPTX
20220409 AWS BLEA 開発にあたって検討したこと
Amazon Web Services Japan
PDF
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
Amazon Web Services Japan
PDF
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
Amazon Web Services Japan
PDF
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon Web Services Japan
PDF
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
PDF
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
Amazon Web Services Japan
PDF
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
Amazon Web Services Japan
PDF
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
Amazon Web Services Japan
PDF
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Web Services Japan
PDF
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
Amazon Web Services Japan
PPTX
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
Amazon Web Services Japan
PDF
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
Amazon Web Services Japan
PDF
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
Amazon Web Services Japan
PDF
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
Amazon Web Services Japan
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
Amazon Web Services Japan
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
Amazon Web Services Japan
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
Amazon Web Services Japan
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
Amazon Web Services Japan
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
Amazon Web Services Japan
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Web Services Japan
20220409 AWS BLEA 開発にあたって検討したこと
Amazon Web Services Japan
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
Amazon Web Services Japan
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
Amazon Web Services Japan
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon Web Services Japan
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
Amazon Web Services Japan
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
Amazon Web Services Japan
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
Amazon Web Services Japan
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Web Services Japan
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
Amazon Web Services Japan
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
Amazon Web Services Japan
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
Amazon Web Services Japan
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
Amazon Web Services Japan
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
Amazon Web Services Japan
AWS Black Belt Online Seminar 2017 Deployment on AWS
1.
【AWS Black Belt
Online Seminar】 Deployment on AWS アマゾン ウェブ サービス ジャパン株式会社 ソリューションアーキテクト 千葉 悠貴 2017.08.22
2.
✤ Name :
千葉 悠貴(ちば ゆうき) ✤ Role : Solutions Architect ✤ Segment : Internet Media ✤ Favorite Service : CloudFormation
3.
AWS Black Belt
Online Seminar とは AWSJのTechメンバがAWSに関する様々な事を紹介するオンラインセミナーです 【火曜 12:00~13:00】 主にAWSのソリューションや 業界カットでの使いどころなどを紹介 (例:IoT、金融業界向け etc.) ※今回だけ異なります 【水曜 18:00~19:00】 主にAWSサービスの紹介や アップデートの解説 (例:EC2、RDS、Lambda etc.) ※開催曜日と時間帯は変更となる場合がございます。 最新の情報は下記をご確認下さい。 オンラインセミナーのスケジュール&申し込みサイト – https://aws.amazon.com/jp/about-aws/events/webinars/ 3
4.
内容についての注意点 • 本資料では2017年8月22日時点のサービス内容および価格についてご説明しています。最新 の情報はAWS公式ウェブサイト(http://aws.amazon.com)にてご確認ください。 • 資料作成には十分注意しておりますが、資料内の価格とAWS公式ウェブサイト記載の価格に 相違があった場合、AWS公式ウェブサイトの価格を優先とさせていただきます。 •
価格は税抜表記となっています。日本居住者のお客様が東京リージョンを使用する場合、別途 消費税をご請求させていただきます。 • AWS does not offer binding price quotes. AWS pricing is publicly available and is subject to change in accordance with the AWS Customer Agreement available at http://aws.amazon.com/agreement/. Any pricing information included in this document is provided only as an estimate of usage charges for AWS services based on certain information that you have provided. Monthly charges will be based on your actual use of AWS services, and may vary from the estimates provided. 4
5.
5 本日のテーマ: アプリケーションデプロイメント
6.
アプリのデプロイメントに必要な要素 ✤ デプロイの自動化 ✤ デプロイのヘルスチェック ✤
失敗時のロールバック ✤ 開発、本番など複数環境への考慮 ✤ AutoScalingへの対応 6
7.
デプロイパターン/デプロイツールの選択肢 ✤ デプロイパターン - In-Placeデプロイ -
Blue/Greenデプロイ - カナリアリリース ✤ デプロイツール - CodeDeploy - CloudFormation - ElasticBeanstalk etc... 7
8.
8 どのデプロイパターン/ ツールを選べばいい?
9.
9 Deployment Pattern
10.
代表的なデプロイメントパターン 10 In-Place Blue/Green カナリアリリース v1 v2 v1
v1 v2 既存ノードのアセットを更新 (1台ずつデプロイする場合 ローリングデプロイと呼ぶ) 新規ノードを配備し、 デプロイ〜テスト後に トラフィックを切り替え 新バージョンをデプロイした 一部のノードを本番トラフィック に組み込みテストする (In-PlaceもBlue/Greenもあり) v1 v1 v2
11.
In-Place デプロイメント ✤ デプロイ方法 –
既存ノードに新しいアセットを配置 – Pull型(ノードが自分から新規アセットを取得)がおすすめ – ロールバックは過去バージョンのアセットをIn-Placeデプロイ ✤ メリット – インフラ(ノード)の新規プロビジョニングが不要 – アプリケーション担当者のみで完結する ✤ デメリット – ロールバックに時間がかかる – 複数ノード間での一貫性の保持が難しい 11 v1 v2 v1
12.
Blue/Green デプロイメント ✤ デプロイ方法 –
新規にノード(群)を作成し新しいアセットを配置 – 新環境でテストが通ったらトラフィックを切り替え(Swap) ✤ メリット – 本番環境に昇格する環境で事前テストができる – ロールバックは旧環境にSwapするだけ ✤ デメリット – 一時的に追加のリソースが必要 12 v1 v2
13.
Blue/Green Swapパターン 13 Swap Load
Balancer Route 53 ALB Target Group Target Group ◎切り替えが早い(DNSのTTLに依存しない) DNS Cutover Route 53 ALBALB Target Group Target Group ◎加重ルーティングが使える 必要に応じて 暖気申請を!
14.
Route53 加重ルーティング ✤ ユースケース –
A/Bテスト – サーバー毎に性能の偏りがある場合 – カナリアリリース 相対的な重みを 0-255で指定 Routing Policyに ”Weighted”を選択 14 http://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-weighted 同じ名前・種類のレコードセットに重みをつけて、 ルーティング先の頻度を決定するRoute53の機能
15.
カナリアリリース 15 v1 v1 v2 ✤
デプロイ方法 – 本番トラフィックを部分的に新バージョンのアプリにも流し、問題 なければデプロイ範囲を広げていく – In-Place:少数の既存ノードのアセットを更新する – Blue/Green:加重Routingでトラフィックを部分的にGreenに流す – ロールバックはカナリアホストを切り離すだけ ✤ メリット – 本番のトラフィックでテストするため、 サービスの全停止を防ぐことができる
16.
16 Deployment Tools
17.
AWSが提供する様々なデプロイツール/サービス 17 CloudFormation CodeDeploy Elastic Beanstalk
OpsWorks Stacks SAM AMI
18.
アプリケーション実行プラットフォーム 18 EC2 Elastic Beanstalk OpsWorks Stacks LambdaECS
19.
デプロイメントツールの選択肢 19 EC2 Platform Deployment Tool CloudFormation + Custom AMI CodeDeploy Elastic Beanstalk OpsWorks Stacks Elastic Beanstalk OpsWorks Stacks LambdaECS CloudFormation (SAM)CloudFormation + ECS/ECR EC2(仮想マシン) Dockerコンテナ
サーバーレス
20.
デプロイメントツールの選択肢 20 EC2 Platform Deployment Tool CloudFormation + Custom AMI CodeDeploy Elastic Beanstalk OpsWorks Stacks Elastic Beanstalk OpsWorks Stacks LambdaECS CloudFormation (SAM)CloudFormation + ECS/ECR EC2(仮想マシン) Dockerコンテナ
サーバーレス
21.
AWS CodeDeploy 21 ✤ アプリデプロイに特化したサービス –
指定したグループに、指定したファイルを、 指定した割合ずつデプロイ – 安全にデプロイするための様々な機能を提供 – In-Place, Blue/Greenに対応 ✤ エージェントを入れれば利用可能 – Pull型のデプロイ – Linux & Windows対応 ✤ デプロイに関連するアプリ再起動などの 処理をフックスクリプトで実行可能 Staging Production Dev Deployment groups Agent Agent Agent Agent Agent Agent Agent AWS CodeDeployv1, v2, v3
22.
CodeDeploy - デプロイの流れ 配布物をアップロード(S3 またはGitHubリポジトリ) CodeDeployに デプロイを指示 CodeDeploy
Agentが ポーリングしデプロイ指示を検知 CodeDeploy Agentが配布物をダ ウンロードし、AppSpecファイルに 従ってデプロイを実行
23.
CodeDeploy - リビジョンとロールバック リビジョン ✤
ソースコード、Webページ、実行ファイル、スクリプトなどと AppSpecファイルをまとめたアーカイブ - Linux: zip, tar, compressed tar - Windows: zip ✤ S3バケットやGitHubリポジトリに保存 ロールバック ✤ 以前デプロイされたリビジョンを再デプロイできる ✤ デプロイメントが失敗した際に自動的にロールバックするようにデ プロイメントグループを設定することが可能
24.
CodeDeploy - デプロイメントグループ ✤
アプリケーションをデプロイする単位を指定 ✤ リビジョンとグループを指定してデプロイする ✤ 下記のいずれか、または両方で指定可能 - EC2 タグ - Auto Scaling グループ ✤ カナリアリリースにも利用可能 Dev Test Prod v2.0 v1.2 v1.1 v2.0 v1.2 v1.1 v2.0 v1.2 v1.1
25.
v2 v1 v1
v1 v1 v1 v1 v1 v2 v2 v1 v1 v1 v1 v1 v1 v2 v2 v2 v2 v1 v1 v1 v1 v2 v2 v2 v2 v2 v2 v2 v2 One-at-a-time Min. healthy hosts = 99% [Custom] Min. healthy hosts = 75% Half-at-a-time Min. healthy hosts = 50% All-at-once Min. healthy hosts = 0 CodeDeploy - デプロイメント構成
26.
CodeDeploy - Blue/Greenデプロイ 26 ✤
Green環境へのデプロイとCLB/ALBでのSwapをCodeDeployが実行 ✤ Green環境は以下の2パターンをサポート - 既存のAuto Scalingグループのコピー - 事前に構築済みのGreen環境用のインスタンス群(デプロイメントグループ) ALB Target Group Target Group 0. ASG Copy 1. Deploy 2. Swap
27.
デプロイメントツールの選択肢 27 EC2 Platform Deployment Tool CloudFormation + Custom AMI CodeDeploy Elastic Beanstalk OpsWorks Stacks Elastic Beanstalk OpsWorks Stacks LambdaECS CloudFormation (SAM)CloudFormation + ECS/ECR EC2(仮想マシン) Dockerコンテナ
サーバーレス
28.
CloudFormation + Custom
AMI 28 Step1: 新規ノードに最新のアセットを デプロイしCustom AMIを作成 v1 v2 v2 Step2: CloudFormationでCustomAMI からGreen環境 (AutoScalingGroupなど)を作成 Step3: Blue環境からGreen環境へSwap (Swap作業もCLI/SDKを利用し た自動化を推奨) ✤ CloudFormationはAWSリソース をテンプレート化しデプロイする サービス - アプリを含めたAMIからインスタンス ごとデプロイ - アプリのデプロイサービスではない ため、In-Placeデプロイはできない ✤ CodeDeployとの組み合わせも可 - MWまでをAMI化し、アプリは起動時 にCodeDeployでIn-Placeデプロイ
29.
AMIにどこまでいれるか? Linux J2EE アプリコード Log4J Spring Hibernat e Struts Tomcat Apache Linux J2EE アプリコード Log4J Spring Hiberna te Struts Tomcat Apache EC2 L i n u x J E E Y o u r C o d e L o g 4 J S p r i n gH i b e r n a t e S t r u t s T o m c a t A p a c h e L i n u x J E E Y o u r C o d e L o g 4 J S p r i n gH i b e r n a t e S t r u t s T o m c a t A p a c h e L i n u x J E E Y o u r C o d e L o g 4 J S p r i n gH i b e r n a t e S t r u t s T o m c a t A p a c h e L i n u x J E E Y o u r C o d e L o g 4 J S p r i n gH i b e r n a t e S t r u t s T o m c a t A p a c h e アプリ コード Amazon S3 Log4J Spring Struts Linux J2EE Hiberna te Tomcat Apache Linux J2EE アプリ コード Amazon S3 Hiberna te Tomcat Log4J Spring Struts Apache EC2 L i n u x J E E H i b e r n a t e T o m c a t A p a c h e L i n u x J E E H i b e r n a t e T o m c a t A p a c h e L i n u x J E E H i b e r n a t e T o m c a t A p a c h e EC2 Linu x JEE Linu x JEE Chef Chef スクリプト Java AMIJavaスタック Java
AMI AMI 起動時取得 起動時取得 起動時取得 [1]全部入りAMI [2]Golden Image [3]最小構成AMI 29
30.
AMIにどこまでいれるか? 方式 メリット デメリット [1]全部入りAMI
同一性の確保 起動時間が早い デプロイ毎にAMIを作り直す 必要がある [2]GoldenImage あとはアプリコードのみ最新 を取得すれば良く扱いやすい [3]最小構成AMI 柔軟に中身を変更できる 起動処理に時間がかかる。場 合によっては外部ライブラリ が取得できないことも 30
31.
Custom AMI の継続的インテグレーション 31
https://aws.amazon.com/jp/blogs/news/how-to-create-an-ami-builder-with-aws-codebuild-and-hashicorp-packer/
32.
デプロイメントツールの選択肢 32 EC2 Platform Deployment Tool CloudFormation + Custom AMI CodeDeploy Elastic Beanstalk OpsWorks Stacks Elastic Beanstalk OpsWorks Stacks LambdaECS CloudFormation (SAM)CloudFormation + ECS/ECR EC2(仮想マシン) Dockerコンテナ
サーバーレス
33.
Elastic Beanstalk 33 ✤ 速く簡単にアプリケーションをデプロイ可能 ✤
インフラストラクチャの準備&運営からアプリ ケーションスタックの管理まで自動化 ✤ Auto Scalingによりコストを抑えながらスケー ラビリティを確保 ✤ Java, PHP, Ruby, Python, Node.js, .NET, Docker, Go, カスタムプラットフォームに対応 定番構成の構築・アプリデプロイの自動化サービス
34.
Elastic Beanstalk -
デプロイの選択肢 34 http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/using-features.deploy-existing-version.html 方式 失敗時の影響 時間 ダウンタイム ELB 暖気 DNS切替 ロールバック デプロイ先 All at once ダウンタイム発 生 🕐 ダウンタイ ム発生 不要 無し 再デプロイ 既存 Rolling 1バッチ分だけ サービスアウト 🕐🕐 (バッチサイ ズに依存) 無し 不要 無し 再デプロイ 既存 Rolling with additional batch 最初のバッチで あれば最小 🕐🕐🕐 (バッチサイ ズに依存) 無し 不要 無し 再デプロイ 新規+既存 Immutable 最小 🕐🕐🕐🕐 無し 不要 無し 再デプロイ 新規 Blue/Green (URL swap) 最小 🕐🕐🕐🕐 無し 必要 有り URL swap 新規 Route53 による切替 最小 🕐🕐🕐🕐 無し 必要 有り URL swap 新規
35.
デプロイメントツールの選択肢 35 EC2 Platform Deployment Tool CloudFormation + Custom AMI CodeDeploy Elastic Beanstalk OpsWorks Stacks Elastic Beanstalk OpsWorks Stacks LambdaECS CloudFormation (SAM)CloudFormation + ECS/ECR EC2(仮想マシン) Dockerコンテナ
サーバーレス
36.
OpsWorks Stacks 36 ✤ Chefのレシピを使って、デプロイや運用 タスクを自動化 ✤
ライフサイクルイベントにより動的な構成 変更への対応が可能 ✤ アプリデプロイに特化した機能が使いたい 場合はCodeDeployと併用も可能 アプリケーションやデータベースの構成管理サービス AWS OpsWorks スタック LBレイヤー Webレイヤー DBレイヤー EC2インスタンス上の OpsWorksエージェント
37.
OpsWorks Stacks -
デプロイ方法 37 http://docs.aws.amazon.com/ja_jp/opsworks/latest/userguide/best-deploy.html ✤ OpsWorksのスタックコマンドをインスタンスを指定して実行 – Deploy コマンド (アプリケーション用) – Update Custom Cookbooks コマンド (クックブック用) ✤ ローリングデプロイやBlue/Greenデプロイなどの仕組みはOpsWorks の機能にはないため、自動化したい場合個別の作り込みが必要 – ローリングデプロイ ヘルスチェックを確認しながら1台づつDeployコマンドを実行する – Blue/Green 新規スタック作成〜SwapまでをCloudFormationなどで自動化する
38.
デプロイメントツールの選択肢 38 EC2 Platform Deployment Tool CloudFormation + Custom AMI CodeDeploy Elastic Beanstalk OpsWorks Stacks Elastic Beanstalk OpsWorks Stacks LambdaECS CloudFormation (SAM)CloudFormation + ECS/ECR EC2(仮想マシン) Dockerコンテナ
サーバーレス
39.
CloudFormation + ECS/ECR 39 Step1: DockfileからDockerイメージを Buildし、ECRにPush Cluster Step2: CloudFormationのテンプレート でタスク定義内のECRのイメー ジタグを更新しUpdateStack (ECSサービスの初回作成も CloudFormationで実施する) Step3: ECSのサービス更新がおこなわれ、 新規タスクがローリングデプロイ される ✤
ECSサービスの更新では、新しい Task定義で新規タスクをデプロ イし古いタスクを削除していく ✤ CloudFormationでタスク定義、 ECSサービスの作成/更新をおこ なうことでデプロイ自動化が可能
40.
ECS – Greenテストとカナリアリリース 40 https://aws.amazon.com/jp/blogs/news/bluegreen-deployments-with-amazon-ecs/ https://github.com/awslabs/ecs-canary-blue-green-deployment Route 53 ALBALB Target
Group Target Group ✤ ECSのマネージド更新もBlue/Greenデプ ロイ(コンテナが入れ替わる)だが、自動的 にローリングアップデートされてしまう ✤ Green環境でのテストやカナリアリリース をおこないたい場合、別途ECSサービスを 作成する ✤ 切替方式はEC2と同様DNS Cutoverか Swap LoadBalancerで ✤ カナリアリリースしたい場合Route53の 加重ルーティングがおすすめ
41.
デプロイメントツールの選択肢 41 EC2 Platform Deployment Tool CloudFormation + Custom AMI CodeDeploy Elastic Beanstalk OpsWorks Stacks Elastic Beanstalk OpsWorks Stacks LambdaECS CloudFormation (SAM)CloudFormation + ECS/ECR EC2(仮想マシン) Dockerコンテナ
サーバーレス
42.
Serverless Application Model ✤
サーバレスアプリに最適化したAWS CloudFomationの拡張 ✤ サーバレスアプリ用の新たなリソースタイプ - 関数 - API - テーブル ✤ CloudFormationがサポートしているすべてのものをサポート ✤ 既存のファンクションをSAMテンプレートとしてエクスポート可能 ✤ オープンな仕様(Apache 2.0) 42 http://docs.aws.amazon.com/ja_jp/lambda/latest/dg/with-ct-example-use-app-spec.html
43.
SAM − デプロイの流れ Step1
: SAMの表記方法でCloudFormation テンプレートを作成する Step2 : AWS CLIのcloudformation package コマンドでパッケージ化し、S3バケッ トに格納する Step3 : AWS CLIのcloudformation deploy コマンドでパッケージをデプロイする 43 AWSTemplateFormatVersion: '2010-09-09’ Transform: AWS::Serverless-2016-10-31 Resources: FunctionName: Type: AWS::Serverless::Function Properties: Handler: handler Runtime: runtime CodeUri: s3://bucketName/codepackage.zip aws cloudformation package ¥ --template-file /path_to_template/template.yaml ¥ --s3-bucket bucket-name ¥ --output-template-file packaged-template.yaml aws cloudformation deploy ¥ --template-file /path_to_template/packaged-template.yaml ¥ --stack-name my-new-stack ¥ --capabilities CAPABILITY_IAM
44.
44 Continuous Deployment
45.
CI/CDパイプライン Source Build Test
Deploy 継続的インテグレーション 継続的デプロイメント 継続的デリバリー
46.
AWS Code Services AWS
CodeCommit ✤ セキュア、スケーラブルなGit互換のリポジトリサービス ✤ スタンダードなGit Toolからアクセス可能 ✤ PushなどのイベントをトリガーにSNS/Lambdaを呼び出し可能 AWS CodeBuild ✤ スケーラビリティに優れたビルドサービス ✤ ソースのコンパイル、テスト、パッケージ生成をサポート ✤ Dockerイメージの作成も可能 AWS CodePipeline ✤ リリースプロセスのモデル化と見える化を実現 ✤ カスタムアクションによる柔軟なパイプライン作成が可能 ✤ 様々なAWSサービスや3rdパーティ製品との統合をサポート
47.
CodePipelineがサポートするデプロイパターン(2017年8月時点) 47 EC2 Platform Deployment Tool CloudFormation + Custom AMI CodeDeploy Elastic Beanstalk OpsWorks Stacks Elastic Beanstalk OpsWorks Stacks LambdaECS CloudFormation (SAM)CloudFormation + ECS/ECR EC2(仮想マシン) Dockerコンテナ
サーバーレス ※OpsWorks Stacksは東京リージョン未対応
48.
EC2の継続的デプロイメント 48 Developers AWS CodeCommit AWS CodePipeline AWS CodeBuild AWS CodeDeploy 1.git pushで リポジトリを更新 2.CodePipeline が更新を 検知しパイプラインを開始 4.CodeDeployがEC2に 新バージョンのアプリケーション アセットをデプロイ 3.CodeBuildがソースをビルドし、 ビルドアーティファクトを S3バケットに格納 S3
Bucket EC2
49.
ECSの継続的デプロイメント 49 Developers AWS CodeCommit AWS CodePipeline AWS CodeBuild AWS CloudFormation Amazon ECS Amazon ECS/ECR 1.git pushで リポジトリを更新 2.CodePipeline
が更新を検知し パイプラインを開始 4.CloudFormationが ECRのDockerイメージを ECSクラスタに展開 3.CodeBuildがDockerイメージを ビルドしECRへプッシュ https://aws.amazon.com/jp/blogs/news/continuous-deployment-to-amazon-ecs-using-aws- codepipeline-aws-codebuild-amazon-ecr-and-aws-cloudformation/
50.
サーバーレスアプリの継続的デプロイメント 50 Developers AWS CodeCommit AWS CodePipeline AWS CodeBuild AWS CloudFormation 1.git pushで リポジトリを更新 2.CodePipeline が更新を 検知しパイプラインを開始 4.CloudFormationの Create/Execute
Changeset を実行しSAMパッケージをデプロイ 3.CodeBuildがpackageコマンド でパッケージ化し、生成したパッ ケージをS3バケットに格納 S3 Bucket Serverless Application https://d0.awsstatic.com/events/jp/2017/summit/devday/D4T7-6.pdf
51.
51 AWS CodeStar
52.
AWS CodeStar AWS上にアプリケーションをすばやく開発・ビルド・デプロイ AWS上での開発をわずか数分間で開始 チームをまたがった開発をセキュアに ソフトウェアデリバリの管理を容易に 様々なプロジェクトテンプレートから選択
53.
Step1 : プロジェクトテンプレート選択
54.
Step1 : プロジェクトテンプレート選択
55.
Step2 : 開発ツールセットアップ
56.
Complete!
57.
セットアップ内容 ✤ サンプルアプリケーション - EC2
or Beanstalk or Lambda ✤ CodeCommitリポジトリ ✤ CodeBuildビルドプロジェクト ✤ デプロイツール - CodeDeploy or Beanstalk or CloudFormation ✤ CodePipeline 継続的デプロイメントパイプライン ✤ CloudWatchメトリクス ✤ プロジェクトダッシュボード
58.
Project Dashboard CloudWatchメトリクス CodeCommit Appエンドポイント CodePipelineJIRA統合メニュー
59.
CodeStarがサポートするデプロイパターン(2017年8月時点) 59 EC2 Platform Deployment Tool CloudFormation + Custom AMI CodeDeploy Elastic Beanstalk OpsWorks Stacks Elastic Beanstalk OpsWorks Stacks LambdaECS CloudFormation (SAM)CloudFormation + ECS/ECR EC2(仮想マシン) Dockerコンテナ
サーバーレス
60.
60 FAQ
61.
EC2(仮想マシン)へのデプロイ方法の選択方針は? 61 ✤ プラットフォームの選択 – EC2は一番汎用性があり、新機能がすぐに使える –
Beanstalk, OpsWorks Stacksはアプリ、MW、インフラなどの構成管理を 任せられる一方、仕様や制約を受け入れる必要がある ✤ デプロイツールの選択 – より”アプリケーションのデプロイ”に特化しているのはCodeDeployと Elastic Beanstalk – アプリデプロイだけでなくインフラのプロビジョニングも考慮し、 CloudFormationとその他の各ツールを組み合わせで使うのがベスト
62.
本番、開発など複数環境への対応は? 62 ✤ 環境変数などを利用して、ソースコードから設定情報を分離する – EC2(AMI):インスタンスタグ –
CloudFormation:Parameters セクション – Elastic Beanstalk: .ebextensionsのnamespaceオプション – OpsWorks Stacks:アプリケーション環境変数 – ECS:タスク定義のenvironmentプロパティ(コンテナ環境変数) – Lambda:Lambda関数の環境変数 ✤ 実装例 on EC2 – タグ値に変数を指定し、 user-dataなどで指定した起動スクリプト 内インスタンス起動時にインスタンス内部の環境変数を書き変える – インスタンスメタデータで自身のインスタンスIDを取得し、 describe-instanceでタグ値を確認する http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-instance-metadata.html
63.
パスワード等の秘密情報を上手く扱うには? ✤ EC2 Systems
Managerのパラメータストアを使う – AWS Key Management Service (KMS)の鍵を使って暗号化しな がらパラメータを保存可能 – そのKMSの鍵を扱える権限を持っている場合のみ、復号しながら 取り出すことが可能 ✤ 実装例 on ECS – コンテナのEntrypointでパラメータストアから情報を取り出し、 アプリケーションに環境変数で渡す – そのコンテナのタスクには、対応するKMSの鍵を操作できる権限 を持ったIAMロールを指定する https://aws.amazon.com/jp/blogs/news/managing-secrets-for-amazon-ecs-applications-using- parameter-store-and-iam-roles-for-tasks/63
64.
デプロイにおけるDevとOpsの役割分担は? ✤ DevとOpsの責任共有モデルを作る – サービスはアプリとインフラが揃って正常に稼働する ⇒アプリ=Dev、インフラ=Opsという分担はしない –
サービスのリリースプロセスの中で分界点を考える ⇒テスト環境まではDev、本番環境からはOpsなど ✤ 同一性が担保しやすいコンポーネントを分界点とする – AMI – Dockerイメージ – CloudFormationテンプレート – Green環境 64
65.
まとめ ✤ デプロイパターン – AWSはBlue/Greenやカナリアリリースといったデプロイパターン をサポートするツール/サービスを多数提供 –
Blue/Greenの切替はLBまたはDNSで実現する – カナリアリリースにはRoute53の加重ルーティングを活用する ✤ デプロイツール – プラットフォームに合わせて最適なツールを選択する – 運用形態に合わせて複数のツールを組み合わせて最適化する ✤ 継続的デプロイ – Codeサービスを活用しフルマネージドのパイプラインを構築可能 65
66.
66 Any Questions?
67.
参考情報 ✤ ホワイトペーパー – Blue/Green
Deployments on AWS – AWS での継続的統合と継続的デリバリーの実践 – Infrastructure as Code ✤ クラウド活用資料集 – 開発者ツールカテゴリ – 管理ツールカテゴリ – AWSのプロビジョニングからデプロイまで 67
68.
68
Download