（Amazon Linux 2023）AWS EC2にデプロイする①  インスタンス起動〜Elastic IP（固定IP）を関連付ける

## はじめに
はじめて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

## おおまかな流れについて
おおまかな流れは下記のとおりです。
1. AWSでEC2のインスタンスを起動する
1. 起動したインスタンスにElastic IP（固定IP）を関連付ける
1. EC2サーバの初期設定を行う
1. PHPと拡張モジュールをインストールする
1. Composerをインストールする
1. mariaDBをインストールする
1. Nginxをインストールする
1. php-fpmとNginxを連携する
1. GitHubとSSH接続する
1. GitHubからmainブランチのコードをクローンする
1. Laravelの初期設定を行う
1. RDSと連携する
1. 独自ドメインを設定する
1. 独自ドメインのSSL認証を行う
1. 2回目以降のデプロイについて

## AWSでEC2のインスタンスを起動する
#### AWSアカウントを作成する
下記のリンクから作成してください。個人情報や支払方法の入力が必要です。

https://portal.aws.amazon.com/billing/signup#/start

#### EC2インスタンスを起動する
作成したアカウントにサインインをし、コンソールのホーム画面にはいります。
検索ボックスにEC2と入力し、EC2のダッシュボードに移動してください。

![コンソールのホーム-コンソールのホーム-ap-southeast-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3828050/9a6d1251-7a7e-657d-9231-d558f110d915.png)

インスタンスを起動をクリックします

![02_ホーム-EC2-ap-southeast-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3828050/749fd339-9800-f157-bc39-38548f7b047a.png)

インスタンスの設定画面に移動するので、設定を行います。

名前については、後々変更も可能なので、識別しやすい名前をつけましょう。

![03_Launch-an-instance-EC2-ap-southeast-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3828050/4ad661bd-9b99-e0e1-b6a8-ca2029c09140.png)

OSはAmazon Linuxを選択し、AMIはAmazon Linux 2023 AMI を選択します。

アーキテクチャについては、特にこだわりがなければ、64ビット(x86)で問題ありません。

![04_Launch-an-instance-EC2-ap-southeast-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3828050/49fe9a8e-7308-f8ab-ebca-58319f3405a8.png)

インスタンスタイプは、特にこだわりがなければ、t2.microで問題ありません。

![05_Launch-an-instance-EC2-ap-southeast-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3828050/8152bf71-c3a1-db46-d737-3a8148bab991.png)

キーペアについては、作成したことがなければ、新しいキーペアの作成をクリックします。

![06_Launch-an-instance-EC2-ap-southeast-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3828050/509f7439-d569-8acb-6a66-b43aa2240529.png)

キーペア名は作成されるpemファイルのファイル名になります。識別しやすい名前をつけましょう。
キーペアのタイプはRSA、プライベートファイル形式は.pemを選択し、キーペアを作成をクリックします。
すると、.pemファイルがダウンロードされます。

![07_Launch-an-instance-EC2-ap-southeast-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3828050/7a6ec886-ff46-c946-8e64-7a8e75296b9f.png)

作成したキーペアを選択します。

![08_Launch-an-instance-EC2-ap-southeast-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3828050/d24f0752-ff28-9a3d-557a-172dd2facdcb.png)

セキュリティグループを作成し、SSHトラフィックについては、任意の場所を選択します。

今回は、APIサーバとして利用するので、インターネットからのHTTPS/HTTPトラフィックを許可にチェックを入れます。

![09_Launch-an-instance-EC2-ap-southeast-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3828050/26170ebe-709d-9964-4f31-788516e5bab0.png)

ストレージについては、必要な容量を設定します。そのままでも問題ありません。

![10_Launch-an-instance-EC2-ap-southeast-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3828050/fdb1543d-0c3f-381d-a375-d49ef91d4f01.png)

インスタンスを起動をクリックすると、設定は完了です。起動まで少し時間がかかります。

![11_Launch-an-instance-EC2-ap-southeast-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3828050/7e9ac21a-e69c-852d-4acc-4d126beef642.png)

## 起動したインスタンスにElastic IP（固定IP）を関連付ける
Elastic IPを設定しないと、EC2インスタンスの再起動の度にIPアドレスが変わってしまいます。EC2にSSH接続する際のコマンドが変わってしまって面倒になるため、設定します。

左のメニューバーから、Elastic IP　をクリックします。

![12_ホーム-EC2-ap-southeast-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3828050/e9e1966c-8600-6cda-e079-e8507bede742.png)

Elastic IPアドレスを割り当てるをクリックします。

![13_Elastic-IP-アドレス-EC2-ap-southeast-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3828050/d67aa76f-eb92-7136-9bd1-bb599b0860f5.png)

設定は変更せずに割り当てをクリックします。

![14_Elastic-IP-アドレスを割り当てる-EC2-ap-southeast-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3828050/899b4209-7ad6-2411-50e4-ef68b57d108d.png)

割り当てられたElastic IPアドレスをクリックします。

![15_Elastic-IP-アドレス-EC2-ap-southeast-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3828050/ba6f056d-24cc-f3ed-adf2-d3ebaf74621f.png)

Elastic IPアドレスの関連付けをクリックします。

![16_Elastic-IP-アドレス-EC2-ap-southeast-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3828050/9dd66df9-0120-1d27-81ad-e5e1eedaad7a.png)

作成したインスタンスを選択します。
プライベートIPアドレスは、インスタンスを選択すると、自動で一つ選択できるようになるので、それを選択し、関連付けるをクリックすると設定は完了です。

![17_Elastic-IP-アドレスの関連付け-EC2-ap-southeast-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3828050/759e1519-88a4-c978-e9f3-6acf400558df.png)

## おわりに
今回は、EC2インスタンスを起動し、Elastic IP（固定IP）を関連付けるところまでを記事化しました。次回は、EC2サーバの初期設定を行うところから記事化したいと思います。

間違っている点や補足情報等ありましたら、ご教授いただけますと幸いです！