创建新实例时如何保护来自 Amazon EC2 实例的数据?

How to protect the data from Amazon EC2 instance when new instance is created?

我们在 EC2 和 RDS 实例方面面临两个问题:

  1. 当现有 EC2 实例终止并自动创建新的 EC2 实例时,我们正在丢失现有数据。一旦我们创建了 Elastic Beanstalk 并上传了我们的应用程序文件,它就会创建一个 EC2 实例并运行。接下来,如果我们将任何文件上传到现有的 EC2 实例,如果它继续运行 down/terminated,则会创建一个新实例并丢失旧 EC2 实例中的数据。

  2. 如果我们将EC2实例的ip地址添加到RDS入站安全组中,限制其他人从其他ip访问RDS实例,当旧的EC2实例终止时,我们将面临访问RDS的问题并创建新的 EC2 实例或根据负载创建任何其他新的 ec2 实例。

针对上述问题,请提出一些解决方案。

您存储在 EC2 中的任何数据都将丢失 if/when 实例已终止。您需要设计您的解决方案,使其不依赖于临时子系统。

具体如何,将取决于您在做什么,但是例如,如果您托管 Web 服务器并且用户可以上传图像,最好将它们存储在 S3 上而不是直接存储在 EC2 实例中。数据应该存储在数据库中,而不是 EC2 实例中,因此在 RDS 实例或 DynamoDB 中,这两者都将在 EC2 终止和重新启动后继续存在。

对于访问问题,您创建一个安全组(例如将其命名为 sg-1234),然后在启动时使用该安全组创建每个新实例。

同时创建一个 RDS 安全组(例如调用 db-1234)并在 DB-1234 安全组中创建一个允许 Sg-1234 作为源的规则。