Я могу создать экземпляр EC2 и базу данных RDS через cdk, но не могу понять, как их подключить вне консоли aws.
При настройке соединения вручную я получаю экран с описанием изменений, в котором говорится: «Для установки соединения между базой данных и экземпляром EC2 в базу данных добавляется группа безопасности VPC xxx-xxx-x, а группа безопасности VPC xxx-xxx -x добавляется к экземпляру EC2».
Есть ли способ сделать это через cdk?
Можно ли это сделать в instanceProps
кластера баз данных?
Мой существующий код для кластера базы данных RDS выглядит примерно так:
this.dbCluster = new DatabaseCluster(this, 'MyDbCluster',{
//
instanceProps: { vpc: props.vpc, vpcSubnets: { subGroupName: 'private' } }
})
Как мне добавить группу в мой существующий код для экземпляра EC2 — в разделе vpcSubnets?
const ec2Instance = new Instance( this, 'ec2instance', {
//
vpcSubnets: {
subnetGroupName: 'private',
},
})
Вам нужно разрешить EC2 подключаться к RDS.
Вы делаете это, используя реквизит DatabaseCluster.connections
(документы).
Посмотрите примеры в документации класса Connections.
this.dbCluster.connections.allowFrom(ec2Instance, ec2.Port.tcp(5432));
Настройте порт, чтобы он соответствовал порту вашей базы данных.
А еще лучше - вообще не заморачивайтесь насчет порта и пользуйтесь
connections.allowDefaultPortFrom(ec2Instance);