【AWS】無料利用枠アカウント作成からEC2へのssh接続まで

会社のアカウントとTerraformでしか構築したことなかったのでコンソールに慣れるついでに書きました。
超初心者向けに説明しています。
Multi-AZを無視していて、細かい語句の説明も端折っているので感覚だけ掴んでもらえれば。

### 環境
MacBook Pro BigSur
zsh

### アカウントの作成
こちらにアクセスして無料アカウントの作成からアカウントを作成します。
**無料利用枠内でもデビットカードもしくはクレジットカードの登録必須です。**

https://aws.amazon.com/jp/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=*all&awsf.Free%20Tier%20Categories=*all

住所など全てアルファベット入力なので気をつけます。
こちらのページを参考に登録しましょう。

https://aws.amazon.com/jp/register-flow/

アカウントが作成できたら以下のページのコンソールにサインインより、先程登録したアカウントでにログインします。

https://aws.amazon.com/jp/console/


以下個人用のアカウントなのでルートユーザーのまま作成していきます。


### VPCの作成
VPCは他の領域と論理的に切り離された場所です。
これから作成していくAWSサービスを載せていくテーブルだと思ってください。

**コンソール画面に入ったら右上のリージョンが東京なことを確認してください。**
もしバージニア北部など違うリージョンが選択されている場合はアジアパシフィック（東京）を選択してください。
こちらのリージョンがAWSのサーバーを建てるおおよその場所で、個人で使用する場合は通信速度の面から東京にしておくのがベターです。
左上のテキストボックスに「VPC」と入力しサービスのVPCを選択します。
※以後このテキストボックスにサービス名を入力してコンソール画面を移動していきます。

![スクリーンショット 2022-08-30 18.43.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/855584/be6ba96d-ce3c-84f9-5a23-1c9001afbfb1.png)


VPCサービスの画面に移動したら「VPCの作成」をクリックして以下のように設定します。

作成するリソース : VPCのみ
名前タグ : お好きな名前（VPCと付けておくとわかりやすいです）
IPv4 CIDR ブロック : IPv4 CIDR の手動入力 172.60.0.0/16
IPv6 CIDR ブロック : IPv6 CIDR ブロックなし
テナンシー : デフォルト

![スクリーンショット 2022-08-31 18.06.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/855584/9d71faad-c0f0-3c3a-52a5-f89624175226.png)

入力できたら「VPCを作成」をクリックして作成されたVPCが表示されれば完了です。


### サブネットの作成
サブネットはVPCの中でさらに論理的に分けた領域です。
VPCがテーブルだとしたら、サブネットはテーブルの上のお皿だと思ってください。

先程のVPCコンソールの左側にあるサブネットを選択し　、「サブネットを作成」から作っていきます。

![スクリーンショット 2022-08-30 19.11.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/855584/986fc2c3-dfc2-cc7f-305b-043152294dd3.png)

サブネットの設定は以下のようにします。

VPC ID : 先ほど作成したVPC
サブネット名 : お好きな名前（subnetと付けておくとわかりやすいです。）
アベイラビリティーゾーン : ap-northeast-1a
IPv4 CIDR ブロック : 172.60.15.0/24

![スクリーンショット 2022-08-31 18.09.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/855584/ade13f39-baaf-8574-b534-38ac0b8f46b6.png)

入力できたら「サブネットを作成」をクリックして作成したサブネットが表示されれば完了です。


### インターネットゲートウェイ
インターネットゲートウェイはVPCとインターネットを繋げるルーターみたいなものだと思ってください。
これがないとインターネットに接続できません。

右上の「インターネットゲートウェイの作成」をクリックします。

名前タグ : お好きな名前（igwなどが一般的です）

![スクリーンショット 2022-09-01 17.48.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/855584/c9ac813e-ce70-9c28-fad4-7537f80dc5d2.png)

インターネットゲートウェイの作成で作成できたらVPCにアタッチしていきます。
右上の「アクション」から「VPCにアタッチ」をクリックします。

![スクリーンショット 2022-09-01 17.52.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/855584/623312c9-757e-787d-a692-6c3f04ab13b1.png)

先程作成したVPCを選択して「インターネットゲートウェイのアタッチ」を選択すれば完了です。


### ルートテーブルの作成
ルートテーブルは先程作成したVPC内の地図を作成しているようなものだと思ってください。
VPCを作成した段階で勝手に作られていると思うのでその設定を変えて使いまわします。

