我有一个工作的AWS Elastic Beanstalk实例,其中包含一个附加的RDS数据库,并希望从我的开发机器启用SSH。最好的方法是什么?具体地,
我累了eb ssh --setup
,但收到了错误
ERROR: Updating Auto Scaling launch configuration failed Reason: API: autoscaling:CreateLaunchConfiguration User: arn:aws:iam::123456789123:user/myiamusername is not authorized to perform: iam:PassRole on resource: arn:aws:iam:: 123456789123:role/aws-elasticbeanstalk-ec2-role
并且我不确定如何继续。
我想我可以向用户添加jam:PassRole
(如果我可以找出与AWS控制台模板列表中对应的策略),或者我可以添加新用户并切换到对于SSH设置和可能的访问(如果我知道如何做)或者我可以在AWS控制台上使用我的root用户来添加SSH支持(如果可能的话;但即使它是,我也不会#39 ;看看怎么样)。我不确定哪一种,如果有的话,是最好的方法;或者如何完成任何一个?
将SSH访问权限添加到现有AWS-EB实例的最佳方法是什么?
答案 0 :(得分:1)
要将ssh添加到EB实例,请首先确保您知道它当前使用的策略。
在EB web console中,转到环境,然后转到“配置”,再转到“实例”。您将在那里看到实例配置文件名称
现在转到您的IAM console并找到该角色。这是我在那里的政策,它允许我将SSH添加到环境中:
{
"Version": "2015-01-14",
"Statement": [
{
"Action": [
"autoscaling:Describe*",
"cloudwatch:*"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
答案 1 :(得分:0)
使用EB CLI执行eb ssh --setup
是最直接的方法。但它需要您具有传递角色和访问ec2安全组的权限。
为了将ssh添加到任何环境,您需要做的就是为环境分配一个ssh密钥对。如果您已经设置了ec2密钥对,则可以使用Elastic Beanstalk Web控制台进行此分配。否则,您必须先创建一个密钥对。