[英]Create/associate ssh keypair to an ec2 instance with the CDK
我正在使用新的雲開發工具包 (CDK) 在 AWS 上使用 Java 語言構建基礎設施。
我正在使用公共子網上的堡壘主機與私有子網上的 RDS 實例進行通信,因此我通過堡壘主機上的 ssh 隧道從外部訪問數據庫(在私有子網上)。
我以這種方式創建了 BastionHost:
BastionHostLinux
.Builder
.create(scope, bastionId)
.vpc(vpc)
.instanceType(InstanceType.of(InstanceClass.BURSTABLE2, InstanceSize.SMALL))
.subnetSelection(subnetSelection)
.instanceName(bastionName)
.build();
我沒有找到任何方法來創建 ssh 密鑰對或將 ssh 密鑰對關聯到實例,所以當我嘗試連接時,aws 告訴我我沒有任何與 ec2 實例關聯的 ssh 密鑰對。
我的問題是:如何使用 CDK 將已存在的密鑰對與 ec2 實例相關聯? 或者,(最好)如何使用 CDK 創建新的密鑰對?
您可以使用addPropertyOverride
為堡壘主機設置現有密鑰。
const bastionSecurityGroup = new ec2.SecurityGroup(this, 'BastionSecurityGroup', {
vpc,
});
const bastion = new ec2.BastionHostLinux(this, 'Bastion', {
vpc,
subnetSelection: { subnetType: ec2.SubnetType.PUBLIC },
instanceName: `my-bastion`,
});
bastion.instance.instance.addPropertyOverride('KeyName', `my-bastion-key`);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.