【问题标题】:How can I import a key from my desktop to the cloudformation template?如何将密钥从我的桌面导入到 cloudformation 模板?
【发布时间】:2021-05-20 18:51:24
【问题描述】:

对使用 cloudformation 非常陌生,并且无法弄清楚将密钥导入实例创建的语法。抱歉,如果此帖子的格式已关闭。假设我有一个名为 MyKey.pem 的密钥保存在我的桌面上。我将如何导入密钥并将其应用于我在模板中创建的实例?此外,如果有人还可以告诉我在模板中实际生成新密钥的过程并应用它,我也会很感激。这是我用来创建实例的代码。

Ec2Instance1:

Type: AWS::EC2::Instance

Properties:

  InstanceType: t2.micro

  ImageId: ami-07dcc3822b6f2bdbe

  KeyName: MyKey.pem

【问题讨论】:

    标签: amazon-web-services amazon-ec2 yaml amazon-cloudformation key-pair


    【解决方案1】:

    遗憾的是,在 CloudFormation (CFN) 中没有直接的方法可以做到这一点。最简单的方法是使用 AWS 控制台或 CLI 导入密钥,然后在模板中按名称引用它。

    但是,如果您真的想通过 (CFN) 进行操作,则必须使用 custom resource。该资源将采用 lambda 函数的形式,该函数将使用 AWS SDK 来创建密钥。私钥可能来自 SSM 参数存储,例如您将在其中上传您的密钥或 AWS::SecretsManager::Secret

    更新 例如,如果您的密钥对名为 MyKeyPair,那么在 CFN 中您将使用:

      MyEC2Instance: 
        Type: AWS::EC2::Instance
        Properties: 
          ImageId: "ami-79fd7eee"
          KeyName: MyKeyPair
    

    【讨论】:

    • 那很不幸。您能否向我解释一下如何使用控制台导入的语法?然后一旦导入,我将如何在模板中引用它?
    • @edifarnecio 导入过程在docs 中进行了说明。然后在 CloudFormation 中,您可以使用您在控制台中创建的密钥的名称来引用它。
    • @edifarnecio 我用示例更新了答案。
    猜你喜欢
    • 1970-01-01
    • 2020-07-10
    • 1970-01-01
    • 2017-05-20
    • 2016-08-15
    • 1970-01-01
    • 2021-07-26
    • 2019-11-10
    • 2021-08-30
    相关资源
    最近更新 更多