AWSとWordPressを使ってWebサイトを構築しよう⑥

<h2>仮想サーバー(EC2インスタンス)を構築しよう</h2>
前回はネットワーク周りの設定をしましたが、この記事では前回作成したパブリックサブネット内に仮想サーバーを構築していきます。

#目次
[1.全体感をイメージする](#1-全体感をイメージする)
[2.インスタンスを作成する](#2-インスタンスを作成する)
[3.インスタンスの起動と停止](#3-インスタンスの起動と停止)

#1. 全体感をイメージする
まずは全体感をイメージするために下記画像を見てください。
今回は赤枠で囲ったWEBサーバーという仮想サーバーを構築します。

![スクリーンショット 2021-06-10 23.30.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1159544/bfd38e3f-41bc-e81f-47ac-8b0667b9e93c.png)


パブリックサブネット内にあるWebサーバーを構築する際にまず最初に仮想サーバーを構築していきます。
仮想サーバーは<b>EC2</b>というサービスを用いて作成します。(EC2で作成された仮想サーバーのことを<b>インスタンス</b>と言います。)

インスタンスを作成後、インスタンスにWebサーバーソフトをインストールしていきWebサーバーを完成させます。

さらにインスタンスには２つのIPアドレスを持たせます。
・パブリックIPアドレス：インターネットとの通信用
・プライベートIPアドレス：VPC内での通信用

では早速インスタンスを作成していきましょう！

#2. インスタンスを作成する
画面上部の入力バーに「EC2」と入力してください。
すると「EC2」のサービスを選択できるようになるので、「EC2」をクリックしてください。

![スクリーンショット 2021-05-04 17.52.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1159544/5f54f856-61b8-4f49-d282-262c1d376fff.png)

EC2の画面へ移行したら、まずは右上のリージョン選択バーより現在のリージョンが「東京」になっていることを確認してください。
(もし東京になっていない場合は「アジアパシフィック (東京)ap-northeast-1」を選択して、リージョンを東京に変更してください。)

![スクリーンショット 2021-05-04 17.56.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1159544/0adb3b9c-4ca0-49bb-7707-184eb2c59c81.png)

次に左メニューから「インスタンス」を選択し、画面右上の「インスタンスを起動」をクリックしてください。

![スクリーンショット 2021-05-04 18.02.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1159544/661d2d92-8937-adc2-fb29-e57b738a76a6.png)

次に<b>AMI(Amazon Machine Image)</b>を選択していきましょう。
AMIとはソフトウェアの構成を記録したテンプレートのことで、簡単に言うとサーバーのセーブデータのようなものです。
これによりある時点でAMIを取得しておけば何か誤ってサーバーに設定をしてしまった場合でも、AMIからサーバーを起動し直すことでAMI取得時の状態に戻すことが可能となります。

今回は「Amazon Linux 2 AMI」を使用するので画像のように「選択」をクリックしてください。

![スクリーンショット 2021-05-04 18.04.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1159544/be9f4fac-8433-8bf3-4d2b-23354097c929.png)

次に<b>インスタンスタイプ</b>を選択します。
インスタンスタイプとは仮想マシンのスペックのことで、今回は<b>「t2.micro」</b>を選択します。
t2.microはAWSのサインアップ日から12ヶ月間は無料利用枠の対象となっております。(無料利用枠の詳細は画面内緑色で「無料利用枠の対象」と記載のあるバーにカーソルを移すと詳細を見ることができます。)

t2.microを選択したら画面右下の「次のステップ：インスタンスの詳細の設定」をクリックしてください。

![スクリーンショット 2021-05-04 18.22.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1159544/92697c49-6961-1543-bd60-223b42e03b2b.png)

「インスタンスの詳細の設定」画面へ移行するので下記画像を見ながら各項目それぞれ設定をします。
![スクリーンショット 2021-05-04 19.04.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1159544/887aa965-2ab3-0c47-d6e6-2fdbb9506d9a.png)
![スクリーンショット 2021-05-04 19.05.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1159544/db1c6c72-78bb-c747-38ab-0f4347f7c94b.png)

画像上部から順番に解説します。
<b>・ネットワーク：以前作成した「VPC」を選択</b>
<b>・サブネット：以前作成した「Public_subnet」を選択</b>
<b>・自動割り当てパブリックIP：「有効」を選択</b>
　→インターネットからインスタンスへ通信できるようにパブリックIPアドレスを作成します。なおここで割り当てられるパブリックIPアドレスは動的IPなので、インスタンス起動時にIPアドレスがランダムで変わります。
<b>・プライマリIP：「10.0.1.10」を入力</b>
　→ここではパブリックIPを設定します。Public_subnetは以前「10.0.1.0/24」の範囲でIPアドレスを設定したので、使用できるIPアドレスは「10.0.1.0〜10.0.1.255」までです。今回は10.0.1.10を設定します。

全て入力が終えたら画面右下の「次のステップ：ストレージの追加」をクリックしてください。

「ストレージの追加」画面へ移行したら、ここでは何も入力しないのでそのまま「次のステップ：タグの追加」ボタンをクリックしてください。

![スクリーンショット 2021-05-04 19.18.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1159544/38a20587-5502-1b42-4750-4da734401a08.png)

「タグの追加」画面へ移行するので、ここではインスタンスに名前を付けていきます。

まずは新しくタグを作成するので「タグの追加」をクリックしてください。
![スクリーンショット 2021-05-04 19.23.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1159544/3cc1ba6d-99cd-6996-cb56-cbd18aa0668b.png)

次に下記のように入力してください。
<b>・キー：「Name」と入力</b>
<b>・値：「Webサーバー」と入力</b>

入力後「次のステップ：セキュリティグループの設定」をクリックしてください。

![スクリーンショット 2021-05-04 19.24.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1159544/eb056d34-40b2-f819-f1bf-b444d8854b6b.png)

「セキュリティグループの設定」へ移行したら、セキュリティグループを設定していきます。
インスタンスにアタッチするセキュリティを設定することができます。

下記のように入力してください
<b>・セキュリティグループ名：「Web_security」と入力</b>
　→ここではセキュリティグループ名の入力のみで、他はデフォルト設定のままにしてください。
※画像下に「警告」と表示されていますが、これはデフォルトのセキュリティ設定のままだとSSH接続(サーバーにリモートでログインして操作する時に使う接続方法)した際にどこからでも接続可能な状態になってしまい、悪意ある人からサーバーに接続されてしまう恐れがあります。
より安全に使用するためには「ソース」と記載ある箇所に「マイIP」という項目があり、「マイIP」を選択して自分のパソコンのパブリックIPからのみ接続可能にしたり、現在「0.0.0.0/0」と書かれてるIPアドレスを特定のIPアドレスに設定して、設定したIPアドレスからのみ接続可能にする方法があります。

セキュリティグループ名を入力したら「確認と作成」をクリックしてください。

![スクリーンショット 2021-05-04 19.35.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1159544/5786efd5-ae08-259a-5c7e-7dd4472dae93.png)

「インスタンス作成の確認」へ移行すると、ここでは今まで設定してきたインスタンスの設定を確認できます。

「起動」ボタンをクリックしてください。

![スクリーンショット 2021-05-04 20.21.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1159544/d3942a45-db56-2d80-c750-52f6e409dc7d.png)

<b>キーペア</b>を作成する画面に移行しますので、ここでインスタンスにログインするために必要なキーペアを取得します。

まず「新しいキーペアの作成」を選択し、キーペア名に下記を入力してください。
<b>キーペア名：「My_Keypair」と入力</b>

キーペアを入力後「キーペアのダウンロード」をクリックしてください。

![スクリーンショット 2021-05-04 20.36.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1159544/08b5348b-a95d-009a-b3e0-42120125b9c3.png)

「キーペアのダウンロード」を選択すると「My_Keypair.pem」というファイルがダウンロードされます。
ダウンロードしたファイルは再びダウンロードし直すことはできないので<b>必ず失くさないよう注意してください。</b>失くしてしまうとインスタンスへログインできなくなります。

キーペアのダウンロードが完了したら「インスタンスの作成」ボタンをクリックしてください。
すると下記画像のようにインスタンスの作成が始まります。

![スクリーンショット 2021-05-04 21.20.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1159544/3548bee9-07ce-810e-649a-7a8e6332e8c7.png)

次にインスタンスが作成されたか確認するため画面上部の検索バーに「EC2」と入力し、「EC2」をクリックしてください。
![スクリーンショット 2021-05-06 14.07.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1159544/778e665d-db2b-03f0-2950-eac3588ad011.png)

左メニューから「インスタンス」をクリックするとインスタンス一覧が表示されます。
そこに先ほど作成したインスタンス「Webサーバー」が作成されていればOKです。

さらに緑色の文字で「実行中」と書かれていればインスタンスが起動している状態で、「2/2のチェックに合格しました」と書かれていれば正常に起動している状態を表しています。
(インスタンス起動直後は画像のようなステータスにならないのでしばらく待ってから画面更新して確認してください。)

![スクリーンショット 2021-05-06 16.57.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1159544/119c7ad0-c845-8f74-b3f5-ace1c53c012b.png)

<b>※インスタンスを起動している間は課金対象となるため必ず不要になったらインスタンスの停止や削除をしてください。</b>

<b>下記にイインスタンスの停止や削除方法を紹介していますので参考にしてください。</b>

##3. インスタンスの起動と停止
インスタンスを使っていない時はインスタンスを停止することで課金されなくなるので練習中はこまめにインスタンス停止してあげるといいでしょう。
しかしインスタンス作成時にストレージ(EBS)を追加しましたが、このストレージはインスタンス停止時も課金対象となります。

なので完全に課金を外したい場合はインスタンスを削除する必要があります。
インスタンスを削除することでストレージも開放されて課金されることがなくなります。

<b>■インスタンスの停止方法</b>
停止したいインスタンスを選択すると、青色にバーが変わるのでそのバーの上で右クリックします。
するとインスタンスを操作できるメニューが開くので、その中から「インスタンスを停止」をクリックしてください。

<b>※「インスタンスを終了」を選択するとサーバーが削除されてしまうのでご注意ください。<b>

![スクリーンショット 2021-05-06 17.06.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1159544/447603c8-5565-9be3-12f5-c7961f47df74.png)

するとインスタンスを停止するためのポップアップ画面が出るので「停止」をクリックしてください。

![スクリーンショット 2021-05-06 17.09.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1159544/95548668-3b3d-fe65-181b-e3879ab9dfaf.png)

小さく赤枠で囲った「更新ボタン」をクリックすることでコンソール画面を更新することができます。
しばらくしてから更新ボタンをクリックするとインスタンスの状態が「停止済み」となります。
これでインスタンスを正常に停止することができました。

![スクリーンショット 2021-05-06 17.10.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1159544/2d1b4bdc-83a2-ac43-49c8-b294bb684d56.png)


<b>■インスタンスの起動方法</b>
インスタンス停止の時と同様に、起動したいインスタンスを選択し選択したインスタンス上で右クリックします。
「インスタンスを開始」をクリックしてください。(一見すると「インスタンスを起動」で起動するように見えますが「インスタンスを起動」を選択すると新しくインスタンスを作成する画面へ移行します。)

![スクリーンショット 2021-05-06 17.13.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1159544/37dc7239-72e4-9ef1-6b4f-66e57e1caaac.png)

正常にインスタンスが起動されるとインスタンスの状態が「実行中」に、ステータスチェックの状態が「2/2のチェックに合格しました」と表示されます。

![スクリーンショット 2021-05-06 17.16.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1159544/efcbd8ce-ff23-80d4-0052-c887bdeaef29.png)

<b>■インスタンスの削除方法</b>
まず削除したいインスタンスを選択して右クリックをし「インスタンスを終了」をクリックしてください。
![スクリーンショット 2021-05-06 19.29.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1159544/56d2347a-6dc6-cde9-ea87-57b114c2d875.png)

ポップアップ画面が出てくるので「終了」をクリックしてください。
![スクリーンショット 2021-05-06 19.31.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1159544/fd8218c8-dbaa-5568-2f28-a953d63b4053.png)

するとインスタンスの状態が「シャットダウン中」から「終了済み」となるので、これでインスタンスの削除は完了です。

![スクリーンショット 2021-05-06 19.32.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1159544/39e9698d-c2ad-877d-a7ca-12e9364db585.png)
![スクリーンショット 2021-05-06 19.33.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1159544/51de1f46-8ae8-2195-f71b-e63de1b79488.png)

</br>
今回はここまで。
次回は作成したEC2インスタンスへ<b>SSH接続</b>してみましょう！

次の記事はこちらから
<a href="https://qiita.com/uchino_infra/private/77586fb1a4ca22abc68b">AWSとWordPressを使ってWebサイトを構築しよう⑦</a>