AWS クラウドサービス活用資料集メモ
サービス別資料
コンピューティング
AWS Elastic Beanstalk
情報元: AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
- 定番構成の構築・アプリデプロイの自動化サービス
- 早く簡単にアプリケーションをデプロイ可能
- インフラの準備&運営からアプリケーションスタックの管理まで自動化
- Auto Scalingに対応
- Java, PHP, Ruby, Python, Node.js, .NEET, Docker, Goに対応
- 追加料金無し
- Webサーバ環境とワーカー環境の2種類が用意されている
- 構成
- アプリケーション: バージョン、環境、環境設定が含まれているトップレベルの論理単位
- バージョン: デプロイ可能なコードでS3上でバージョン管理される。また異なる環境に異なるバージョンをデプロイ可能
- 環境: インフラ環境、ソースコードがデプロイされる
- 環境設定: EC2インスタンスタイプ、Auto Scaling等の設定パラメータ
- eb initでアプリケーションの作成、eb createで環境作成、コードのデプロイ、eb deployでデプロイ
- In Place Deployment, Blue/Green Deployment両方対応
- デプロイ方式
- All at once
- Rolling
- Rolling with additional batch
- Immutable
- URL swap
- Route53による切り替え
- デプロイ対象(軽微なのか、大きい改修なのか)、デプロイに掛かる時間、既存環境への影響(ダウンタイム、一時的に利用可能な台数)等のトレードオフを考える、DNSキャッシュ
- 環境設定(インスタンスタイプ等)変更時のインスタンス置き換え方法
- 無効: All at Onceでアップデート
- ヘルスに基づくローリング: ヘルスチェックの結果が正常なら次のバッチをアップデート
- Immutable: 新規インスタンスを作成して入れ替え
- マネージドプラットフォーム更新: 自動的に最新バージョンのAMIに更新。ただし更新方式はImmutable方式
- .ebextensions: デフォルトの環境設定にはないカスタマイズが行える(DynaomoDBの作成やソフトのインストール等)
- Dockerもサポート。ECSも対応しており複数コンテナも利用可能
- 時間指定のスケーリングも可能