COLUMN

AWS Elastic Beanstalkを動かしてみた。

新年明けましておめでとうございます!
本年も株式会社RealiDをよろしくお願い申し上げます。
あっ!ご挨拶が遅れました。
今年夏に入社したパティシエの萩原と申します。クリスマスはケーキ作りで大忙しでした!笑
人生初のブログです。なにを書こうか迷いますが、AWSの構築を担当してますので、AWSについて書こうと思います。

今回は、「AWS Elastic Beanstalk」について書きます。
通常、RubyやJava、PHPなどで記述されたWebアプリケーションをAWS上で構築する場合、EC2上にWebサーバやアプリケーションサーバなどを構築をして、Webアプリケーションを動作させることになると思います。
それには、Linux・WindowsServer・Apache・Tomcat・IISなどさまざまなOSやミドルウェアの構築スキルが必要になってきます。
そこで「AWS Elastic Beanstalk」です!
このサービスは、EC2のOSやミドルウェアの部分を隠蔽されていて、WebアプリケーションのファイルをアップロードするだけでWebサービスを構築することができます。OSやミドルウェアの部分は、基本的には隠蔽されていますので構築スキルがなくても簡単に構築することができます。もちろん、細かいカスタマイズや実運用にはそれなりの知識が必要ですが、最低限の動作をさせるだけならファイルのアップロードができればWebアプリケーションを動作させることが可能です。
冗長化や負荷分散を行うためのロードバランサやAutoScallingも簡単に構築できたり、Githubからのデプロイにも対応しています。
簡単に動かしてみました。
(サンプルアプリケーションが用意されていますので、それを使いました。)
「Elastic Beanstalk」をクリックします。

言語を選択して、「今すぐ起動」をクリックします。

「今すぐ作成しましょう」をクリックします。

「Webサーバーの作成」をクリックします。

「事前定義の設定」で言語を選択します。今回は「Ruby」を選択しました。
環境タイプを「負荷分散、AutoScaling」か「シングルインスタンス」か選択します。
今回は「サンプルアプリケーション」を選択します。自作のWebアプリケーションを使用する場合は、ここからアップロードします。
「デプロイメントの制限」はアプリケーションの更新の際に同時に更新するインスタンス数を設定します。一度にすべてのインスタンスを更新するとダウンタイムが発生してしまうので、ダウンタイムが発生しないように設定します。

環境名とサブドメイン、説明を入力します。

今回はRDSとVPCは使用しないので、チェックを外したままにします。

ここでBeanstalkの詳細を設定します。とりあえず、EC2キーペアの設定をすれば進めるのでEC2キーペアを選択して、「次へ」をクリックします。

「次へ」をクリックします。

アクセス権限の設定が必要になります。ロールを選択するか、そのまま「次へ」をクリックします。

前画面で「新しいロールの作成」を選択した場合は、「許可」をクリックします。

「起動」をクリックします。

Beanstalkの構成が開始されます。

ヘルスが「Ok」になったら構成完了です。URLをクリックします。

サンプルアプリケーションが確認できます。