啟動工作階段 - AWS Systems Manager

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

啟動工作階段

您可以使用 AWS Systems Manager 主控台、Amazon Elastic Compute Cloud (Amazon EC2) 主控台、 AWS Command Line Interface (AWS CLI) 或 SSH 來啟動工作階段。

啟動工作階段 (Systems Manager 主控台)

您可以使用 AWS Systems Manager 主控台啟動帳戶中受管理節點的工作階段。

注意

開始工作階段之前,請確定您已完成 Session Manager 的設定步驟。如需相關資訊,請參閱 設定 Session Manager

若要啟動工作階段 (Systems Manager 主控台)
  1. 開啟主 AWS Systems Manager 控台,網址為 https://console.aws.amazon.com/systems-manager/

  2. 在導覽窗格中,選擇 Session Manager

    -或-

    如果 AWS Systems Manager 首頁先開啟,請選擇功能表圖示 ( 
    The menu icon
  ) 以開啟導覽窗格,然後Session Manager在導覽窗格中選擇。

  3. 選擇 Start session (啟動工作階段)

  4. (選用) 在工作階段的原因欄位中輸入工作階段的描述。

  5. 目標執行個體中,選擇您想要連接到的受管節點旁的選項按鈕。

    如果您想要的節點不在清單中,或者您在選取節點後遇到組態錯誤,請參閱 受管節點無法使用或未設定用於 Session Manager 以獲取疑難排解步驟。

  6. 選擇啟動工作階段,以立即啟動工作階段。

    -或-

    選擇下一步以查看工作階段選項。

  7. (選用) 對於工作階段文件,選取您要在工作階段啟動時執行的文件。如果您的文件支援執行期參數,您可以在每個參數欄位中輸入一或多個逗號分隔值。

  8. 選擇下一步

  9. 選擇 Start session (啟動工作階段)

建立連線之後,您可以執行 bash 命令 (Linux 和 macOS) 或 PowerShell 命令 (Windows),就像您使用任何其他連線類型時一樣。

重要

如果您想要允許使用者在 Session Manager 主控台中啟動工作階段時指定文件,請注意下列事項:

啟動工作階段 (Amazon EC2 主控台)

您可以使用 Amazon Elastic Compute Cloud (Amazon EC2) 主控台在您的帳戶中使用執行個體啟動工作階段。

注意

若您收到錯誤,告知您並未獲得執行一或多個 Systems Manager 動作 (ssm:command-name) 的授權,您必須聯絡您的管理員以取得協助。您的管理員是為您提供簽署憑證的人員。請求該人員更新您的政策,允許您從 Amazon EC2 主控台啟動工作階段。如果您是管理員,請參閱 適用於 Session Manager 的範例 IAM 政策 以取得更多資訊。

啟動工作階段 (Amazon EC2 主控台)
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

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

  3. 選取執行個體,然後選取 Connect (連線)

  4. 對於連線方法,請選擇 Session Manager

  5. 選擇連線

建立連線之後,您可以執行 bash 命令 (Linux 和 macOS) 或 PowerShell 命令 (Windows),就像您使用任何其他連線類型時一樣。

啟動工作階段 (AWS CLI)

安裝和配置 AWS Command Line Interface (AWS CLI),如果你還沒有。

如需相關資訊,請參閱安裝或更新最新版本的 AWS CLI

開始工作階段之前,請確定您已完成 Session Manager 的設定步驟。如需相關資訊,請參閱 設定 Session Manager

若要使用執行工作階段指令,Session Manager外掛程式也必須安裝在您的本機電腦上。 AWS CLI 如需相關資訊,請參閱 安裝Session Manager外掛程式 AWS CLI

若要使用啟動工作階段 AWS CLI,請執行下列命令,以您自己的資訊取代執行個體識別碼

aws ssm start-session \ --target instance-id

若要取得有關可與start-session指令配合使用的其他選項的資訊,請參閱《 AWS CLI 指令參考》一 AWS Systems Manager 節start-session中的〈〉。

啟動工作階段 (SSH)

若要啟動 Session Manager SSH 工作階段,必須在受管節點上安裝 SSM Agent 2.3.672.0 版或更新版本。

