使用執行個體 Connect 端點 Connect 到 Amazon EC2 EC2 執行個體 - Amazon Elastic Compute Cloud

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

使用執行個體 Connect 端點 Connect 到 Amazon EC2 EC2 執行個體

您可以使用EC2執行個體 Connect 端點連接到支援SSH或的 Amazon EC2 執行個體RDP。

必要條件
  • 您必須擁有必要的IAM權限才能 Connect 至EC2執行個體連線端點。如需詳細資訊,請參閱使用執行個EC2體連線端點連線至執行個體的權限

  • EC2執行個體 Connect 端點必須位於可用 (主控台) 或 create-complete (AWS CLI) 狀態。如果您沒有EC2執行個體 Connect 端點VPC,您可以建立一個。如需詳細資訊,請參閱建立EC2執行個體 Connect 端點

  • 您的執行個體必須擁有IPv4地址 (私人或公用)。EC2執行個體 Connect 端點不支援使用IPv6位址連線至執行個體。

  • (Linux 執行個體) 若要使用 Amazon EC2 主控台連線到您的執行個體,或使用連線並CLI讓EC2執行個體 Connect 處理暫時金鑰,您的執行個體必須已EC2安裝執行個體 Connect。如需詳細資訊,請參閱安裝 EC2 Instance Connect

  • 確定執行個體的安全性群組允許來自執行個EC2體 Connect 端點的輸入SSH流量。如需詳細資訊,請參閱目標例項安全性群組規則

使用 Amazon EC2 主控台 Connect 到您的 Linux 執行個體

您可以使用 Amazon EC2 主控台 (以瀏覽器為基礎的用戶端) 連線到執行個體,如下所示。

使用 Amazon EC2 主控台連線到執行個體
  1. 在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/

  2. 在導覽窗格中,選擇 Instances (執行個體)。

  3. 選取執行個體,然後選擇 [Connect]。

  4. 選擇「EC2執行處理 Connect」標籤。

  5. 針對「連線類型」,請選擇「使用EC2執行個體 Connect 線端點

  6. 在「EC2執行個體 Connect 端點」中,選擇「EC2執行個體 Connect 端點」的 ID。

  7. 對於使用者名稱,如果您AMI用來啟動執行個體的使用者名稱不是ec2-user,請輸入正確的使用者名稱。

  8. 通道持續時間上限 (秒) 中,輸入允許的SSH連線持續時間上限。

    持續時間必須符合IAM政策中指定的任何maxTunnelDuration條件。如果您無權存取IAM原則,請連絡您的系統管理員。

  9. 選擇連線。這會為您的執行個體開啟終端機視窗。

使用 Connect 到您的 Linux 執行個體 SSH

您可以使用連線SSH到 Linux 執行個體,並使用open-tunnel指令建立私有通道。可以在單一連線或多重連線模式下使用 open-tunnel

有關使用 AWS CLI 若要使用連線至執行個體SSH,請參閱使用 連線 AWS CLI

下列範例使用 Open SSH。您可以使用任何其他支援 Proxy 模式的用SSH戶端。

單一連接

若要使用SSH和open-tunnel指令僅允許單一連線至執行個體

使ssh用和 open-tunnel AWS CLI 命令如下。-o 代理命令包含 open-tunnel 命令,它可建立執行個體的私有通道。

ssh -i my-key-pair.pem ec2-user@i-0123456789example \ -o ProxyCommand='aws ec2-instance-connect open-tunnel --instance-id i-0123456789example'

對於:

  • -i – 指定用來啟動執行個體的金鑰對。

  • ec2-user@i-0123456789example— 指定用來啟動執行AMI個體的使用者名稱,以及執行個體 ID。

  • --instance-id – 指定要連線之執行個體的 ID。或者,指定 %h,其可從使用者中擷取執行個體 ID。

多重連線

若要允許多個連線至執行個體,請先執行 open-tunnel AWS CLI 指令開始偵聽新的TCP連線,然後使ssh用建立新TCP連線和執行個體的私人通道。

若要使用和open-tunnel指令允許多個連線至您SSH的執行個體
  1. 執行下列命令,開始偵聽本機電腦上指定TCP連接埠上的新連線。

    aws ec2-instance-connect open-tunnel \ --instance-id i-0123456789example \ --local-port 8888

    預期的輸出結果

    Listening for connections on port 8888.
  2. 新的終端機視窗中,執行下列ssh命令,為執行個體建立新TCP連線和私人通道。

    ssh -i my-key-pair.pem ec2-user@localhost -p 8888

    預期輸出 – 在第一個終端視窗中,您會看到以下內容:

    [1] Accepted new tcp connection, opening websocket tunnel.

    您可能會看到以下內容:

    [1] Closing tcp connection.

