使用 AWS 弹性灾难恢复的自动网络复制 存储博客
在本篇文章中,我们探讨了AWS弹性灾难恢复Elastic Disaster Recovery如何帮助实现网络配置的自动复制与恢复,确保您的灾难恢复站点具备必要的网络组件和安全设置。这一功能不仅能够减少配置错误,还能提升安全性与操作效率。
在制定灾难恢复策略时,必须管理从主站到恢复站的网络设置复制,包括访问控制列表ACL和互联网网关等内容。在许多情况下,主站的配置更改需要及时反映到恢复站。手动管理这些改动容易出错,尤其是在网络与安全资源方面,错误的配置可能导致连通性问题或严重的安全隐患。
AWS弹性灾难恢复能够有效管理和协调对Amazon Elastic Compute Cloud (Amazon EC2)与Amazon Elastic Block Store (Amazon EBS)资源的恢复。弹性灾难恢复也能自动复制和恢复AWS的网络与安全资源,简化跨可用区AZ和跨AWS地区的恢复策略。
在本文中,我们将深入探讨弹性灾难恢复的网络复制功能,该功能可以自动复制和恢复AWS网络组件及配置,以确保AWS恢复站点的准备状态与安全性。这些组件包括子网、安全组、路由表、互联网网关和ACL。利用网络复制功能,您可以降低配置错误的风险,加强安全性,并简化恢复过程的操作。

