我想使用作为 CloudFormation 的一部分创建的密钥对来启动我的堆栈。
那可能吗?
....
"Resources": {
"ReverseProxyKeyPair": {
"Type": "AWS::EC2::KeyPair",
"Properties": {
"KeyName": "reverse_proxy"
}
},
....
只是猜测,但并没有奏效。我还没有找到 CloudFormation 的架构来说明这是不可能的。
大多数示例都假设密钥对已创建 - 我之所以假设,是因为在创建时只有一次下载机会。但我想动态创建一个密钥对,然后将其用作输出并将其转储到 S3(比如说)。
或者说,这是一个愚蠢的想法?
答案1
根据文档,现在可以使用 cloudformation 创建密钥对:
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-keypair.html
要创建新的密钥对,请省略 PublicKeyMaterial 属性。
当您创建新的密钥对时,私钥将保存到 AWS Systems Manager 参数存储中,使用以下名称的参数:/ec2/keypair/{key_pair_id}。有关检索私钥和所需权限的更多信息,请参阅 Amazon EC2 用户指南中的使用 AWS CloudFormation 创建密钥对。
答案2
这是 CloudFormation 支持的所有资源类型的列表;未列出密钥对: