将现有密钥对用于 CDK 中的新 ec2 实例

Use existing keypair for a new ec2 instance in CDK

我想在使用 CDK 创建我的 ec2 实例时使用现有的密钥对,但我找不到关于如何完成的任何明确参考。我知道这是一个 InstanceProps。

我在此站点上看到的唯一项目是关于堡垒主机的。这不是我想要达到的目标。

这是我得到的错误....

如何添加对键名的引用:mykey

感谢您的帮助!!

import ec2 = require('@aws-cdk/aws-ec2');



export class Ec2Stack extends cdk.Stack {
  constructor(scope: cdk.App, id: string, props?: cdk.StackProps) {
    super(scope, id, props) ;

// Look up VPC to use
const vpc = ec2.Vpc.fromLookup(this, 'vpc-0407979789789', {
  vpcName: 'vpc-my-test'
});
// Lookup Existing  SecurityGroup
const sg = ec2.SecurityGroup.fromSecurityGroupId(this, 'default', 'sg-06fea98uu9')

const instance = new ec2.Instance(this, 'Instance', {
  vpc: vpc,
  securityGroup: sg,
  KeyName: mykey,

  instanceType: new ec2.InstanceType('t2.micro'),
  machineImage: new ec2.GenericLinuxImage({
    'us-west-2': 'ami-0e8c04af2729ff1bb'
  }),

});

  }
}

CDK/CFn 不支持 EC2 密钥对。无法创建 nor import/reference。需要硬编码密钥对名称。