全部產品
Search
文件中心

Elastic Compute Service:通過會話管理CLI的連接埠轉寄訪問無公網執行個體

更新時間:Dec 18, 2024

您可以使用會話管理CLI(ali-instance-cli),以命令列的方式,將執行個體的某個連接埠轉寄到本機,通過雲助手間接訪問執行個體中的商務服務,支援訪問無公網執行個體。本文為您介紹通過會話管理CLI進行連接埠轉寄,訪問無公網執行個體。

什麼是連接埠轉寄?

會話管理CLI(ali-instance-cli)的連接埠轉寄功能,雲端式助手實現,可以將某台執行個體的連接埠映射到本機(即在主機安裝ali-instance-cli),此外,也可以將某台執行個體作為跳板機,映射其他網路可達主機的連接埠,從而訪問無公網或者私網環境中部署的服務。

  • 情境一:遠端連線無公網執行個體

    可以通過連接埠轉寄功能,將無公網ECS執行個體的遠端存取連接埠映射到本地,通過工具訪問本地的對應連接埠,實現串連無公網執行個體。

    如果您的執行個體開通了公網IP,使用該方式串連執行個體時,您可以在安全性群組禁用執行個體的遠端存取連接埠,增加執行個體安全性。

  • 情境二:訪問無公網執行個體中的服務

    可以通過連接埠轉寄功能,將無公網ECS執行個體的某個服務連接埠,如Nginx、Apache等服務的連接埠,映射到原生某個連接埠,通過訪問本機連接埠,實現訪問無公網執行個體中部署的服務。

  • 情境三:以某台執行個體為跳板,訪問其他主機上的服務

    可以通過連接埠轉寄功能,以某台執行個體為跳板,訪問和該執行個體處於同一VPC下某個網路主機上的服務。例如訪問私網部署的MySQL服務。

連接埠轉寄實現原理

  • 連接埠轉寄的原理如圖所示:

    ali-instance-cli的連接埠轉寄功能雲端式助手實現。在開啟連接埠映後,可以將ECS執行個體上的服務連接埠經由會話管理通道,映射到您個人電腦的某個連接埠,從而實現訪問無公網的執行個體。

  • ali-instance-cli雲助手Agent建立會話管理通道的流程如圖所示:

    在發起串連後,ali-instance-cli雲助手Agent會分別與雲助手服務端建立WebSocket串連,通道建立後,ali-instance-cli發送的資料會經由雲助手服務端轉寄到雲助手Agent中。

準備工作

開啟會話管理服務

在使用ali-instance-cli之前,需要先確保當前阿里雲帳號已開啟會話管理服務。開啟會話管理服務僅可以在控制台操作,具體操作如下:

  1. 登入ECS管理主控台

  2. 在左側導覽列,選擇執行個體與鏡像 > 執行個體

  3. 在頁面左側頂部,選擇目標資源所在的資源群組和地區。

  4. 執行個體頁面,找到待串連的執行個體,單擊對應操作列的遠端連線

image

  1. 單擊展開其他登入方式

  2. 找到通過會話管理遠端連線,將會話管理已關閉右側的按鈕開啟,並根據介面提示完成開通操作。

image

image

檢查執行個體運行狀態是否為運行中

僅支援通過會話管理串連到運行中狀態的執行個體。

控制台

執行個體運行狀態可以在ECS控制台中的執行個體模組查看,運行中的執行個體如圖所示:

查看執行個體狀態的操作說明,請參見查看執行個體資訊

image

image

阿里雲CLI

如果您已經配置好了阿里雲CLI,您可以通過以下命令查詢執行個體運行狀態。關於該API的更多參數說明,請參見DescribeInstanceStatus - 查詢執行個體的狀態資訊列表

以查詢杭州地區下執行個體ID為i-bp1******執行個體為例,輸入以下命令查詢執行個體運行狀態。
aliyun ecs DescribeInstanceStatus --region cn-hangzhou --RegionId 'cn-hangzhou' --InstanceId.1 'i-bp1******'

