AWSで基盤お試し構築~セキュリティグループ&EC2~

##### 前回の話
[AWSで基盤お試し構築~サブネットとインターネットゲートウェイ~](https://qiita.com/akhkyamada/private/46ca032700427474a780)

# 前回までにやったこと
VPCを作ってap-northeast-1xにサブネットを作りました。
インターネットに接続できるように、インターネットゲートウェイを作りました。

---

## 前回までの作業で完成したとこ
枠ばっかりできてきた。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322955/603be67c-327e-2c43-b04e-0c754311cd70.png)

---

## 今回目指すところ
謎の赤い枠と謎のオレンジの物体を作る。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322955/d74d0af3-9198-1fd0-875b-4ed8950b428a.png)

---

## 準備(確認)
さんざん言っていることですが…

- リージョンが「東京」になっていることを確認する
    - 「EC2立てたぜﾋｬｯﾎｰｲ」と思ったら、全然違うリージョンだったとか、意外とやりますよね。  
自分だけ…?

---

## セキュリティグループを作成する
まずは「謎の赤い枠」を作成していく。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322955/d74d0af3-9198-1fd0-875b-4ed8950b428a.png)

---

###### そもそもセキュリティグループって何者…

- 縄張りの中に家を作っても、全員顔パスで入れてしまうと泥棒し放題になる。
- それを防ぐために、ゲートを作って、怪しいやつは問答無用で倒したいと誰もが思うはず。
- セキュリティゲートの役目をするのが、セキュリティグループと思ってもらえればとりあえずいいと思う。

---

### 毎度毎度のマネジメントコンソール
今回はEC2のページを開く。たどり着き方は人それぞれ。
自分は「最近アクセスしたサービス」にEC2がいるので、そこから行きます。
あとは↓のやり方でだいたい行ける。

 - 「サービスを検索する」で"EC2"と入れる
 - 「すべてのサービス」からEC2を探す
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322955/65e44c41-9f21-07a9-1af3-42782728ae7e.png)

---

### セキュリティグループの画面を開く
左側のリストに「セキュリティグループ」があるはずなので、それを選択する。
「ネットワーク＆セキュリティ」の中にあるはず。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322955/f2111196-ee10-0d03-cee8-1483e67d0ccc.png)

---

- セキュリティグループの一覧が表示されるので、青いボタン「セキュリティグループの作成」を押下する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322955/2f9ef843-4f32-0671-7c64-f061d8579609.png)

---

- 「セキュリティグループの作成」が表示されてくる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322955/a6581ea3-06f8-ef71-2d3e-74330d129495.png)

---
- 設定項目に何書いたらいいか相変わらずわからない…
<table width="200%">
  <tr>
    <th width="300">設定項目</th>
    <th>説明</th>
　</tr>
  <tr>
    <td>セキュリティグループ名</td>
　　<td>セキュリティグループの名前を設定する。好きな名前を付けていい。</td>
  </tr>
  <tr>
　　<td>説明</td>
　　<td>セキュリティグループの説明。どういう用途かを書いておけばとりあえずok。"Webサーバ用"とか。</td>
  </tr>
  <tr>
　　<td>VPC</td>
　　<td>どのVPCに紐づけるかを指定する</td>
  </tr>
  <tr>
　　<td>セキュリティグループのルール</td>
　　<td>どの通信をだれに対して許可するのかを設定する</td>
  </tr>
</table>

---

- 今回は以下のように設定する

<table width="200%">
  <tr>
    <th width="300">設定項目</th>
    <th>設定値</th>
　</tr>
  <tr>
    <td>セキュリティグループ名</td>
　　<td>好きな名前で。</td>
  </tr>
  <tr>
　　<td>説明</td>
　　<td>好きな説明で。</td>
  </tr>
  <tr>
　　<td>VPC</td>
　　<td>前々回作成したVPCを指定する</td>
  </tr>
</table>

---

- セキュリティグループのルールは以下のようにする。
<table width="200%">
  <tr>
    <th width="300">設定項目</th>
    <th>設定値</th>
　</tr>
  <tr>
    <td>タイプ</td>
　　<td>http</td>
  </tr>
  <tr>
　　<td>プロトコル</td>
　　<td>(自動入力)TCP</td>
  </tr>
  <tr>
　　<td>ソース</td>
　　<td>マイIP</td>
  </tr>
  <tr>
　　<td>説明</td>
　　<td>なんか適当に</td>
  </tr>
</table>

---

- 全部入れたらこんな感じになると思われるので、右下の「作成」を押下する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322955/507e387f-f0fe-8b19-b8be-040f75ee222e.png)

---

- 作成したセキュリティグループが一覧に表示されているはず。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322955/cc1d3566-f4f9-2d78-addb-8efe60089b16.png)

---

### 図で見る今の立ち位置
謎の赤い枠ができた
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322955/532ab29c-b7e4-64a7-cd8b-df5ce476d047.png)

---

## EC2を立ててみる。
「謎のオレンジ」を作りましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322955/d74d0af3-9198-1fd0-875b-4ed8950b428a.png)

---

### 毎度毎度のマネジメントコンソール
今回はEC2のページを開く。たどり着き方は人それぞれ。
自分は「最近アクセスしたサービス」にEC2がいるので、そこから行きます。
あとは↓のやり方でだいたい行ける。

 - 「サービスを検索する」で"EC2"と入れる
 - 「すべてのサービス」からEC2を探す
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322955/65e44c41-9f21-07a9-1af3-42782728ae7e.png)

