Amazon Web Services(AWS)是全球最全面、应用最广泛的云,从全球数据中心提供超过 200 项功能齐全的服务。数百万客户(包括增长最快速的初创公司、最大型企业和主要的政府机构)都在使用 AWS 来降低成本、提高敏捷性并加速创新。AWS 拥有覆盖范围领先的全球云基础设施。Gartner 已将 AWS 区域/可用区模型视为一种值得推荐运行方式,适用于要求高可用性的企业应用程序。
Amazon Simple Storage Service (Amazon S3) 是一种对象存储服务,提供行业领先的可扩展性、数据可用性、安全性和性能。各种规模和行业的客户可以为几乎任何使用案例存储和保护任意数量的数据,例如数据湖、云原生应用程序和移动应用程序。借助高成本效益的存储类和易于使用的管理功能,您可以优化成本、组织数据并配置精细调整过的访问控制,从而满足特定的业务、组织和合规性要求。
红彤软件简介
深圳市红彤软件有限公司创立于2008年,专业从事企业级软件代理、数据存储、备份及还原恢复等增值技术服务。包括公有云、私有云及混合云等综合解决方案,服务各行各业全栈云解决方案。同时我们也是Redhat Advanced Business Partner,为华南排名前两位的高级别合作伙伴。 做为Amazon Web Services高级合作伙伴,可以为客户提供云规划、迁移、实施等服务,为客户提供Amazon Web Services安全、可信、持续创新的产品与服务。
项目背景
某医药公司是中国领先的基因编辑药物创新企业,以基因编辑技术为核心驱动。目前在多个领域布局,部分领域的基因编辑疗法已经取得全球先进水平的临床进展。在日常的给基因编辑研究中,会频繁的需要使用中国和海外基因领域的公开参考数据,包括Amazon的公开数据集中的基因行业相关数据集,如 gnomAD、PubSeq、CCLE、BLAST等,以及其他公开的标准行业数据,如GenBank 、RefSeq、TCGA,NCBI SRA,ICGC等。
基因行业的公开数据一般都数据量很大,多达几十GB甚至几十TB。由于该医药公司未建设跨境专线网络,出于成本考虑只能通过公共互联网进行文件的跨境访问和下载。但由于跨境互联网络的延迟、丢包率非常不稳定,海外的数据几乎处于不能正常访问和下载的状态,经常数天才能完成一部分数据的下载,严重的影响了用户的科研进度和效率。
该医药公司希望能够找到经济、高效、稳定、安全的跨境文件同步方案,建设一个长期持续使用的全球科研数据同步平台,用于能够高效从海外将科研需要使用的公开数据下载并同步到中国AWS账号内的S3存储桶中,以便后续的科研分析平台使用。
解决方案分析
为了实现基于跨境互联网网络的大规模文件同步项目需求,主要采用以下思路和技术来部署:
1、参考 AWS Identity and Access Management最佳实践来规划和完成 AWS Identity and Access Management中的用户创建、权限配置和安全设置,IAM相关的介绍可以点击这个链接直达官网;
2、在AWS中国和AWS海外创建Amazon Virtual Private Cloud进行网络隔离和其他服务部署;
3、在AWS海外创建 Amazon Elastic Compute Cloud 实例组,用于下载 AWS Public Datasets 中的数据及三方网站的数据,并传输到AWS海外的Amazon Simple Storage Service 存储桶中。可根据客户需求,通过修改 Amazon Elastic Compute Cloud 实例组的数量快速启动多台Amazon Elastic Compute Cloud 实例用于多个数据源的数据下载。
4、通过使用可以访问Amazon Simple Storage Service 存储桶的Amazon Elastic Compute Cloud 角色,将其附加到Amazon Elastic Compute Cloud 以提供Amazon Simple Storage Service 访问权限,避免使用容易发生安全泄漏的Access Key/Secret Key;
5、在AWS海外,根据Amazon Simple Storage Service 存储桶上的存储桶前缀配置事件触发机制,将所有新对象事件发送到Amazon Simple Queue Service;
6、 将读写AWS中国Amazon Simple Storage Service 所需的Access Key/Secret Key 安全存储在AWS System Manager 参数中,在AWS Lambda 中调用;
7、在AWS海外,配置Amazon Simple Queue Service 触发AWS Lambda,从Amazon Simple Storage Service 中读取文件并完成对象的跨境传输到AWS中国的Amazon Simple Storage Service 存储桶中;
8、AWS Lambda 中对大文件进行切片,通过并发多线程传输,可在传输异常中断时提供可恢复的断点续传功能;
9、在AWS海外,通过 Amazon Cloudwatch进行传输过程各项服务的监控,包括网络传输速度、AWS Lambda 调用情况、Amazon Simple Queue Service队列消息数量、Amazon Elastic Compute Cloud利用率等指标;
使用AWS解决方案的优势
•在项目中为用户尽可能提供高性价比的解决方案,包括使用可弹性伸缩、按需扩展的Amazon Elastic Compute Cloud Auto Scaling组,使用满足CPU负载和网络带宽要求的最低配置的Amazon Elastic Compute Cloud机型,使用成本更低的Amazon Simple Storage Service存储类等,以节省用户在AWS平台上的使用成本。
•在本项目中充分考虑客户文件传输需求的不定期性和非持续性,我们为用户配置了Amazon Elastic Compute Cloud实例模版和Amazon Elastic Compute Cloud Auto Scaling Group,可根据需求快速的进行下载服务器的扩展和缩减Amazon Elastic Compute Cloud,大幅降低了成本;同时建议用户定期删除AWS 海外区域的Amazon Simple Storage Service存储桶中不再需要保留的文件来降低存储费用。
•通过使用 AWS Lambda、Amazon Simple Queue Service,结合 Amazon Simple Storage Service & Amazon Simple Storage Service 事件驱动机制,为客户构建了一个经济、可靠、安全、准实时的无服务器方式的跨境数据同步系统。
• 效率:通过使用我们提供的方案,用户可以大大缩短海外科研文件的下载和传输时间,大幅提升了工作效率。在实际的测试和使用中,每天(24小时)至少可以完成3到5 TB的文件传输(从 AWS 海外区域的Amazon Simple Storage Service存储桶传输到AWS 北京区域的Amazon Simple Storage Service存储桶);以前相同大小的文件需要用户 7 到 10 天才能完成跨境的传输,并且需要多次重试和大量人工干预。
• 成本:客户的文件传输需求是不定期、非持续的,在没有下载和传输任务的时间,可以通过将Amazon Elastic Compute Cloud instance groups的大小设置为0来大幅降低成本;同时用户可以定期删除AWS海外区域的Amazon Simple Storage Service存储桶中不再需要保留的文件来降低存储费用。
• 可靠性:AWS Lambda文件传输代码对每个文件分片均进行MD5完整性校验,确保了文件的完整性和一致性。
• 安全性:传输时使用 SSL 加密,使用 IAM 角色并通过 AWS System Manager 参数来存储凭证访问密钥。
经验总结
• 通过此项目的部署和实际测试,对 AWS 的无服务器技术(包括 AWS Lambda、Amazon Simple Storage Service、Amazon Simple Storage Service 事件驱动机制、Amazon Simple Queue Service等)有了很深的理解和实践经验;
• 此项目中所实现的跨境文件传输方案,在很多行业(特别在生物)和很多领域的客户项目中均可以反复使用;同时通过使用AWS Cloud Development Kit进行部署非常的高效和便捷。