如果查詢出對應執行個體的StatusRunning則執行個體為運行中。

{
  "TotalCount": 1,
  "RequestId": "A413****-****-****-****-****611B",
  "PageSize": 1,
  "PageNumber": 1,
  "InstanceStatuses": {
    "InstanceStatus": [
      {
        "Status": "Running",
        "InstanceId": "i-bp1******"
      }
    ]
  }
}

除此API外,您還可以通過其他API查詢執行個體運行狀態,請參見DescribeInstances - 查詢執行個體的詳細資料列表

API

如果需要通過API查詢執行個體運行狀態,請參見DescribeInstanceStatus - 查詢執行個體的狀態資訊列表DescribeInstances - 查詢執行個體的詳細資料列表

檢查執行個體雲助手Agent是否已安裝

會話管理雲端式助手的功能實現,您可以通過以下方式查詢執行個體是否已經安裝雲助手Agent

2017年12月01日之後使用官方公用鏡像建立的ECS執行個體,預設預裝了雲助手Agent。如果您的執行個體是2017年12月01日之前購買的或使用自行上傳的自訂鏡像建立的執行個體,需自行安裝雲助手Agent,請參見安裝雲助手Agent

控制台

會話管理雲端式助手的功能實現,需要在執行個體中安裝雲助手Agent雲助手Agent狀態可以在ECS控制台的雲助手模組查看,已經安裝雲助手的執行個體如圖所示:

2017年12月01日之後使用官方公用鏡像建立的ECS執行個體,預設預裝了雲助手Agent。如果您的執行個體是2017年12月01日之前購買的或使用自行上傳的自訂鏡像建立的執行個體,需自行安裝雲助手Agent,請參見安裝雲助手Agent

image

image

查看雲助手Agent狀態以及處理異常狀態的具體操作,請參見查看雲助手狀態及異常狀態處理

阿里雲CLI

如果您已經配置好了阿里雲CLI,您可以通過以下命令查詢執行個體是否安裝雲助手且雲助手版本是否支援使用會話管理。具體參數說明,請參見DescribeCloudAssistantStatus - 查詢雲助手安裝狀態

以查詢杭州地區下執行個體ID為i-bp1******執行個體為例,輸入以下命令查詢執行個體運行狀態。
aliyun ecs DescribeCloudAssistantStatus --region cn-hangzhou --RegionId 'cn-hangzhou' --InstanceId.1 'i-bp1******'

如果查詢出CloudAssistantStatus(雲助手運行狀態)為trueSupportSessionManager(是否支援會話管理)也為true,即該執行個體支援通過會話管理串連執行個體。

{
  "TotalCount": 1,
  "PageSize": 1,
  "RequestId": "DB34****-****-****-****-****A749",
  "NextToken": "",
  "PageNumber": 1,
  "InstanceCloudAssistantStatusSet": {
    "InstanceCloudAssistantStatus": [
      {
        "CloudAssistantVersion": "2.2.3.857",
        "SupportSessionManager": true,
        "InstanceId": "i-bp1******",
        "InvocationCount": 4,
        "OSType": "Linux",
        "CloudAssistantStatus": "true",
        "LastHeartbeatTime": "2024-12-10T02:38:04Z",
        "LastInvokedTime": "2024-12-08T16:02:45Z",
        "ActiveTaskCount": 0
      }
    ]
  }
}

API

如果需要通過API查詢執行個體雲助手Agent狀態,請參見DescribeCloudAssistantStatus - 查詢雲助手安裝狀態

準備用於使用會話管理的RAM使用者的憑證

在使用 ali-instance-cli 工具時,設定階段要求設定RAM使用者的AccessKeySTS Token。當通過會話管理操作串連執行個體時,系統會驗證此憑證對應的RAM使用者是否擁有ecs:StartTerminalSession許可權,這是允許通過會話管理建立與ECS執行個體串連的必要許可權。

此外,在自訂權限原則時,可以通過指定Resource欄位來限定RAM使用者能夠通過會話管理串連的具體ECS執行個體。權限原則樣本如下:

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ecs:StartTerminalSession",
      "Resource": "*"
    }
  ]
}

