使用 EC2 Instance Connect 端点连接到 Windows 实例
您可以使用 EC2 Instance Connect 端点连接到支持 RDP 的 Windows 实例。
有关如何连接到 Linux 实例的信息,请参阅《适用于 Linux 实例的 Amazon EC2 的用户指南》中的 使用 EC2 Instance Connect 端点连接到 Linux 实例。
先决条件
-
您必须拥有连接到 EC2 Instance Connect Endpoint 所需的 IAM 权限。有关更多信息,请参阅 使用 EC2 Instance Connect 端点连接到实例的权限。
-
EC2 Instance Connect Endpoint 必须处于可用(控制台)或
create-complete
(Amazon CLI) 状态。如果没有用于您的 VPC 的 EC2 Instance Connect 端点,则可以创建一个。有关更多信息,请参阅 创建 EC2 Instance Connect Endpoint。 -
确保实例安全组允许来自 EC2 Instance Connect 端点的入站 SSH 流量。有关更多信息,请参阅 目标实例安全组规则。
使用 EC2 Instance Connect 端点连接到 Windows 实例
您可以在 EC2 Instance Connect Endpoint 上使用远程桌面协议(RDP)连接到没有公有 IPv4 地址或公有 DNS 名称的 Windows 实例。
使用 RDP 客户端连接到 Windows 实例
-
完成使用 RDP 连接到 Windows 实例中的步骤 1 至 8。在步骤 8 中下载 RDP 桌面文件后,您将收到无法连接的消息,这是意料之中的,因为您的实例没有公有 IP 地址。
-
运行以下命令,建立到实例所在 VPC 的私有隧道。
--remote-port
必须是3389
,因为 RDP 默认使用端口 3389。aws ec2-instance-connect open-tunnel \ --instance-id
i-0123456789example
\ --remote-port 3389 \ --local-portany-port
-
在下载文件夹中,找到您下载的 RDP 桌面文件,然后将其拖到 RDP 客户端窗口中。
-
右键单击该 RDP 桌面文件并选择编辑。
-
在编辑 PC 窗口中,对于 PC 名称(要连接到的实例),输入
localhost:
,其中local-port
使用的值与在步骤 2 中指定的值相同,然后选择保存。local-port
请注意,以下编辑 PC 窗口的屏幕截图来自 Mac 上的 Microsoft 远程桌面。如果您使用的是 Windows 客户端,窗口可能会有所不同。
-
在 RDP 客户端中,右键单击您刚才配置的 PC,然后选择连接来连接到您的实例。
-
根据提示,输入管理员账户的解密密码。
故障排除
使用以下信息帮助您诊断和修复您在使用 EC2 Instance Connect Endpoint 连接实例时可能遇到的问题。
无法连接到您的实例
以下是您可能无法连接到实例的常见原因:
-
安全组 – 检查分配给 EC2 Instance Connect Endpoint 和您的实例的安全组。有关所需安全组规则的更多信息,请参阅 EC2 Instance Connect Endpoint 安全组。
-
实例状态 – 验证您的实例是否处于
running
状态。 -
密钥对 – 如果您用于连接的命令需要私钥,请确认您的实例是否有公钥,以及您是否拥有相应的私钥。
-
IAM 权限 – 验证您是否拥有所需的 IAM 权限。有关更多信息,请参阅 授予使用 EC2 Instance Connect 端点的权限。
有关更多故障排除提示,请参阅 排查有关连接到 Windows 实例的问题。
ErrorCode: AccessDeniedException
如果您收到 AccessDeniedException
错误,并且 IAM policy 中已指定 maxTunnelDuration
条件,确保当您连接到实例时指定 --max-tunnel-duration
参数。有关该参数的更多信息,请参阅 Amazon CLI 命令参考中的 open-tunnel