LoginSignup
1
0

More than 3 years have passed since last update.

ElasticBeanstalkでアプリケーションをデプロイ

Last updated at Posted at 2021-04-21

※ 2020年に作成した記事です。現在はUIちょっと変わってるかもしれません。

ElasticBeanstalk(EB)とは

Webアプリケーションの定番構成で構築・デプロイ・管理などを行ってくれるAWSのサービスです。

EBを使わない場合
OSやミドルウェアなどの管理も自前で行う必要があります。
img01.png

EBを使った場合
OSやミドルウェアの管理はEBが行ってくれます。普通にSSH接続なども可能です。
img02.png

参考:
https://www.slideshare.net/AmazonWebServicesJapan/aws-black-belt-online-seminar-2017-aws-elastic-beanstalk

勝手に要約してみると、、

  • インフラの構成管理、デプロイなどを自動化
  • 冗長構成に対応(内部的にはAutoScalingサービス)
  • Java/PHP/Ruby/Python/Node/.NET/Goなど各種言語に対応
  • デプロイはローリングリリースだけではなくBlue/Greenデプロイメントなどにも対応
  • (今回は試していませんが)Dockerにも対応
  • バッチ処理を行いたい場合はworker環境で対応

私が担当している案件でも一部利用しています(worker環境ですが、、)。

料金について

EBを利用すること自体に料金はかかりません。EBの構築で使用するサービス自体(EC2, ELB, EIPなど)の料金のみかかります。
EC2についてはスポットインスタンスの利用も設定可能になっています。

今回は管理コンソールからEBを使って簡単なLaravelアプリケーションをデプロイしてみたいと思います。

アプリケーションの準備

今回はデモのためシンプルにLaravelテンプレートをそのままデプロイしてみます。

$ composer create-project laravel/laravel eb-example

EBへのデプロイはzipファイルで行うため、zipファイルを作ります。

$ cd eb-example
$ zip ../laravel-default.zip -r * .[^.]* -x "vendor/*"

デプロイ時は上記のlaravel-default.zipをアップロードすることになります。

EB環境の作成、デプロイ

管理コンソールからEBを開いて「今すぐ作成しましょう。」リンクを押下します。
img03.png

今回は通常のWebサーバをデプロイするので「ウェブサーバー」環境を選択します。
img04.png

いったん、PHPサンプルアプリケーションの環境を作成してみます。
プラットフォーム:事前設定済みプラットフォーム(PHP)
アプリケーションコード:サンプルアプリケーション
img05.png

ちなみに2020年2月時点でPHPプラットフォームで構築されるPHPのバージョンは7.3のようでした。

作成中の状況が表示されるのでしばらく待ちます。。
img06.png

無事環境が作成されました。
img07.png

EBにより作成されたURLを叩いてちゃんと動作しているか確認してみます。
img08.png

EBによる環境が正しく作成されていることが確認できたら、本題のLaravelアプリケーションをデプロイするための設定を行います。
Laravelは/publicがドキュメントルートになるのでソフトウェアの変更からドキュメントルートを変更します。
img09.png

DBサーバとの接続設定やデプロイの方法などもこちらの画面で設定を行います。

最後にLaravelアプリケーションをデプロイします。
zipファイルに固めたLaravelアプリケーションをアップロードします。
img10.png

デプロイが完了しました。再度確認してみます。
img11.png

正しくデプロイされていることが確認できました。
img12.png

おまけ

EC2の管理画面を参照してみると通常通りインスタンスが作成されていることが確認できます。
img13.png

まとめ

OS、ミドルウェアの設定は一切行わずにアプリケーションをデプロイすることができました。
EBはcliツールも用意されているため、今回画面から行った操作をコマンドラインからも実行することが可能ですので是非試してみてください!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0