關於CredentialsURISTS Token的更多說明,請參見建立AccessKey什麼是STS

為RAM使用者授權,請參見為RAM使用者授權

1. 安裝&配置會話管理CLI

說明

如果您已經安裝並配置完成會話管理CLI,可跳過本步驟。

1.1 安裝

首先需要在您的個人電腦中安裝會話管理CLI(ali-instance-cli),不同作業系統安裝方式不同,具體操作如下。

Windows

點擊下載Windows版ali-instance-cli,並儲存到本地檔案夾中。

本文以將ali-instance-cli.exe儲存在C:\Users\test檔案夾中為例。

macOS

在macOS的終端中,輸入以下命令下載mac版ali-instance-cli

curl -O https://aliyun-client-assist.oss-accelerate.aliyuncs.com/session-manager/mac/ali-instance-cli

下載完成後,輸入以下命令為ali-instance-cli賦予可執行許可權。

chmod a+x ali-instance-cli

Linux

輸入以下命令安裝Linux版ali-instance-cli

curl -O https://aliyun-client-assist.oss-accelerate.aliyuncs.com/session-manager/linux/ali-instance-cli

下載完成後,輸入以下命令為ali-instance-cli賦予可執行許可權。

chmod a+x ali-instance-cli

1.2 配置

在您的個人電腦使用ali-instance-cli串連阿里雲執行個體時,需要配置相關身份憑證,即AccessKey,具體說明,請參見準備用於使用會話管理的RAM使用者的憑證

Windows

  1. 選擇開始 > 運行,輸入cmd,按Enter鍵,開啟命令提示字元視窗。

  2. 切換到ali-instance-cli.exe所在目錄,本文以C:\Users\test為例。

    cd C:\Users\test
  3. 配置憑證。支援以下三種配置方式:

    AccessKey

    執行如下命令,並根據介面提示配置Access Key IdAccess Key SecretRegion Id

    ali-instance-cli.exe configure --mode AK
    STS Token

    執行以下命令完成配置操作:

    ali-instance-cli.exe configure set --mode StsToken --region "<region>" --access-key-id "<ak>"  --access-key-secret "<sk>"   --sts-token "<sts_token>"

    <region><ak><sk><sts_token>要修改為實際的Region IDAccessKey IDAccessKey SecretSTS Token

    CredentialsURI

    執行如下命令,根據介面提示,輸入Credentials URIRegion Id

    ali-instance-cli.exe configure --mode=CredentialsURI

    配置完成後,顯示如下內容證明配置完成。

    image

macOS/Linux

  1. 進入ali-instance-cli所在目錄,本文以目前使用者根目錄~為例。

    cd ~
  2. 配置憑證。

    AccessKey

    執行如下命令,並根據介面提示配置Access Key IdAccess Key SecretRegion Id

    ./ali-instance-cli configure --mode AK
    STS Token

    執行以下命令完成配置操作:

    ./ali-instance-cli configure set --mode StsToken --region "<region>" --access-key-id "<ak>"  --access-key-secret "<sk>"   --sts-token "<sts_token>"

    <region><ak><sk><sts_token>要修改為實際的Region IDAccessKey IDAccessKey SecretSTS Token

    CredentialsURI

    執行如下命令,根據介面提示,配置Credentials URIRegion Id

    ./ali-instance-cli configure --mode=CredentialsURI

    配置完成後,顯示如下內容證明配置完成。

    image

2. 連接埠轉寄功能基本使用

2.1 擷取待轉送連接埠執行個體的ID

在開始連接埠轉寄之前,需要先擷取待轉送連接埠的執行個體ID,以供後續步驟使用。

控制台

  1. 登入ECS管理主控台

  2. 在左側導覽列,選擇執行個體與鏡像 > 執行個體

  3. 在頁面左側頂部,選擇目標資源所在的資源群組和地區。

  4. 執行個體頁面,找到目標執行個體,執行個體ID如圖所示。

