You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用CDK查找EC2部署用私有AMI时遇查询无结果问题

解决CDK查找私有AMI无结果的问题

你遇到的问题可以从以下几个方向排查和修复:

1. 移除多余的is-public过滤器

当你在lookup中指定了owners为你的账号ID时,AWS CDK的AMI查找逻辑会默认只返回该账号下的镜像,私有AMI本身就属于该账号,添加"is-public": ["false"]过滤器反而可能因匹配逻辑冲突导致无结果。直接移除该过滤器尝试:

const myAMI = ec2.MachineImage.lookup({
  name: "some-name-*",
  owners: ["1234"]
});

2. 验证通配符与AMI名称的匹配度

确认"some-name-*"的通配符是否完全匹配目标AMI的名称。比如若AMI名称是prod-some-name-202405,some-name-*就无法匹配;如果是some-name-prod-202405则可以匹配。可以尝试用更精确的通配符,或者直接用完整名称(去掉通配符)测试是否能找到。

3. 检查CDK执行的Region是否正确

确保CDK部署时使用的Region和目标AMI所在的Region一致。如果默认Region与AMI所在Region不同,需要在CDK中显式指定Region,或执行CDK命令时通过--region参数指定。

4. 确认执行CDK的权限

执行CDK的账号需要拥有ec2:DescribeImages权限,否则即使AMI存在,也会返回空结果。检查对应IAM策略是否包含该权限。

5. 验证过滤器格式(若必须保留)

如果一定要使用is-public过滤器,确认参数值格式符合AWS API要求:describeImages API中is-public的有效值为字符串"true"或"false",你的写法本身正确,但结合owners参数时可能存在逻辑冲突,建议优先移除。


内容的提问来源于stack exchange,提问作者MA206

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 03:34:58