先程作成したVPCが使われているルートテーブルを選択してルートタブの「ルートを編集」を選択します。

![スクリーンショット 2022-09-01 19.32.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/855584/c394f80d-66db-0bd8-87db-49cdc9e6bf45.png)

ルートを編集画面に来たら、「ルートを追加」より
送信先 : 0.0.0.0/0
ターゲット : 先程作成したインターネットゲートウェイ
このように設定して「変更を保存」を選択します。

![スクリーンショット 2022-09-01 19.24.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/855584/939afdc3-952f-6c57-40a2-f153f19c8f7a.png)

次にサブネットの関連付けタブを選択し「サブネットの関連付け」を編集を選択します。
先程作成したサブネットを選択して「関連付けを保存」を選択します。

![スクリーンショット 2022-09-01 19.23.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/855584/b8b087b1-0aa8-7a2b-024d-69478e1198c3.png)

最後に必須ではないですが、このルートテーブルには名前が付いていないので付けてあげます。
「タグ」タブを選択して「タグの管理」を選択します。
キー : Name
値 : お好きな名前
「保存」を選択します。

![スクリーンショット 2022-09-01 19.44.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/855584/9c74cde1-2057-87a1-d786-5485c5be19e3.png)

一覧で見たときに名前がついていれば完了です。
![スクリーンショット 2022-09-01 19.46.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/855584/edeb2cf9-9c0e-84fa-ec50-aefd18095cbc.png)

ここまでで下準備が完了しました。
次からはサブネットの中にインスタンス（Linuxとか）を入れていきます。


### EC2の作成
EC2とは超大雑把に誤解を恐れず怒られるような言い方をするとパソコンです。この中にLinuxやWindowsを入れてサーバーを構築していきます。
サブネットというお皿にEC2という料理を盛り付けしていく感じでイメージしてもらえれば。

VPCメニューを探したときのように左上のテキストボックスに「EC2」と入力してEC2のコンソールに移動してください。
EC2コンソールに来たら「インスタンスを起動」を選択します。
以下設定を羅列していきますが、見づらい場合画像で確認してください。
**マシンイメージとインスタンスタイプは無料利用枠と書かれているもの以外を利用するとお金がかかるので注意**

- 名前 : お好きな名前
- Amazonマシンイメージ : 今回はAmazonLinuxを使います。
- インスタンスタイプ : t2.micro
- キーペア : 「キーペアを作成」より作成したものを選択。
    - キーペア名 : **わかりやすい名前**
    - キーペアのタイプ : RSA
    - プライベートキーファイル名 : .pem
**（ここでダウンロードしたキーを無くすとEC2にアクセスできなくなるので注意）**

ネットワーク設定 編集を選択して設定していきます
- VPC : 先程作ったVPC
- サブネット : 先程作ったsubnet
- パブリックIPの自動割り当て : 有効化
- ファイアウォール（セキュリティグループ） : セキュリティグループを作成する
    - セキュリティグループ名 : お好きな名前（ハイフンは使えません）
    - 説明 : お好きな説明
    - インバウンドセキュリティグループのルール
        - タイプ : ssh
        - ソースタイプ : 自分のIP
        - 説明 : お好きな名前

![ap-northeast-1.console.aws.amazon.com_ec2_home_region=ap-northeast-1 (3).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/855584/cfd837e3-7f2e-5f43-724f-3bfb49a58763.png)

![名称未設定.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/855584/06e869c2-0b57-6ec4-b75b-9ba4b395a840.png)

![ap-northeast-1.console.aws.amazon.com_ec2_home_region=ap-northeast-1 (6).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/855584/2c87c849-23e7-edbc-af4a-62b2569106ce.png)


「インスタンスの起動」を選択して完了です。


### EC2へssh接続
起動しているインスタンス一覧より先程作成したEC2のパブリックIPを確認します。

![スクリーンショット 2022-09-01 19.11.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/855584/6811c18e-a6bd-def3-6f6b-bfe65c7e34ec.png)

パブリックIPを確認したら先程ダウンロードした.pemファイルがあるディレクトリに移動し以下のコマンドを叩きます。
```sh
# キーの権限を変更します
chmod 400 {key名}.pem
# ssh接続
ssh -i {key名}.pem ec2-user@{パブリックIP}
```

アクセスできたら完了です。

### インスタンスの削除
今回作ったものは検証用なので忘れずに全て消しておきます。
特にEC2は月750時間を超えると料金がかかってくるので忘れないようにしましょう。

終わり