---

- VPCとは趣が若干違うページが表示されたはずなので、青いボタン「インスタンスの作成」を押下してみる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322955/fa0909a0-2346-e9d2-3610-8e3028959bfe.png)

--

- そうすると、こんなウィザード的な画面が表示されるはず。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322955/82ea64c6-8b49-a0c1-f062-a311fbcb7db0.png)

---

### Break…EC2が立ち上がるまでの道のり
そもそもこれから何やるのかって話をしないと、訳わからなくなりそうな気がした。（自分が）

---

- やること

①マシンイメージを選択する
②インスタンスタイプを選択する
③インスタンスの設定(おもにネットワーク周り)を行う
④ストレージの設定を行う
⑤タグを設定する
⑥セキュリティグループを設定する

---

##### マシンイメージを選択する
- Amazon Machine Image。いわゆるAMI。アミっていうらしいです。　　
    - AWS関係でアミ網言ってたらコレの話。
- 要するに、サーバをまるっとパッケージにしたイメージ。
- まずは、要件的にどのOSなのか観点で選んだらいいのでは。。。

---

##### インスタンスタイプを選択する 
- CPUの数とかメモリのサイズとかネットワークの太さとか、、、要件に従って決める。
    - GPU付きが良ければ、GPUインスタンスとかを選んでみたらよろし。
- m3->m4->m5って数字がでかくなってくるに従って、性能はいい割に費用は安くなる不思議。
    - 個人で使うならmicroとかでいいと思われる。無料枠だし。

---

##### インスタンスの設定(おもにネットワーク周り)を行う
- 前回、前々回で作ったVPCとかサブネットを関連付ける

---

##### ストレージの設定を行う
- ストレージのサイズはここで設定する。
- ルートボリューム以外も作れる

---

##### タグを設定する
- 名前つけてあげましょう

---

##### セキュリティグループを設定する
- さっき作ったセキュリティグループをアタッチしよう。
- ここでも作成できるけど、説明し辛いから先に作っておいてみた。

---

### ということで、EC2を作成
######マシンイメージを選択する
- 一番上のAmazon Linux 2を選択する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322955/82ea64c6-8b49-a0c1-f062-a311fbcb7db0.png)

---

##### インスタンスタイプを選択する 
- 無料利用枠で使いたいので、t2.microにしておく。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322955/f4f7a702-74d2-7d46-ef57-e376888b077f.png)

---

##### インスタンスの設定(おもにネットワーク周り)を行う
- VPCとサブネットは、前々回あたりから作成してきたやつを使う。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322955/dd529a54-031d-325e-881a-018e3183ed51.png)

---

- サーバにインターネットからつながるよう、パブリックIPを有効にする。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322955/c729a97c-1247-c8a0-47a2-872e162b6d91.png)

---

- シャットダウン動作は「停止」にしておく
    - 「終了」にすると、shutdownコマンド叩いたらそのままterminateされてインスタンスが消える。
- 削除保護の有効化にもチェックを入れて、間違って消さないようにする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322955/3df08d83-207b-092c-d782-c4c58077d520.png)

---

##### ストレージの設定を行う
- 特に要件がないので、デフォルト設定にしておく
    - サイズを変えたりストレージを足したりしたいときは、この画面で設定する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322955/ef56da16-c334-73d3-5279-0743390a9858.png)

---

##### タグを設定する
- 分かりやすい名前とかを付けてあげる
    - タグの値でサービスを制御するとかっていう使い方もある。なんだったかは忘れた。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322955/dd56d4b8-9125-bbb3-888f-308e7a109e81.png)

---

##### セキュリティグループを設定する
- 「既存のセキュリティグループを選択する」を選択する。
- さっき作成したセキュリティグループを選択する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322955/5515e8a3-7129-d2d1-624d-74a9e8436cfb.png)

---

##### 全部終わったら「確認と作成」を押下する
- こんな画面が出るけど、無視して進める。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322955/64b7651d-bc52-bc5d-1ecc-2e79c1e57b06.png)

---

- 確認画面が出るので、「起動」を押下する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322955/69a27a8a-a591-531b-344c-cab3367b71d4.png)

---

- キーペアを作成してあげる。
    - キーはなくしたらおしまいなので、ちゃんと保存しておきましょう。
    - SSMで接続する手もあるけど。
    - Gitにキーを上げると楽しいことが起きるらしいです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322955/05e4afef-8817-64e3-73dc-6bd69950ee94.png)

---

##### 作成が始まった。
- 右下「インスタンスの表示」を押下する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322955/8dc05314-b955-4297-dd8e-4890aaef755c.png)

---

- 無事にEC2が起動してきた
    - インスタンスのステータスが"Running"なら起動している
    - pendingとかstoppingとかterminatingとかstoppedとかterminatedだと動いてない。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322955/91b281ca-9083-4633-eadb-41ff7d36041c.png)

---

### 図で見る今の立ち位置
ひとまずサーバは立ったし、インターネットにもつながるはず。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/322955/5682011b-368e-da9b-7556-574c24b33933.png)

**Webサーバが欲しいけど、まだWebサーバになりきれてないのでもう少し頑張る**

---

##### まだ終わらないので次へ
[AWSで基盤お試し構築~サーバでコマンドを叩ける環境を作る~](https://qiita.com/akhkyamada/private/d19eb20014d1b4529625)