0

我想捕获 EC2 停止/终止事件。一旦事件被困住,我应该能够停止事件。停止事件只能从特定的 IP 地址完成。我想自动化工作流程。

我尝试使用 SNS 并注册一个 HTTP 端点。但无法停止停止事件。

4

4 回答 4

0

首先在您的实例上添加终止保护。那么你必须启用 cloud-trail 来记录 API 调用以查看施虐者失败的调用。您可以完全防止某些用户通过 IAM 终止实例。依赖IP不好。

于 2019-02-21T11:42:22.373 回答
0

您可以在 EC2 实例上添加终止保护。这样,您可以控制是否可以通过 CLI 或 API 删除实例。您可以添加有权调用 CLI 或 API 的 IAM 角色。

终止保护不会阻止用户从实例启动系统关闭。你可能还得看看那个。

查看文档以获取更多信息。

于 2019-02-21T11:53:30.353 回答
0

这些 API 操作没有挂钩。

也可以从实例内部停止实例(例如sudo haltsudo poweroff),在这种情况下,EC2 将停止甚至终止实例,具体取决于实例的InstanceInitiatedShutdownBehavior属性,该属性可以设置为停止(默认)或终止实例。实际上,设置了此选项以终止实例的实例也不受“终止保护”的影响,这是一个仅阻止通过 API(或控制台,也调用 API)终止的属性。

但是,EC2自动缩放确实具有生命周期挂钩,允许您在通过自动缩放对 EC2 API 进行调用之前拦截自动缩放的建议停止或终止。这听起来不太可能是您正在寻找的东西。

于 2019-02-21T21:46:27.890 回答
0

没有“陷阱”操作的能力。

相反,您应该限制有权发出停止或终止命令的人员(IAM 用户) 。

默认情况下,IAM 用户没有权限。然后他们被授予在 AWS 中执行操作的权限。如果您不希望人们使用停止命令,则不要授予他们ec2:StopInstances权限或至少将权限限制为他们可以执行命令的有限实例集。

例如,除非实例具有特定标签,否则可能会授予停止实例的权限。

于 2019-02-21T22:57:26.893 回答