天天看点

Amazon Instance Connect Endpoint连接终端简介

作者:科技狠活与软件技术

关注我带你了解科技领域最新的技术与产品

本博客文章将探讨Amazon EC2实例连接终端的功能、优势以及如何利用它进行安全的远程访问EC2实例。

在云计算领域,亚马逊网络服务(Amazon Web Services,AWS)的EC2实例以其可扩展性、灵活性和可靠性而广受欢迎。管理这些实例通常需要远程访问,用于管理任务、调试或故障排除。为了解决传统堡垒主机和安全密钥管理带来的安全问题,AWS最近推出了Amazon EC2实例连接终端点服务。在本博客文章中,我们将深入探讨Amazon EC2实例连接终端点的详细信息、特点、优势以及如何利用它在不使用公共IP的情况下实现对EC2实例的安全远程访问。

Amazon Instance Connect Endpoint连接终端简介

为什么选择实例连接终端点?Amazon EC2实例连接终端点是AWS提供的一项服务,它彻底改变了对EC2实例进行SSH访问的方式。在传统上,管理对AWS EC2服务器的SSH访问需要使用堡垒主机和实例的公共IP等解决方案。然而,EC2实例连接简化了这个过程,通过利用AWS身份和访问管理(IAM)策略,为EC2实例授予临时的、有时间限制的访问权限。

以前,即使使用EC2实例连接,连接实例仍然需要公共IP。然而,AWS最近推出了一项突破性的功能,称为实例连接终端点服务。使用这项服务,您不再需要在实例上使用公共IP。相反,您可以直接通过AWS控制台或命令行从本地计算机安全地连接到实例。

关键特点和优势无需使用公共IP连接EC2实例,您的VPC不需要互联网网关。访问控制由安全组和身份和访问管理的组合实现。在CloudTrail中记录所有连接。工作原理EC2实例连接(EIC)终端点是一个包含身份感知的TCP代理。它有两种工作模式。

Amazon Instance Connect Endpoint连接终端简介

第一种模式利用AWS CLI客户端使用您的AWS身份和访问管理(IAM)凭据在您的工作站和EIC终端点之间创建安全的WebSocket隧道。一旦隧道建立,您可以将首选的客户端指向环回地址(127.0.0.1或localhost),像往常一样连接到所需的资源。

Amazon Instance Connect Endpoint连接终端简介

第二种模式是当不使用AWS CLI时,AWS管理控制台提供了一种安全、无缝的访问体验,用于访问您的虚拟私有云(VPC)中的资源。在流量到达VPC之前,会对身份验证和授权过程进行评估。

Amazon Instance Connect Endpoint连接终端简介

EIC(EC2实例连接)终端点

EIC终端点配置我假设您在AWS上具有足够的权限来配置EC2实例连接终端点。

  1. 创建EIC终端点 转到VPC服务中的终端点选项,并创建一个新的终端点。

创建新的终端点

  1. 为用户提供连接EIC终端点的权限 根据您的IP和终端点详细信息准备自定义策略,并将其分配给想要连接到EC2实例的用户。

{

"Version": "2012-10-17",

"Statement": [{

"Sid": "EC2InstanceConnect",

"Action": "ec2-instance-connect:OpenTunnel",

"Effect": "Allow",

"Resource": "arn:aws:ec2:ap-southeast-2:11111111111:instance-connect-endpoint/eice-123456789abcdef",

"Condition": {

"NumericEquals": {

"ec2-instance-connect:remotePort": "22"

},

"IpAddress": {

"ec2-instance-connect:privateIpAddress": "10.0.0.0/16"

},

"NumericLessThanEquals": {

"ec2-instance-connect:maxTunnelDuration": "60"

}

}

},

{

"Sid": "Describe",

"Action": [

"ec2:DescribeInstances",

"ec2:DescribeInstanceConnectEndpoints"

],

"Effect": "Allow",

"Resource": "*"

}

]

}

  1. 安全组的网络访问 您需要管理两个安全组:

EIC终端点安全组:您只需为EIC终端点安全组配置一个出站规则,确保EIC终端点连接到AWS中的特定私有IP范围。

实例安全组:您需要配置EC2实例安全组,以允许来自EIC终端点的流量。最好的方法是在实例安全组规则中允许EIC终端点安全组ID。

从控制台连接EC2服务器通过导航到此处打开Amazon EC2控制台。在导航窗格中,点击“实例”以查看您的实例。选择要连接的实例。点击位于控制台顶部的“连接”按钮。在连接选项中,选择“EC2实例连接终端点”以使用基于浏览器的客户端。将打开一个新的浏览器标签或窗口,显示EC2实例连接终端点界面。如果提示,请输入用户名、最大隧道持续时间和终端点。连接建立后,您将能够使用基于浏览器的客户端与实例进行交互。按照这些步骤,您可以使用Amazon EC2控制台连接到实例,并利用EC2实例连接实现无缝安全的连接体验。

从命令行界面(CLI)连接EC2服务器:启用对实例的连接涉及使用AWS CLI的open-tunnel命令启动一个监听模式,用于新的TCP连接。然后,您可以使用SSH建立额外的TCP连接,并创建到实例的私有隧道。以下是操作步骤:

创建隧道:

Shell1aws ec2-instance-connect open-tunnel --instance-id i-094ce4206fa296979 --local-port 88882

在另一个终端窗口中,使用私钥连接实例:

Shell1ssh -i eic-key.pem ec2-user@localhost -p 8888

要在没有公共IPv4地址或公共DNS名称的Windows实例上进行连接,可以使用通过EC2实例连接终端点的远程桌面协议(RDP)。这个功能允许您安全地建立与实例的RDP连接。以下是操作步骤:

创建隧道:

Shell1aws ec2-instance-connect open-tunnel --instance-id i-00518ad1164dfd6f6 --local-port 3389 --remote-port 3389

使用RDP客户端连接Windows服务器。

使用RDP客户端连接Windows服务器。

终端点的限制不支持使用IPv6地址连接实例的EC2实例连接终端点。对于启用了客户端IP保留的连接,被连接的实例必须位于与EC2实例连接终端点相同的虚拟私有云(VPC)中。请注意,在流量通过AWS Transit Gateway路由时,不支持客户端IP保留。请注意,某些实例类型不支持客户端IP保留,包括C1、CC1、CC2、CG1、CG2、CR1、G1、G2、HI1、HS1、M1、M2、M3和T1。结论AWS提供了各种连接实例的方法,包括SSH、RDP、AWS Systems Manager会话管理器、EC2实例连接和终端点、堡垒主机和VPN。选择使用哪种方法取决于操作系统、安全要求、网络配置和个人偏好。通过利用这些连接方法,您可以根据特定的用例和需求安全地访问和管理AWS实例。

继续阅读