使用連線至Windows Server代管執行個體 Remote Desktop - AWS Systems Manager

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

使用連線至Windows Server代管執行個體 Remote Desktop

您可以使用Fleet Manager的功能 AWS Systems Manager,使用 (RDP) 連接到您的亞馬Windows Server遜彈性運算雲端 Remote Desktop Protocol (Amazon EC2) 執行個體。 Fleet Manager由 NICE DCV 提供支援的遠端桌面,可讓您直接從 Systems Manager 主控台安全連線至您的 Windows Server 執行個體。在單一瀏覽器視窗中,您最多可同時建立四條連線。

目前您只能在執行 Windows Server 2012 RTM 或更新版本的執行個體上使用遠端桌面。遠端桌面僅支援英文語言輸入。

注意

Fleet Manager遠端桌面是僅限主控台的服務,不支援指向受控執行個體的命令列連線。若要透過命令介面連線到Windows Server代管執行個體,您可以使用Session Manager的另一項功能 AWS Systems Manager。如需詳細資訊,請參閱 AWS Systems Manager Session Manager

如需設定 AWS Identity and Access Management (IAM) 許可以允許執行個體與 Systems Manager 互動的詳細資訊,請參閱設定系 Systems Manager 的執行個體權限

設定您的環境

在您使用遠端桌面之前,請確定您的環境符合下列要求:

  • 受管節點組態

    確保您的 Amazon EC2 執行個體在 Systems Manager 中設定為受管節點

  • SSM Agent 最低版本

    確認節點執行的是 SSM Agent 3.0.222.0 或更新版本。如需有關如何檢查節點執行之代理程式版本的詳細資訊,請參閱 檢查 SSM Agent 版本編號。如需安裝或更新 SSM Agent 的詳細資訊,請參閱 使用 SSM Agent

  • RDP 連接埠組態

    若要接受遠端連線,Windows Server 節點上的 Remote Desktop Services 服務必須使用預設的 RDP 連接埠 3389。這是 Amazon Machine Images (AMIs) 提供的預設組態 AWS。您不需要明確開啟任何傳入連接埠即可使用遠端桌面。

  • 鍵盤功能所需的 PSReadLine 模組版本

    若要確保您的鍵盤在 PowerShell 中正常運作,請確認執行 Windows Server 2022 的節點已安裝 PSReadLine 模組 2.2.2 或更新版本。如果執行的是較舊的版本,您可以使用以下命令安裝所需的版本。

    Install-Module ` -Name PSReadLine ` -Repository PSGallery `-MinimumVersion 2.2.2
  • Session Manager 組態

    您必須先完成 Session Manager 設定的先決條件,才能使用遠端桌面。當您使用遠端桌面連線至執行個體時,會套用為您定義的 AWS 帳戶 和 AWS 區域 的任何工作階段偏好設定。如需詳細資訊,請參閱 設定 Session Manager

    注意

    如果使用 Amazon Simple Storage Service (Amazon S3) 記錄 Session Manager 的活動,則遠端桌面連線會在 bucket_name/Port/stderr 中產生以下錯誤。此錯誤是預期會出現的行為,可以安全忽略。

    Setting up data channel with id SESSION_ID failed: failed to create websocket for datachannel with error: CreateDataChannel failed with no output or error: createDataChannel request failed: unexpected response from the service <BadRequest>
    <ClientErrorMessage>Session is already terminated</ClientErrorMessage>
    </BadRequest>

為遠端桌面設定 IAM 許可

除了 Systems Manager 和 Session Manager 所需的 IAM 許可之外,您用來存取主控台的使用者或角色必須允許下列動作:

  • ssm-guiconnect:CancelConnection

  • ssm-guiconnect:GetConnection

  • ssm-guiconnect:StartConnection

以下是您可以連接至使用者或角色的 IAM 政策範例,這些政策可允許您與遠端桌面進行不同類型的互動。將每個範例資源預留位置取代為您自己的資訊。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EC2", "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:GetPasswordData" ], "Resource": "*" }, { "Sid": "SSM", "Effect": "Allow", "Action": [ "ssm:DescribeInstanceProperties", "ssm:GetCommandInvocation", "ssm:GetInventorySchema" ], "Resource": "*" }, { "Sid": "TerminateSession", "Effect": "Allow", "Action": [ "ssm:TerminateSession" ], "Resource": "*", "Condition": { "StringLike": { "ssm:resourceTag/aws:ssmmessages:session-id": [ "${aws:userid}" ] } } }, { "Sid": "SSMStartSession", "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ec2:*:account-id:instance/*", "arn:aws:ssm:*:account-id:managed-instance/*", "arn:aws:ssm:*::document/AWS-StartPortForwardingSession" ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" }, "ForAnyValue:StringEquals": { "aws:CalledVia": "ssm-guiconnect.amazonaws.com" } } }, { "Sid": "GuiConnect", "Effect": "Allow", "Action": [ "ssm-guiconnect:CancelConnection", "ssm-guiconnect:GetConnection", "ssm-guiconnect:StartConnection" ], "Resource": "*" } ] }
注意

在下列 IAM 政策中,SSMStartSession本節需要針對ssm:StartSession動作提供 Amazon 資源名稱 (ARN)。如圖所示,您指定的 ARN 需要 AWS 帳戶 ID。如果您指定帳戶 ID,則Fleet Manager會傳回AccessDeniedException.

位於範例策略中較低的AccessTaggedInstances區段也需要 ARN。ssm:StartSession對於這些 ARN,您必須指定 AWS 帳戶 識別碼。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EC2", "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:GetPasswordData" ], "Resource": "*" }, { "Sid": "SSM", "Effect": "Allow", "Action": [ "ssm:DescribeInstanceProperties", "ssm:GetCommandInvocation", "ssm:GetInventorySchema" ], "Resource": "*" }, { "Sid": "SSMStartSession", "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ssm:*::document/AWS-StartPortForwardingSession" ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" }, "ForAnyValue:StringEquals": { "aws:CalledVia": "ssm-guiconnect.amazonaws.com" } } }, { "Sid": "AccessTaggedInstances", "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ec2:*:account-id:instance/*", "arn:aws:ssm:*:account-id:managed-instance/*" ], "Condition": { "StringLike": { "ssm:resourceTag/tag key": [ "tag value" ] } } }, { "Sid": "GuiConnect", "Effect": "Allow", "Action": [ "ssm-guiconnect:CancelConnection", "ssm-guiconnect:GetConnection", "ssm-guiconnect:StartConnection" ], "Resource": "*" } ] }
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SSO", "Effect": "Allow", "Action": [ "sso:ListDirectoryAssociations*", "identitystore:DescribeUser" ], "Resource": "*" }, { "Sid": "EC2", "Effect": "Allow", "Action": [ "ec2:DescribeInstances", "ec2:GetPasswordData" ], "Resource": "*" }, { "Sid": "SSM", "Effect": "Allow", "Action": [ "ssm:DescribeInstanceProperties", "ssm:GetCommandInvocation", "ssm:GetInventorySchema" ], "Resource": "*" }, { "Sid": "TerminateSession", "Effect": "Allow", "Action": [ "ssm:TerminateSession" ], "Resource": "*", "Condition": { "StringLike": { "ssm:resourceTag/aws:ssmmessages:session-id": [ "${aws:userName}" ] } } }, { "Sid": "SSMStartSession", "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ec2:*:*:instance/*", "arn:aws:ssm:*:*:managed-instance/*", "arn:aws:ssm:*:*:document/AWS-StartPortForwardingSession" ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" }, "ForAnyValue:StringEquals": { "aws:CalledVia": "ssm-guiconnect.amazonaws.com" } } }, { "Sid": "SSMSendCommand", "Effect": "Allow", "Action": [ "ssm:SendCommand" ], "Resource": [ "arn:aws:ec2:*:*:instance/*", "arn:aws:ssm:*:*:managed-instance/*", "arn:aws:ssm:*:*:document/AWSSSO-CreateSSOUser" ], "Condition": { "BoolIfExists": { "ssm:SessionDocumentAccessCheck": "true" } } }, { "Sid": "GuiConnect", "Effect": "Allow", "Action": [ "ssm-guiconnect:CancelConnection", "ssm-guiconnect:GetConnection", "ssm-guiconnect:StartConnection" ], "Resource": "*" } ] }

驗證遠端桌面連線

建立遠端連線時,您可以使用 Windows 憑證或與執行個體相關聯的 Amazon EC2 金鑰對 (.pem 檔案) 進行驗證。如需使用金鑰配對的相關資訊,請參閱 Amazon EC2 使用者指南中的 Amazon EC2 金鑰配對和Windows執行個體

或者,如果您已通過 AWS Management Console 使用的身份驗證 AWS IAM Identity Center,則可以連接到實例,而無需提供其他憑據。如需允許使用 IAM Identity Center 進行遠端連線身份驗證的政策範例,請參閱 為遠端桌面設定 IAM 許可

開始之前

開始使用遠端桌面連線之前,請留意下列使用 IAM Identity Center 驗證的條件。

  • 遠端桌面支援在您啟用 IAM Identity Center 所在 AWS 區域 的節點的 IAM Identity Center 身分驗證。

  • 遠端桌面支援最多 16 個字元的 IAM Identity Center 使用者名稱。

  • 遠端桌面支援的 IAM Identity Center 使用者名稱可包含英數字元和下列特殊字元:.-_

    重要

    使用包含下列字元的 IAM Identity Center 使用者名稱無法成功連線:+=,@

    IAM Identity Center 的使用者名稱支援這些字元,但 Fleet Manager RDP 連線則不支援。

  • 使用 IAM Identity Center 驗證連線時,遠端桌面會在執行個體的 Local Administrators 群組中建立一個本機 Windows 使用者。遠端連線結束後,此使用者仍將存在。

  • 遠端桌面不允許屬於 Microsoft Active Directory 網域控制站的節點使用 IAM Identity Center 驗證。

  • 雖然遠端桌面允許您針對已加入 Active Directory 網域的節點使用 IAM Identity Center 驗證,但我們不建議您這樣做。此驗證方法會將系統管理許可授予使用者,從而導致使用者可能會覆寫網域授予的更嚴格許可。

IAM Identity Center 驗證支援的區域

使用 IAM Identity Center 驗證的 Remote Desktop 連線在下列 AWS 區域中獲得支援:

  • 美國東部 (俄亥俄) (us-east-2)

  • 美國東部 (維吉尼亞北部) (us-east-1)

  • 美國西部 (加利佛尼亞北部) (us-west-1)

  • 美國西部 (奧勒岡) (us-west-2)

  • 非洲 (開普敦) (af-south-1)

  • 亞太區域 (香港) (ap-east-1)

  • 亞太區域 (孟買) (ap-south-1)

  • 亞太區域 (東京) (ap-northeast-1)

  • 亞太區域 (首爾) (ap-northeast-2)

  • 亞太區域 (大阪) (ap-northeast-3)

  • 亞太區域 (新加坡) (ap-southeast-1)

  • 亞太區域 (雪梨) (ap-southeast-2)

  • 亞太區域 (雅加達) (ap-southeast-3)

  • 加拿大 (中部) (ca-central-1)

  • 歐洲 (法蘭克福) (eu-central-1)

  • 歐洲 (斯德哥爾摩) (eu-north-1)

  • 歐洲 (愛爾蘭) (eu-west-1)

  • 歐洲 (倫敦) (eu-west-2)

  • 歐洲 (巴黎) (eu-west-3)

  • 以色列 (特拉維夫) (il-central-1)

  • 南美洲 (聖保羅) (sa-east-1)

  • 歐洲 (米蘭) (eu-south-1)

  • 中東 (巴林) (me-south-1)

  • AWS GovCloud (美國東部) (美國往東 1)

  • AWS GovCloud (美國西部) (美國-往西 -1)

遠端連線持續時間與並行

下列條件適用於作用中的遠端桌面連線:

  • 連線持續時間

    根據預設,遠端桌面連線會在 60 分鐘後中斷。若要避免中斷連線,您可以在中斷連線前選擇續約工作階段來重設持續時間計時器。

  • 連線逾時

    遠端桌面連線會在閒置超過 10 分鐘後中斷。

  • 並行連線

    根據預設,您一次最多可以有 5 個作用中的遠端桌面連線,以 AWS 帳戶 及 AWS 區域。若要請求將服務配額提高到最高 25 個並行連線,請參閱《Service Quotas 使用者指南》中的請求提高配額

使用遠端桌面連線至受管節點

瀏覽器複製/粘貼文本支持

您可以使用 Google Chrome 和 Microsoft Edge 瀏覽器,將受管理節點中的文字複製並貼上到本機電腦,也可以從本機電腦複製文字貼到您所連線的受管理節點。

使用 Mozilla Firefox 瀏覽器,您只能將受管理節點中的文字複製並貼到您的本機電腦上。不支援從本機電腦複製到受管理的節點。

使用 Fleet Manager 遠端桌面連線至受管節點
  1. 請在以下位置開啟 AWS Systems Manager 主控台。 https://console.aws.amazon.com/systems-manager/

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

  3. 選擇您要連線到的節點。您可以選取核取方塊或節點名稱。

  4. 節點動作選單中,選擇使用遠端桌面連線

  5. 選擇您偏好的 Authentication type (身分驗證類型)。如果您選擇使用者憑證,請在連線的節點上輸入 Windows 使用者帳戶的使用者名稱和密碼。如果選擇金鑰對,您可以使用以下其中一種方法提供身份驗證憑證:

    1. 如果要從本機檔案系統選取與執行個體相關聯的 PEM 金鑰,請選擇瀏覽本機電腦

      - 或 -

    2. 如果您要複製 PEM 檔案的內容並將其貼到提供的欄位中,請選擇貼上金鑰對內容

  6. 選取 Connect (連線)。

  7. 若要選擇您偏好的顯示解析度,請在動作功能表中選擇解析度,然後從下列選項中選取:

    • 自動調整

    • 1920 x 1080

    • 1400 x 900

    • 1366 x 768

    • 800 x 600

    自動調整選項會根據偵測到的螢幕大小自動設定解析度。