当我通过cloudformation模板将secret_key和access_key传递到USER DATA部分中的ec2实例时,会发生什么,这与没有实例创建实例有何不同。
所以我正在尝试使用以下模板,它可以很好地创建资源。但是我无法使用在ec2实例中创建的用户登录。我知道我一定在这里犯了一些错误。
"Resources":{
"myuser" : {
"Type" : "AWS::IAM::User",
"Properties" : {
"UserName":"naxi143",
"Path" : "/",
"LoginProfile" : {
"Password" : "143@Naxi143"
}
}
},
"myaccesskey" : {
"Type" : "AWS::IAM::AccessKey",
"Properties" : {
"UserName" : { "Ref" : "myuser" }
}
},
"WebServerGroup" : {
"Type" : "AWS::AutoScaling::AutoScalingGroup",
"Properties" : {
"VPCZoneIdentifier" : { "Ref" : "Subnets" },
"LaunchConfigurationName" : { "Ref" : "LaunchConfig" },
"MinSize" : "1",
"MaxSize" : "1"
}
},
"LaunchConfig" : {
"Type" : "AWS::AutoScaling::LaunchConfiguration",
"Properties" : {
"ImageId" :"ami-40142d25",
"SecurityGroups" : { "Ref" : "WebServerSecurityGroup" },
"InstanceType" : { "Ref" : "InstanceType" }, "UserData" : {
"Fn::Base64" : {
"Fn::Join" : [
"", [
"ACCESS_KEY=", {
"Ref" : "myaccesskey"
},
"&",
"SECRET_KEY=",
{
"Fn::GetAtt" : [
"myaccesskey",
"SecretAccessKey"
]
}
]
]
}
}
}
}
}
答案 0 :(得分:1)
IAM用户用于访问AWS控制台,访问密钥用于访问API。要通过SSH进入实例(或Windows的RDP),您需要创建ssh密钥对(在Ec2控制台中),然后可以将此密钥附加到实例。
可以以两种方式使用用户数据。第一种在我的经验中比较常见
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html