本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
教學課程:使用 EC2 Instance Connect 完成連線執行個體所需的設定
若要在 Amazon EC2 主控台使用 EC2 Instance Connect 連線到執行個體,您必須先完成先決條件設定,才能成功連線至執行個體。本教學課程的目的是指導您完成任務以完成先決條件設定。
教學課程概觀
在本教學課程中,您將完成下列四項任務:
-
任務 1:授予使用 EC2 Instance Connect 所需的許可
首先,您將建立包含 IAM 許可的 IAM 政策,允許您將公有金鑰推送至執行個體中繼資料。您可以將此政策連接至您的 IAM 身分 (使用者、使用者群組或角色),以便您的 IAM 身分取得這些許可。
-
任務 2:允許從 EC2 Instance Connect 服務到執行個體的傳入流量
然後,您將建立安全群組,允許從 EC2 Instance Connect 服務到執行個體的流量。當您在 Amazon EC2 主控台使用 EC2 Instance Connect 連線到執行個體時,必須執行此動作。
-
然後,您將使用預先安裝 EC2 Instance Connect 的 AMI 啟動 EC2 執行個體,並新增上一個步驟所建立的安全群組。
-
最後,您將在 Amazon EC2 主控台使用 EC2 Instance Connect 來連線至執行個體。如果您可以連線,則可以確定您在任務 1、2 和 3 完成的先決條件組態已成功。
任務 1:授予使用 EC2 Instance Connect 所需的許可
當您使用 EC2 Instance Connect 連接至執行個體時,EC2 Instance Connect API 會將 SSH 公有金鑰推送至執行個體中繼資料,此金鑰可保留 60 秒。您需要將 IAM 政策連接至 IAM 身分 (使用者、使用者群組或角色),才能授予您將公有金鑰推送至執行個體中繼資料所需的許可。
任務目標
您將建立 IAM 政策,授予將公有金鑰推送至執行個體的許可。要允許的特定動作是 ec2-instance-connect:SendSSHPublicKey
。您還必須允許 ec2:DescribeInstances
動作,以便在 Amazon EC2 主控台檢視及選取執行個體。
建立政策後,您將政策連接至您的 IAM 身分 (使用者、使用者群組或角色),以便您的 IAM 身分取得許可。
您要建立的政策設定如下:
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "ec2-instance-connect:SendSSHPublicKey", "Resource": "*" }, { "Effect": "Allow", "Action": "ec2:DescribeInstances", "Resource": "*" } ] }
重要
本教學課程建立的 IAM 政策是高度寬鬆政策,可讓您使用任何 AMI 使用者名稱連線到任何執行個體。我們使用此高度寬鬆政策,讓教學課程保持簡單,並專注於本教學課程所教導的特定組態。不過,在生產環境,建議將 IAM 政策設定為提供最低權限許可。如需 IAM 政策的範例,請參閱為 EC2 Instance Connect 授予 IAM 許可。
建立並連接可讓您使用 EC2 Instance Connect 連線至執行個體的 IAM 政策
-
首先建立 IAM 政策
開啟位於 https://console.aws.amazon.com/iam/
的 IAM 主控台。 -
在導覽窗格中,選擇政策。
-
選擇 Create policy (建立政策)。
-
在新增許可頁面,執行以下作業:
-
針對服務類別,請選擇 EC2 Instance Connect。
-
在允許的動作下方,在搜尋欄位輸入
send
以顯示相關動作,然後選取 SendSSHPublicKey。 -
在資源,選擇全部。對於生產環境,我們建議您依其 ARN 指定執行個體,但在本教學課程,您允許所有執行個體。
-
選擇新增其他許可。
-
在 Service (服務) 欄位中,選擇 EC2。
-
在允許的動作下,在搜尋欄位中開始輸入
describein
以顯示相關動作,然後選取 DescribeInstances。 -
選擇 Next (下一步)。
-
-
在檢閱和建立頁面,執行以下作業:
-
針對 Policy Name (政策名稱),請輸入政策的名稱。
-
選擇 建立政策。
-
-
然後將政策連接至您的身分
-
在 IAM 主控台的導覽窗格中,選擇 Policies (政策)。
-
在政策清單中,選取您建立的政策名稱旁的選項按鈕。您可以使用搜尋方塊來篩選政策清單。
-
選擇 Actions (動作)、Attach (連接)。
-
在 IAM 實體,選取身分 (使用者、使用者群組或角色) 旁的核取方塊。您可以使用搜尋方塊來篩選實體清單。
-
選擇連接政策。
-


