そろそろaws初めてみよか#6~Elastic Beanstalkによるlaravel~
はじめに
前回まででCodeStar、EC2、RDSによるlaravel環境が整ったわけですので
次はElastic Beanstalkにチャレンジしてみます。
Elastic Beanstalkの環境構築
まずはPHPのサンプル環境を作成してみようと思います。
そこからlaravel色に染めましょう(^^♪
Elastic Beanstalkのコンソールから[今すぐ始める]をクリック
アプリケーション名はlaravel、プラットフォームはphp、アプリケーションコードはサンプルを選択します。
数分すると環境が出来上がります。
ダッシュボードのURL欄のURLをクリックするとデプロイされたアプリケーションにアクセスできます。
PHP7.3.11らしいです。
ほぼクリックだけで実行環境ができました。
Laravelアプリケーションの作成
さてLaravelにするにはどうしたらよいかと言うと、Vendor配下以外のファイルをZIPに固めてアップロードするとデプロイされます。
せっかくなのでチュートリアルに沿った形で進めたいと思います。
Elastic Beanstalk への Laravel アプリケーションのデプロイ
まずは既存のEC2 Laravel環境(前回作成した環境ね)に新規にLaravelプロジェクトを作成します。
[ec2-user@ip-172-31-29-127 ~]$ composer create-project --prefer-dist laravel/laravel eb-laravel
環境設定ファイル.env
をいじります。
変更したのはDB_HOST,DB_DATABASE,DB_USERNAME,DB_PASSWORDです。
[ec2-user@ip-172-31-29-127 eb-laravel]$ cat .env
:
DB_CONNECTION=mysql
DB_HOST=database.culgyynq9ap1.us-east-2.rds.amazonaws.com
DB_PORT=3306
DB_DATABASE=laravel_eb
DB_USERNAME=admin
DB_PASSWORD=********
:
次にDB接続を手軽に試すためチュートリアルにあるようindex.phpを修正します。
// DB Connection Testのところから3行分です。
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
$response = $kernel->handle(
$request = Illuminate\Http\Request::capture()
);
// DB Connection Test
if(DB::connection()->getDatabaseName()){
echo "Connected to database ".DB::connection()->getDatabaseName();
}
$response->send();
$kernel->terminate($request, $response);
修正したらElastic Beanstalk用にソースをZIPに固めます。
[ec2-user@ip-172-31-29-127 eb-laravel]$ zip ~/laravel-v1-1.zip -r * .[^.]* -x "vendor/*"
これをTeraTermならSSH SCPなどで取得します。
Elastic BeanstalkのLaravel向け環境設定
Laravelはご存じの通りdocument_rootはpublic配下です。
これをElastic Beanstalkにも定義します。
ダッシュボードの設定からソフトウェアの[変更]ボタンをクリックし
TOPにあるドキュメントのルートを/public
に変更し保存します。
保存するとElastic Beanstalkが環境変更の取り込みを行うのでしばし待ちます。
これでElastic Beanstalk側の準備が整ったので、[アップロードとデプロイ]ボタンより
先ほどZIP化したソースをアップロードしデプロイします。
しばし処理が走ったのちにURLにアクセスすると御覧の通り
Laravelの初期Home画面と左上に仕込んだDBConnectionのサンプルコードの実行結果が表示されます。
最後に
あくまで実行環境ですので、artisan migrateなどは他のEC2インスタンスから実行した後にこちらにリリースするイメージでしょうか
Author And Source
この問題について(そろそろaws初めてみよか#6~Elastic Beanstalkによるlaravel~), 我々は、より多くの情報をここで見つけました https://qiita.com/imp555sti/items/03241c98b160dd4dc8b9著者帰属:元の著者の情報は、元の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 .