AWS Elastic Beanstalk は、AWS クラウドのアプリケーションを迅速にデプロイし管理できるより簡単な方法です。お客様は単にそのアプリケーションをアップロードするだけで、Elastic Beanstalk が自動的に容量のプロビジョニング、負荷分散、Auto Scaling 、およびアプリケーション状態モニタリングといったデプロイの詳細を処理します。同時に Elastic Beanstalk では、お客様のアプリケーションを稼動している AWS リソースの完全なコントロールを維持でき、いつでも基本的なリソースにアクセスすることができます。Elastic Beanstalk は、Amazon Elastic Cloud Compute(Amazon EC2)、Amazon Simple Storage Service(Amazon S3)、Amazon Simple Notification Service(Amazon SNS)、Elastic Load Balancing、Auto Scaling といった AWS のサービスを活用し、今日数十万というビジネスが依存しているのと同様の高い信頼性、拡張性、費用対効果のインフラストラクチャを提供します。AWS Elastic Beanstalk は簡単に開始でき、不足を感じることなく利用できます。
サービスソリューションとして現在存在するほとんどのアプリケーションコンテナやプラットフォームでは、必要なプログラミングの量を削減している一方で、開発者の柔軟性とコントロールが大幅に減少されています。開発者はベンダーによる事前判断の決定を強いられ、そのアプリケーションのインフラストラクチャの様々な部分のコントロールを維持する機会がほとんど、あるいはまったくありません。しかし、Elastic Beanstalk なら、お客様のアプリケーションを稼動している AWS リソースの完全なコントロールを維持することができます。インフラストラクチャ要素の一部(またはすべて)を引き受けたい場合は、Elastic Beanstalk の管理機能を使ってシームレスにそれを行うことができます。
Elastic Beanstalk は、アプリケーションの簡易な移植性を確保するために、Apache HTTP Server for PHP や Apache Tomcat for Java などの使い慣れたソフトウェアスタックを使用して構築されています。Elastic Beanstalk には追加料金はかかりません。アプリケーションを格納・実行するために必要な AWS のリソースに対してのみお支払いいただきます。
AWS Elastic Beanstalk で .NETアプリケーションをデプロイするには、以下を実行するだけです。
http://myapp.elasticbeanstalk.com/)。AWS Elastic Beanstalk で PHP アプリケーションをデプロイするには、以下を実行するだけです。
http://myapp.elasticbeanstalk.com/)。 AWS Elastic Beanstalk で Java アプリケーションをデプロイするには、以下を実行するだけです。
http://myapp.elasticbeanstalk.com/)。
一旦アプリケーションが実行された後は、Elastic Beanstalk で以下のようないくつかの管理機能を利用することができます。
Elastic Beanstalk では、開発者は自分のアプリケーションを稼動している AWS リソースの完全なコントロールを維持でき、Elastic Beanstalk 管理コンソールでデフォルト設定を調整することにより、以下のような様々な機能を実行することができます。
簡単に開始 – Elastic Beanstalk は、AWS にアプリケーションをデプロイする迅速かつ簡単な方法です。AWS Management Console、Git のデプロイ、または Eclipse などの統合開発環境(IDE)を使用してアプリケーションをアップロードするだけで、Elastic Beanstalk が自動的に容量のプロビジョニング、負荷分散、Auto Scaling、およびアプリケーション状態モニタリングといったデプロイの詳細を処理します。インフラストラクチャやリソースの設定をすることなく、数分内にアプリケーションが使用できるようになります。
不足を感じることはありません – Elastic Beanstalk は、デフォルトの Auto Scaling 設定に基づき、自動的にアプリケーションの拡大・縮小を行います。特定のアプリケーションのニーズに基づいて、簡単に Auto Scaling の設定を調整することができます。例えば、Auto Scaling のアクションをトリガするために CPU を利用することができます。Elastic Beanstalk により、コストを最小限に抑えながら、アプリケーションはワークロードやトラフィックのピークを処理することができます。
完全なコントロール – Elastic Beanstalk ではドアが全開されていて、お客様のアプリケーションを稼動している AWS リソースの完全なコントロールを維持できます。インフラストラクチャ要素のいくつか(またはすべて)を引き受けたい場合は、 Elastic Beanstalk の管理機能を使ってシームレスにそれを行うことができます。例えば、Elastic Beanstalk コンソールを介して、ログファイルを見る、アプリケーションの状態を監視する、Auto Scaling ルールを設定する、Eメール通知を設定する、さらに環境変数をパスすることができます。
柔軟性 – CPU とメモリの要件に応じて、アプリケーションに最適な Amazon EC2 インスタンスのタイプを、いくつかの利用可能なデータベースのオプションから選択することができます。例えば、ウェブアプリケーションに容量の大きいメモリフットプリントがある場合は、ハイメモリ インスタンスで構成されるデプロイを指定することができます。
高い信頼性 – Elastic Beanstalk は、Amazon の実績のあるネットワークインフラストラクチャとデータセンター内で実行され、開発者が高い耐久性と可用性を必要とするアプリケーションを実行することができる環境を提供します。
Elastic Beanstalk には追加料金はかかりません。お客様のアプリケーションが消費する基本的な AWS リソース(例、Amazon EC2、Amazon S3)に対してのみお支払いいただきます。
AWS 無料使用範囲の対象となる新しい AWS のお客様は、無料でアプリケーションを Elastic Beanstalk でデプロイすることができます。Elastic Beanstalk のデフォルト設定で、費用をかけずに無料使用範囲内で、低トラフィックのアプリケーションを実行することができます。それらのアプリケーションが、デフォルト環境が提供する以上のリソースを必要とする場合は、お客様にはアプリケーションが消費する追加分のリソースの通常の AWS レートが課金されます。
Elastic Beanstalk でのウェブサイト実行の費用は、ウェブサイトのトラフィックを処理するために必要な Amazon EC2 インスタンス数、アプリケーションによって消費される帯域幅、アプリケーションが使用するデータベースやストレージオプションなど、いくつかの要因に基づき異なります。ウェブアプリケーションの主なコストは、通常、Amazon EC2 インスタンス(複数可)と、アプリケーションを実行するインスタンス間のトラフィックを分散させる Elastic Load Balancing の費用となります。
以下の表には、例として、Elastic Beanstalk のデフォルト設定で低トラフィックのウェブサイトを実行する場合の月間コストを、無料使用範囲がある場合とない場合の両方で示しました。
| サービスとリソース | ユニット | コスト詳細 | コスト |
|---|---|---|---|
| Amazon EC2 t1. マイクロインスタンス | 1 | $0.02/時間 X 24時間 X 30日 | $14.40 |
| Elastic Load Balancer | 1 | $0.025/時間 X 24時間 X 30日 | $18.00 |
| Elastic Load Balancer データプロセッシング | 15 GB | $0.008/GB X 15GB | $0.12 |
| Elastic Block Store 容量 | 8 GB | $0.10/GB X 8GB | $0.80 |
| WAR ファイルの S3 ストレージとアクセス | 1 GB | 0.125 USD/1GB + 0.01 USD(1,000 未満の PUT) + 0.01 USD(10,000 未満の GET) | $0.15 |
| データ送受信量 | 15 GB | 着信は無料。15 GB 送信(アウト)X $0.12 | $1.80 |
| 無料使用範囲なしの場合の月間総コスト | $35.27 | ||
| 無料使用範囲ありの場合の月間総コスト | $0 |
AWS サービスの価格詳細については、AWS サービスの関連詳細ページの価格セクションをご参照ください。
Amazon EC2 料金表(インスタンス、負荷分散、Elastic Block Storage、データ転送の価格を含む)
Amazon S3 料金表(ストレージとデータ転送の価格を含む)
Elastic Beanstalk で AWS データベースサービスを使用する場合の価格については、下記のリンクをご参照ください。
Amazon RDS 料金表(データベースインスタンス、バックアップストレージ、データ転送の価格を含む)
Amazon DynamoDB(データストレージ、スループット容量、データ転送を含む)
Amazon SimpleDB 料金表(ストレージ、データ処理、データ転送の価格を含む)
Elastic Beanstalk へのサインアップの際には、Elastic Beanstalk で使用可能なすべての AWS サービスに個別に登録しなくて済むよう、これらのサービスに自動的にサインアップされます。すべての AWS サービスにおいて、最低料金や事前契約はなく、使用した分のみにお支払いいただきます。
Elastic Beanstalk では、基本的なインフラストラクチャのコントロールを好きなだけ維持しながら、迅速にアプリケーションをデプロイすることができます。お客様のアプリケーションのデプロイ可能なコードの単純なラベルの繰り返し(例、「バージョン1.5」)であるアプリケーションバージョンを作成することによって開始します。そしてこれは Amazon S3 に格納されます。例えば、アプリケーションバージョンは、PHP アプリケーションの特定の Git デプロイを示します。Elastic Beanstalk には、AWS Management Console、Git デプロイおよびコマンドラインインターフェース、Eclipse の AWS Toolkit など、アプリケーションバージョンの作成を容易にするいくつかのツールが用意されています。次に、デプロイしたいアプリケーションバージョンを指定し、それを環境で起動します。環境は、特にアプリケーションを実行するために作成された AWS リソース(ロードバランサー、Auto Scaling グループ、EC2 インスタンスなど)に相当します。環境を起動する時は、Elastic Beanstalk が自動的に容量のプロビジョニング、負荷分散、Auto-Scaling、およびアプリケーション・状態モニタリングといったデプロイの詳細を処理するため、これらのリソースのサイズや種類については何も指定する必要がなく、一旦環境が起動するとそれが通知されます。例えば、デプロイしたいコードの新しいバージョンがある場合や以前のバージョンにロールバックさせたい場合など、実行している環境とは異なるバージョンのアプリケーションをデプロイすることもできます。
デフォルト設定の環境では、単一の Amazon EC2 マイクロインスタンス(アプリケーションサーバー)と Elastic Load Balancer を実行できます。EC2 インスタンスは、Auto Scaling に設定されています。つまり、ワークロードやトラフィックのすべてのピークを処理するためにインスタンスが自動的に追加されるということです(また、トラフィックが減ると追加されたインスタンスは取り除かれます)。Elastic Beanstalk は URL(例えばhttp://myapp.elasticbeanstalk.com/)を使用してアプリケーションを提供しているため、ウェブブラウザに入力して実行中のアプリケーションを表示することができます。また、アプリケーションのスケールが上下するのに合わせ、Load Balancer も複数の Amazon EC2 インスタンス間で着信トラフィックを分散し、それを健全なインスタンスのみに自動的にルーティングして、アプリケーションに信頼性の高い環境を提供します。各 Amazon EC2 インスタンスは、サーバーの新しいインスタンスを作成するために必要なすべての情報が含まれている Amazon Machine Image(AMI)から構築されます。Elastic Beanstalk は、デフォルトでは Amazon Linux AMI を使用します。すべてのソフトウェアが含まれているため、ウェブサーバーとしてもアプリケーションサーバーとしても機能します(Linux、Apache、PHP など)。10以上の環境を実行したい、500以上のアプリケーションバージョンをアップロードしたい、または20以上の Amazon EC2 インスタンスを起動したい場合は、AWS Elastic Beanstalk 上限リクエストフォームをご提出ください。当社で速やかにお客様のリクエストを検討いたします。
AWS Elastic Beanstalk を始める最善の方法は、当社の技術文書の1つである入門ガイドを読んで作業していただくことです。数分で、デプロイでき、サンプルアプリケーションを使用したり、独自のアプリケーションをアップロードしたりできるでしょう。