Terraform自动化突发报错求助:AWS AMI查询无结果
解决Terraform data "aws_ami" "panw"查询无结果的问题
报错信息
Error: Your query returned no results. Please change your search criteria and try again.
报错位置:main.tf第144行的data "aws_ami" "panw"块
排查与解决方向
检查AWS权限与区域配置
- 确认CodeBuild使用的IAM角色是否保留
ec2:DescribeImages权限,避免权限被意外撤销或更新 - 验证数据源指定的AWS区域是否正确,部分区域可能没有Palo Alto AMI发布,或CodeBuild环境的区域变量被误修改
- 用AWS CLI手动验证目标区域的AMI存在性:
aws ec2 describe-images --owners paloaltonetworks --filters "Name=name,Values=panos-*"(替换为你的目标区域)
- 确认CodeBuild使用的IAM角色是否保留
调整AMI查询过滤条件
- 检查
data "aws_ami" "panw"中的过滤规则,比如固定版本号的条件可能因Palo Alto移除旧AMI而失效,可改为版本前缀匹配(如panos-10.*) - 移除不必要的严格过滤条件,比如多余的
virtualization-type或architecture限制,除非业务强制要求
- 检查
核对CodeBuild环境配置
- 确认CodeBuild使用的AWS凭证是否关联正确账户,避免因账户切换导致无权限查询目标区域AMI
- 检查CodeBuild环境中的
AWS_DEFAULT_REGION等变量是否与之前一致,防止区域配置被意外篡改
确认Palo Alto AMI发布变化
- Palo Alto可能更新了AMI命名规则或停止旧版本发布,可查看AWS Marketplace或官方文档确认当前可用的AMI格式,调整过滤条件匹配新规则
内容的提问来源于stack exchange,提问作者Dalal Alghomlas
相关产品推荐
相关产品推荐

