如何将密钥从我的桌面导入到 cloudformation 模板?

问题描述

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

Ec2Instance1:

Type: AWS::EC2::Instance

Properties:

  InstanceType: t2.micro

  ImageId: ami-07dcc3822b6f2bdbe

  KeyName: MyKey.pem

解决方法

遗憾的是,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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...