【Amazon Linux 2023】EC2でLinuxサーバー構築



## ■目的
AWSのEC2インスタンス作成方法について記載しました。
インスタンス作成、キーペア、セキュリティグループの設定をしています。
自身のアウトプットのために記載してるので、不足してる情報があるかもしれません。

## Step 1：キーペアの作成

1.AWSコンソールにログインし、EC2>ネットワーク＆セキュリティ＞キーペア＞「キーペアを作成」を選択

2.設定を入力

![create_ec2_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4082636/4d82eab2-57e9-4eec-be13-6f8c6e5ad1d2.png)

**💡 キーペアのタイプ**
| キーペア | 対象 |
| --- | --- |
| RSA | 全部OK(Windows,LinuxおよびMAC) |
| ED25519 | LinuxおよびMACのみ |

**💡 プライベートキーファイル形式**

chat GPTに聞いてみた↓とりあえず.pemで作成

| 用語 | 意味・役割 | 誰が使う？ |
| --- | --- | --- |
| `.pem` | AWSがくれる秘密鍵ファイル | mac/Linux/Windows（OpenSSHユーザー） |
| OpenSSH | `.pem`を使ってSSH接続するコマンド | mac/Linux/最近のWindows |
| `.ppk` | PuTTYで使う鍵ファイル（.pem変換必要） | PuTTYユーザー |
| PuTTY | Windows向けのSSHアプリ（GUI） | Windowsユーザー |
</aside>

3.キーペアが正常に作成されました、の表示を確認

:::note info
作成が完了するとローカルにキーペア(.pemファイル)がダウンロードされるため、保管する
:::


![create_ec2_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4082636/7e66cd08-62c8-42ca-b3a7-0aa303a82d79.png)


## Step 2：セキュリティグループの作成

1.EC2>ネットワーク＆セキュリティ＞セキュリティグループ

セキュリティグループを作成

![create_ec2_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4082636/c568cb7c-77c9-4b88-8641-36370e305a0e.png)

![create_ec2_4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4082636/94ab3701-3bb7-4c53-9968-4fd6d228c3b3.png)

**①基本的な詳細**
VPCはデフォルトで

:::note info
インバウンド…外部からAWSへ。アウトバウンド…AWSから外部への通信
※セキュリティの観点から最小アクセスを心掛ける。
:::

**②インバウンドルール**
タイプ：SSH、リソースタイプ：マイIPを選択

:::note info
マイIPを選択すると、ソースにPCのパブリックIPが自動入力される
:::
パブリックIPは[https://whatismyipaddress.com/](https://whatismyipaddress.com/) でも確認可能

![create_ec2_5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4082636/c31b5230-63d3-4140-af4f-6d7147135192.png)

**③アウトバウンドルール** 

最小アクセスにしたいので、タイプ：すべてのトラフィック、送信先：マイIPで設定。

タイプ：すべてのトラフィック、送信先：IPV4　0.0.0.0/0にすると以下の注意が表示される。
![create_ec2_6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4082636/11474177-4674-4d95-8a2b-449dff3cf791.png)


**④タグ - *オプション***
今回は設定せず。


2.正常に作成されたことを確認

![create_ec2_7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4082636/e140d6b7-de6f-405f-b900-a0d8094fef48.png)


## Step 3：EC2の作成

1.EC2＞インスタンス＞インスタンスを起動

①名前とタグ
→タグはなしで、名前のみ設定

②アプリケーションおよびOSイメージ
AMIでは、Amazon Linux 2023 amiを利用。（無料利用枠の対象）

③インスタンスタイプ
t2.micro（無料利用枠の対象）

④キーペア（ログイン）
作成済みの設定を選択。

⑤ネットワーク設定
ファイアウォール（セキュリティグループ）にて、作成済みの設定を選択。

⑥ストレージ
8G　gp3(汎用SSD)（デフォルト）

⑦高度な詳細
特に設定なし。

⑧概要
こちらを確認し、問題なければ「インスタンスを起動」をクリック

## Step 4：EC2へのアクセス(SSH)
※Teratarmをインストールしておく。

1. Teratarmの新しい接続、ホスト：に<font color="red">インスタンスのパブリックIP</font>を入力
2. ユーザー名：ec2-user パスフレーズ：なし

認証方式：RSA/DSA/ECDSA/ED25519鍵を使う、を選択

3.接続を確認👏

![create_ec2_8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4082636/8d6ad1a2-77e8-4dce-8ed3-e26a157aac4b.png)

## ■所感
SAAの資格をとっていたのでざっくりとアウトバウンド、インバウンドとIAMロールの設定をすることは理解していた。マイIPなど、自動でIPを取得してくれるのが助かると思った。
キーペア作成したら自動ダウンロードされているのは、初心者にはわかりにくいかも～と思った。そのまま保存するの忘れる人がいそう…


参考サイト）
https://business.ntt-east.co.jp/content/cloudsolution/column-513.html

■キーペア
- キーペア名
key-test01※[-]が無効だったので、key_test01に変更。
先頭または末尾にスペースNG、との記載。先頭にスペース入れてみたらちゃんとNGの表示がでた。

- キーペア
要注意、勝手にダウンロードされる。
疑問：WindowsでEC2インスタンス作成したら、キーペアの指定画面でED25519は選択不可表示（グレーアウトか、そもそも表示されないのか）になる？
    
■セキュリティグループ
> （セキュリティグループは）キーペアと同様にEC2インスタンスの作成時に選択するため、事前に作成する必要があります。
> 

別に事前に作成しなくても、EC2のインスタンス設定画面で作成できる模様。

- インバウンド、アウトバウンド両方自分のパブリックIPで設定するのが最小権限！と思ったので念のためchatGPTに確認。

> アウトバウンドで、自分のパブリックIPだけにすると、EC2が外にアクセス（例：OSのアップデート、外部API利用など）できなくなる可能性がある。
▶ もしEC2が「自分（あなたのPC）にしか通信しなくていい」ならアリ！
→ でも、ほとんどのケースではアウトバウンドは「すべて許可（0.0.0.0/0）」のままでOK。
> 

確かに。でもあとで設定変更できるので、いったん自分のパブリックIPだけ許可設定にした。

■EC2
高度な詳細、で設定できる項目が多い。設定できる情報については、頭に入れておいたほうがいいかも。

> • Amazon Linux AMI の場合、ユーザー名は `ec2-user` です。
> 

ログインユーザー名は：ec2-userであること。rootやadminじゃないってことを頭に入れておきたい。
OSによって異なるがとりあえず、`ec2-user` と覚えておくとよさそう

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/managing-users.html

- Teratarmで接続する際、パスフレーズを設定しなくてもログインできるところ。
パスフレーズ＝パスワードじゃない。パスフレーズは鍵の鍵。