はじめてのEC2インスタンス

初めてEC2インスタンス触る、またとりあえずで接続したい人向け。

## 作成

- 移動

ログインして、
ホーム > EC2 > インスタンス > インスタンス へ移動します。
`インスタンスを起動` からEC2インスタンスを作成していきます。

![2021-04-07 1インスタンス _ EC2 Management Console - Google Chrome 20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/c20007de-6585-6e20-1625-8e86830c9fce.png)


- ステップ 1: Amazon マシンイメージ (AMI)

AMIを決めます。
AMIの詳細は[こちら](https://qiita.com/miyuki_samitani/items/fa3a846407a4f8a36efe) から見てください。
イメージとしてはOSを決めます。
今回はAWSのAmazon linuxを使用します。

![2021-04-07 2インスタンスウィザードを起動 _ EC2 Management Console - Google C.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/a2aa94ce-8add-2429-1d0e-0262c91df7bb.png)


- ステップ 2: インスタンスタイプの選択

ここではインスタンスの大きさ、メモリ・CPUなどの組み合わせを決めます。
特に決まっていなかったり、とりあえず作ってみたいであれば無料枠の対象の t2.micro を選びます

![2021-04-07 3インスタンスウィザードを起動 _ EC2 Management Console - Google C.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/9e1d30bc-b1c7-043e-94ce-f07be13467ac.png)


- ステップ 3: インスタンスの詳細の設定

ここでは、インスタンスの詳細な設定を決めます。
色々ありますが、とりあえず起動させて接続するだけなので以下の設定を行います。
ネットワーク : デフォルト
自動割当パブリックIP : 有効(GIPで接続できる)


![2021-04-07 4インスタンスウィザードを起動 _ EC2 Management Console - Google C.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/e268f755-14bb-768a-5bcd-bfd7ceb27e1b.png)


- ステップ 4: ストレージの追加

ストレージの設定をします。
ここではHDDやSSD、またどれくらいのサイズにするかなど決めることが出来ますが、
デフォルトのタイプで `終了時に削除にチェック` を入れましょう。
EC2インスタンスはイメージではインスタンス(サーバ)とストレージ(HDD)が別の考えなので
デフォルトではインスタンスを削除したときHDDは自動的に削除されません。
なので、一緒に削除するようにチェックを入れました。(大体消すの忘れる)

![2021-04-07 5インスタンスウィザードを起動 _ EC2 Management Console - Google C.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/9e1fb6c6-c2b7-56af-f008-45ccb941935d.png)


- ステップ 5: タグの追加

ここではインスタンスにタグを付けることが出来ます。
なので、ここで名前をつけました。
キー : Name
値 : local-server

![2021-04-07 6インスタンスウィザードを起動 _ EC2 Management Console - Google C.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/22a81bd1-ab0a-0a39-4195-2090af2836c5.png)


- ステップ 6: セキュリティグループの設定

セキュリティグループの設定を行います。
セキュリティグループとはfirewallの役目のようなもので、ここでポートを開けないとそもそもsshすら通りません。
なので、sshだけ開けておきます。

```
セキュリティグループの割り当て : 新しいセキュリティグループで作成する ※既存のセキュリティグループも使用できます
セキュリティグループ名 : local-server_security-group
ルール
	- タイプ : SSH
	- プロトコル : TCP(自動で入る)
	- ポート : 22(自動で入る)
	- ソース : マイIP(自分のGIPを自動で入れてくれます)
	- 説明 : home(わかりやすいようにの説明)
```

![2021-04-07 7インスタンスウィザードを起動 _ EC2 Management Console - Google C.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/0aab50eb-1c93-14a7-5f18-4af58b1d0067.png)


- ステップ 7: インスタンス作成の確認

今まで作成してきたEC2インスタンスの確認を行います。
こちらで思ってる設定ではなかったら再度変更が出来ます。
問題ないことを確認し、起動を行います。

![2021-04-07 8インスタンスウィザードを起動 _ EC2 Management Console - Google C.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/e2589ff0-00fa-da63-7a93-dd24ce1ba9fc.png)


- キーペアの設定

キーペアというのはログインするための公開鍵で、こちらがないとログインできなくなるので無くさないようにしましょう。
現状はキーペアがないので、新しいキーペアを作成し、名前をつけましょう。
名前をつけるとキーペアのダウンロードが出来ます。

![2021-04-07 9インスタンスウィザードを起動 _ EC2 Management Console - Google C.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/465692c3-3391-c10c-1ac6-77f6b52e09fe.png)


`local-server-key.pem` というファイルがダウンロードされます。

![2021-04-07 10名前を付けて保存 2021-04-07 21.06.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/7a5f3e41-1eea-e445-9ae8-a66273a88dc3.png)


![2021-04-07 11ゴミ箱 2021-04-07 21.07.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/0f580084-5c94-1f92-1b3d-bbd520119313.png)


キーペアのダウンロードを行うとインスタンスの作成を行うことが出来ます。

![2021-04-07 12インスタンスウィザードを起動 _ EC2 Management Console - Google C.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/60dd6c06-36ce-8483-5114-6dfea0a1e44c.png)


- 作成中

作成を行うとこのようなステータスが表示されます。
元のインスタンスの画面に戻ってEC2インスタンスを確認しましょう

![2021-04-07 13インスタンスウィザードを起動 _ EC2 Management Console - Google C.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/201d5e8f-2e12-ab61-37a5-e8c23181b7ea.png)


- 作成完了

インスタンスが表示され、インスタンスの状態が 実行中になればOKです。

![2021-04-07 14インスタンス _ EC2 Management Console - Google Chrome 20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/2a7be56b-8d11-516e-eaba-d31441a22678.png)


## 接続

- GIPを確認

このサーバのGIPを確認します。
サーバをクリックすると下から詳細が開きます。
インスタンス概要の `パブリックIPv4アドレス` がGIPになります。

![2021-04-07 15インスタンス _ EC2 Management Console - Google Chrome 20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/45425440-df9f-8edd-22c3-815e9ae11aec.png)


- キーペアを適切に設置

どこかのサーバでsshを行う場合は鍵の権限を600に変更しなければいけません

- 接続

Amazonlinuxだと `ssh -i [pemファイル名] ec2-user@[GIP]` で接続できます。
OSによってデフォルトのユーザが変わるので注意してください
以下のようにホスト名が `ip-[プライベートIP]` になるとログインできました。

```
[root@localhost ~]# ssh -i .ssh/local-server-key.pem ec2-user@XXX.XXX.XXX.XXX

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

https://aws.amazon.com/amazon-linux-2/
No packages needed for security; 2 packages available
Run "sudo yum update" to apply all updates.
[ec2-user@ip-XXX.XXX.XXX.XXX ~]$ 
```

## 停止・終了

- インスタンスの停止

停止とはただ単にシャットダウンを行うことです。
一覧で、停止したいインスタンスにチェックを入る > インスタンスの状態 > インスタンスの停止 で停止をさせることが出来ます。

![2021-04-07 16インスタンス _ EC2 Management Console - Google Chrome 20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/9ab295cb-06f4-04cb-ee6b-271834316e85.png)


- インスタンスの終了

インスタンスの終了とは、シャットダウンのことではなく削除のことです。
終了を行うと、インスタンス・ストレージが削除されます。
やり方としては、先程と似たような感じですが
終了したいインスタンスにチェックを入れる > インスタンスの状態 > インスタンスの終了 で削除を行うことが出来ます。


![2021-04-07 17インスタンス _ EC2 Management Console - Google Chrome 20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/a3f6ce03-657c-bf53-b775-3c8161e9a9ca.png)