SSH 連線需求

使用 SSH 建立工作階段連線時,請注意下列需求和限制:

  • 您的目標受管節點必須設為支援 SSH 連線。如需詳細資訊,請參閱 (選用) 允許和控制透過 SSH 連線的權限Session Manager

  • 您必須使用與隱私權增強式郵件 (PEM) 憑證建立關聯的受管節點帳戶進行連線,而非用於其他工作階段連線類型的 ssm-user 帳戶。例如,在 Linux 和 macOS 的 EC2 執行個體上,預設使用者是 ec2-user。如需識別每種執行個體類型之預設使用者的詳細資訊,請參閱《Amazon EC2 Linux 執行個體使用者指南》中的取得執行個體的相關資訊

  • 透過連接埠轉送或 SSH 連線的 Session Manager 工作階段無法使用日誌記錄功能。這是因為 SSH 會加密所有工作階段資料,Session Manager 僅用作 SSH 連線的通道。

注意

開始工作階段之前,請確定您已完成 Session Manager 的設定步驟。如需相關資訊,請參閱 設定 Session Manager

若要使用 SSH 開始工作階段,請執行以下命令。將每個範例資源預留位置取代為您自己的資訊。

ssh -i /path/my-key-pair.pem username@instance-id
提示

使用 SSH 開始工作階段時,您可以使用以下命令格式將本機檔案複製到目標受管節點。

scp -i /path/my-key-pair.pem /path/ExampleFile.txt username@instance-id:~

若要取得有關可與start-session指令配合使用的其他選項的資訊,請參閱《 AWS CLI 指令參考》一 AWS Systems Manager 節start-session中的〈〉。

啟動工作階段 (網路埠轉遞)

若要啟動 Session Manager 連接埠轉送工作階段,必須在受管節點上安裝 SSM Agent 2.3.672.0 版或更新版本。

注意

開始工作階段之前,請確定您已完成 Session Manager 的設定步驟。如需相關資訊,請參閱 設定 Session Manager

若要使用執行工作階段指令,您必須在本機電腦上安裝Session Manager外掛程式。 AWS CLI 如需相關資訊,請參閱 安裝Session Manager外掛程式 AWS CLI

視您的作業系統和命令列工具而定,引號的位置可能會有所不同,且可能需要逸出字元。

若要啟動網路埠轉遞工作階段,請從 CLI 執行以下命令。將每個範例資源預留位置取代為您自己的資訊。

Linux & macOS
aws ssm start-session \ --target instance-id \ --document-name AWS-StartPortForwardingSession \ --parameters '{"portNumber":["80"], "localPortNumber":["56789"]}'
Windows
aws ssm start-session ^ --target instance-id ^ --document-name AWS-StartPortForwardingSession ^ --parameters portNumber="3389",localPortNumber="56789"

portNumber是受管理節點上要重新導向工作階段流量的遠端連接埠。例如,您可以指定連接埠 3389 用於透過遠端桌面通訊協定 (RDP) 連線至 Windows 節點。如果您未指定 portNumber 參數,Session Manager 會使用 80 作為預設值。

localPortNumber是本機電腦上流量開始的連接埠,例如56789。此值是您在使用用戶端連線到受管節點時所輸入的值。例如 localhost:56789

若要取得有關可與start-session指令配合使用的其他選項的資訊,請參閱《 AWS CLI 指令參考》一 AWS Systems Manager 節start-session中的〈〉。

如需有關連接埠轉送工作階段的資訊,請參閱 AWS 新聞部落格中的使用 AWS Systems ManagerSession Manager 的連接埠轉送

啟動工作階段 (連接埠轉送至遠端主機)

若要啟動 Session Manager 連接埠轉送工作階段至遠端主機,必須在受管理節點上安裝 SSM Agent 的 3.1.1374.0 版或較新版本。遠端主機不需由 Systems Manager 管理。

注意

開始工作階段之前,請確定您已完成 Session Manager 的設定步驟。如需相關資訊,請參閱 設定 Session Manager

