我有一个terraform脚本,在terraform apply
之后成功启动AWS spot实例,然后运行bash脚本。在脚本完成运行并且创建完成后,我一直在用terraform destroy
手动销毁点实例。这很不方便,因为我要么必须查看我的电子邮件以获取CloudWatch警报,要么定期检查脚本的进度。理想情况下,我可以自动销毁我自动创建的AWS资源。有谁知道我应该怎么做呢?我使用错误的AWS资源,即我应该使用ECS吗?
答案 0 :(得分:2)
我找到的解决方案是创建一个空资源,然后在运行我的脚本后包含以下配置程序。
parent = {
data: 'abcdef',
children: {
'child1' : {
data: 'ghijkl',
children: {
'child1a' : {
data: 'data for child1a',
children: {}
}
}
},
'child2' : {
data: 'mnopqr',
children: {}
}
}
};
function deleteNode(node, child) {
if(node[child]) {
delete node[child];
return;
}
var children = Object.keys(node);
for(var i = 0; i < children.length; i++) {
return deleteNode(node[children[i]].children, child);
}
}
deleteNode(parent.children, 'child1a')
答案 1 :(得分:0)
您可以创建一个lambda函数,然后使用lambda调用shell脚本。
您可以在cloudwatch的帮助下安排它,在完成时终止并可以对其进行监控。