こんにちは、サイオステクノロジー技術部 武井です。今回はAWSで簡単にWebアプリが実行できるElastic Beanstalkをやってみたいと思います。詳しいことは抜きにして、サクッと動かすことを目的としております。
Webアプリケーションを実行する手段は昨今色々ありますね。オンプレミスのWebサーバー、EC2、LambdaやEKSなどの2Dockerコンテナオーケストレーションツールなどなど。
その中でも、今までと同じような感覚で一番サクッとWebアプリを動かすことができるのが、Elastic Beanstalkかと思います。
Elastic Beanstalkの特徴は、アプリケーションを実行するミドルウェアやOSは既にAWS側で用意されており、開発者はコードさえアップロードすればWebアプリケーションを動かすことができる点です。今までのように、ApacheやNGINXなどのWebサーバー、Tomcatなどのアプリケーションサーバーをインストール・設定する必要はありませんし、ロードバランサーによる負荷分散・オートスケールもお任せです。
EKSやLambdaなどももちろんサクッとWebアプリケーションを動かすことが出来ますが、従来のWebアプリケーション開発とはちょっと異なる視点やアプローチが必要になるので、学習コストが大変です。
その分Elastic Beanstalkはその上で動作するWebアプリケーションの開発方法は従来と同じでいいので、今までの知識を活かすことが出来ます。
ということで、サクッと動かしてみたいと思います。
まず、Elastic Beanstalk上で動かすアプリケーションを作成しましょう。今回はPHPで作るものとします。以下のコードを書いて、ZIPで圧縮しておいて下さい。
<?php echo "hoge"; ?>
次にAWSのマネジメントコンソールにアクセスしてみます。以下のように検索用のテキストボックスに「elastic」 と入力すると、「Elastic Beanstalk」というのが表示されるので、それをクリックします。
右上の「新しいアプリケーションの作成」をクリックします。
アプリケーション名に適当な名前を入力して、「作成」をクリックします。
画面右上の「アクション」→「環境の作成」をクリックします。
今回Webアプリケーションを作りますので、「ウェブサーバー環境」をクリックします。
「環境名」に適当な名前を入力します。
ちょっと画面を下にスクロールして、「事前設定済みプラットフォーム」で「PHP」を選択します。そして、もうちょっと下の「コードをアップロード」のところの「アップロード」のボタンをクリックします。
「Choose File」をクリックして、先程ZIPで圧縮したPHPのソースコードを選択します。
「環境の作成」をクリックします。
以下のような画面が表示されます。しばらくかかりますので、気長に待ちましょう。
しばらくしてから、Elastic Beanstalkのトップ画面に行くと、以下のように新しいアプリケーションと環境が出来上がっているのが確認できると思います。環境のアイコンをクリックして下さい。
以下のように「ヘルス」が「OK」になっていれば環境は無事作成出来ています。ちっちゃくて見にくいですが、「URL」と書いてある部分が、アプリケーションのアクセス先URLです。それをメモります。
以下のURLにアクセスして下さい。
https://[先程メモしたURL]/hoge.php
ブラウザに「hoge」と表示されれば成功です。
いかがでしたでしょうか?Webアプリケーションを立ち上げるのに、10分とかかりませんでした。超簡単ですね。Elastic Beanstalkバンザーイ。