LoginSignup
4
4

More than 5 years have passed since last update.

Laravel Forgeを使ってAWSのサーバー構築を15分で終わらせる

Last updated at Posted at 2019-02-09

業務でAWSに本番サーバーを立てる必要があり、サクッと環境構築+デプロイできる都合の良いツールはないかなぁと探していたら、ありました。
ありましたと言っても、公式で紹介されているんですけどねw(※有料です)

Forgeによるデプロイ
https://readouble.com/laravel/5.7/ja/deployment.html

環境構築に時間をかけるのはやめよう!

AWSでのサーバー構築に慣れていない場合、VPC作成〜EC2インスタンス作成〜必要なモジュールのインストール、等々で1時間以上かかってしまうこともあります。ところが、Forgeだと最低限の設定であれば15分程度で済ませることができてしまうんですよね。インフラ初心者でもAWSのややこしいコンソールはほとんど見る必要がなくなります。(とはいえ、業務レベルになるとAWSの知識や設定方法の理解は必要になりますが。。)

設定手順

AWSのアカウントを取得していることを前提で話を進めます。

事前準備

IAMの設定

AWSのIAMから「ユーザーを追加」から、「AmazonEC2FullAccess」にチェック✓を入れ、IAMユーザーを作成します。
アクセスキーIDとシークレットアクセスキーは、Forgeで使います!

スクリーンショット 2019-02-05 12.49.16.png
スクリーンショット 2019-02-05 12.50.33.png

Forgeの設定

サインアップ

https://forge.laravel.com/
必要な項目を記入し、登録します。
スクリーンショット 2019-02-09 12.02.37.png

APIキーの登録

Forgeにログインすると、画面の下の方にサービスを選択する箇所があるので、AWSを選択します。先程確認したIAMのアクセスキーIDとシークレットアクセスキーを入力し、Connectをクリックしましょう。
画面上部に Great! Now let's connect to a source control and server provider so we can create servers! と表示されれば成功です!
(うまくいかない場合は、IAMの設定もしくはキーの入力間違いがないかを確認してみてください)
スクリーンショット 2019-02-05 12.50.58.png

Service Providersの登録

Forgeの右上のメニューから、MyAccountを選択し管理画面へ移動します。
Service ProviderからAmazonを選択し、Profile NameとIAMのアクセスキーIDとシークレットアクセスキーを入力しましょう。
(Profile Nameは自分が分かれば何でも構いません。後からでも変更は可能です!)
スクリーンショット 2019-02-05 12.59.39.png

EC2インスタンスの作成

さて、Forgeの初期設定が終わったら、いよいよサーバーを立てていきます!
Forge画面トップのCreate ServerからAWSを選択しましょう。
(Connectが完了しているのにCreate Serverが表示されない場合は、画面上部にお知らせが表示されていると思うので「Skip For Now」を選択)

Credentials: Server Providersで登録したProfile Name
Name: サーバー名(EC2のインスタンス名)
Region: リージョンを選択(分からなければTokyoを選択)
Server Size: お財布と相談してください。
VPC: 新規に作成する場合は、Create New。既存のVPCに作成したい場合は、それを選択してください。
   (VPC作成済なのに表示されない場合は、Regionが間違っている可能性があります)
VPC Name: 作成するVPC名(既存のVPCに作成する場合は、サブネットが選択できるようになります)
PHP Version: インストールするPHPのバージョン
Post-Provision Recipe: インストール後に起動するスクリプト(今回は作成していません)
Database: 作成するデータベース(作成しない場合はNoneを選択)
Database Name: データベース名
Provision As Load Balancer: ロードバランサーとして作成する場合はチェック✓。今回はしない。

入力できたら、Create Serverをクリックします。
すると、インスタンスが作成されPHPやNginx等Laravelに必要なものがサーバーにインストールされます。
インスタンスの作成には10分程かかるので、のんびり待ちましょう!
インスタンスの作成が完了したら、サーバーのSudoパスワードとデータベースのパスワードが記載されたメールが届きます。

スクリーンショット 2019-02-05 14.03.32.png

構築完了!

Connectionの矢印をクリックし、接続できていればSuccessfulが表示されます。
スクリーンショット 2019-02-05 14.20.11.png

デプロイ

今回は、Githubを使います。
上部メニューのSitesからdefaultをクリックすると、Git Repositoryが選択できます。
スクリーンショット 2019-02-05 14.35.33.png

リポジトリのインストール

記載されているサーバーの公開鍵を、Githubの指定のリポジトリに設定します。
リポジトリのアドレスとブランチを設定すれば、Install Repositoryをクリックし、インストールが終わるのを待ちましょう!
スクリーンショット 2019-02-05 14.37.02.png

デプロイする

インストールが完了すれば、右上のDeploy Nowをクリックするのみです!
スクリーンショット 2019-02-09 14.10.46.png

以上で最低限の設定は完了です!
これでアプリケーションの開発に集中できますね!

参考

php開発環境の管理に超便利なLaravel Forgeの始め方 (上)
https://qiita.com/MasaGon/items/ab75001477192ecd51b5
Laracasts - EPISODE 3 Your First Project
https://laracasts.com/series/learn-laravel-forge/episodes/3

4
4
2

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
4
4