Elastic Beanstalk vs.Do It Yourself
On-instance configuration
Your code
HTTP Server
Application Server
Language Interpreter
Operating System
Host
8
9.
On-instance configuration
Your code
HTTPServer
Application Server
Language Interpreter
Operating System
Host
アプリケーションの開発
”だけ”にフォーカス
Elastic Beanstalkにお任せ!
Elastic Beanstalk vs. Do It Yourself
9
eb init によるアプリケーション作成とデフォルト環境設定の定義
•eb initのプロンプト: リージョンの選択
Select a default region
1) us-east-1 : US East (N. Virginia)
2) us-west-1 : US West (N. California)
3) us-west-2 : US West (Oregon)
4) eu-west-1 : EU (Ireland)
5) eu-central-1 : EU (Frankfurt)
6) ap-southeast-1 : Asia Pacific (Singapore)
7) ap-southeast-2 : Asia Pacific (Sydney)
8) ap-northeast-1 : Asia Pacific (Tokyo)
9) sa-east-1 : South America (Sao Paulo)
10) cn-north-1 : China (Beijing)
(default is 3):
24
25.
• eb initのプロンプト:アプリ名/スタック/SSH/Keypair
Enter Application Name
(default is "eb-node-express-sample"):
It appears you are using Node.js. Is this correct?
(y/n): y
Do you want to set up SSH for your instances?
(y/n): y
Select a keypair.
1) mykey
2) [ Create new KeyPair ]
(default is 2): 1
25
eb init によるアプリケーション作成とデフォルト環境設定の定義
eb create による環境作成
•eb createのプロンプト: Environment/CNAME/Deploy
Enter Environment Name
(default is eb-node-express-sample):
Enter DNS CNAME prefix
(default is eb-node-express-sample):
Creating application version archive "5529".
Uploading eb-node-express-sample/5529.zip to S3. This may
take a while.
Upload Complete.
Environment details for: eb-node-express-sample
Application name: eb-node-express-sample
Region: us-west-2
Deployed Version: 5529
Environment ID: e-ufxx79fmkc27
Elastic Beanstalkにおけるデプロイの選択肢
• デプロイポリシーに従った既存環境へのデプロイ
All at once
Rolling
Rolling with additional batch
Immutable
• URL Swap による既存環境と新環境の切替
• Amazon Route 53 を利用した既存環境と新環境の切替
33
In Place
In Place & Blue/Green
Blue/Green
参考:http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/using-features.deploy-existing-version.html
34.
デプロイポリシーを理解する(1/7)
All at onceRolling
Rolling with additional batch Immutable
現 現 現
現 現 現 現 現 現
バッチタイプ:固定
バッチサイズ:2台
34
現 現 現
バッチタイプ*:固定
バッチサイズ*:2台
*バッチタイプ、バッチサイズについては後述
参考:http://docs.aws.amazon.com/ja_jp/elasticbeanstalk/latest/dg/using-features.rolling-version-deploy.html
【凡例】
ヘルスチェックが成功し、
リクエストを処理可能
ヘルスチェックを実行中
デプロイメント実行中
ローカルでのDockerコンテナの実行
• EB CLIで実行可能
$ eb local run
- 開発時に便利なコマンド群
$ eb local status
$ eb local open
$ eb local logs
$ eb local run
Creating elasticbeanstalk_phpapp_1...
Creating elasticbeanstalk_nginxproxy_1...
Attaching to elasticbeanstalk_phpapp_1, elasticbeanstalk_nginxproxy_1
phpapp_1 | [23-Apr-2015 23:24:25] NOTICE: fpm is running, pid 1
phpapp_1 | [23-Apr-2015 23:24:25] NOTICE: ready to handle connections
80