多个 ec2 实例应该共享一个 EFS 还是应该在启动时将代码下载到实例?
Should multiple ec2 instances share an EFS or should code be downloaded to instance on spin-up?
我正在考虑为我的网站建立一个 Auto Scaling Group 以接收大量流量。我需要每个服务器都是 运行 相同的网络服务,因此我想出了几个想法来实现这一点。
思路一:使用代码提交+用户数据
我会将我的网络服务器代码保存在 CodeCommit 的 git 存储库中。然后,当我的 EC2 实例启动时,它们将安装 apache2,然后从 git 存储库中提取。
思路二:使用弹性文件系统
服务器启动后,它将挂载到一个中央 EFS,上面有我的网络服务器代码。 EC2 将安装 apache2,然后使用 EFS 获取正确的 php 文件等
思路三:使用AWS S3
与上面的 apache2 类似,但随后从 s3 下载网络服务器代码。
建议选择哪个选项?为什么?
我建议你有一台用于创建图像的参考机。用最新版本的代码更新它,当您对它感到满意时,用它创建一个图像,更新您的启动配置,并更改 ASG 配置以便它使用它。然后您可以停止参考机并将作业留给 ASG 实例。
我正在考虑为我的网站建立一个 Auto Scaling Group 以接收大量流量。我需要每个服务器都是 运行 相同的网络服务,因此我想出了几个想法来实现这一点。
思路一:使用代码提交+用户数据
我会将我的网络服务器代码保存在 CodeCommit 的 git 存储库中。然后,当我的 EC2 实例启动时,它们将安装 apache2,然后从 git 存储库中提取。
思路二:使用弹性文件系统
服务器启动后,它将挂载到一个中央 EFS,上面有我的网络服务器代码。 EC2 将安装 apache2,然后使用 EFS 获取正确的 php 文件等
思路三:使用AWS S3
与上面的 apache2 类似,但随后从 s3 下载网络服务器代码。
建议选择哪个选项?为什么?
我建议你有一台用于创建图像的参考机。用最新版本的代码更新它,当您对它感到满意时,用它创建一个图像,更新您的启动配置,并更改 ASG 配置以便它使用它。然后您可以停止参考机并将作业留给 ASG 实例。