

# チュートリアル: EC2 Instance Connect を使用してインスタンスに接続するために必要な設定を完了する
<a name="ec2-instance-connect-tutorial"></a>

Amazon EC2 コンソールで EC2 Instance Connect を使用してインスタンスに接続するには、まず、インスタンスに正常に接続するための前提条件の設定を完了する必要があります。このチュートリアルの目的は、前提条件となる設定を完了するためのタスクを順を追って説明することです。

**チュートリアルの概要**

このチュートリアルでは、以下の 4 タスクを完了します。
+ [タスク 1: EC2 Instance Connect を使用するために必要なアクセス許可を付与する](#eic-tut1-task1)

  まず、パブリックキーをインスタンスメタデータにプッシュできる IAM アクセス許可を含む IAM ポリシーを作成します。IAM ID (ユーザー、ユーザーグループ、またはロール) にこのポリシーをアタッチして、IAM ID がこれらのアクセス許可を取得できるようにします。
+ [タスク 2: EC2 Instance Connect サービスからインスタンスへのインバウンドトラフィックを許可する](#eic-tut1-task2)

  次に、EC2 Instance Connect サービスからインスタンスへのトラフィックを許可するセキュリティグループを作成します。これは、Amazon EC2 コンソールで EC2 Instance Connect を使用してインスタンスに接続するときに必要です。
+ [タスク 3: インスタンスを起動する](#eic-tut1-task3)

  次に、EC2 Instance Connect にあらかじめインストールされている AMI を使用して EC2 インスタンスを起動し、前のステップで作成したセキュリティグループを追加します。
+ [タスク 4: インスタンスに接続する](#eic-tut1-task4)

  最後に、Amazon EC2 コンソールで EC2 Instance Connect を使用してインスタンスに接続します。接続できたら、タスク 1、2、3 で完了した前提条件の設定が成功したことを確認できます。

## タスク 1: EC2 Instance Connect を使用するために必要なアクセス許可を付与する
<a name="eic-tut1-task1"></a>

EC2 Instance Connect を使用してインスタンスに接続すると、EC2 Instance Connect API から SSH パブリックキーが[インスタンスメタデータ](ec2-instance-metadata.md)にプッシュされ、60 秒間保持されます。パブリックキーをインスタンスメタデータにプッシュするために必要なアクセス許可を付与するには、IAM ID (ユーザー、ユーザーグループ、またはロール) にアタッチされた IAM ポリシーが必要です。

**タスクの目標**

パブリックキーをインスタンスにプッシュするアクセス許可を付与する IAM ポリシーを作成します。許可する具体的なアクションは `ec2-instance-connect:SendSSHPublicKey` です。Amazon EC2 コンソールでインスタンスを表示して選択できるように、`ec2:DescribeInstances` アクションを許可する必要もあります。

ポリシーを作成したら、そのポリシーを IAM ID (ユーザー、ユーザーグループ、またはロール) にアタッチして、IAM ID にアクセス許可が付与されるようにします。

以下のように構成されたポリシーを作成します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Effect": "Allow",
            "Action": "ec2-instance-connect:SendSSHPublicKey",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "ec2:DescribeInstances",
            "Resource": "*"
        }
    ]
}
```

------

**重要**  
このチュートリアルで作成した IAM ポリシーは非常に強力なアクセス許可を持つポリシーで、任意の AMI ユーザー名を使用して任意のインスタンスに接続できます。チュートリアルをシンプルにし、このチュートリアルで説明する特定の設定に焦点を当てるために、この非常に強力なアクセス許可を持つポリシーを使用しています。ただし、本番環境では、[最小権限のアクセス許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege)を付与するように IAM ポリシーを設定することをお勧めします。IAM ポリシーの例は [IAM への EC2 Instance Connect のアクセス許可の付与](ec2-instance-connect-configure-IAM-role.md) を参照してください。

**EC2 Instance Connect を使用してインスタンスに接続することを許可する IAM ポリシーを作成してアタッチするには**

1. **まず、IAM ポリシーを作成します**

   1. IAM コンソールの [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) を開いてください。

   1. ナビゲーションペインで、**ポリシー** を選択してください。

   1. [**ポリシーの作成**] を選択してください。

   1. **[アクセス許可の指定]** ページで、以下を実行します。

      1. **[サービス]** で、**[EC2 Instance Connect]** を選択してください。

      1. **[許可されたアクション]** の検索フィールドに **send** を入力すると関連するアクションが表示されるので、**[SendSSHPublicKey]** を選択してください。

      1. **[リソース]** で、**[すべて]** を選択してください。本番環境では、ARN でインスタンスを指定することをお勧めしますが、このチュートリアルではすべてのインスタンスを許可します。

      1. **[アクセス許可の追加]** を選択してください。

      1. **サービス**で **EC2** を選択してください。

      1. **[許可されたアクション]** の検索フィールドに **describein** を入力すると関連するアクションが表示されるので、**[DescribeInstances]** を選択してください。

      1. [**Next**] を選択してください。

   1. **[レビューと作成]** ページで、以下の操作を実行します。

      1. [**Policy Name**] にこのポリシーの名前を入力してください。

      1. [**Create policy**] を選択してください。

1. **次に、ポリシーを自分の ID にアタッチします。**

   1. IAM コンソールのナビゲーションペインから、[**ポリシー**] を選択してください。

   1. ポリシーのリストで、作成したポリシーの名前の横にあるラジオボックスをオンにします。検索ボックスを使用して、ポリシーのリストをフィルタリングできます。

   1. [**アクション**]、[**アタッチ**] の順にクリックしてください。

   1. **[IAM エンティティ]** で、ID (ユーザー、ユーザーグループ、ロール) の横にあるチェックボックスをオンにします。検索ボックスを使用して、エンティティのリストをフィルタリングできます。

   1. **Attach policy]** (ポリシーのアタッチ) を選択してください。

### アニメーションを表示: IAM ポリシーの作成
<a name="eic-tut1-task1-animation1"></a>

![\[このアニメーションは、IAM ポリシーの作成方法を示します。このアニメーションのテキストバージョンについては、前述の手順のステップを参照してください。\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/eic-tut1-task1-create-iam-policy.gif)


### アニメーションを表示: IAM ポリシーのアタッチ
<a name="eic-tut1-task1-animation2"></a>

![\[このアニメーションでは、IAM ポリシーを IAM ID にアタッチする方法を説明します。このアニメーションのテキストバージョンについては、前述の手順のステップを参照してください。\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/eic-tut1-task1-attach-iam-policy.gif)


## タスク 2: EC2 Instance Connect サービスからインスタンスへのインバウンドトラフィックを許可する
<a name="eic-tut1-task2"></a>

Amazon EC2 コンソールで EC2 Instance Connect を使用してインスタンスに接続する場合、インスタンスに到達できるようにする必要があるトラフィックは、EC2 Instance Connect サービスからのトラフィックです。これはローカルコンピュータからインスタンスへの接続とは異なります。その場合は、ローカルコンピュータからインスタンスへのトラフィックを許可する必要があります。EC2 Instance Connect サービスからのトラフィックを許可するには、EC2 Instance Connect サービスの IP アドレス範囲からのインバウンド SSH トラフィックを許可するセキュリティグループを作成する必要があります。

AWS はプレフィックスリストを使用して IP アドレス範囲を管理します。EC2 Instance Connect プレフィックスリストの名前は次のとおりです。*リージョン* はリージョンコードに置き換えられます。
+ IPv4 プレフィックスリスト名: `com.amazonaws.region.ec2-instance-connect`
+ IPv6 プレフィックスリスト名: `com.amazonaws.region.ipv6.ec2-instance-connect`

**タスクの目標**

インスタンスが配置されているリージョンの IPv4 プレフィックスリストからポート 22 のインバウンド SSH トラフィックを許可するセキュリティグループを作成します。

**EC2 Instance Connect サービスからインスタンスへのインバウンドトラフィックを許可するセキュリティグループを作成する方法**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインで、[**Security Groups**] を選択してください。

1. **[セキュリティグループの作成]** を選択してください。

1. [**基本的な詳細**] で、次の操作を行います。

   1. **[セキュリティグループ名]** に、セキュリティグループのわかりやすい名前を入力してください。

   1. **[説明]** に、セキュリティグループのわかりやすい説明を入力してください。

1. **[インバウンドルール]** で、次の操作を行います。

   1. [**ルールを追加**] を選択してください。

   1. **[タイプ]** で **SSH]** を選択してください。

   1. **[ソース]** は **[カスタム]** のままにします。

   1. **[ソース]** の横にあるフィールドで、EC2 Instance Connect のプレフィックスリストを選択してください。

      例えば、インスタンスが米国東部 (バージニア北部) `us-east-1`リージョンにあり、ユーザーがパブリック IPv4 アドレスに接続する場合は、**[com.amazonaws.us-east-1.ec2-instance-connect]** というプレフィックスリストを選択してください。

1. **[セキュリティグループの作成]** を選択してください。

### アニメーションを表示: セキュリティグループを作成する
<a name="eic-tut1-task2-animation"></a>

![\[このアニメーションでは、セキュリティグループを設定する方法を説明します。このアニメーションのテキストバージョンについては、前述の手順のステップを参照してください。\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/tut1-task2-eic-security-group.gif)


## タスク 3: インスタンスを起動する
<a name="eic-tut1-task3"></a>

インスタンスを起動するときは、インスタンスの起動に必要な情報を含む AMI を指定する必要があります。EC2 Instance Connect があらかじめインストールされているかどうかにかかわらず、インスタンスの起動を選択できます。このタスクでは、EC2 Instance Connect にあらかじめインストールされている AMI を指定します。

EC2 Instance Connect のプリインストール無しでインスタンスを起動し、EC2 Instance Connect を使用してインスタンスに接続する場合は、追加の設定手順を実行する必要があります。これらの手順は、このチュートリアルの範囲外です。

**タスクの目標**

EC2 Instance Connect がプリインストールされている Amazon Linux 2023 AMI を使用してインスタンスを起動します。Amazon EC2 コンソールで EC2 Instance Connect を使用してインスタンスに接続できるように、前に作成したセキュリティグループも指定します。EC2 Instance Connect を使用してインスタンスに接続することで、パブリックキーをインスタンスのメタデータにプッシュするため、インスタンスを起動するときに SSH キーを指定する必要はありません。

**Amazon EC2 コンソールで EC2 Instance Connect を使用できるインスタンスを起動するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. 画面の上のナビゲーションバーに、現在の AWS リージョンが表示されます (**アイルランド**など)。インスタンスを起動するリージョンを選択してください。特定のリージョンのトラフィックを許可するセキュリティグループを作成したため、インスタンスを起動するのと同じリージョンを選択する必要があり、この選択が重要となります。

1. Amazon EC2 コンソールダッシュボードで、[**インスタンスを起動**] を選択してください。

1. (オプション) **[Names and tags]**(名前とタグ) における **[Name]** (名前) では、インスタンス用にわかりやすい名前を入力してください。

1. **[アプリケーションと OS イメージ (Amazon マシンイメージ)]** で、**[クイックスタート]** を選択してください。**[Amazon Linux]** がデフォルトで選択されています。**[Amazon マシンイメージ (AMI)]** ではデフォルトで、**[Amazon Linux 2023 AMI]** が選択されています。このタスクは既定の選択のままにします。

1. **[インスタンスタイプ]**で、**[インスタンスタイプ]** のデフォルトの選択状態のままにするか、別のインスタンスタイプを選択してください。

1. **[キーペア (ログイン)]** の **[キーペア名]** で、**[キーペアなしで続行 (非推奨)]** を選択してください。EC2 Instance Connect を使用してインスタンスに接続すると、EC2 Instance Connect はキーペアをインスタンスのメタデータにプッシュします。接続に使用されるのはこのキーペアです。

1. **[Network settings]** (ネットワーク設定) で、次の操作を行います：

   1. **[自動割り当てパブリック IP]** は、**[有効]** のままにします。
**注記**  
Amazon EC2 コンソールで EC2 Instance Connect を使用してインスタンスに接続するには、そのインスタンスにパブリック IPv4 または IPv6 アドレスが必要です。

   1. **[ファイアウォール (セキュリティグループ)]** で、**[既存のセキュリティグループを選択する]** を選択してください。

   1. **[共通セキュリティグループ]** で、先ほど作成したセキュリティグループを選択してください。

1. **[Summary]** (サマリー) パネルで、**[Launch instance]** (インスタンスの起動) を選択してください。

### アニメーションを表示: インスタンスを起動する
<a name="eic-tut1-task3-animation"></a>

![\[このアニメーションでは、インスタンスを起動する方法を示します。このアニメーションのテキストバージョンについては、前述の手順のステップを参照してください。\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/tut1-task3-launch-an-instance.gif)


## タスク 4: インスタンスに接続する
<a name="eic-tut1-task4"></a>

EC2 Instance Connect を使用してインスタンスに接続すると、EC2 Instance Connect API から SSH パブリックキーが[インスタンスメタデータ](ec2-instance-metadata.md)にプッシュされ、60 秒間保持されます。SSH デーモンは、`AuthorizedKeysCommand` および `AuthorizedKeysCommandUser` を使用して、インスタンスメタデータからパブリックキーを見つけて認証を行い、ユーザーをインスタンスに接続します。

**タスクの目標**

このタスクでは、Amazon EC2 コンソールで EC2 Instance Connect を使用してインスタンスに接続します。前提条件となるタスク 1、2、3 を完了していれば、接続は成功するはずです。

**インスタンスに接続する手順**

インスタンスに接続するには、次の手順に従ってください。手順のアニメーションを見る場合は、「[アニメーションを表示: インスタンスに接続する](#eic-tut1-task4-animation)」を参照してください。

**Amazon EC2 コンソールで EC2 Instance Connect を使用してインスタンスを起動するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. 画面の上のナビゲーションバーに、現在の AWS リージョンが表示されます (**アイルランド**など)。インスタンスが存在するリージョンを選択してください。

1. ナビゲーションペインで、[**インスタンス**] を選択してください。

1. インスタンスを選択し、**[接続]** を選択してください。

1. **[EC2 Instance Connect]** タブを選択してください。

1. **[パブリック IP を使用して接続]** を選択します。

1. **[接続]**を選択してください。

   ブラウザでターミナルウィンドウが開き、インスタンスに接続されます。

### アニメーションを表示: インスタンスに接続する
<a name="eic-tut1-task4-animation"></a>

![\[このアニメーションでは、EC2 Instance Connect を使用してインスタンスに接続する方法を説明します。このアニメーションのテキストバージョンについては、前述の手順のステップを参照してください。\]](http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/images/eic-tut1-task4-connect.gif)
