gpt4 book ai didi

amazon-web-services - AWS 多区域 Web 应用程序

转载 作者:行者123 更新时间:2023-12-02 01:28:09 25 4
gpt4 key购买 nike

我在欧盟(爱尔兰)有一个网站(EC2、RDS、VPC、S3),我想让美国和亚洲的用户更容易访问它。

  1. 我应该在新区域创建新实例(EC2、RDS、VPC、S3)吗?或者还有其他方法吗?
  2. 如果我有更多的 EC2 实例,我应该如何为每个实例部署更新?
  3. 使 AWS 网站轻便且可从世界各个角落以低延迟访问的最佳方式是什么?

最佳答案

Should I create new instances (EC2, RDS, VPC, S3) in new regions?

如果您不考虑预算因素,那么在世界各地的每个可用区中创建实例并向它们分配地理流量将是一个很好的考虑因素。

Or there is another way how to do that?

也许从实现和可维护性以及预算方面考虑,最简单的方法是实现地理边缘缓存,如 Akamai、CloudFlare 等。

Akamai 贵得离谱,但 CloudFlare has some free and very cheap plans .

使用边缘缓存意味着可以从最近的全局边缘点向您的客户提供静态缓存内容,而无需针对区域优化您的 AWS 基础设施。

例如 - 如果您从爱尔兰请求您的主页,它可能会从爱尔兰边缘缓存位置提供,而如果我从新西兰请求它,它可能会从澳大利亚边缘缓存位置提供 - 这不是给您的 AWS 设置增加任何复杂性。

如果 CloudFlare 中不存在您页面的缓存版本(例如),它将访问您的 AWS 原始服务器以获取结果。这将导致地理性能差异,但您需要权衡这一点与在每个区域实现 EC2 实例的成本以及缓存到位后实际到达您的基础设施的命中次数减少。

If I will have more EC2 instances, how should I deploy updates for every instance?

这在很大程度上取决于您的网络应用程序的复杂性。

对于更简单的应用程序,您可以使用 Elastic Beanstalk轻松将更新部署到您的所有 EC2 实例并管理您的自动缩放。

对于更复杂的安排,您可以选择使用 CodeCommit 的组合, CodePipelineCodeDeploy实现同样的目标。

第三,您始终可以选择结合使用自定义脚本和 AWS API 调用来构建自己的部署工具。或者使用 a tool that has already been created for this purpose .

What is the best way to make AWS website light and accessible with small latency from every corner of the world?

这是一个相当广泛和复杂的问题。

我的建议是尽可能使用延迟加载,尽可能缓存所有内容,在其生命周期的一英寸内调整您的 Web 服务器配置(如果您使用的是 nginx,则使用 Varnish 之类的东西),优化尽可能多地使用所有媒体 Assets 等。

对于媒体 Assets ,您可以使用 CDN(如 S3 或 CloudFront)来处理请求,而不是将它们存储在 EC2 实例上。

到目前为止,您可以为此做的最重要的事情是放入边缘缓存(前面讨论过)。如果您这样做,您的 AWS 性能就不会那么令人担忧了。

关于amazon-web-services - AWS 多区域 Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35785867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com