全部產品
Search
文件中心

Elastic Compute Service:通過會話管理串連ECS執行個體

更新時間:Jun 19, 2024

如果您需要實現免密碼、免公網IP或無需開啟SSH和RDP連接埠直接連接ECS執行個體,您可以通過會話管理來串連。會話管理相比SSH、VNC等方式,可以更便捷、安全地遠端連線ECS執行個體。本文為您介紹如何通過會話管理串連ECS執行個體。

會話管理的工作原理說明,請參見會話管理概述

前提條件

使用會話管理功能需滿足以下條件:

  • 該執行個體處於會話管理支援的地區,更多資訊,請參見支援的地區

  • 如果通過RAM使用者使用會話管理功能,請確保RAM使用者擁有調用StartTerminalSession的許可權。詳細的權限原則樣本,請參見權限原則樣本

    重要

    免密登入更加便捷,但請在授權RAM使用者時保持謹慎,避免因RAM使用者管理或授權不當導致越權操作。

操作步驟

  1. 登入ECS管理主控台

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

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

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

  5. 單擊展開其他登入方式,確保會話管理已開啟(全地區),如果顯示會話管理已關閉,請先開啟功能開關。

    重要

    開啟會話管理功能開關前,請確保RAM使用者具有查看會話管理配置的DescribeUserBusinessBehavior許可權和開啟或關閉會話管理功能的ModifyUserBusinessBehavior許可權,詳細的權限原則樣本,請參見權限原則樣本

    session-mgr-switch

  6. 單擊免密登入

    串連成功後,Linux執行個體預設以ecs-assist-user使用者登入執行個體,Windows執行個體預設以system使用者登入。以Linux執行個體為例,效果如下圖所示。session-mgr-logon

權限原則樣本

建立權限原則和為RAM使用者授權的操作,請參見建立自訂權限原則為RAM使用者授權。使用會話管理串連執行個體時,許可權說明如下:

  • RAM使用者必須擁有調用StartTerminalSession的許可權,才能通過會話管理串連執行個體。以下為權限原則內容樣本:

    • 允許串連所有執行個體

      {
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "ecs:StartTerminalSession"
                  ],
                  "Resource": [
                      "acs:ecs:*:*:instance/*"
                  ]
              }
          ],
          "Version": "1"
      }
    • 允許串連指定的執行個體

      重要

      請將<i-****>替換為指定執行個體的ID。

      {
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "ecs:StartTerminalSession"
                  ],
                  "Resource": [
                      "acs:ecs:*:*:instance/i-bp11igy9rss1hu8y****",
                      "acs:ecs:*:*:instance/i-bp1fihgzdytqve94****"
                  ]
              }
          ],
          "Version": "1"
      }
    • 允許串連綁定了指定標籤的執行個體

      重要

      請將key-****替換為指定的標籤鍵,value-****替換為指定的標籤值。

      {
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "ecs:StartTerminalSession"
                  ],
                  "Resource": "*",
                  "Condition": {
                      "StringEquals": {
                          "ecs:tag/key-****": "value-****"
                      }
                  }
              }
          ],
          "Version": "1"
      }
    • 允許通過指定的IP串連執行個體

      重要

      請將192.168.XX.XX192.168.XX.XX/24替換為指定的IP或CIDR位址區段。

      {
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "ecs:StartTerminalSession"
                  ],
                  "Resource": "*",
                  "Condition": {
                      "IpAddress": {
                          "acs:SourceIp": [
                              "192.168.XX.XX",
                              "192.168.XX.XX/24"
                          ]
                      }
                  }
              }
          ],
          "Version": "1"
      }
  • 您只需要在開啟會話管理開關前,為RAM使用者添加查看會話管理配置的DescribeUserBusinessBehavior許可權和開啟或關閉會話管理的ModifyUserBusinessBehavior許可權。開啟開關後,您可以根據實際需要取消授權。以下為權限原則內容樣本:

    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "ecs:ModifyUserBusinessBehavior",
                    "ecs:DescribeUserBusinessBehavior"
                ],
                "Resource": "acs:ecs:*:*:instance/*"
            }
        ]
    }

如何在自己的應用中整合會話管理遠程登入功能?

在開源專案cloud-assistant-starter中,包含了使用會話管理功能,遠端連線到雲端服務器或受管理的執行個體的完整代碼。專案中的AxtSession.tsx包含了串連與使用StartTerminalSession所返回的WebSocketURL的完整代碼,將這段代碼移植到您自己的公司專屬應用程式中,即可實現免密碼、免公網遠程登入功能的會話管理。

相關文檔

會話管理支援多種方式串連執行個體,您可以根據業務需要,選擇合適的串連方式。