任務 2:允許從 EC2 Instance Connect 服務到執行個體的傳入流量
當您在 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 服務到執行個體的傳入流量
在 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 -
在導覽窗格中,選擇 Security Groups (安全群組)。
-
選擇 Create Security Group (建立安全群組)。
-
在 Basic details (基本詳細資料) 下,執行下列動作:
-
在安全群組名稱,輸入有意義的安全群組名稱。
-
為描述輸入有意義的安全群組說明。
-
-
在輸入規則,執行下列動作:
-
選擇新增規則。
-
針對 Type (類型),選擇 SSH。
-
對於來源,請離開自訂。
-
在來源旁的欄位,選取 EC2 Instance Connect 的字首清單。
例如,如果您的執行個體位於美國東部 (維吉尼亞北部) (
us-east-1
) 區域,且您的使用者將連線到其公有 IPv4 地址,請選擇下列字首清單:com.amazonaws.us-east-1.ec2-instance-connect
-
-
選擇建立安全群組。

任務 3:啟動您的執行個體
當啟動執行個體時,您必須指定包含啟動執行個體所需資訊的 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 進行連線的執行個體
在 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 -
在畫面頂端的導覽列中,會顯示目前的 AWS 區域 (例如愛爾蘭)。選取要在其中啟動執行個體的區域。此選項非常重要,因為您建立了允許特定區域流量的安全群組,因此您必須選取要啟動執行個體的相同區域。
-
從 Amazon EC2 主控台儀表板選擇 Launch Instance (啟動執行個體)。
-
(選用) 在 Name and tags (名稱和標籤) 下,針對 Name (名稱),輸入執行個體的描述性名稱。
-
在應用程式和作業系統映像 (Amazon Machine Image) 下,選擇快速啟動。預設會選取 Amazon Linux。在 Amazon Machine Image (AMI),預設選取 Amazon Linux 2023 AMI。保留此任務的預設選擇。
-
在執行個體類型,針對執行個體類型,保留預設選擇,或選擇不同的執行個體類型。
-
在金鑰對 (登入) 中,針對金鑰對名稱,選擇不使用金鑰對繼續 (不建議)。當使用 EC2 Instance Connect 連線到執行個體時,EC2 Instance Connect 會將金鑰對推送到執行個體的中繼資料,而這是用於連線的金鑰對。
-
在Network settings (網路設定) 中,執行下列操作:
-
對於自動指派公有 IP,保留啟用。
注意
若要在 Amazon EC2 主控台使用 EC2 Instance Connect 連線到執行個體,執行個體必須具有公有 IPv4 或公有 IPv6 地址。
-
針對防火牆 (安全群組),選擇選取現有的安全群組。
-
在一般安全群組下方,選擇您先前建立的安全群組。
-
-
在 Summary (摘要) 面板中,選擇 Launch instance (啟動執行個體)。

任務 4:連線到您的執行個體
當您使用 EC2 Instance Connect 連接至執行個體時,EC2 Instance Connect API 會將 SSH 公有金鑰推送至執行個體中繼資料,此金鑰可保留 60 秒。SSH 常駐程式使用 AuthorizedKeysCommand
和 AuthorizedKeysCommandUser
從執行個體中繼資料查詢身分驗證所用的公有金鑰並將您連線至執行個體。
任務目標
在此任務,您將使用 Amazon EC2 主控台的 EC2 Instance Connect 連線到執行個體。如果您已完成先決任務 1、2 和 3,則連線應會成功。
連結執行個體的步驟
使用下列步驟連線至您的執行個體。若要檢視步驟動畫,請參閱 檢視動畫:連線至您的執行個體。
在 Amazon EC2 主控台使用 EC2 Instance Connect 連線執行個體
在 https://console.aws.amazon.com/ec2/
開啟 Amazon EC2 主控台。 -
在畫面頂端的導覽列中,會顯示目前的 AWS 區域 (例如愛爾蘭)。選取執行個體所在的區域。
-
在導覽窗格中,選擇 Instances (執行個體)。
-
選取執行個體,然後選擇連線。
-
選擇 EC2 Instance Connect 索引標籤。
-
針對連線類型,請選擇使用 EC2 Instance Connect 進行連線。
-
選擇連線。
瀏覽器將開啟終端機視窗,並且您會連線到您的執行個體。
