

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 教學課程：使用 EC2 Instance Connect 完成連線執行個體所需的設定
<a name="ec2-instance-connect-tutorial"></a>

若要在 Amazon EC2 主控台使用 EC2 Instance Connect 連線到執行個體，您必須先完成先決條件設定，才能成功連線至執行個體。本教學課程的目的是指導您完成任務以完成先決條件設定。

**教學課程概觀**

在本教學課程中，您將完成下列四項任務：
+ [任務 1：授予使用 EC2 Instance Connect 所需的許可](#eic-tut1-task1)

  首先，您將建立包含 IAM 許可的 IAM 政策，允許您將公有金鑰推送至執行個體中繼資料。您可以將此政策連接至您的 IAM 身分 (使用者、使用者群組或角色)，以便您的 IAM 身分取得這些許可。
+ [任務 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 政策連接至 IAM 身分 (使用者、使用者群組或角色)，才能授予您將公有金鑰推送至執行個體中繼資料所需的許可。

**任務目標**

您將建立 IAM 政策，授予將公有金鑰推送至執行個體的許可。要允許的特定動作是 `ec2-instance-connect:SendSSHPublicKey`。您還必須允許 `ec2:DescribeInstances` 動作，以便在 Amazon EC2 主控台檢視及選取執行個體。

建立政策後，您將政策連接至您的 IAM 身分 (使用者、使用者群組或角色)，以便您的 IAM 身分取得許可。

您要建立的政策設定如下：

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

****  

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

------

**重要**  
本教學課程建立的 IAM 政策是高度寬鬆政策，可讓您使用任何 AMI 使用者名稱連線到任何執行個體。我們使用此高度寬鬆政策，讓教學課程保持簡單，並專注於本教學課程所教導的特定組態。不過，在生產環境，建議將 IAM 政策設定為提供[最低權限許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege)。如需 IAM 政策的範例，請參閱[為 EC2 Instance Connect 授予 IAM 許可](ec2-instance-connect-configure-IAM-role.md)。

**建立並連接可讓您使用 EC2 Instance Connect 連線至執行個體的 IAM 政策**

1. **首先建立 IAM 政策**

   1. 前往 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

   1. 在導覽窗格中，選擇**政策**。

   1. 選擇 **Create policy** (建立政策)。

   1. 在**新增許可**頁面，執行以下作業：

      1. 針對**服務類別**，請選擇 **EC2 Instance Connect**。

      1. 在**允許的動作**下方，在搜尋欄位輸入 **send** 以顯示相關動作，然後選取 **SendSSHPublicKey**。

      1. 在**資源**，選擇**全部**。對於生產環境，我們建議您依其 ARN 指定執行個體，但在本教學課程，您允許所有執行個體。

      1. 選擇**新增其他許可**。

      1. 針對**服務**，選擇 **EC2**。

      1. 在**允許的動作**下，在搜尋欄位中開始輸入 **describein** 以顯示相關動作，然後選取 **DescribeInstances**。

      1. 選擇**下一步**。

   1. 在**檢閱和建立**頁面，執行以下作業：

      1. 針對 **Policy Name (政策名稱)**，請輸入政策的名稱。

      1. 選擇**建立政策**。

1. **然後將政策連接至您的身分**

   1. 在 IAM 主控台的導覽窗格中，選擇 **Policies (政策)**。

   1. 在政策清單中，選取您建立的政策名稱旁的選項按鈕。您可以使用搜尋方塊來篩選政策清單。

   1. 選擇 **Actions** (動作)、**Attach** (連接)。

   1. 在 **IAM 實體**，選取身分 (使用者、使用者群組或角色) 旁的核取方塊。您可以使用搜尋方塊來篩選實體清單。

   1. 選擇**連接政策**。

### 檢視動畫：建立 IAM 政策
<a name="eic-tut1-task1-animation1"></a>

![\[此動畫展示如何建立 IAM 政策。如需此動畫的文字版本，請參閱前面程序中的步驟。\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/eic-tut1-task1-create-iam-policy.gif)


### 檢視動畫：連接 IAM 政策
<a name="eic-tut1-task1-animation2"></a>

![\[此動畫說明如何將 IAM 政策連接至 IAM 身分。如需此動畫的文字版本，請參閱前面程序中的步驟。\]](http://docs.aws.amazon.com/zh_tw/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. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇 **Security Groups** (安全群組)。

1. 選擇 **Create Security Group** (建立安全群組)。

1. 在 **Basic details (基本詳細資料)** 下，執行下列動作：

   1. 在**安全群組名稱**，輸入有意義的安全群組名稱。

   1. 為**描述**輸入有意義的安全群組說明。

1. 在**輸入規則**，執行下列動作：

   1. 選擇**新增規則**。

   1. 針對 **Type** (類型)，選擇 **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/zh_tw/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 連線到執行個體，則需要執行其他組態步驟。這些步驟已超出本教學課程範圍。

**任務目標**

您將使用 Amazon Linux 2023 AMI 啟動執行個體，該 AMI 已預先安裝 EC2 Instance Connect。您也將指定您先前建立的安全群組，以便可以在 Amazon EC2 主控台使用 EC2 Instance Connect 連線到執行個體。由於您將使用 EC2 Instance Connect 連線至執行個體，將公有金鑰推送至執行個體的中繼資料，因此啟動執行個體時不需要指定 SSH 金鑰。

**啟動可在 Amazon EC2 主控台使用 EC2 Instance Connect 進行連線的執行個體**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在畫面頂端的導覽列中，會顯示目前的 AWS 區域 （例如**愛爾蘭**)。選取要在其中啟動執行個體的區域。此選項非常重要，因為您建立了允許特定區域流量的安全群組，因此您必須選取要啟動執行個體的相同區域。

1. 從 Amazon EC2 主控台儀表板選擇 **Launch Instance (啟動執行個體)**。

1. (選用) 在 **Name and tags** (名稱和標籤) 下，針對 **Name** (名稱)，輸入執行個體的描述性名稱。

1. 在**應用程式和作業系統映像 (Amazon Machine Image)** 下，選擇**快速啟動**。預設會選取 **Amazon Linux**。在 **Amazon Machine Image (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/zh_tw/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. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon 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/zh_tw/AWSEC2/latest/UserGuide/images/eic-tut1-task4-connect.gif)
