AWS EC2:防止意外关闭实例(类似于终止保护)

AWS EC2:防止意外关闭实例(类似于终止保护)

AWS EC2 允许设置终止保护,以便用户不会意外终止实例。

我希望实现类似的保护,但针对停止操作,以避免意外关闭机器。

为什么? 我们正在转向高性能 NVMe 存储,与 EBS 卷不同,NVMe 存储无法在机器关闭后继续存在。我们显然可以设置备份和复杂的副本机制,但避免意外关闭会简单得多。

关于如何实现这一点有什么想法吗?

有趣的相关主题:https://news.ycombinator.com/item?id=18043303

答案1

创建一个策略,授予用户您希望他们拥有的权限,并且仅向管理员授予“停止”权限。

通常,您会创建一个“用户”组,然后将类似下面的策略与该组关联。请注意,“notaction”表示“允许除此以外的所有操作”。此策略允许用户访问 AWS 中除停止/终止操作之外的所有内容。您可能希望排除 AWS 中的其他服务和其他一些 API 调用。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Resource": "*",
            "Effect": "Allow",
            "NotAction": [
                "ec2:Stop*",
                "ec2:Terminate*"
            ],
            "Sid": "BlacklistedAPICallsUser"
        }
    ]
}

您还可以执行诸如防止标签被更改之类的操作,并设置仅允许用户停止没有单独标签的实例的条件,但您必须了解 IAM 并自行执行此操作,或者在线查找示例。

备份/复制

如果临时卷上的数据很重要,您应该将其备份到 EBS / EFS / S3 或将其镜像到另一个实例。硬件发生故障,实例可能需要维护,虽然这种情况并不经常发生,但您需要为此做好准备。

相关内容