如何通过模糊匹配名称查找Security Group并关联Lambda?
问题
我需要将名称以Db-Sec-Group开头、末尾带随机后缀(比如Db-Sec-Group123456)的安全组关联到Lambda函数。这些安全组由流水线基于栈名自动生成,ID和名称一致,但后缀会变化,所以得实现动态模糊匹配。
我试过用以下代码关联,但部署时找不到目标安全组:
const DbSecGroup = SecurityGroup.fromLookupByName(this, 'Db-Sec-Group', 'Db-Sec-Group', vpc);
我知道类似SQL里的LIKE语句可以实现模糊匹配,但刚接触CDK和编程,找不到合适的实现方式,求帮助。
替代解决方案
因为我的需求是让该安全组允许Lambda连接数据库,结合项目结构,我在DB栈中新建了安全组并导出到目标栈,以此实现数据库连接。代码如下:
Database Stack
this.exportValue(lambdaSG.securityGroupId.toString(), { name: '${environmentWithUpperCase}LSGid' });
Lambda Stack
const lambdaSGId = Fn.importValue(`${environmentWithUpperCase}LSGid`); const lambdaSG = SecurityGroup.fromSecurityGroupId( this, lambdaSGId, lambdaSGId, );
内容的提问来源于stack exchange,提问作者Nelson
相关产品推荐
相关产品推荐