image

阿里雲CLI

如果您已經配置好了阿里雲CLI,您可以通過以下命令擷取執行個體ID。具體參數說明,請參見DescribeInstances - 查詢執行個體的詳細資料列表

以查詢杭州地區下名稱為SessionManager-example的執行個體為例。
aliyun ecs DescribeInstances --region cn-hangzhou --RegionId 'cn-hangzhou' --InstanceName 'SessionManager-example'

返回結果中InstanceId即執行個體ID。

image

API

通過API查詢執行個體ID,請參見DescribeInstances - 查詢執行個體的詳細資料列表

2.2 使用連接埠轉寄

用法一:直接轉寄執行個體連接埠

本機為Windows

重要

使用連接埠轉寄過程中請不要關閉命令提示字元視窗,關閉命令提示字元視窗後,連接埠轉寄也會終止。

進入命令提示字元,在ali-instance-cli.exe所在目錄,輸入命令開啟連接埠映射。

ali-instance-cli.exe portforward -i <instance_id> -r <target_port> -l <local_port>
說明

在使用時,請將<instance_id>替換為需要連接埠轉寄的執行個體的ID,將<target_port>替換為目標ECS執行個體的連接埠,將<local_port>替換為需要映射到原生連接埠。

如圖所示,連接埠轉寄成功後,會進入等待串連狀態,此時在本機訪問127.0.0.1:<local_port>相當於訪問執行個體的<ecs_port>連接埠的服務。

image

本機為macOS/Linux

重要

使用連接埠轉寄過程中請不要關閉當前終端,關閉終端後,連接埠轉寄也會終止。

在終端中,進入ali-instance-cli所在目錄,輸入命令開啟連接埠映射。

./ali-instance-cli portforward -i <instance_id> -r <target_port> -l <local_port>
說明

在使用時,請將<instance_id>替換為需要連接埠轉寄的執行個體的ID,將<target_port>替換為目標ECS執行個體的連接埠,將<local_port>替換為需要映射到原生連接埠。

如圖所示,連接埠轉寄成功後,會進入等待串連狀態。此時在本機訪問127.0.0.1:<local_port>相當於訪問執行個體的<target_port>連接埠的服務。

image

用法二:以某台ECS執行個體為跳板機,轉寄其他主機的連接埠

您可以通過會話管理CLI與某台ECS執行個體建立會話管理串連,以該ECS執行個體為跳板機訪問其他主機的某個連接埠。

本機為Windows

重要

使用連接埠轉寄過程中請不要關閉命令提示字元視窗,關閉命令提示字元視窗後,連接埠轉寄也會終止。

進入命令提示字元,在ali-instance-cli.exe所在目錄,輸入命令開啟連接埠映射。

ali-instance-cli.exe portforward -i <instance_id> -r <target_ip>:<target_port> -l <local_port>
說明

在使用時,請將<instance_id>替換為作為跳板機執行個體的ID,將<target_ip>替換為目標主機的IP,將<target_port>替換為目標主機的連接埠,將<local_port>替換為需要映射到原生連接埠。

如圖所示,連接埠轉寄成功後,會進入等待串連狀態,此時在本機訪問127.0.0.1:<local_port>相當於訪問主機地址為<target_ip>連接埠號碼為<target_port>的服務。

image

本機為macOS/Linux

重要

使用連接埠轉寄過程中請不要關閉當前終端,關閉終端後,連接埠轉寄也會終止。

在終端中,進入ali-instance-cli所在目錄,輸入命令開啟連接埠映射。

./ali-instance-cli portforward -i <instance_id> -r <target_ip>:<target_port> -l <local_port>
說明

在使用時,請將<instance_id>替換為作為跳板機執行個體的ID,將<target_ip>替換為目標主機的IP,將<target_port>替換為目標主機的連接埠,將<local_port>替換為需要映射到原生連接埠。

如圖所示,連接埠轉寄成功後,會進入等待串連狀態,此時在本機訪問127.0.0.1:<local_port>相當於訪問主機地址為<target_ip>連接埠號碼為<target_port>的服務。

