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

Alp*_*aaa 1 amazon-ec2 amazon-web-services

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

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

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

关于如何实现这一目标的任何想法?

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

Tim*_*Tim 5

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

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

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Resource": "*",
            "Effect": "Allow",
            "NotAction": [
                "ec2:Stop*",
                "ec2:Terminate*"
            ],
            "Sid": "BlacklistedAPICallsUser"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

你也可以做一些事情,比如防止标签被更改,并设置一个条件,只允许用户停止没有单独标签的实例,但你必须了解 IAM 并自己做,或者在网上找到一个例子。

备份/复制

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