Eu estou usando o novo Development Toolkit Cloud (CDK) para construir uma infra-estrutura na AWS usando linguagem Java.
Eu estou usando um Bastion host em uma sub-rede pública para se comunicar com uma instância RDS em uma sub-rede privada, então eu chegar ao banco de dados (na sub-rede privada) externamente através de um tunelamento ssh no Bastion host.
Eu criei as BastionHost desta forma:
BastionHostLinux
.Builder
.create(scope, bastionId)
.vpc(vpc)
.instanceType(InstanceType.of(InstanceClass.BURSTABLE2, InstanceSize.SMALL))
.subnetSelection(subnetSelection)
.instanceName(bastionName)
.build();
Eu não encontrar qualquer método para criar ou par de chaves SSH associado à instância, então quando eu tento ligar, aws me dizer que eu não tenho nenhum par de chaves SSH associado à instância EC2.
A minha pergunta é: Como posso associar um par de chaves já existente com uma instância EC2 usando o CDK? Ou, (seria melhor) como posso criar um par de chaves fresco usando o CDK?
Como posso associar um par de chaves já existente com uma instância EC2 usando o CDK?
Não existe uma chave ssh na instância bastião, se você quiser ssh a ele você deve usar aws ec2-instance-connect
, veja exemplo da AWS CDK documentação. E aqui está um post que explica em mais detalhes instance-connect
.