はじめに
AWSのElastic Beanstalkをblack Belt Online Seminerの資料等を参考に学習したので、内容をまとめます。
背景
著者は転職活動中ですが、志望する企業でDevOpsの知識が必要となるため、DVAの資格取得の学習をしています。
AWS Elastic Beanstalkとは
定番環境の構築・アプリケーションデプロイの自動化サービス。
定番構成
新しい環境の作成画面から環境枠を選択できる。
- ウェブサーバー環境:ELB + Auto Scalingでスケーラブルなウェブアプリを構築。
- ワーカー環境:SQS + Auto Scalingでスケーラブルなバッチ処理基盤を構築。
環境の構築方法
- AWS Management Console
- IDEツール
- SDK、CLI
- EB Command Line Interface:ハイレベルな操作が可能。
デプロイに関する用語
- In Place Deployment:新しいコードをその場で反映
- Blue/Green Deployment:新しいコードを新しいインスタンスに反映させ、インスタンスを入れ替える
デプロイ手法
手法 | 方式 | 説明 |
---|---|---|
All at Once | In Place | 全インスタンスに同時にデプロイ |
Rolling | In Place | 一台ずつデプロイ |
Rolling with additional batch | In Place & Blue/Green | 新インスタンスを構築し稼働台数が変わらないようにデプロイ |
Immutable | Blue/Green | 新しい環境のリリース後、ヘルスチェックをしロードバランシングを切り替える |
(URL Swap , Route 53による環境切り替え) | Blue/Green | 新しい環境のリリース後、URLやCNAMEレコードを交換する |
主な設定ファイル(DVA試験対策)
- .ebextensions:ソースコードに含めて各構成ファイルを配置する。
- env.yaml:環境の名前、ソリューションスタックと環境リンクを設定する
- cron.yaml:ワーカー環境に設定することで繰り返しタスクやスケジュール設定されたタスクセットを非同期で実行