AWS: 簡単なLAMPサーバーでWordPressを動かすまで（Intel Mac） 〜EC2を作成／セキュリティグループの設定〜

# はじめに
AWSハンズオンの学習記録です。
2022年8月の情報をもとに投稿します。

ゴールは、EC2を使って簡易的な仮想サーバーを作り、ブログソフトであるWordPressをインストールします。
また、WordPressを外部公開できることを想定しています。

**今回はEC2の作成方法とセキュリティグループの設定方法を投稿します。**

尚、ハンズオンがメインのため、各サービスの概要や用語の解説は極力省かせていただきます。

### ゴール
仮想サーバーでWordPressを使える状態にします

### ゴールまでの流れ

[1.VPCとサブネットを作成](https://qiita.com/holySh10/items/749b98e320fc71e6739e)

:::note info
2.EC2を作成／セキュリティグループの設定（本記事ではここを解説します）
:::
[3.EC2へSSH接続](https://qiita.com/holySh10/items/689f4c83cd18db128983)
[4.Webサーバーである「Apache」をインストール](https://qiita.com/holySh10/items/53ec78d420e372643c55)
[5.プログラミング言語である「PHP」をインストール](https://qiita.com/holySh10/items/90507e2b03ee6c681790)
[6.データベースである「MariaDB」をインストール](https://qiita.com/holySh10/items/0b8b9d5ea96582b39fca)
[7.WordPressをインストール](https://qiita.com/holySh10/items/cd3db43cf0e951705c31)

### 本記事の目的
・EC2の作成方法を理解します
・セキュリティグループの設定方法や概要を理解します

### 動作環境
・MacBook Pro (Retina, 13-inch, Late 2013)
・macOS: Big Sur 11.6.1
・CPU: Intel
・メモリ: 8GB

# EC2作成の流れ
>**EC2**とは、仮想サーバーを提供するコンピューティングサービスです。ここにアプリケーション等をインストールし、サーバーらしい動きをします。
**セキュリティグループ**とは、EC2やELB、RDSなどの直前に置かれるファイアーウォール機能です。インバウンドとアウトバウンド両方の通信を制御でき、プロトコルとポート範囲の指定も可能です。


#### ①AWSコンソールの検索バーで「EC2」と検索

#### ②EC2ダッシュボードにて「インスタンスを起動」を押下
![スクリーンショット 2022-08-05 17.58.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774155/8d29f7d0-17f8-b588-b516-da248c8ec782.png)


#### ③各項目の設定

##### ■名前とタグ
![スクリーンショット 2022-08-05 17.58.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774155/d2fd44a3-443b-3d28-d022-31cec5c3c2be.png)
適当な名前を入力。

##### ■アプリケーションおよび OS イメージ (Amazon マシンイメージ)
![スクリーンショット 2022-08-05 17.59.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774155/96d1a702-85f5-6bb3-a153-80c710c8a5f4.png)
「Amazon Linux」を選択。
「Amazon マシンイメージ」はデフォルトのものを選択。

##### ■インスタンスタイプ

![スクリーンショット 2022-08-05 17.59.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774155/8caa9b9f-e1b3-70c1-117d-28f9d37ee8ae.png)
「t2.micro」を選択。


###### ■キーペア（ログイン）
>**キーペア**とは、EC2インスタンスに安全にログインするために必要な秘密鍵・公開鍵の設定のことです。
これを使用し、「SSH接続」することでEC2にログインします。

![スクリーンショット 2022-08-05 17.59.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774155/803704bb-ddaf-9d37-2e81-4c79d637fbc5.png)
・「新しいキーペアの作成」を押下


![スクリーンショット 2022-08-05 18.00.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774155/502aa19c-5751-8710-a167-d6828988e1ac.png)
・「キーペア名」を適当な名前で入力
・「キーペアを作成」を押下
・キーペアファイルがローカル上にダウンロードされる
（Macであれば通常「ダウンロード」フォルダにダウンロードされます）

:::note info
今回はこのキーペアファイルを使い、SSH接続することでEC2インスタンスにログインします。
そのため、ダウンロードされたキーペアファイルの場所をしっかり把握しておくのがベストです。
:::

###### ■ネットワーク設定
>この項目でセキュリティグループの設定を行います。

###### VPC
![スクリーンショット 2022-08-05 18.01.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774155/4ff73a8e-e0c6-3935-66cc-75c3db33a22c.png)

[前項で作成したVPC](https://qiita.com/holySh10/items/749b98e320fc71e6739e#vpc%E3%81%A8%E3%82%B5%E3%83%96%E3%83%8D%E3%83%83%E3%83%88%E3%82%92%E4%BD%9C%E6%88%90)を選択。
サンプル画像では「vpc-0eaea92ff9799e86d (holySH10-vpc)」を選択。

###### サブネット
![スクリーンショット 2022-08-05 18.07.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774155/0b7ebaad-e615-2f72-bd6e-d6a88680883b.png)
パブリックサブネットを選択。
サンプル画像では「holySH10-subnet-public1」(以下省力)を選択。

###### パブリック IP の自動割り当て
![スクリーンショット 2022-08-06 15.13.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774155/e4fb7e3e-1154-0aa1-e84e-27fae23ca607.png)
「無効化」を選択。

:::note info
ここを「無効化」にするとEC2インタンスにアクセスできませんが、[「Elactic IP」をパブリックIPアドレスとして割り当てることでアクセスが可能になります。](https://qiita.com/holySh10/items/689f4c83cd18db128983#elastic-ip%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%82%92ec2%E3%82%A4%E3%83%B3%E3%82%B9%E3%82%BF%E3%83%B3%E3%82%B9%E3%81%B8%E5%89%B2%E3%82%8A%E5%BD%93%E3%81%A6%E3%82%8B)
:::

###### ファイアウォール (セキュリティグループ)
![スクリーンショット 2022-08-06 15.16.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774155/0b1fce3f-51da-c558-6980-9ad436217a8c.png)
「セキュリティグループを作成する」を選択。

###### 「セキュリティグループ名」及び「説明」
![スクリーンショット 2022-08-06 15.17.07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774155/b1a56a2f-b707-ff5c-5b78-649c915dcb2b.png)
適当な名前や文章を入力。

###### インバウンドセキュリティグループのルール
![スクリーンショット 2022-08-05 18.02.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774155/ed6961a9-4d44-7bd5-760f-ffa25ddf46b4.png)

<dl>
・「セキュリティグループルール 1」はそのまま。

:::note info
タイプを「SSH」に設定することで、SSH接続ができるようになります。これはEC2にSSH接続する際の、非常に重要な設定です。
また、ソースタイプを「任意の場所」に設定することで、送信元が 0.0.0.0/0 のルールを指定する、つまりどのIPアドレスからのアクセスも許可されることになります。今回は検証用なので、この設定のままにします。
:::
![スクリーンショット 2022-08-05 18.03.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774155/f0c88a3c-b171-a49e-a249-f9719bac9e22.png)

・下部にある「セキュリティグループルールを追加」を押下し、
「セキュリティグループルール 2」、「セキュリティグループルール 3」を追加。
・「セキュリティグループ 2」の設定
→タイプを「HTTP」、ソースタイプを「任意の場所に設定」
・「セキュリティグループ 3」の設定
→タイプを「HTTPS」、ソースタイプを「任意の場所に設定」

:::note info
「HTTP」、「HTTPS」のタイプのセキュリティグループルールを追加することで、外部Webブラウザやデバイスからのアクセスができるようになります。
:::


###### 高度なネットワーク設定
今回は触りません。

##### ■ストレージを設定
![スクリーンショット 2022-08-05 18.03.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774155/26852f50-ca21-a75d-097a-6e46009d4a2e.png)

デフォルトのままにします。

##### ■高度な詳細
今回は触りません。

##### ■概要
![スクリーンショット 2022-08-05 18.04.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774155/c0800c9d-d927-46f7-a980-4067dd66aaf2.png)
誤設定がなければ下部の「インスタンスを起動」を押下し、EC2インスタンスが作成されます。

#### ④EC2ダッシュボードに戻る
![スクリーンショット 2022-08-06 15.05.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774155/72e65a6f-fcba-4665-1489-deef85d2a8bb.png)
最初は「インスタンスの状態」が「保留中」になっていますが、遅くとも1、2分以内には上記画像のような状態になります。

#### ⑤注意
:::note warn
インスタンスを起動したままにすると、料金が発生してしまいます。
検証で起動する場合以外は、下の画像の「インスタンスを停止」を選択することが望ましいです。
:::

![スクリーンショット 2022-08-06 15.10.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774155/5fce05b6-1ca7-8928-a90b-3686bfd69c2b.png)

# あとがき
今回は外部公開できることを想定したハンズオンです。
状況によってはセキュリティグループルールを変更したり、プライベートサブネットに配置する必要があったりと、用途や設定は様々です。

次項では[EC2へSSH接続し、ログインする方法について](https://qiita.com/holySh10/items/689f4c83cd18db128983)投稿致します。

ここまでご覧いただき、誠にありがとうございます。