若要使用執行工作階段指令,您必須在本機電腦上安裝Session Manager外掛程式。 AWS CLI 如需相關資訊,請參閱 安裝Session Manager外掛程式 AWS CLI

視您的作業系統和命令列工具而定,引號的位置可能會有所不同,且可能需要逸出字元。

若要啟動連接埠轉送工作階段,請從執行下列命令 AWS CLI。將每個範例資源預留位置取代為您自己的資訊。

Linux & macOS
aws ssm start-session \ --target instance-id \ --document-name AWS-StartPortForwardingSessionToRemoteHost \ --parameters '{"host":["mydb.example.us-east-2.rds.amazonaws.com"],"portNumber":["3306"], "localPortNumber":["3306"]}'
Windows
aws ssm start-session ^ --target instance-id ^ --document-name AWS-StartPortForwardingSessionToRemoteHost ^ --parameters host="mydb.example.us-east-2.rds.amazonaws.com",portNumber="3306",localPortNumber="3306"

host 值代表您想要連線遠端主機的主機名稱或 IP 地址。受管理節點與遠端主機之間的一般連線與名稱解析要求仍然適用。

portNumber是受管理節點上要重新導向工作階段流量的遠端連接埠。例如,您可以指定連接埠 3389 用於透過遠端桌面通訊協定 (RDP) 連線至 Windows 節點。如果您未指定 portNumber 參數,Session Manager 會使用 80 作為預設值。

localPortNumber是本機電腦上流量開始的連接埠,例如56789。此值是您在使用用戶端連線到受管節點時所輸入的值。例如 localhost:56789

若要取得有關可與start-session指令配合使用的其他選項的資訊,請參閱《 AWS CLI 指令參考》一 AWS Systems Manager 節start-session中的〈〉。

使用 Amazon ECS 任務開始工作階段

Session Manager支援使用 Amazon 彈性容器服務 (Amazon ECS) 叢集內的任務啟動連接埠轉送工作階段。若要這麼做,您必須更新 IAM 中的任務角色,以包含下列許可:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssmmessages:CreateControlChannel", "ssmmessages:CreateDataChannel", "ssmmessages:OpenControlChannel", "ssmmessages:OpenDataChannel" ], "Resource": "*" } ] }

若要使用 Amazon ECS 任務啟動連接埠轉送工作階段,請從執行下列命令。 AWS CLI將每個範例資源預留位置取代為您自己的資訊。

注意

從 < and > target 參數中移除符號。這些符號僅供讀者澄清。

Linux & macOS
aws ssm start-session \ --target ecs:<ECS_cluster_name><ECS_container_ID><container_runtime_ID> \ --document-name AWS-StartPortForwardingSessionToRemoteHost \ --parameters '{"host":["URL"],"portNumber":["port_number"], "localPortNumber":["port_number"]}'
Windows
aws ssm start-session ^ --target ecs:<ECS_cluster_name><ECS_container_ID><container_runtime_ID> ^ --document-name AWS-StartPortForwardingSessionToRemoteHost ^ --parameters host="URL",portNumber="port_number",localPortNumber="port_number"

啟動工作階段 (互動和非互動式命令)

開始工作階段之前,請確定您已完成 Session Manager 的設定步驟。如需相關資訊,請參閱 設定 Session Manager

若要使用執行工作階段指令,Session Manager外掛程式也必須安裝在您的本機電腦上。 AWS CLI 如需相關資訊,請參閱 安裝Session Manager外掛程式 AWS CLI

若要啟動互動式命令工作階段,請執行以下命令。將每個範例資源預留位置取代為您自己的資訊。

Linux & macOS
aws ssm start-session \ --target instance-id \ --document-name CustomCommandSessionDocument \ --parameters '{"logpath":["/var/log/amazon/ssm/amazon-ssm-agent.log"]}'
Windows
aws ssm start-session ^ --target instance-id ^ --document-name CustomCommandSessionDocument ^ --parameters logpath="/var/log/amazon/ssm/amazon-ssm-agent.log"

若要取得有關可與start-session指令配合使用的其他選項的資訊,請參閱《 AWS CLI 指令參考》一 AWS Systems Manager 節start-session中的〈〉。