image

情境樣本

樣本一:遠端連線無公網執行個體

樣本架構

通過連接埠轉寄功能,您可以遠端連線無公網的ECS執行個體。

操作步驟

串連Linux執行個體

  1. 開啟連接埠轉寄。

    首先需要將目標SSH服務的服務連接埠(預設為22)轉寄到原生8080。具體操作如下:

    重要

    開啟連接埠轉寄後,關閉當前命令提示字元或終端會導致串連中斷。

    本機為Windows

    開啟命令提示字元,進入ali-instance-cli.exe工具所在目錄,輸入以下命令完成連接埠轉寄操作。

    ali-instance-cli.exe portforward -i i-bp1****** -r 22 -l 8080
    本命令中,-i參數值i-bp1******是被串連執行個體的ID,-r參數值22為執行個體SSH服務的遠端存取連接埠,-l參數值的8080代錶轉發到原生8080連接埠。

    本機為macOS/Linux

    開啟終端,進入ali-instance-cli工具所在目錄,輸入以下命令完成連接埠轉寄操作。

    ./ali-instance-cli portforward -i i-bp1****** -r 22 -l 8080
    本命令中,-i參數值i-bp1******是被串連執行個體的ID,-r參數值22為執行個體SSH服務的遠端存取連接埠,-l參數值的8080代錶轉發到原生8080連接埠。
  2. 遠端連線執行個體。

    開啟連接埠映射後,您可以直接存取原生8080連接埠遠端連線目標執行個體。

    • 遠程主機地址127.0.0.1

    • 遠程主機SSH服務連接埠號碼8080

    本樣本以使用OpenSSH用戶端為例,您可以根據偏好,選擇合適的遠端連線工具。

    連接埠轉寄:

    image

    通過127.0.0.1:8080串連執行個體:

    image

通過ali-instance-clissh功能簡化操作

當您通過OpenSSH串連執行個體時,您可以通過ali-instance-clissh命令簡化操作,該方式底層使用連接埠轉寄功能。

以macOS/Linux作業系統為例。
  1. 修改.ssh/config設定檔,添加以下內容。

    請將<cli_path>替換為您ali-instance-cli工具的絕對路徑。

    host i-*
        ProxyCommand sh -c "<cli_path> ssh -i '%h' --port  '%p'" 
  2. 通過ssh命令串連執行個體。

    請替換命令中的以下內容:

    • <private_key_path>:替換為您的私密金鑰地址。

    • <ssh_port>:ECS執行個體中,SSH服務的遠端存取連接埠。

    • <ecs_username>:ECS執行個體的登入名稱。

    • <instance_id>:ECS執行個體的ID。

      重要

      此處為執行個體ID而非執行個體的IP地址。

    ssh -i <private_key_path> -p <ssh_port> <ecs_username>@<instance_id>

    image

串連Windows執行個體

  1. 開啟連接埠轉寄。

    首先需要將目標RDP服務的連接埠(預設為3389)轉寄到原生8080。具體操作如下:

    重要

    開啟連接埠轉寄後,關閉當前命令提示字元或終端會導致串連中斷。

    本機為Windows

    開啟命令提示字元,進入ali-instance-cli.exe工具所在目錄,輸入以下命令完成連接埠轉寄操作。

    ali-instance-cli.exe portforward -i i-bp1****** -r 3389 -l 8080
    本命令中,-i參數值i-bp1******是被串連執行個體的ID,-r參數值3389為執行個體RDP服務的遠端存取連接埠,-l參數值的8080代錶轉發到原生8080連接埠。

    本機為macOS/Linux

    開啟終端,進入ali-instance-cli工具所在目錄,輸入以下命令完成連接埠轉寄操作。

    ./ali-instance-cli portforward -i i-bp1****** -r 3389 -l 8080
    本命令中,-i參數值i-bp1******是被串連執行個體的ID,-r參數值3389為執行個體RDP服務的遠端存取連接埠,-l參數值的8080代錶轉發到原生8080連接埠。
  2. 遠端連線執行個體。

    開啟連接埠映射後,您可以直接存取原生8080連接埠遠端連線目標執行個體。

    • 遠端電腦127.0.0.1:8080

    以使用Windows遠端桌面連線ECS執行個體為例,您可以根據您的偏好,選擇合適的遠端連線工具。

    連接埠轉寄:

    image

    通過127.0.0.1:8080遠端連線Windows執行個體:

    image

