我正在使用新的(2019 年 6 月)EC2 浏览器 SSH 连接功能将 shell连接到 EC2。这非常方便,因为我在 Windows 上使用 AWS auth 配置 PuTTy 很烦人,而传统浏览器 SSH 产品从来不适合我。
我可以通过 AWS 控制台连接到 EC2 实例,如下所示
如果为任何 IP 地址启用了 SSH,它就可以完美运行。但是,当我将 SSH 安全组设置为我的 IP 地址时,SSH shell 只是挂起。
我已经确认这是我正确的公共 IP 地址,并且我也尝试过使用我的私有 IPV4 地址 - 不走运。但是,将 CIDR 块设置为任何位置时,连接工作正常。
我想也许这个新功能在某处使用了代理外壳,所以我必须允许访问这个中介的地址。
是在我的家庭办公室桌面上执行此操作,而不是从企业或复杂环境中执行此操作,并使用我的根 AWS 凭证(是的,我知道这是最糟糕的做法)。
我创建两个 VPC,每个 VPC 拥有一个私有子网,每个私有子网拥有一个 EC2 实例(具有 IAM 策略“AmazonSSMManagedInstanceCore”的角色)。这两种环境的唯一区别在于是否有 NAT 网关。
我尝试通过会话管理器连接这两个 EC2 实例。具有 NAT 网关的 VPC 中的 EC2 实例可以访问,但其他 EC2 实例无法访问。
问题
amazon-ec2 amazon-web-services amazon-vpc aws-session-manager aws-nat-gateway
有人可以帮我调查 EC2 实例配置文件的问题吗?我创建了一个 EC2 实例并放置了一个 IAM 角色。但是,当我检查实例时,我看到:没有附加到实例配置文件的角色:xxx-instance-profile。
知道我必须去哪里看吗?因为,当我检查该实例配置文件(角色)时,我信任它:
可信实体 身份提供者 ec2.amazonaws.com
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "ec2.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
Run Code Online (Sandbox Code Playgroud)
我附上了一项权限策略 AmazonSSMManagedInstanceCore
当我转到我的实例时,我看到没有附加任何角色。而且,在 Systems Manager -> Session Manager 中,我看不到我的实例。
我不知道我做错了什么:(有什么建议吗?
问候,