AWS EC2 Laravel6 構築 ~前編~

Laravelは、移植性の高さ・学習コストの低さ・ライブラリの充実さ等で
現在も新しくシステムに導入されるケースが多いです。

私も開発でよく使いますが、環境構築も簡単で 他のFW,言語と比較しても非常に使いやすいと思っています。
※似ているものとすると、Ruby on Railsと比較すると断然良さがわかると思います。(個人的に)

※2020/1/6現在
今回は、AWSのEC2に現在最新のLaravelを導入したいと思います。
長くなりそうですので、前編と後編に分けます。
前編では、AWSの新規登録からWebサーバ(Apache)の立ち上げ・動作確認
後編では、PHPやDBサーバ(Mysql)の設定、Laravelの導入・動作確認の流れを説明します。

○ 読者対象
・初心者の方
・兎に角、AWS上にLaravel環境を早く構築したい方

以下手順通りに、初心者でも簡単にシステム構築が可能です。

1.初期設定(所要時間: 約 3分)

○ AWSアカウントの登録をします。

1.メールアドレス、パスワード
2.連絡先情報
3.クレジットカード情報
4.本人確認
5.サポートプラン「ベーシックプラン(無料)」を選択

上記設定後、右上の「コンソールへサインイン」をクリック 先ほど登録したメールアドレス、パスワードで認証

これで、ひとまずアカウント作成が完了しました。 では、さっそくサーバの構築を行います。

2.EC2インスタンスの構築(所要時間: 約 3分)

「AWS マネジメントコンソール」へログイン後に、右上に「東京」と表示されていることを確認します。
※表示されていない場合、選択しましょう。

その後、「ソリューションの構築」から「仮想マシンを起動する」をクリックします。
※2020年1月現在は、無料利用枠が多く存在していますね。今後も何か活用できそうなものは、記事にしたいと思います。

今回はメジャーな「Amazon Linux 2 AMI (HVM), SSD Volume Type」を「選択」します。
「セキュリティグループの設定」まで「次のステップ」ボタンを押下します。
「ルールの追加」ボタンを2回押下し、「HTTP」と「HTTPS」をそれぞれ選択します。
※セキュリティを考慮すると、SSHのポート番号(22)はエフェメラルポート番号 (49152~65535) に変更すると良いです。

「確認と作成」ボタンを押下し、次に「起動」ボタンを押下します。

その後、今回作成したAWS EC2インスタンス(サーバ)に安全にアクセスするための
秘密鍵ファイルを生成します。
今回は新規で作成する為、「新しいキーペアの作成」で
キーペア名を「test_dev」と入力し、「キーペアのダウンロード」で
秘密鍵ファイルをダウンロードします。

その後、「インスタンスの作成」ボタンを押下します。

これで、サーバが立ちました。

3.ElasticIPの設定(所要時間: 約 2分)

○ EC2インスタンス(サーバ)のグローバルIPアドレスを固定に設定します。

「EC2 ダッシュボード」から「Elastic IP」を選択します。
「Elastic IP アドレスの割り当て」ボタンを押下します。
「割り当て」ボタンを押下します。

「アクション」のプルダウンより「Elastic IP アドレスの関連付け」を選択します。

「インスタンス」「プライベート IP アドレス」を入力します。
※上記はフォーカスを当てると候補がでますので、それを選択します。
「関連付ける」ボタンを押下します。

これでElasticIPの設定が完了しました。

4.EC2インスタンス(サーバ)にアクセスし、Webサーバの設定(所要時間: 約 5~10分)

ここからが本題です。
サーバに実際にアクセスします。

ここでは、「2.EC2インスタンスの構築」で取得した
秘密鍵ファイル(test_dev.pem)と「3.ElasticIPの設定」で設定したIPアドレスが必要です。

コンソール(ms-dos、teraterm等)から、秘密鍵ファイルがあるディレクトリに移動し
以下コマンドを実行。

ssh ec2-user@XX.XX.XX.XX -i ./test_dev.pem
XX.XX.XX.XX←ElasticIP
※初回アクセスなので、yesを入力

以下が出力されたらアクセス完了です。

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

以下はyumというサービス管理ツールのUpdateになり
構築時はお決まりで実行します。

sudo yum update -y

○ WebサーバのApacheをインストール

インストール
sudo yum install -y httpd

以下起動およびサービス自動起動有効設定
sudo systemctl start httpd
sudo systemctl enable httpd

以下サービス自動起動設定の確認
sudo systemctl is-enabled httpd

※HTTPSを設定する場合は以下モジュールもインストール
sudo yum install -y mod_ssl

この時点で、以下のようにindex.htmlのファイルを作成し

sudo vim /var/www/html/index.html
※「i」で入力モードにし「test」と入力し「:wq」で保存する。

ブラウザで http://XX.XX.XX.XX にアクセスすると
ブラウザ上に「test」と表示されます。




前編はここまでです。 後編では、PHPの設定からLaravelの動作確認まで行います。 ここまでお読みいただきありがとうございました。

» エンジニア登録はこちら