执行Terraform Apply时删除AWS MSK配置失败,如何解决?
解决MSK配置删除报错(被集群关联)的方法
第一步:定位关联该配置的MSK集群
先确认哪些集群在使用目标MSK配置,可通过AWS CLI或控制台操作:
AWS CLI查询方式
执行以下命令(替换配置ARN为报错信息中的ARN):
aws kafka list-clusters --region us-east-2 --query 'ClusterInfoList[?CurrentBrokerSoftwareInfo.ConfigurationArn==`arn:aws:kafka:us-east-2:XXXXXX:XXXXXX`].ClusterName'
命令会返回所有关联该配置的集群名称。
AWS控制台查询方式
- 打开MSK控制台,进入Configurations页面
- 找到你的
mskconfig配置,点击进入详情页 - 在页面下方的Associated clusters区域查看所有关联集群
第二步:解除配置与集群的关联
找到关联集群后,将集群配置切换为默认配置或其他可用配置:
AWS CLI更新集群配置
执行以下命令(替换集群名称、区域,配置ARN填写默认配置或新配置的ARN):
aws kafka update-cluster-configuration --cluster-name <你的集群名称> --region us-east-2 --configuration-info '{"Arn": "arn:aws:kafka:us-east-2:XXXXXX:configuration/default-config/xxxxxx", "Revision": 1}'
提示:默认配置的ARN可通过
aws kafka list-configurations --region us-east-2查询,找到名称为default-config的配置ARN及对应Revision值。
AWS控制台更新集群配置
- 打开MSK控制台,进入Clusters页面,选中目标集群
- 点击Actions -> Update configuration
- 在弹窗中选择Default configuration或其他替换配置,点击Update
第三步:等待集群配置更新完成
集群配置更新需要时间,可通过CLI或控制台查看状态,直到集群状态变为ACTIVE:
aws kafka describe-cluster --cluster-name <你的集群名称> --region us-east-2 --query 'ClusterInfo.State'
第四步:重新执行Terraform操作
待所有关联集群完成配置更新后,再次运行terraform apply即可正常删除目标MSK配置。
若无需删除该配置,也可调整Terraform代码保留aws_msk_configuration资源,避免触发删除操作。
内容的提问来源于stack exchange,提问作者Thilina Ashen Gamage
相关产品推荐
相关产品推荐

