我在cloudformation中创建了一个具有以下权限的EC2角色:
Policies:
- PolicyName: ec2-test-poilcy
PolicyDocument: |
{ "Version": "2012-10-17",
"Statement": [
{
"Action": [
"ssm:DescribeParameters"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Effect": "Allow",
"Action": [
"ssm:PutParameter",
"ssm:DeleteParameter",
"ssm:GetParameterHistory",
"ssm:GetParametersByPath",
"ssm:GetParameters",
"ssm:GetParameter",
"ssm:DeleteParameters"
],
"Resource": "arn:aws:ssm:REGION:ACCOUNT-ID:parameter/*"
}
]
}并将上面的角色附加到我的EC2实例中,但是,我无法执行任何SSM参数存储操作,我只是没有得到响应,几分钟后,我得到了一个超时。
例如:
aws ssm get-parameter --name test --region us-east-2
Connect timeout on endpoint URL: "https://ssm.us-east-2.amazonaws.com/"在尝试了各种操作之后,我也附加了AdministratorAccess策略,但它仍然没有响应任何ssm操作。
更新
在花了几个小时之后,我意识到超时错误只发生在地区:美国东部-2。
aws ssm get-parameter --name testing --region us-east-1上面的命令使用不同的区域成功运行。
发布于 2021-06-11 10:05:51
为了结束我的问题,我发现问题,我自己回答,并希望它有助于其他人的调试。
对于DNS信息,我使用了以下命令:
dig ssm.us-east-2.amazonaws.com我得到了一个回复,在其中我能够观察到DNS指向私有IP:
;; ANSWER SECTION:
ssm.us-east-2.amazonaws.com. 60 IN A xx.xx.xx.xx7 (private ip)但是正确的DNS解析应该是这样的:
;; ANSWER SECTION:
ssm.us-east-2.amazonaws.com. 60 IN A 52.95.21.xxx在花了几个小时找出原因之后,我发现这是由于在ssm服务中使用了一个不必要的vpc端点,所以我删除了它,现在我能够为我们东部-2区域的ssm操作得到一个适当的响应。
发布于 2022-06-03 10:31:47
将HTTPS(443)入站规则添加到与VPC端点关联的安全组中,例如,允许HTTPS(443)入站规则。
我们可以将多达5个安全组关联到VPC端点。如果从任何EC2实例运行命令,则与实例关联的安全组应该与与VPC端点关联的任何安全组相同,或者与VPC端点相关的安全组应该允许HTTPS(443)入站规则进入实例安全组。
https://stackoverflow.com/questions/67903890
复制相似问题