将AWS从一个地区迁移到其他地区(新加坡到孟买)时我应该注意什么

时间:2017-01-26 02:36:39

标签: amazon-web-services amazon-s3 amazon-rds

我们即将从AWS Singapore迁移到孟买。在这个地区迁移过程中我应该注意什么?

1 个答案:

答案 0 :(得分:5)

  1. 并非所有地区都支持某些AWS服务。例如,Lambda在孟买不可用。确保目标区域中提供所有必需的服务。

  2. 特定区域不支持许多实例类型。例如,孟买没有m3实例。这是因为现在我们应该使用m4,但没有像m4.medium这样的东西。 m4类从大开始。所以,你别无选择,只能去t2.medium。确保您所需的实例类型在目标区域中可用。

  3. 孟买没有一些MySQL RDS版本;因此你无法直接迁移它们。您需要先将RDS升级到最接近的MySQL版本。迁移RDS的最佳方法是在目标区域中创建只读副本,然后将只读副本提升为主副本。

  4. 在所有较旧的地区(例如新加坡),S3都支持签名版本2和版本2。 4但在较新的地区(例如孟买),仅支持签名版本4。当我们意识到所有AWS CLI,SDK for Java在存储桶迁移到孟买地区时开始失败时,这对我们来说是一个震撼。解决方案是升级SDK,然后在发出S3请求时指定区域。

  5. 对于我们来说,这是一个挑战,因为我们必须从AWS Java SDK 1.8迁移到1.11.11并且AWS已停止使用许多基本类,如JSONObject,JSONArray等。我们在应用程序代码库中使用这些类进行JSON操作。因此,急需大量的代码重写。

    1. 真正庞大且不断更新的S3存储桶不能只迁移到其他区域。您不能只删除此存储桶并在目标区域中创建一个新存储桶(一段时间后),因为同步可能需要很多天。我们可能会在一段时间内停机,但不会停留1-2天。
    2. 现在有两个选项:首先,如果你可以更改桶名;那么你可以没有停机时间:在目标区域创建新的桶名并开始同步。确保在原始存储桶上启用了“跨区域复制”,确保将任何新项目添加到目标存储桶。如果没有启用; aws同步可能永远无法赶上。同步完成后;您可以更改代码库并进行部署。如果您正在使用CDN;不要忘记改变原点。

      如果你不能改变桶名;会有一些停机时间(取决于铲斗的大小)。这里重复第一个选项的程序;然后删除原始存储桶 - >在一段时间后在目的地区域中创建具有相同名称的另一个桶 - >在同一目的地区域同步两个桶。这个同步会快得多,因为它在同一个区域。

      这不是一个完整的清单;我们遇到的几个痛点。