使用 Connect 到您的 Linux 執行個體 AWS CLI

如果您只知道實例 ID,則可以使用 ec 2 實例連接 AWS CLI 使用用SSH戶端連線至執行個體的指令。若要取得有關使用 ec2 執行個體連線指令的更多資訊,請參閱〈〉。使用 連線 AWS CLI

必要條件

安裝 AWS CLI 版本 2 並使用您的憑據進行配置。如需詳細資訊,請參閱安裝或更新至最新版本的 AWS CLI配置 AWS CLI 中的 AWS Command Line Interface 用戶指南。或者,打開 AWS CloudShell 並運行 AWS CLI 其預先驗證的 shell 中的命令。

使用執行個體 ID 和執行個體連線端點連線至EC2執行個體

如果您只知道例證 ID,請使用 ec2-instance connect 指CLI令,並使用值指定指ssh令、例證 ID 和--connection-type參數。eice

aws ec2-instance-connect ssh --instance-id i-1234567890example --os-user ec2-user --connection-type eice
提示

如果使用此命令時出現錯誤,請確保您正在使用 AWS CLI 版本 2. 此ssh參數僅適用於 AWS CLI 版本 2. 如需詳細資訊,請參閱關於 AWS CLI 第 2 版中的 AWS Command Line Interface 用戶指南

使用 Connect 至您的 Windows 執行個體 RDP

您可以透過EC2執行個體 Connect 線端點使用遠端桌面通訊協定 (RDP),連線到沒有公開IPv4位址或公開DNS名稱的 Windows 執行個體。

使用用RDP戶端連線至您的 Windows 執行個體
  1. 完成使用 Connect 至您的 Windows 執行個體中的步驟 1 — 8 RDP。在步驟 8 下載RDP桌面檔案後,您會收到「無法連線」訊息,這是預期的訊息,因為您的執行個體沒有公用 IP 位址。

  2. 執行下列命令,建立執行個體所VPC在的私人通道。 --remote-port必須是3389因為依預設RDP使用連接埠 3389。

    aws ec2-instance-connect open-tunnel \ --instance-id i-0123456789example \ --remote-port 3389 \ --local-port any-port
  3. 在「下」資料夾中,找到您下載的RDP桌面檔案,然後將其拖曳至用RDP戶端視窗。

  4. 以滑鼠右鍵按一下RDP桌面檔案,然後選擇

  5. 在 [編輯電腦] 視窗中,針對電腦名稱 (要連線的執行個體) 輸入localhost:local-port,其中local-port使用與您在步驟 2 中指定的相同值,然後選擇 [儲存]。

    請注意,編輯電腦視窗的以下螢幕截取畫面來自 Mac 中的 Microsoft 遠端桌面。如果使用 Windows 用戶端,則該視窗可能會有所不同。

    [電腦名稱] 欄位中含有 [本機主機:5555] 範例的RDP用戶端。
  6. 在RDP用戶端中,以滑鼠右鍵按一下電腦 (您剛設定的電腦),然後選擇 [Connect] 以連線至您的執行個體。

  7. 出現提示時,輸入管理員帳戶的解密密碼。

疑難排解

使用下列資訊協助診斷並修正使用執行個EC2體連線端點連線執行個體時可能遇到的問題。

無法連線至執行個體

以下是您可能無法連線至執行個體的常見原因。

  • 安全群組 — 檢查指派給EC2執行個體 Connect 端點和執行個體的安全群組。有關所需安全群組規則的詳細資訊,請參閱 EC2執行個體 Connect 端點的安全群組

  • 執行個體狀態:驗證您的執行個體處於 running 狀態。

  • 金鑰對:如果用來連線的命令需要私有金鑰,請確認執行個體具有公有金鑰,且您擁有對應的私有金鑰。

  • IAM權限 — 確認您擁有必要的IAM權限。如需詳細資訊,請參閱授與使用EC2執行個體 Connect 端點的權限

如需 Linux 執行個體的詳細疑難排解秘訣,請參閱解決連線到 Amazon EC2 Linux 執行個體的問題。如需 Windows 執行個體的疑難排解提示,請參閱疑難排解連線到 Amazon 視EC2窗執行個體的

ErrorCode: AccessDeniedException

如果您收到錯AccessDeniedException誤訊息,且maxTunnelDuration條件已在IAM原則中指定,請務必在連線至執行個體時指定--max-tunnel-duration參數。如需此參數的詳細資訊,請參閱 open-tunnel 中的 AWS CLI 指令參考