在OpsWorks层中创建实例之后,无法启动OpsWorks实例,该层是OpsWorks堆栈的一部分。在尝试启动24/7实例后,会遇到以下错误:
启动实例java-app1 OpsWorks时出错,无法获得代表您启动实例所需的凭据。请等一分钟再试一次。如果此错误仍然存在,请检查堆栈IAM角色的权限。
错误指示我没有为我的Stack的IAM角色正确设置权限。我已经创建了一个OpsWorks堆栈,它包含对角色ARN的引用,该角色ARN的AWSOpsWorksFullAccess和AWSOpsWorksRole策略被设置为角色的权限。我认为这两项政策中的一项就足够了。
我可以在这个堆栈中创建一个OpsWorks层,也可以创建一个OpsWorks实例。创建的实例使用堆栈的DefaultInstanceProfileArn。在我的例子中,该ARN引用了一个包含以下策略的角色: AmazonEC2FullAccess AWSOpsWorksFullAccess AWSOpsWorksRole AmazonS3FullAccess
我知道我所应用的策略非常广泛,但此时我只是尝试启动一个OpsWorks实例。为了使OpsWorks具有启动我的堆栈中的实例的正确权限,需要应用什么策略?
发布于 2019-06-06 20:59:43
这有点晚了:-)
我最近遇到了这个问题。附加的角色是: AmazonEC2FullAccess AWSOpsWorksFullAccess AWSOpsWorksCMServiceRole
这给我创建,启动,停止和删除。
发布于 2022-02-09 18:43:49
这让我最困惑。经过这个坐骑会带来很多景象。
打开堆栈设置,您将找到当前的IAM角色。

按照下面的文档附上内联策略。
https://docs.aws.amazon.com/opsworks/latest/userguide/opsworks-security-servicerole.html
如果创建自定义服务角色,则必须确保它授予AWS OpsWorks堆栈管理堆栈所需的所有权限。下面的JSON示例是标准服务角色的策略语句;自定义服务角色应该在其策略语句中至少包含以下权限。
{
"Version": "2008-10-17",
"Statement": [
{
"Action": [
"ec2:*",
"iam:PassRole",
"cloudwatch:GetMetricStatistics",
"cloudwatch:DescribeAlarms",
"ecs:*",
"elasticloadbalancing:*",
"rds:*"
],
"Effect": "Allow",
"Resource": [
"*"
],
"Condition": {
"StringEquals": {
"iam:PassedToService": "ec2.amazonaws.com"
}
}
}
]
}发布于 2022-09-11 14:10:32
有点晚了,但是如果您只是尝试opsworks,最简单的解决方法是使用EC2完全访问创建一个服务角色。这将允许创建堆栈。
https://stackoverflow.com/questions/33817389
复制相似问题