初めてAWSでEC2インスタンスを作って、SSH接続するまでの方法

# 前提条件
- AWSアカウントを作成済みなこと
- macOSでターミナルの基本コマンド(cdとかchmodとか)が使えること

# 作業の大まかな流れ
- AWS EC2でインスタンスを立ち上げる
- セキュリティグループの追加(ポート解放をする)
- macOSでターミナルを使ってssh接続をする


# AWSにアカウントを作ったら、EC2を開く
ヘッダーの右上あたりにあるリージョンは、東京を選択する。
![スクリーンショット 2022-09-22 20.15.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262827/52473c3a-36ef-82bd-36a8-5a6e6f919124.png)


ヘッダー左上の「サービス」からEC2を選択して開く
![スクリーンショット 2022-09-22 19.20.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262827/54596d99-3356-b721-2596-7d34bb8e3b23.png)

EC2の画面が開いたら、「インスタンスを起動」ボタンを押す
![スクリーンショット 2022-09-22 19.25.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262827/df1fbb30-eeb3-9851-3dcd-53d8a97ec48e.png)

# インスタンスの名前をつけたり、画像の通りに設定を行なっていく
![スクリーンショット 2022-09-22 19.27.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262827/f2203bb8-0843-98cb-89fe-99ba3c824015.png)


![スクリーンショット 2022-09-22 19.30.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262827/3e816763-ad80-9422-dd4f-fc9443b88b9f.png)

新しいキーペアを作成を押すと、ウインドウが立ち上がるので、キーペア名を入れて.pemファイルを生成してダウンロードしておく。
![スクリーンショット 2022-09-22 19.37.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262827/ce727835-a462-6bae-ca18-ecfd9465b072.png)


![スクリーンショット 2022-09-22 19.47.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262827/f9547c54-40f3-653a-6722-d8752e73f46a.png)


![スクリーンショット 2022-09-22 19.49.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262827/ad6396d8-4086-17e1-32ba-9b7db5114b54.png)

インスタンス作成が成功したら、全てのインスタンスを表示ボタンを押す。
![スクリーンショット 2022-09-22 20.05.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262827/f8a8fb16-60ab-86ed-5d72-44dcdaa41dfd.png)

# (補足)インスタンスを削除したいとき
インスタンス一覧で、消したいインスタンスにチェックをつけて、「インスタンスの状態」から「インスタンスを終了」を選ぶ。
なぜか、「終了」がAWSでは「削除」っていう意味なのだ。

![スクリーンショット 2022-09-22 20.09.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262827/50dc49a6-dd24-065c-2aaa-b713a9498f91.png)

すぐにインスタンス一覧から消えませんが、放っておくと消えていくパターンなので心配しないで大丈夫です。

# (補足2)設定がAWSの画面に反映してない時
インスタンスを作成した、といった作業をしたにもかかわらず、表示に反映されないときは 慌てずリロードしましょう。
AWSは画面反映が遅い傾向があります。


# セキュリティグループ追加

インスタンス一覧でインスタンスIDを押すと概要が表示されます。
![スクリーンショット 2022-09-23 16.41.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262827/488f4ee8-12a2-b7e2-a169-c960e4a4a589.png)

概要が表示されたら、セキュリティをクリックして、セキュリティグループ名を押しましょう。使用しているセキュリティグループの概要が表示されます。

![スクリーンショット 2022-09-23 16.42.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262827/7ce1c99d-77ef-1966-c600-66f83c9b61cb.png)


セキュリティグループの概要が表示されたら、インバウンドタブルールと、チェックボックスがオンになっているのを確認して、インバウンドのルールを編集ボタンを押す。

![スクリーンショット 2022-09-23 16.52.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262827/302fa2b0-d0e3-7258-38d7-1d23fe716aec.png)

編集画面が出たら、ルールを追加ボタンを押して、タイプはHTTP、ソースの検索窓には0.0.0.0/0と入力します。
もう一つ追加しないといけないので、またルールを追加ボタンを押して、タイプはHTTP、ソースの検索窓には::/0を入力しましょう。
できたら最後にルールを保存ボタンを押します。

![スクリーンショット 2022-09-23 17.02.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262827/ba25ad77-c460-d45a-3cac-de78444d7bf8.png)

# ターミナルでSSH接続してみる
また左側のサイドバーでインスタンスを選択して、概要を開く。
![スクリーンショット 2022-09-23 16.41.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262827/62016378-10a6-4ca3-f27f-4657b52679e0.png)

今度は接続ボタンを押す。
![スクリーンショット 2022-09-23 16.42.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262827/230a4fd4-6b06-7367-eb0e-19dce94c3fb7.png)


画面が切り替わったら、SSHクライアントタブを表示させる。

ターミナルを開いて、`cd`でさっきインスタンスを作った際にダウンロードした.pemファイルの置いてある階層に行く。
そこで、AWSの画面にある`chmod 400 自分のつけたキー名.pem`のコマンドをコピーして、ターミナルに貼り付け、アクセス権限を所有者のみ読み込みを許可するように変更する。

次に、またAWSの画面にある接続用のコマンド`ssh -i "自分のつけたキー名.pem" ユーザ名@なんとかかんとかamazonaws.com`をコピーして、ターミナルにペーストして接続。

![スクリーンショット 2022-09-23 17.12.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/262827/214172ad-c7e2-0280-127c-e6ffd91f773f.png)

すると、`Are you sure you want to continue connecting (yes/no/[fingerprint])?`と聞かれるので、`yes`とキーで入力。
```terminal
マシン名:.ssh ユーザ名$ ssh -i "自分のつけたキー名.pem" ユーザ名@なんとかかんとかamazonaws.com
The authenticity of host 'なんとかかんとか.amazonaws.com (＊.＊.＊.＊)' can't be established.
ED25519 key fingerprint is SHA256:なんとかかんとか.
This host key is known by the following other names/addresses:
    ~/.ssh/known_hosts:＊: なんとかかんとか.amazonaws.com
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
```

そしたらEC2というアスキーアートが出て、繋がります。

```terminal
Warning: Permanently added 'なんとかかんとか.amazonaws.com' (ED25519) to the list of known hosts.
Last login: Thu Sep 22 00:57:24 2022 from ***.ne.jp

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/
[ec2-user@**** ~]$ 

```

あとは、EC2にターミナルからコマンドを入れて、NGINXやApatchを入れたり、MySQLを入れたりして使いましょう。