Sha*_*ner 7 ssh amazon-ec2 amazon-cloudformation
之前我已经基于镜像创建了一个 EC2 实例。在创建过程中,亚马逊向导创建了一个密钥对,然后将其提供给我,以便我可以连接。
现在我尝试使用 CloudFormation,以便我的新服务器安装了一些基本软件(LAMP 堆栈)。但是我最终得到的 EC2 实例没有我可以找到的 ssh 密钥对。
在 CloudFormation 上创建堆栈时,是否可以关联密钥对?
我已经读到有一些方法可以通过停止实例、创建克隆以及其他一些步骤来将密钥添加到实例的卷中。但是我在这方面的管理技能并不那么强,所以我希望(对我来说)更简单。
希望这是有道理的 - 非常感谢任何帮助!
在 CloudFormation 上创建堆栈时,是否可以关联密钥对?
当然,它确实通过在此过程中关联您的现有密钥对而起作用;在AWS CloudFormation示例模板配备相应的片段,例如,在简单的EC2实例例如包含你正在寻找的片段:
"Parameters" : {
"KeyName" : {
"Description" : "Name of an existing EC2 KeyPair to enable SSH access to the instance",
"Type" : "String"
}
},
[...]
"Resources" : {
"Ec2Instance" : {
"Type" : "AWS::EC2::Instance",
"Properties" : {
"KeyName" : { "Ref" : "KeyName" },
"ImageId" : { "Fn::FindInMap" : [ "RegionMap", { "Ref" : "AWS::Region" }, "AMI" ]},
"UserData" : { "Fn::Base64" : "80" }
}
}
},
Run Code Online (Sandbox Code Playgroud)
此片段允许将所需的密钥对名称作为参数传递,或者您可以直接嵌入名称或仅提供默认名称。
祝你好运!
小智 6
AWS CloudFormation 参数还可以为您提供您的账户和区域中可用的所有密钥的列表。只需将参数的“类型”更改为所需的 AWS 类型即可。在这种情况下,这将是“AWS::EC2::KeyPair::KeyName”。
对于“CloudFormation 参数类型”,上面的示例将是:
"Parameters" : {
"KeyName" : {
"Description" : "EC2 KeyPair to enable SSH access to the instance",
"Type" : "AWS::EC2::KeyPair::KeyName"
},
},
[...]
"Resources" : {
"Ec2Instance" : {
"Type" : "AWS::EC2::Instance",
"Properties" : {
"KeyName" : { "Ref" : "KeyName" },
"ImageId" : { "Fn::FindInMap" : [ "RegionMap", { "Ref" : "AWS::Region" }, "AMI" ]},
"UserData" : { "Fn::Base64" : "80" }
}
}
},
Run Code Online (Sandbox Code Playgroud)
我希望这有帮助。
归档时间: |
|
查看次数: |
11863 次 |
最近记录: |