创建蓝绿部署 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

创建蓝绿部署

创建蓝绿部署时,您需要指定要在部署中复制的数据库实例。您选择的数据库实例是生产数据库实例,它将成为蓝色环境中的主数据库实例。此数据库实例复制到绿色环境,RDS 配置从蓝色环境中的数据库实例到绿色环境中的数据库实例的复制。

RDS 将蓝色环境的拓扑及其配置的功能复制到暂存区域。当蓝色数据库实例具有只读副本时,只读副本将作为部署中绿色数据库实例的只读副本进行复制。如果蓝色数据库实例为多可用区数据库实例部署,则绿色数据库实例将创建为多可用区数据库实例部署。

在绿色环境中进行更改

创建蓝绿部署时,可以在绿色环境中对数据库实例进行以下更改:

  • 如果要测试数据库引擎升级,可以指定更高的引擎版本。

  • 您可以指定与数据库实例在蓝色环境中使用的数据库参数组不同的数据库参数组。您可以测试参数更改如何影响绿色环境中的数据库实例,或者在升级时为新的主要数据库引擎版本指定参数组。

    如果您指定不同的数据库参数组,则指定的数据库参数组将与绿色环境中的所有数据库实例相关联。如果您未指定不同的参数组,则绿色环境中的每个数据库实例都与其所对应的蓝色数据库实例的参数组相关联。

部署后,您可以在绿色环境中对数据库实例进行其他修改。例如,您可以对数据库进行模式更改,或者更改绿色环境中一个或多个数据库实例使用的数据库实例类。

有关修改数据库实例的信息,请参阅修改 Amazon RDS 数据库实例

创建蓝绿部署时处理延迟加载

当您创建蓝绿部署时,Amazon RDS 通过从数据库快照还原在绿色环境中创建主数据库实例。创建此部署后,绿色数据库实例继续在后台加载数据,这称为延迟加载。如果数据库实例有只读副本,则这些副本也是从数据库快照创建的,并且会延迟加载。

如果您的访问数据尚未加载,数据库实例会立即从 Amazon S3 下载请求的数据,然后在后台继续加载数据的剩余部分。有关更多信息,请参阅 Amazon EBS 快照

为了帮助减轻延迟加载对需要快速访问的表的影响,您可以执行涉及全表扫描的操作,例如 SELECT *。此操作使 Amazon RDS 可以从 S3 下载所有备份表数据。

如果应用程序尝试访问未加载的数据,则在加载数据时,应用程序可能会遇到比正常情况更高的延迟。延迟加载导致的更高延迟可能会导致延迟敏感型工作负载的性能不佳。

重要

如果您在数据加载完成之前切换蓝绿部署,则您的应用程序可能会由于高延迟而遇到性能问题。

创建蓝绿部署

您可以使用 Amazon Web Services Management Console、Amazon CLI 或 RDS API 创建蓝绿部署。

创建蓝绿部署
  1. 登录 Amazon Web Services Management Console 并通过以下网址打开 Amazon RDS 控制台:https://console.aws.amazon.com/rds/

  2. 在导航窗格中,选择 Databases(数据库),然后选择要复制到绿色环境的数据库实例

  3. 对于 Actions(操作),选择 Create Blue/Green Deployment(创建蓝绿部署)。

    将出现 Create Blue/Green Deployment(创建蓝绿部署)页面。

    
                  创建蓝绿部署
  4. Create Blue/Green Deployment(创建蓝绿部署)页面上,查看蓝色的数据库标识符。确保它们与您在蓝色环境中预期的数据库实例相匹配。如果不符合预期,请选择 Cancel(取消)。

  5. 对于 Blue/Green Deployment identifier(蓝绿部署标识符),输入蓝绿部署的名称。

  6. (可选)对于 Blue/Green Deployment settings(蓝绿部署设置),指定绿色环境的设置:

    • 如果要测试数据库引擎版本升级,请选择数据库引擎版本。

    • 选择要与绿色环境中的数据库实例相关联的数据库参数组。

    部署后,可以在绿色环境中对数据库进行其他修改。

  7. 选择 Create Blue/Green Deployment(创建蓝绿部署)。

要使用 Amazon CLI 创建蓝绿部署,请使用带有以下选项的 create-blue-green-deployment 命令:

  • --blue-green-deployment-name – 指定蓝绿部署的名称。

  • --source – 指定要复制的数据库实例的 ARN。

  • --target-engine-version – 如果要在绿色环境中测试数据库引擎版本升级,请指定引擎版本。此选项将绿色环境中的数据库实例升级到指定的数据库引擎版本。

    如果未指定,则使用与蓝色环境中相应的数据库实例相同的引擎版本创建绿色环境中的每个数据库实例。

  • --target-db-parameter-group-name – 指定要与绿色环境中的数据库实例相关联的数据库参数组。

例 创建蓝绿部署

对于 Linux、macOS 或 Unix:

aws rds create-blue-green-deployment \ --blue-green-deployment-name my-blue-green-deployment \ --source arn:aws:rds:us-east-2:123456789012:db:mydb1 \ --target-engine-version 8.0.31 \ --target-db-parameter-group-name mydbparametergroup

对于 Windows:

aws rds create-blue-green-deployment ^ --blue-green-deployment-name my-blue-green-deployment ^ --source arn:aws:rds:us-east-2:123456789012:db:mydb1 ^ --target-engine-version 8.0.31 ^ --target-db-parameter-group-name mydbparametergroup

要使用 Amazon RDS API 创建蓝绿部署,请使用带有以下参数的 CreateBlueGreenDeployment 操作:

  • BlueGreenDeploymentName – 指定蓝绿部署的名称。

  • Source – 指定要复制到绿色环境的数据库实例的 ARN。

  • TargetEngineVersion – 如果要在绿色环境中测试数据库引擎版本升级,请指定引擎版本。此选项将绿色环境中的数据库实例升级到指定的数据库引擎版本。

    如果未指定,则使用与蓝色环境中相应的数据库实例相同的引擎版本创建绿色环境中的每个数据库实例。

  • TargetDBParameterGroupName – 指定要与绿色环境中的数据库实例相关联的数据库参数组。