本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
教學課程:使用 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 政策範例,請參閱 授予 IAM Instance Connect 的 EC2 許可。
若要建立並連接 IAM 政策,可讓您使用 EC2 Instance Connect 連線至執行個體
-
首先建立 IAM 政策
在 IAM 開啟 https://console.aws.amazon.com/iam/
主控台。 -
在導覽窗格中,選擇政策。
-
選擇 Create policy (建立政策)。
-
在指定許可頁面上,執行下列動作:
-
針對服務,選擇 EC2 Instance Connect。
-
在允許的動作下,搜尋欄位中會開始輸入
send
以顯示相關動作,然後選取 SendSSHPublic 金鑰。 -
在資源下,選擇全部。對於生產環境,我們建議您透過 ARN 指定執行個體,但在本教學課程中,您允許所有執行個體。
-
選擇新增更多許可。
-
針對服務,選擇 EC2。
-
在允許的動作下,搜尋欄位中會開始輸入
describein
以顯示相關動作,然後選取 DescribeInstances。 -
選擇 Next (下一步)。
-
-
在檢閱和建立頁面上,執行下列動作:
-
針對 Policy Name (政策名稱),請輸入政策的名稱。
-
選擇 建立政策。
-
-
然後將政策連接至您的身分
-
在 IAM 主控台的導覽窗格中,選擇政策。
-
在政策清單中,選取您建立之政策名稱旁的選項按鈕。您可以使用搜尋方塊來篩選政策清單。
-
選擇 Actions (動作)、Attach (連接)。
-
在 IAM 實體下,選取身分 (使用者、使用者群組或角色) 旁的核取方塊。您可以使用搜尋方塊來篩選實體清單。
-
選擇連接政策。
-
任務 2:允許從 EC2 Instance Connect 服務到執行個體的傳入流量
當您在 Amazon EC2 主控台中使用 EC2 Instance Connect 連線到執行個體時,必須允許存取執行個體的流量是來自 EC2 Instance Connect 服務的流量。這與從本機電腦連線到執行個體不同;在這種情況下,您必須允許從本機電腦到執行個體的流量。若要允許來自 EC2 Instance Connect 服務的流量,您必須建立允許來自 SSH Instance Connect 服務的 IP 地址範圍傳入 EC2 流量的安全群組。
AWS 使用字首清單來管理 IP 地址範圍。EC2 Instance Connect 字首清單的名稱如下所示,其中 region
已由區域碼取代:
-
IPv4首清單名稱:
com.amazonaws.
region
.ec2-instance-connect -
IPv6首清單名稱:
com.amazonaws.
region
.ipv6.ec2-instance-connect
任務目標
您將建立安全群組,允許從執行個體所在區域中的 SSH 字字首清單中,在連接埠 22 上傳入 IPv4 流量。
建立允許從 EC2 Instance Connect 服務到執行個體的傳入流量的安全群組
在 EC2 開啟 Amazon https://console.aws.amazon.com/ec2/
主控台。 -
在導覽窗格中,選擇 Security Groups (安全群組)。
-
選擇 Create Security Group (建立安全群組)。
-
在 Basic details (基本詳細資料) 下,執行下列動作:
-
針對安全群組名稱,輸入安全群組的有意義的名稱。
-
針對描述,輸入安全群組的有意義的描述。
-
-
在傳入規則下,執行下列動作:
-
選擇新增規則。
-
針對類型,選擇 SSH。
-
對於來源,請離開自訂。
-
在來源旁邊的欄位中,選取 EC2 Instance Connect 的字首清單。
例如,如果您的執行個體位於美國東部 (維吉尼亞北部) (
us-east-1
) 區域,且您的使用者將連線至其公有 IPv4 地址,請選擇下列字首清單:com.amazonaws.us-east-1.ec2-instance-connect
-
-
選擇建立安全群組。
任務 3:啟動執行個體
啟動執行個體時,您必須指定包含啟動執行個體所需資訊的 AMI。您可以選擇啟動預先安裝或未預先安裝 EC2 Instance Connect 的執行個體。在此任務中,我們會指定預先安裝 AMI Instance Connect 的 EC2。
如果您在未預先安裝 EC2 Instance Connect 的情況下啟動執行個體,並且想要使用 EC2 Instance Connect 連線到執行個體,則需要執行其他組態步驟。這些步驟超出本教學課程的範圍。
任務目標
您將使用 Amazon Linux 2023 AMI 啟動執行個體,該 EC2 執行個體 Connect 已預先安裝。您也將指定先前建立的安全群組,以便您可以在 Amazon EC2 主控台中使用 EC2 Instance Connect 連線到執行個體。由於您將使用 EC2 Instance Connect 連線至執行個體,將公有金鑰推送至執行個體的中繼資料,因此啟動執行個體時不需要指定 SSH 金鑰。
在 Amazon EC2 主控台中啟動可使用 EC2 Instance Connect 進行連線的執行個體
在 EC2 開啟 Amazon https://console.aws.amazon.com/ec2/
主控台。 -
在畫面頂端的導覽列中,會顯示目前的 AWS 區域 (例如愛爾蘭)。選取要在其中啟動執行個體的區域。這個選擇很重要,因為您建立了允許特定區域流量的安全群組,因此您必須選取要啟動執行個體的相同區域。
-
從 Amazon EC2 主控台儀表板中,選擇啟動執行個體。
-
(選用) 在 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 連接執行個體
在 EC2 開啟 Amazon https://console.aws.amazon.com/ec2/
主控台。 -
在畫面頂端的導覽列中,會顯示目前的 AWS 區域 (例如愛爾蘭)。選取執行個體所在的區域。
-
在導覽窗格中,選擇 Instances (執行個體)。
-
選取您的執行個體,然後選擇連線。
-
選擇 EC2 Instance Connect 索引標籤。
-
針對連線類型,選擇使用 EC2 Instance Connect 連線。
-
選擇連線。
終端視窗會在瀏覽器中開啟,且您已連線至執行個體。