【AWS】Elastic Beanstalkを触ってみる

こんにちは。

最近勉強会で、AWSの「Elastic Beanstalk」について軽く触れられて興味を持ったので

調べてみようと思い、今回エントリしました。

結構まえに,AWSを利用してサービスを構築していた際には、なかったサービスなのでどんなものかと思いまして・・・

 

では、早速!!

 

Elastic Beanstalkとは?

AWS Elastic Beanstalkの説明より引用

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 は簡単に開始でき、不足を感じることなく利用できます。

なんだか、便利そうな説明がされてます。ただ、これだけだと具体的に何ができるのかわからないので、早速こちらの「入門ガイド」を見て、触って見ることにします。

 

まず、入門ガイドは以下の6ステップにて説明があります。

  1. Sign up for the Service
  2. Create an Application
  3. View Application
  4. Deploy New Version
  5. Change Configuration
  6. Clean Up

では、手順にそってBeanstalkを学習していきます。

 

1.Sign up for the Service

AWS Management Consoleを開き、Beanstalkのサービス利用を開始するための申し込みをします。

 

f:id:mmmkenmmm:20130203105335p:plain

 

下記の画面に遷移するので、赤枠をクリックし、Beanstalkを利用する申し込みを行います。

f:id:mmmkenmmm:20130203105529p:plain

 

上記をクリックすると身元確認のページに遷移し、電話をかけ4桁のPinコードを入力し

確認完了となります。・・・

ここでハマったのが、"電話をかける"としてもエラーとなり失敗してしまいました。

色々調べた結果、登録されている電話番号があっていないとエラーとなるようです。

しかも、先頭の0を抜いて!!

登録されている内容は、MyAcount > 登録内容の変更から確認できます。

f:id:mmmkenmmm:20130203125000p:plain

ようやく、Step2へ!!

2.Create an Application

 Step2では、既に用意されているサンプル・アプリケーションを元に、アプリケーションの作成とデプロイを行います。

以下の画面が表示されるので、今回はPHPを選択し、Startしてみます。

f:id:mmmkenmmm:20130203125715p:plain

 

10分くらい経つと・・・諸々設定した環境の構築が完了しました。

Environment health has been set to RED」

とWarnningがでましたが、その環境を見たら正常にもどったのでよしとします。

Eventsログを見ると、ここではざっと下記の設定をしてくれているようです。

3.View Application

作成された環境をみてみると、以下の様な画面が表示されます。 

f:id:mmmkenmmm:20130203131352p:plain

4.Deploy New Version

 次に新しいバージョンを追加してみます。

Beanstalkのコンソール画面を開き、Versionsタブを開きます。

f:id:mmmkenmmm:20130203131731p:plain

 

「Upload New Version」をクリックします。

ダイアログが開くので、設定をしNew Versionを作成します。

f:id:mmmkenmmm:20130203132207p:plain

Upload New Versionボタンを押すと、コンソールに今回設定したNew Versionが登場します。

f:id:mmmkenmmm:20130203132307p:plain

 

V2.0のチェックボックにチェックを入れ、Deploy Versionを押下すれば・・・

選択したバージョンのDeployが開始されます。

 

5.Change Configuration

Setp5では、設定を変更してみます。

Beanstalkで設定を変更するには、

 Actionsのドロップダウンメニューより「Edit/Load Configuration」を選択します。

f:id:mmmkenmmm:20130203133618p:plain

 

Edit/Load Configurationを選択すると、以下のような画面が開かれます。

f:id:mmmkenmmm:20130203133723p:plain

 

今回は、入門ガイドに習い、Auto Scalingの設定を変更して確認してみます。

Auto ScalingのMinimum Instance Countを2に設定し、Apply Changeを押下するとすぐに設定を変更してくます。

f:id:mmmkenmmm:20130203133908p:plain

 

Amazon Ec2のコンソールよりLoad Balancesを確認してみると、2つのインスタンスがLoadされていることを確認できます。

f:id:mmmkenmmm:20130203134502p:plain

6.Clean Up

最後にClean Upすれば、今まで構築した環境すべてが削除されます。

以下より実行します

ActionsのドロップダウンメニューよりTerminate this Enviromentを選択。

f:id:mmmkenmmm:20130203135057p:plain

これにより今回作成した環境すべて(Ec2,Load Balances etc)はもちろんのことBeanstalkで作成したSampleApplicationも、すべて利用できなくなりまた最初から作成することになります。

 

 

最後に

今回は、入門ガイドをもとにBeanstalkがどういったものかを触ってみ見ました。 AWSで環境を構築するのに、もっとも簡単で余計な設定に悩まなくて済むので 機会があれば是非これを利用し、サービスを構築してみたいと思いました。 まだ、今回触れていないGitでの管理やRDBとの連携なども、今後調べて行きたいと思います。