如何在正在运行的、未包含在 VPC 中的 ec2 实例上添加/删除安全组?

如何在正在运行的、未包含在 VPC 中的 ec2 实例上添加/删除安全组?

我想更改正在运行的 EC2 实例上的安全组,该实例未包含在 VPC 中。我了解到只有当我的实例在 VPC 中运行时才有可能。

我尝试创建一个 VPC,并通过创建新的网络接口将我正在运行的实例包含在活动 VPC 中,但这也是不可能实现的。

您对如何在正在运行的 ec2 实例上添加/删除安全组有什么想法吗?

答案1

在 EC2-Classic 中启动实例后,您无法更改其安全组。这不适用于 VPC(Amazon EC2 安全组)。

您可以尝试从当前实例创建 AMI,然后使用适当的安全组启动新实例。

答案2

如果不允许停机,您可以通过制作映像来克隆服务器实例,然后使用正确的安全组重新启动该映像。

然后,您可以创建一个 ElasticLoadBalancer,将原始服务器和克隆服务器都置于 ELB 后面,将 DNS(具有非常低的 TTL)从原始服务器切换到 ELB 端点,然后等待负载分布在两者之间。

然后,您将使用连接耗尽将原始服务器从 ELB 中删除,并撤消 DNS 更改,以便它现在指向新服务器的 IP 地址。

然后,您可以停止/终止旧服务器,并将新服务器留在正确的安全组中。

当然,此解决方案不适用于运行可写数据库的服务器,但如果您在 EC2 Classic 中的单个服务器实例上拥有可写数据库,那么您就会遇到其他问题。

相关内容