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」をクリックします。 AWS_マネシ?メントコンソール.png 言語を選択して、「今すぐ起動」をクリックします。 Elastic_Beanstalk_マネシ?メントコンソール.png 「今すぐ作成しましょう」をクリックします。 Elastic_Beanstalk_アフ?リケーション_と_Slack.png 「Webサーバーの作成」をクリックします。 環境の作成.png 「事前定義の設定」で言語を選択します。今回は「Ruby」を選択しました。 環境タイプを「負荷分散、AutoScaling」か「シングルインスタンス」か選択します。 環境の作成_1.png 今回は「サンプルアプリケーション」を選択します。自作のWebアプリケーションを使用する場合は、ここからアップロードします。 「デプロイメントの制限」はアプリケーションの更新の際に同時に更新するインスタンス数を設定します。一度にすべてのインスタンスを更新するとダウンタイムが発生してしまうので、ダウンタイムが発生しないように設定します。 環境の作成_2.png 環境名とサブドメイン、説明を入力します。 環境の作成_3.png 今回はRDSとVPCは使用しないので、チェックを外したままにします。 環境の作成_4.png ここでBeanstalkの詳細を設定します。とりあえず、EC2キーペアの設定をすれば進めるのでEC2キーペアを選択して、「次へ」をクリックします。 Elastic_Beanstalk_アフ?リケーション_と_Slack.png 「次へ」をクリックします。 環境の作成_と_Slack_1.png アクセス権限の設定が必要になります。ロールを選択するか、そのまま「次へ」をクリックします。 環境の作成_6.png 前画面で「新しいロールの作成」を選択した場合は、「許可」をクリックします。 IAM_Management_Console_と_Slack.png 「起動」をクリックします。 環境の作成_7.png Beanstalkの構成が開始されます。 RealiD_-_タ?ッシュホ?ート?_1.png ヘルスが「Ok」になったら構成完了です。URLをクリックします。 RealiD_-_タ?ッシュホ?ート?.png サンプルアプリケーションが確認できます。 Welcome.png