弹性灾难恢复的网络复制功能能够追踪网络更改并快速更新,帮助避免恢复期间的配置不匹配,节省时间和资源,并提升安全性。例如,当安全组更新时,该更改会自动同步,以确保符合合规要求,并防止潜在的安全风险。
支持的网络组件包括:
组件描述Amazon虚拟私有云Amazon VPCAWS所提供的虚拟私有网络服务子网VPC内的子网络安全组关注流量控制的虚拟防火墙路由表管理网络流量路由的设置互联网网关IGW使VPC与互联网连接的网关网络访问控制列表ACL控制VPC入站和出站流量的规则激活源网络的复制后,弹性灾难恢复将追踪该网络资源的配置。在执行应用程序恢复演练或恢复事件之前,可以将源网络恢复到恢复站。执行源网络恢复操作时,将自动生成并部署包含源网络组件的AWS CloudFormation堆栈,此外,代表源网络的源服务器即EC2实例会自动配置其启动设置,以使用新部署的恢复站网络,无需手动配置每个服务器。
要通过AWS管理控制台使用网络复制功能,必须满足以下前提条件:
目标AWS区域内有弹性灾难恢复源服务器。在目标AWS区域内创建一个版本控制已启用的Amazon S3桶,用于存储生成的CloudFormation堆栈。在弹性灾难恢复源网络菜单中选择S3桶参见下图。Figure 1 选择用于网络恢复的S3桶
本节将逐步讲解如何在AWS管理控制台中配置网络复制,包括启动源网络的复制、启动恢复作业以及验证在目标AWS区域中创建的源网络。
确保满足前提条件后,导航到控制台中的弹性灾难恢复服务,打开源网络页面,系统会自动发现属于现有源服务器的源网络。Figure 2 DRS源网络被自动发现
启动复制,选择操作,然后选择开始复制。Figure 3 从操作下拉菜单中选择开始复制
从弹出提示中选择开始复制。Figure 4 开始复制源网络
监控复制状态,等待初始同步完成。在启动恢复作业之前,请允许15分钟,以确保源网络中的任何更改已完全复制。Figure 5 源网络复制已启动
轻蜂加速器永久免费版等待复制状态报告为正在复制 受保护。
Figure 6 源网络现在显示为受保护
要恢复源网络,选择源网络旁边的复选框,然后选择启动恢复作业。Figure 7 启动源网络的恢复作业
由于这是我们首次执行恢复,我们选择创建新堆栈。对于后续的恢复作业,您可以更新现有堆栈,或如果希望创建另一个恢复的源网络进行隔离测试,可以选择创建新堆栈。Figure 8 在恢复作业期间确认新堆栈的创建
我们可以通过切换到恢复作业历史页面,选择最新的恢复作业卡片来监控恢复作业的进度。
Figure 9 在恢复作业日志中检查恢复进度
如果切换到CloudFormation控制台,可以看到名为AWSDRSsn 的嵌套堆栈,网络组件已部署到目标AWS区域。
Figure 10 在目标AWS区域中创建的CloudFormation堆栈
本节将逐步讲解如何通过AWS命令行界面AWS CLI更新启动配置模板,创建源网络配置,启动网络复制,并启动恢复作业。
请注意,当通过AWS CLI或AWS SDK以编程方式配置此功能时,您不需要存在现有的弹性灾难恢复源服务器。
要通过AWS CLI配置网络复制功能,我们需要在目标AWS区域内创建一个启用版本控制的S3桶,以存储生成的CloudFormation堆栈。
首先,我们必须更新弹性灾难恢复启动配置模板以定义我们的S3桶。将ltlaunchConfigurationTemplateIDgt替换为当前活动模板您可以使用aws drs describelaunchconfigurationtemplates获取该值,并将ltS3BucketARNgt替换为希望用于存放网络配置模板的S3桶的ARN。bash aws drs updatelaunchconfigurationtemplate launchconfigurationtemplateid ltlaunchConfigurationTemplateIDgt exportbucketarn ltS3BucketARNgt
Figure 11 命令输出显示exportBucketArn
接下来,我们必须创建源网络配置。将ltAccountIDgt替换为包含源VPC的AWS账户ID,将ltRegiongt替换为源VPC所在的区域,将ltSourceVPCIDgt替换为源VPC的ID。bash aws drs createsourcenetwork originaccountid ltAccountIDgt originregion ltRegiongt vpcid ltSourceVPCIDgt
注意sourceNetworkID的输出值,因为我们在后续步骤中需要这个值。
Figure 12 命令输出显示sourceNetworkID
要开始对新创建的源网络进行复制,运行以下命令,替换ltsourceNetworkIDgt为第2步的输出值。bash aws drs startsourcenetworkreplication sourcenetworkid ltsourceNetworkIDgt
要启动恢复作业,运行以下命令,替换ltsourceNetworkIDgt为第2步的输出值。bash aws drs startsourcenetworkrecovery sourcenetworks sourceNetworkID=ltsourceNetworkIDgt
对于后续的恢复,使用deployasnew或nodeployasnew选项,您可以创建新堆栈或更新现有堆栈。以下是启动恢复作业并更新现有堆栈的示例:
bashaws drs startsourcenetworkrecovery nodeployasnew false sourcenetworks sourceNetworkID=ltsourceNetworkIDgtcfnStackName=ltcfnStackNamegt
为了避免在执行完这些步骤后产生不必要的AWS费用,建议删除创建的AWS资源,包括源网络复制配置、已部署的源网络CloudFormation堆栈、导出S3桶,以及为此操作创建的任何EC2实例。
在本文中,我们介绍了弹性灾难恢复的网络复制功能,能够自动将您的源网络VPC配置复制到灾难恢复站点。我们还提供了如何设置复制并执行源VPC恢复到灾难恢复站点的逐步指南,同时使用了AWS管理控制台和AWS CLI。
自动化将源VPC复制到灾难恢复站点的过程能提高顺利和快速恢复的可能性,并有助于保持持续的数据复制。这也增强了安全性,节省了时间和资源,并降低了数据丢失的风险。
感谢您阅读本文。如有任何意见或问题,请不要犹豫,在评论区留下您的建议。
标签 Amazon Simple Storage Service (Amazon S3) AWS云存储 AWS CloudFormation AWS弹性灾难恢复DRS
Stuart Lupton是AWS的灾难恢复专属解决方案架构师。
Chipp KuldellChipp是AWS的解决方案架构师,目前与金融客户合作。在多年设计备份和灾难恢复解决方案的IT经验中,他习惯于问“可能出错的地方在哪里?”