AWS CloudFormation 是否可以创建 KeyPair 以供随后启动实例时使用?

AWS CloudFormation 是否可以创建 KeyPair 以供随后启动实例时使用?

我想使用作为 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 创建密钥对。

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html#create-key-pair-cloudformation

答案2

这是 CloudFormation 支持的所有资源类型的列表;未列出密钥对:

http://docs.amazonwebservices.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html

相关内容