はじめに
はじめてEC2にデプロイをしたため、備忘録も兼ねて、デプロイ手順を記事にしたいと思います。
記事が長くなりそうだったので、分割して投稿していきます。今回はAWSでEC2インスタンスを起動し、Elastic IP(固定IP)を関連付けるまでです。
前提
- インスタンス作成時にAmazon マシンイメージ (AMI)でAmazon Linux 2023を選択された方向けです
- Amazon Linux2を選択された方も手順は同じですが、Linuxコマンドが異なります
- AMIの調べ方は、EC2サーバーにSSH接続をし、下記のコマンドを入力すると確認できます
cat /etc/os-release
環境
- PHP 8.2
- Laravel 11
- mariaDB 10.5.23
- Nginx 1.24.0
- GitHub
おおまかな流れについて
おおまかな流れは下記のとおりです。
- AWSでEC2のインスタンスを起動する
- 起動したインスタンスにElastic IP(固定IP)を関連付ける
- EC2サーバの初期設定を行う
- PHPと拡張モジュールをインストールする
- Composerをインストールする
- mariaDBをインストールする
- Nginxをインストールする
- php-fpmとNginxを連携する
- GitHubとSSH接続する
- GitHubからmainブランチのコードをクローンする
- Laravelの初期設定を行う
- RDSと連携する
- 独自ドメインを設定する
- 独自ドメインのSSL認証を行う
- 2回目以降のデプロイについて
AWSでEC2のインスタンスを起動する
AWSアカウントを作成する
下記のリンクから作成してください。個人情報や支払方法の入力が必要です。
EC2インスタンスを起動する
作成したアカウントにサインインをし、コンソールのホーム画面にはいります。
検索ボックスにEC2と入力し、EC2のダッシュボードに移動してください。
インスタンスを起動をクリックします
インスタンスの設定画面に移動するので、設定を行います。
名前については、後々変更も可能なので、識別しやすい名前をつけましょう。
OSはAmazon Linuxを選択し、AMIはAmazon Linux 2023 AMI を選択します。
アーキテクチャについては、特にこだわりがなければ、64ビット(x86)で問題ありません。
インスタンスタイプは、特にこだわりがなければ、t2.microで問題ありません。
キーペアについては、作成したことがなければ、新しいキーペアの作成をクリックします。
キーペア名は作成されるpemファイルのファイル名になります。識別しやすい名前をつけましょう。
キーペアのタイプはRSA、プライベートファイル形式は.pemを選択し、キーペアを作成をクリックします。
すると、.pemファイルがダウンロードされます。
作成したキーペアを選択します。
セキュリティグループを作成し、SSHトラフィックについては、任意の場所を選択します。
今回は、APIサーバとして利用するので、インターネットからのHTTPS/HTTPトラフィックを許可にチェックを入れます。
ストレージについては、必要な容量を設定します。そのままでも問題ありません。
インスタンスを起動をクリックすると、設定は完了です。起動まで少し時間がかかります。
起動したインスタンスにElastic IP(固定IP)を関連付ける
Elastic IPを設定しないと、EC2インスタンスの再起動の度にIPアドレスが変わってしまいます。EC2にSSH接続する際のコマンドが変わってしまって面倒になるため、設定します。
左のメニューバーから、Elastic IP をクリックします。
Elastic IPアドレスを割り当てるをクリックします。
設定は変更せずに割り当てをクリックします。
割り当てられたElastic IPアドレスをクリックします。
Elastic IPアドレスの関連付けをクリックします。
作成したインスタンスを選択します。
プライベートIPアドレスは、インスタンスを選択すると、自動で一つ選択できるようになるので、それを選択し、関連付けるをクリックすると設定は完了です。
おわりに
今回は、EC2インスタンスを起動し、Elastic IP(固定IP)を関連付けるところまでを記事化しました。次回は、EC2サーバの初期設定を行うところから記事化したいと思います。
間違っている点や補足情報等ありましたら、ご教授いただけますと幸いです!