ElasticBeanstalkでアプリケーションをデプロイ
※ 2020年に作成した記事です。現在はUIちょっと変わってるかもしれません。
ElasticBeanstalk(EB)とは
Webアプリケーションの定番構成で構築・デプロイ・管理などを行ってくれるAWSのサービスです。
EBを使わない場合
OSやミドルウェアなどの管理も自前で行う必要があります。
EBを使った場合
OSやミドルウェアの管理はEBが行ってくれます。普通にSSH接続なども可能です。
勝手に要約してみると、、
- インフラの構成管理、デプロイなどを自動化
- 冗長構成に対応(内部的には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を開いて「今すぐ作成しましょう。」リンクを押下します。
今回は通常のWebサーバをデプロイするので「ウェブサーバー」環境を選択します。
いったん、PHPサンプルアプリケーションの環境を作成してみます。
プラットフォーム:事前設定済みプラットフォーム(PHP)
アプリケーションコード:サンプルアプリケーション
ちなみに2020年2月時点でPHPプラットフォームで構築されるPHPのバージョンは7.3のようでした。
EBにより作成されたURLを叩いてちゃんと動作しているか確認してみます。
EBによる環境が正しく作成されていることが確認できたら、本題のLaravelアプリケーションをデプロイするための設定を行います。
Laravelは/publicがドキュメントルートになるのでソフトウェアの変更からドキュメントルートを変更します。
DBサーバとの接続設定やデプロイの方法などもこちらの画面で設定を行います。
最後にLaravelアプリケーションをデプロイします。
zipファイルに固めたLaravelアプリケーションをアップロードします。
おまけ
EC2の管理画面を参照してみると通常通りインスタンスが作成されていることが確認できます。
まとめ
OS、ミドルウェアの設定は一切行わずにアプリケーションをデプロイすることができました。
EBはcliツールも用意されているため、今回画面から行った操作をコマンドラインからも実行することが可能ですので是非試してみてください!
Author And Source
この問題について(ElasticBeanstalkでアプリケーションをデプロイ), 我々は、より多くの情報をここで見つけました https://qiita.com/tendashimada/items/dd1f5ed0ede6084062af著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .