【问题标题】:Aws serverless - cost of switching regionAws 无服务器 - 切换区域的成本
【发布时间】:2020-10-22 22:18:54
【问题描述】:

我目前正在开发 aws 无服务器后端(cognito、lambda、api Gateway、dynamodb、s3)。
。 发现之前选错地区了。

问题:
1.在AWS开发中使用不同区域有什么不同吗?
2.开发过程中更改区域成本高(重新创建db/lambda函数/api网关)
3.使用我现在使用的相同无服务器设置/配置切换到另一个区域的正确方法是什么?

【问题讨论】:

  • 您在考虑哪些潜在的“高成本”?您是否需要跨区域移动 S3 中的 PB 数据或 DynamoDB 中的 TB 数据?你说你现在处于开发阶段。这不仅仅是简单地删除您的 region1 无服务器部署和资产,然后将您的部署指向 region2 并重新部署吗?

标签: amazon-web-services


【解决方案1】:

1。成本和延迟会有所不同。

AWS 中的一些服务在不同地区有不同的成本。默认情况下,某些服务是全局的(所有区域) - 例如 S3。 this blog post上有一些有用的图表,包括下图按地区划分的数据传出成本差异:

如果您的客户在区域 A 并且请求区域 B 中的服务,那么响应时间会稍微长一些。它通常不足以引起关注。不过,在服务和客户之间使用 CloudFront 会减少速度下降 - 在许多情况下可以提供更快的服务,因此即使客户和服务位于同一区域,也值得这样做。

2。这取决于

如果您手动创建这些服务,那么您将不得不再次在控制台中为新区域花费时间。时间就是金钱,你可能会在设置上犯错误——你只是人类。

如果您在代码中创建这些服务 - 使用 CloudFormation(或 AWS CDK、serverless.com、terraform 或许多其他实现基础设施即代码的方式),那么它不会花费任何成本。您将有一个命令(可能有几个)可以在任何区域重现您的基础架构。

然后,您需要迁移数据。这是不可避免的代价。如果您已经在区域 A 中运行过任何时间,然后移动到区域 B,您将需要传输数据。这需要一个脚本来从发电机中取出数据并将其放入新的。

3。使用基础架构即代码,随时为数据迁移做好准备

看看 AWS CDK。它允许您使用 Java、Python 或 JavaScript 定义您的服务,并且有一些不错的教程。 https://cdkworkshop.com/

在编写代码时,构建脚本以从 dynamo 中提取数据。即使您不转移到不同的区域,这也很有用 - 也许您想在 staging/dev 环境中运行副本。

4。新服务不会在所有地区同时发布

如果您使用的是全新服务或现有服务的新功能,则可能尚未在每个地区推出。选择支持所有所需服务和功能的区域。例如,AWS 在this Dec 2019 announcement 中关于 Transit Gateway 的区域间对等互连,它说此功能已发布到“美国东部(弗吉尼亚北部)、美国东部(俄亥俄)、美国西部(俄勒冈)、欧洲(爱尔兰)和欧盟(法兰克福)AWS 区域”等即将推出。

【讨论】:

    猜你喜欢
    • 2018-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-01
    • 1970-01-01
    • 2013-12-02
    • 1970-01-01
    相关资源
    最近更新 更多