【AWS】EC2 インスタンスを作成して接続する

# はじめに
この記事では、EC2 インスタンスを作成して接続する手順を記載します。

https://aws.amazon.com/ec2/

:::note
以後の画面キャプチャは 2024年8月時点のものです。
:::

# インスタンス作成（起動）画面へアクセスする
EC2 のダッシュボードで「Instances」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/318188/b7fecac1-43fb-f6f8-0699-0e4f61d91475.png)

インスタンス一覧画面が表示されます。この画面で「Launch instances」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/318188/0e74483e-5377-8f2b-42ec-442dcec0ab6e.png)

# インスタンスを作成する
必要情報を入力してインスタンスを作成します。

## Name and tags
Name に「web-server-01」と入力します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/318188/0d51abbd-5f44-f684-bd44-b3c34250e223.png)

## Application and OS Images (Amazon Machine Image)
デフォルトの「Amazon Linux 2023 AMI」にします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/318188/2dda727a-c19a-6337-347a-7829cb1d9e49.png)

## Instance type
デフォルトの「t2.micro」にします。無料利用枠の対象となります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/318188/15ffa819-6e86-ae1e-55f0-8bcc0b23baa7.png)

## Key pair (login)
「Create new key pair」をクリックして、新しいキーペアを作成します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/318188/7730e469-05a9-5991-8ed0-25c80ddcc17b.png)

以下の値を入力して、「Create key pair」をクリックします。

- Key pair name : access-key
- Key pair type : RSA
- Private key file format : .pem

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/318188/9bd528ad-88b2-7909-9982-5a255b5a7698.png)

キーペアが作成され、Key pair name で作成したキーペア名が表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/318188/9b60594a-66b0-835c-23fb-836f5e29c997.png)

## Network settings
以下の値を入力します。

- VPC : my-vpc
- Subnet : web-subnet-01
- Auto-assign public IP : Enable
- Firewall : Create security group
- Security group name : web-sg

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/318188/147d8c96-0436-d832-c655-10a190a56606.png)

※VPC や Subnet に作成手順については、以下の記事に記載があります。

https://qiita.com/Yasushi-Mo/items/d5845d312fedce37e1d6

https://qiita.com/Yasushi-Mo/items/7e044ba058070919f813

## Configure storage
今回は設定不要です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/318188/5423257d-0894-4d37-6464-dd2f483ee9fc.png)

# インスタンスを起動する
「Launch instances」をクリックして、インスタンスを起動します。
画面上部に作成成功メッセージが表示されていれば、成功です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/318188/428058c9-5f47-f4e4-8b09-c717e4099b95.png)

インスタンス一覧画面にも表示されます。

# セキュリティグループの設定をする
今回は Web サーバーとして EC2 インスタンスを作成するため、HTTP で全てのインバウンド通信を許可する設定を行います。

https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-groups.html

## セキュリティグループ設定画面へのアクセス
EC2 のダッシュボードで「Security Groups」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/318188/2b3a2625-531a-e97c-b165-2a0a2b8e91ff.png)

EC2 インスタンス作成時に作成したセキュリティグループ ID をクリックします。

「Inbound rules」タブの「Edit inbound rules」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/318188/c52d5821-dfee-fd9c-d240-583a8726e6b3.png)

## HTTP で全てのインバウンド通信を許可する
「Add rules」をクリックして以下の値を入力します。

- Type : HTTP
- Source : 0.0.0.0/0

「Sace rules」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/318188/6ec2e43e-1c74-f407-d419-716ce0fbeeb6.png)

成功すると、対象のセキュリティグループにルールが追加されます。

# EC2 インスタンスへ接続する
最後に作成した EC2 インスタンスへ接続します。
今回は EC2 Instance Connect を利用して接続します。

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-methods.html

作成した EC2 インスタンスを選択し、「Connect」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/318188/0a47899b-a243-30f8-d569-3b6ad9ddb04b.png)

インスタンス接続画面で、「Connect」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/318188/665c07f5-4e0a-8e69-7b59-f1a16db27537.png)

接続に成功すると、以下の画面が表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/318188/98b63ab0-0d53-f687-01c1-864d1683f947.png)


# 参考
- [Amazon Elastic Compute Cloud Documentation](https://docs.aws.amazon.com/ec2/?icmpid=docs_homepage_featuredsvcs)
- [Connect using EC2 Instance Connect](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-connect-methods.html)
- [Control traffic to your AWS resources using security groups](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-security-groups.html)
- [小山雄太「WebアプリをAWSで公開しよう【AWSハンズオン虎の巻シリーズ】: 初心者も安心！手を動かしながらAWSの基本がしっかり学べる一冊！」2023](https://www.amazon.co.jp/Web%E3%82%A2%E3%83%97%E3%83%AA%E3%82%92AWS%E3%81%A7%E5%85%AC%E9%96%8B%E3%81%97%E3%82%88%E3%81%86%E3%80%90AWS%E3%83%8F%E3%83%B3%E3%82%BA%E3%82%AA%E3%83%B3%E8%99%8E%E3%81%AE%E5%B7%BB%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA%E3%80%91-%E5%88%9D%E5%BF%83%E8%80%85%E3%82%82%E5%AE%89%E5%BF%83%EF%BC%81%E6%89%8B%E3%82%92%E5%8B%95%E3%81%8B%E3%81%97%E3%81%AA%E3%81%8C%E3%82%89AWS%E3%81%AE%E5%9F%BA%E6%9C%AC%E3%81%8C%E3%81%97%E3%81%A3%E3%81%8B%E3%82%8A%E5%AD%A6%E3%81%B9%E3%82%8B%E4%B8%80%E5%86%8A%EF%BC%81-%E5%B0%8F%E5%B1%B1-%E9%9B%84%E5%A4%AA-ebook/dp/B0CH7P3SQM)