樣本二:訪問某台無公網ECS上的Nginx服務

樣本架構

操作步驟

  1. 開啟連接埠轉寄。

    首先需要將目標Nginx服務的連接埠(80)轉寄到原生8080。具體操作如下:

    重要

    開啟連接埠轉寄後,關閉當前命令提示字元或終端會導致串連中斷。

    本機為Windows

    開啟命令提示字元,進入ali-instance-cli.exe工具所在目錄,輸入以下命令完成連接埠轉寄操作。

    ali-instance-cli.exe portforward -i i-bp1****** -r 80 -l 8080
    本命令中,-i參數值i-bp1******是被訪問執行個體的ID,-r參數值80為執行個體Nginx服務的連接埠,-l參數值8080代錶轉發到原生8080連接埠。

    本機為macOS/Linux

    開啟終端,進入ali-instance-cli工具所在目錄,輸入以下命令完成連接埠轉寄操作。

    ./ali-instance-cli portforward -i i-bp1****** -r 80 -l 8080
    本命令中,-i參數值i-bp1******是被訪問執行個體的ID,-r參數值80為執行個體Nginx服務的連接埠,-l參數值8080代錶轉發到原生8080連接埠。
  2. 訪問Nginx服務。

    以在瀏覽器訪問Nginx服務的預設頁面為例。

    連接埠轉寄:

    image

    通過http://127.0.0.1:80訪問Nginx服務的預設頁面:

    image

樣本三:以某台ECS為跳板,通過訪問私網MySQL服務

樣本說明

如圖所示,本樣本以ID為i-bp1******的執行個體為跳板機,通過內網訪問ApsaraDB RDS for MySQL的MySQL資料庫執行個體,其中,RDS執行個體的內網地址為rm-******.mysql.rds.aliyuncs.com

本樣本已確保ECS與RDS的網路連通。

操作步驟

  1. 開啟連接埠轉寄。

    首先需要將目標MySQL服務的服務連接埠(預設為3306)轉寄到原生13306。具體操作如下:

    重要

    開啟連接埠轉寄後,關閉當前命令提示字元或終端會導致串連中斷。

    本機為Windows

    開啟命令提示字元,進入ali-instance-cli.exe工具所在目錄,輸入以下命令完成連接埠轉寄操作。

    ali-instance-cli.exe portforward -i i-bp1****** -r rm-******.mysql.rds.aliyuncs.com:3306 -l 13306
    本命令中,-i參數值i-bp1******是作為跳板機ECS執行個體的ID,-r參數值rm-******.mysql.rds.aliyuncs.com:3306為MySQL的內網訪問地址以及連接埠號碼,-l參數值13306代錶轉發到原生13306連接埠。

    本機為macOS/Linux

    開啟終端,進入ali-instance-cli工具所在目錄,輸入以下命令完成連接埠轉寄操作。

    ./ali-instance-cli portforward -i i-bp1****** -r rm-******.mysql.rds.aliyuncs.com:3306 -l 13306
    本命令中,-i參數值i-bp1******是作為跳板機ECS執行個體的ID,-r參數值rm-******.mysql.rds.aliyuncs.com:3306為MySQL的內網訪問地址以及連接埠號碼,-l參數值13306代錶轉發到原生13306連接埠。
  2. 通過MySQL用戶端訪問MySQL資料庫。

    開啟連接埠映射後,您可以直接存取原生13306連接埠,訪問目標主機上的MySQL服務。

    以MySQL用戶端操作為例,您可以根據您的偏好,選擇合適的串連工具。

    連接埠轉寄:

    image

    通過127.0.0.1:13306訪問MySQL服務:

    image

