AWSコンソールからEC2インスタンスを作成する手順

「EC2インスタンスをとりあえず作ってみたい」という方向けに手順をまとめました。

#事前準備
VPCやサブネットを先に用意しておくとスムーズかと思います。
（ECインスタンス作成時に紐付けられるため）

もしよろしければ、以下の記事を参考になさってみてください！

- [VPC作成 〜 パブリック・プライベートサブネットを作るまでの手順①](https://qiita.com/kanadeee/items/527e7ea4daed36b396fe)
- [VPC作成 〜 パブリック・プライベートサブネットを作るまでの手順②](https://qiita.com/kanadeee/items/daba7a84ac89eb89556c)

#作業手順
**1.　[AWSコンソール](https://console.aws.amazon.com/console/home) にログイン**

**2.　[EC2] と入力し、Enterキーを押す**

**3.　サイドバーの[インスタンス] をクリック**

**4.　[インスタンスの作成] をクリック**

## Amazon Machine Image (AMI)
インスタンスの元になるイメージが`Amazon Machine Image` です。

**1.　任意のAMIの[選択] をクリック**
![スクリーンショット 2020-05-03 17.34.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/156147/4b931f13-3185-82aa-ce69-b52df97153fe.png)


## インスタンスタイプの選択
スペックがさまざまなので、用途に合ったものを選ぶ必要があります。
インスタンスタイプの詳細は[公式ドキュメント](https://aws.amazon.com/jp/ec2/instance-types/)に詳しくまとまっています。

今回は深く考えずに無料枠を使います。

**1.　任意のインスタンスタイプにチェックし、[次のステップ: インスタンスの詳細の設定] をクリック**
![スクリーンショット 2020-05-03 17.34.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/156147/d91e7392-c6b2-43ec-25cb-24befedc2ce7.png)


## インスタンスの詳細の設定
**1.　以下を設定し、[次のステップ: ストレージの追加] をクリック**
![スクリーンショット 2020-05-03 17.35.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/156147/b41237ac-8841-6a67-1faf-d3f14b2c871d.png)

- ネットワーク:紐付けたいVPC
- サブネット:紐付けたいサブネット
- 自動割り当てパブリック IP：有効

他の項目はとりあえずデフォルト値にしておきます。 

----
**【初回のインスタンス起動時に何かしらのスクリプトを実行させたい場合】**

　[ユーザーデータ] にスクリプトを記述すると、インスタンス起動時にroot 権限で実行されます。
![スクリーンショット 2020-05-03 17.36.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/156147/d30e6bc1-45d3-618f-cd76-645bbe515124.png)

　タイムゾーンの設定をしたり、何かのパッケージをインストールさせたりする際に使えそうですね。

## ストレージの追加
**1.　任意の内容を設定し、[次のステップ: タグの追加] をクリック**

## タグの追加

**1.　任意の内容を設定し、[次のステップ: セキュリティグループの設定] をクリック**
キーに`Name` を設定すると、インスタンスに名前を付けられます。
わかりやすくするために設定しておくといいと思います。

![スクリーンショット 2020-05-03 17.39.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/156147/e9dd25b1-6b0d-20f2-4030-1e1bf31b085e.png)


## セキュリティグループの設定
EC2インスタンスのアクセス制限機能がセキュリティグループです。

**1.　任意の内容を設定し、[確認と作成] をクリック**
※ 以下の設定値だとEC2インスタンスが全世界に見えてしまうため、安全ではないことをご理解の上設定してください
![スクリーンショット 2020-05-03 17.41.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/156147/ce8abdaf-37fc-70be-e6b8-7b16ae13d6ca.png)

## インスタンス作成の確認

**1.　内容を確認し、問題なければ[起動] をクリック**

**2.　プルダウンから任意の内容を選択し、[インスタンスの作成] をクリック**
EC2インスタンスにssh接続する際は鍵認証が必要です。

- ssh接続する予定がある場合：`既存のキーペアの選択` or `新しいキーペアの作成`
- ssh接続する予定がない場合：`キーペアなしで続行`を選択

**3.　[インスタンスの表示] をクリック**
![スクリーンショット 2020-05-03 17.42.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/156147/d7331d76-05e7-823b-18af-015dcd2d0b5e.png)

インスタンスが無事に作成されたことを確認できます。
作成直後は`terminated` の状態ですが、少し待つと`running` になるのでご安心ください。
![スクリーンショット 2020-05-03 17.45.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/156147/8ad2bfda-07c4-6b2a-dd0b-b426360fc70d.png)

また、[接続]タブ内の`IPv4 パブリック IP`をブラウザのURLバーにコピペすると、アクセスできることを確認できます。

# 【余談】キーペアなしで作成したECインスタンスでも、ブラウザからSSH接続できる
`EC2 Instance Connect` という機能を使えばブラウザからSSH接続できます。

**1.　EC2インスタンスを選択し、[アクション] > [接続] をクリック**
![スクリーンショット 2020-05-05 22.32.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/156147/404c67e1-ddd0-cfe5-ece9-0a4def8c31d9.png)

**２.　[EC2 Instance Connect] を選択し、[接続] をクリック**
![スクリーンショット 2020-05-05 22.32.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/156147/52588618-8a64-1959-64df-931c6376529d.png)

`EC2 Instance Connect` を利用した接続リクエストはすべてAWS CloudTrailに記録されるようなので安心ですね。

#参考
- [AWS Hands-on for Beginners 〜スケーラブルウェブサイト構築編〜](https://pages.awscloud.com/event_JAPAN_Hands-on-for-Beginners-Scalable_LP.html?trk=aws_introduction_page)
- [インスタンスタイプ - Amazon EC2 | AWS](https://aws.amazon.com/jp/ec2/instance-types/)
- [Connecting to your Linux instance using EC2 Instance Connect - Amazon Elastic Compute Cloud](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Connect-using-EC2-Instance-Connect.html)