AWS実験室 / EC2インスタンス作成 (Amazon Linux 2)

実験用にWebサーバーのインスタンス作成してみました。

## ECSダッシュボード
- AWSコンソールの検索ボックスで「EC2」を入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294043/09dbea57-9517-9aaf-2e79-a47e35be2f72.png)
- 「EC2」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294043/33528854-50b1-7b4d-fdce-e826bff51dd0.png)
## リージョン選択
- インスタンスが起動するリージョンを選択します。</br>
リージョンによっては対応していない機能があるようなので慎重に選択してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294043/c5da7fb6-3b42-f361-6f60-e00cfe724a27.png)
## キーペア作成
- 左ペインの「ネットワークとセキュリティ＞キーペア」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294043/5c4ab49e-abc0-85d1-233f-1b3666252702.png)
- 「キーペアを作成」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294043/22f87121-962d-3178-57aa-3e6be9a91631.png)
- 「名前」「キーペアのタイプ」「プライベートキーファイル形式」を選択して「キーペアを作成」ボタンをクリックします。</br>
- ボタンをクリックすると鍵ファイルがダウンロードされるので適切なフォルダに保存します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294043/b9a27e5e-e50f-6392-f59f-bd9c95d8b47f.png)
## セキュリティグループ作成
- 左ペインの「ネットワークとセキュリティ＞セキュリティグループ」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294043/98ef072a-2a51-fe85-c6c9-f949d1e532f0.png)
- 「セキュリティグループを作成」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294043/f283eaec-e2c5-ced1-1d79-cfd5543b61de.png)
- 各設定値を入力します。</br>
インバウンドに「SSH」と「HTTP」プロトコルを「許可」するようにします。</br>
<font color='red'>HTTPプロトコルの許可はあくまでも一時的なものです。<font/>
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294043/a52383f5-b891-15f8-35ec-af6951e6f6d5.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294043/2c551022-810b-f257-0b55-d5ac483af4bf.png)
-「セキュリティグループを作成」ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294043/6f9fe698-5d6f-d009-6669-01851bbd62df.png)
## インスタンス起動
- 「インスタンスを起動」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294043/1c1bb7ee-c366-7d60-c15b-4b356c795491.png)
- 仮想マシンの設定値を入力して「インスタンスを起動」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294043/1d1c0119-fd94-4316-8568-6baec63d5c7a.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294043/433e360f-724a-2607-be71-45c68159c717.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294043/705df3eb-679f-0d53-4b8a-3e054b6eb56f.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294043/ede9d7fd-5abd-981e-0561-f48c36e97323.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294043/ee84eed0-58d4-bc0e-2a1d-9bb927150baa.png)
-EC2ダッシュボードで「実行中」と表示されていれば成功です。&br;
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294043/f2560926-1d93-bd43-6361-3a034d7da848.png)
## 接続テスト (SSH)
- 接続テストにはTeraTermを使用します。
ホスト名を確認するためEC2ダッシュボードで「インスタンスID」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294043/08aaadeb-3664-a629-5e92-016f248482ef.png)
- IPv4 DNSをコピーします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294043/24aa5bb0-c13b-3705-a4a7-e636f33e8f2f.png)
- TeraTermを起動して「ホスト」にec2インスタンスのホスト名を入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294043/67896e4a-b00f-a7c8-b2f5-1b1e4f73da10.png)
-ユーザー名に「ec2-user」, 認証方式に「RSA/DSA/ECDSA/ED25519鍵を使う」を選択して秘密鍵にキーペア作成時にダウンロードしたファイルを選択して接続します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294043/2e226e61-9d78-66f0-757b-fc16612b9578.png)
- 設定に問題なければ以下のようにログインが成功します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294043/3ae738bc-4f67-69d5-a169-dec9b067fc7e.png)
## 接続テスト (HTTP)
- TeraTermからhttpｄパッケージをインストールします。
```bash
$ sudo su -
# yum -y install httpd
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
amzn2-core                                                                        | 3.7 kB  00:00:00
Resolving Dependencies

～中略～

Dependency Installed:
  apr.x86_64 0:1.7.0-9.amzn2                        apr-util.x86_64 0:1.6.1-5.amzn2.0.2
  apr-util-bdb.x86_64 0:1.6.1-5.amzn2.0.2           generic-logos-httpd.noarch 0:18.0.0-4.amzn2
  httpd-filesystem.noarch 0:2.4.54-1.amzn2          httpd-tools.x86_64 0:2.4.54-1.amzn2
  mailcap.noarch 0:2.1.41-2.amzn2                   mod_http2.x86_64 0:1.15.19-1.amzn2.0.1

Complete!
```
- httpdサービスを起動します。
```bash
# systemctl status httpd.service
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:httpd.service(8)
[root@ip-172-31-35-11 ~]# systemctl start httpd.service
[root@ip-172-31-35-11 ~]# systemctl status httpd.service
● httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Sun 2022-12-11 10:46:57 UTC; 7s ago
     Docs: man:httpd.service(8)
 Main PID: 3537 (httpd)
   Status: "Processing requests..."
   CGroup: /system.slice/httpd.service
           tq3537 /usr/sbin/httpd -DFOREGROUND
           tq3538 /usr/sbin/httpd -DFOREGROUND
           tq3539 /usr/sbin/httpd -DFOREGROUND
           tq3540 /usr/sbin/httpd -DFOREGROUND
           tq3541 /usr/sbin/httpd -DFOREGROUND
           mq3542 /usr/sbin/httpd -DFOREGROUND

Dec 11 10:46:57 ip-172-31-35-11.ap-northeast-1.compute.internal systemd[1]: Starting The Apache HTTP S...
Dec 11 10:46:57 ip-172-31-35-11.ap-northeast-1.compute.internal systemd[1]: Started The Apache HTTP Se...
Hint: Some lines were ellipsized, use -l to show in full.
```
-WebブラウザでEC2のホスト名を指定してアクセスします。</br>
テストページが表示されれば成功です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/294043/a5fdb724-328e-056f-f801-bc926944b6c2.png)