以下メモ

AWS Elastic Beanstalk

速く簡単に、不便を感じることなくアプリケーションをデプロイ、管理、スケーリングできるサービス。

ユースケース

クラウドとはいえ、各サービスの設定は非常に面倒。 自分はただWebアプリケーションを作りたいだけなのに、いつもサービスの設定やトラブルシューティングに時間を取られる。例えばデータベース、ファイアウォール、ネットワークの設定、AWSでもAuto Scalingのトリガー設定、AZの設定、セキュリティグループの設定、ELBのヘルスチェックの設定など、煩わしいものが付いて回る。

こういった面倒な設定作業を全て、完全に自動で行ってくれるサービスがAWS Elastic Beanstalkだ。 利用者は、基本的なインフラストラクチャのコントロールを維持しながら、迅速にアプリケーションをデプロイすることができる。

はじめ方

Elastic BeanstalkはAmazonマネジメントコンソールから始めることができる。 Node.jsやRubyなどのプラットフォーム、EC2インスタンスタイプとストレージ、その他VPCなどのオプションを選択してアプリケーションをアップロードするだけで簡単に開始できる。 これだけで、Elastic Beanstalkがプロビジョニング、負荷分散、自動拡張、アプリケーションの状態監視などの開発以外の作業を自動処理してくれる。

一度デプロイしてアプリケーションが実行された後は、いくつかの管理機能を使って設定の変更や状態の監視が可能になる。これらの各種環境、サービスのまとまりはElastic Beanstalkによってアプリケーションという単位で包括管理される。

特徴

一度実行されたアプリケーションでは、いくつかの管理機能を利用することができる。例えば、このようなものがある。

  • 内蔵されたリソースモニタリング機能でCloudWatchメトリックスを閲覧
    • サーバーのヘルスや、CPUの平均使用率、リクエスト数など
  • アプリケーションサーバーにログインすることなくログファイルにアクセス
  • トラブルシューティングのため、迅速にEC2インスタンスにログインする仕組み
  • コマンド1つで全てのEC2インスタンスを操作可能
  • アプリケーションのCPUとメモリ要件に最も一致するEC2インスタンスタイプを選択できる
  • AWSで提供されているものや、それ以外のデータベースとストレージを選択可能
    • Amazon DynamoDBや、SQL Server、Oracle、IBM DB2など
  • Auto Scalingでの、自動的なメトリックスやしきい値のコントロール
  • アプリケーション、プロキシサーバー、プラットフォームの自動更新

自動的な設定

Elastic Beanstalkを開始するだけで、以下の設定を自動的に行なってくれる。これらは管理コンソールでいつでもリソースを微調整でき、完全な制御が可能だ。いつでもインフラの一部または全てのリソースを制御できるので、事前に決定された設定を使い続ける必要もない。

  • 仮想サーバ
  • ストレージ
  • ロードバランサ
  • ファイアウォール
  • Auto Scaling
  • Cloud Watch
  • Amazon SNS
  • データベース
  • ネットワーク
  • ドメイン
  • AZ

課金

Elastic Beanstalkに追加料金はかからない。アップロードしたアプリケーションの保存、実行するためのS3やEC2等のAWSリソースに対してのみ課金される。

デプロイ

ブラウザからアプリケーションのzipをアップロードすることでデプロイできる。また、AWS EB CLIを利用してコンソールからデプロイすることも可能。

デプロイされたアプリケーションにはそれぞれバージョンを設定でき、簡単に新しいバージョンをデプロイ、または以前のバージョンにロールバックすることができる。

まとめ

Elastic Beanstalkにより、インフラ管理や設定に時間を書けることなく、優れたウェブ・モバイルアプリの構築に集中できる。クリック操作で素早く簡単に始められるので、市場に投入するまでの時間を短縮することもできる。

参考

https://aws.amazon.com/jp/elasticbeanstalk/

results matching ""

    No results matching ""