常見問題

執行命令後卡住沒反應(執行個體非運行中狀態)

如果執行ali-instance-cli命令後命令列卡住沒反應,可能是執行個體沒有處於運行中狀態,如何查看執行個體狀態,請參見本文準備工作章節下的檢查執行個體運行狀態是否為運行中

執行命令後卡住沒反應(安全性群組設定問題)

如果執行ali-instance-cli命令後命令列卡住沒反應,可能是沒有在安全性群組出方向放通對應的連接埠。預設情況下普通安全性群組會在出方向放通所有連接埠的訪問,如果您更改了出方向規則或者使用了企業安全性群組,則可能會出現該問題。相關安全性群組說明如下:

通過會話管理串連ECS執行個體時,需要確保ECS中啟動並執行雲助手Agent與雲助手服務端的網路連通性,即在安全性群組出方向設定以下規則:

與SSH、RDP等串連方式不同,由於會話管理是由雲助手Agent主動與會話管理服務端建立WebSocket串連,因此僅需允許存取出方向的雲助手服務端的WebSocket連接埠。關於會話管理的原理,請參見會話管理工作原理
重要
  • 如果使用普通安全性群組(包括預設安全性群組),預設情況下會允許存取所有的出方向流量,無需配置

  • 如果使用企業安全性群組,預設情況下會禁用所有出方向的流量,需要配置以下規則。更多企業安全性群組的說明,請參見普通安全性群組與企業級安全性群組

添加安全性群組規則的具體操作,請參見添加安全性群組規則

授權策略

優先順序

協議類型

連接埠範圍

授權對象

描述

允許

1

自訂TCP

443

100.100.0.0/16

用於訪問雲助手服務端。

允許

1

自訂TCP

443

100.0.0.0/8

訪問雲助手Agent安裝包所在伺服器,用於安裝或更新您的雲助手Agent

允許

1

自訂UDP

53

0.0.0.0/0

用於解析網域名稱。

此外,如果您計劃僅通過會話管理串連執行個體,為了增加ECS執行個體的安全性,您可以取消允許存取安全性群組入方向上的SSH連接埠(預設22)或者RDP連接埠(預設3389)的規則。

執行命令後出現DeliveryTimeout提示(雲助手Agent不線上)

如圖所示,如果執行ali-instance-cli的命令時出現DeliveryTimeout提示,可能是雲助手Agent不線上,檢查雲助手狀態,請參見檢查執行個體雲助手Agent是否已安裝

image

image

執行命令報錯session manager is disabled, please enable first

如果執行ali-instance-cli的命令出現session manager is disabled, please enable first報錯,代表會話管理功能未開啟,請通過控制台開啟會話管理功能,具體操作,請參見開啟會話管理服務

長時間未串連自動斷開

使用會話管理串連到目標執行個體後,如果長時間沒有任何操作串連會自動斷開。預設的串連空閑時間為3分鐘,您可以通過--idle-timeout參數自訂最大空閑時間。

例如執行以下命令串連到目標執行個體後,串連空閑達到10分鐘就會自動斷開。

./ali-instance-cli session --instance instance-id --idle-timeout 600
說明

此功能需確保ali-instance-cli不低於以下版本:

  • Linux:1.2.0.48

  • Windows:1.1.0.48

  • macOS:1.3.0.48

如何分析ali-instance-cli的日誌

當使用會話管理CLI出現問題時,您可以通過查看log分析具體問題。

  • 查看會話管理CLI工具的日誌:在使用會話管理CLI(ali-instance-cli)時,會在該工具所在目錄下產生log目錄,如~/log/aliyun_ecs_session_log.2022XXXX,您可以進入該目錄查看相關日誌。

  • 查看雲助手Agent日誌:

    • Linux

      /usr/local/share/aliyun-assist/雲助手版本號碼/log/
    • Windows

      C:\ProgramData\aliyun\assist\雲助手版本號碼\log