如何通过AWS CLI移除SageMaker域的KernelGatewayAppSettings避免Terraform重建
解决方法
- 先获取目标SageMaker域的当前完整配置,重点确认
DefaultUserSettings下的原有属性(比如执行角色、安全组等Terraform原本管理的内容):aws sagemaker describe-domain --domain-id <你的域ID> - 编写更新配置的JSON文件(比如
update-domain-settings.json),保留所有Terraform管理的DefaultUserSettings属性,仅将KernelGatewayAppSettings设为null:{ "DomainId": "<你的域ID>", "DefaultUserSettings": { "ExecutionRole": "arn:aws:iam::123456789012:role/原执行角色ARN", "SecurityGroups": ["sg-原安全组ID"], // 保留其他所有原有属性,仅添加这一行 "KernelGatewayAppSettings": null } } - 执行CLI命令更新域配置:
aws sagemaker update-domain --cli-input-json file://update-domain-settings.json - 验证结果:再次执行
describe-domain命令,确认DefaultUserSettings下已无KernelGatewayAppSettings键,之后运行terraform plan就不会触发域重建了。
注意:直接设空对象无法移除该键,因为AWS API会将空对象识别为“设置空配置”而非“删除属性”,只有设为
null才会触发属性移除操作,同时必须保留所有Terraform原管理的属性,避免破坏现有配置。
内容的提问来源于stack exchange,提问作者palotasb
相关产品推荐
相关产品推荐

