AWS
Beanstalk

自分用AWS クラウドサービス活用資料集メモ AWS Elastic Beanstalk編

More than 1 year has passed since last update.


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も対応しており複数コンテナも利用可能

  • 時間指定のスケーリングも可能