CN115951943A - 一种面向aws平台的多资源创建方法、装置及电子设备 - Google Patents
一种面向aws平台的多资源创建方法、装置及电子设备 Download PDFInfo
- Publication number
- CN115951943A CN115951943A CN202310224945.0A CN202310224945A CN115951943A CN 115951943 A CN115951943 A CN 115951943A CN 202310224945 A CN202310224945 A CN 202310224945A CN 115951943 A CN115951943 A CN 115951943A
- Authority
- CN
- China
- Prior art keywords
- resource
- rds
- service
- creating
- resources
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种面向AWS平台的多资源创建方法、装置及电子设备,属于数据处理技术领域。其中,方法包括:通过AWS平台的CloudFormation服务创建多个资源;在创建完成的EC2资源中安装mssql‑cli工具和sqlpackage工具;在RDS资源创建完成后,通过mssql‑cli工具阻塞CloudFormation服务初始化EC2资源,通过sqlpackage工具初始化RDS资源;通过mssql‑cli工具检测RDS资源是否初始化完成,并在RDS资源初始化完成后,取消阻塞CloudFormation服务的操作;通过CloudFormation服务对创建完成的EC2资源进行初始化。实现了RDS资源初始化完成后才执行EC2资源初始化的目的,达到了在EC2资源中初始化数据时能够成功连接到RDS资源的技术效果。解决了在EC2资源中初始化数据时总会无法成功连接到RDS资源的技术问题。
Description
技术领域
本发明涉及数据处理技术领域,并且更具体地,涉及一种面向AWS平台的多资源创建方法、装置及电子设备。
背景技术
AWS(Amazon Web Services 亚马逊网络服务系统)是由亚马逊公司于2002年开始运营的云计算平台,提供多种类型的远端Web服务,例如但不限于包括:EC2(ElasticCompute Cloud 弹性计算云)、EBS(Elastic Block Storage 弹性块存储)以及RDS(Relational Database Service,关系型数据库)。其中的EC2可以让用户以租用虚拟计算机(实例)方式,远程使用不同类型的计算机系统,并且运行任何自己所需要的软件。EBS用于支持持久性数据块级存储需求。RDS是一种即开即用、稳定可靠、可弹性伸缩的在线数据库服务,具有多重安全防护措施和完善的性能监控体系,并提供专业的数据库备份、恢复及优化方案。并且,基于AWS所提供的远端Web服务可以实现在大规模集群内进行批量快速的数据导入,例如CN104243564A,基于AWS所提供的EC2和EBS,采用集中式数据划分与分配、并行配对挂载、存储与处理服务分离等手段,从而实现了在大规模集群内进行批量快速的数据导入准备。
目前,使用AWS的CloudFormation服务,可以创建多资源应用。多资源应用至少包括EC2资源、EBS资源和RDS资源等。但是,在CloudFormation服务创建多资源应用时,一般来说RDS资源创建的速度比EC2资源慢,并且CloudFormation服务提供的DependsOn 属性,仅仅是等待RDS资源创建成功就初始化EC2资源,继续创建下一个资源。因此,CloudFormation服务并不会等待RDS资源初始化成功后才初始化EC2资源,这就导致在EC2资源中初始化数据时总会无法成功连接到RDS资源,进一步导致EC2实例无法正常使用。
发明内容
针对现有技术的不足,本发明提供一种面向AWS平台的多资源创建方法、装置及电子设备。
根据本发明的一个方面,提供了一种面向AWS平台的多资源创建方法,包括:
通过AWS平台的CloudFormation服务创建多个资源,其中多个资源至少包括EC2资源和RDS资源;
在创建完成的EC2资源中安装mssql-cli工具和sqlpackage工具,其中mssql-cli工具用于检测RDS资源是否初始化完成,sqlpackage工具用于恢复RDS资源的备份文件;
在RDS资源创建完成后,通过mssql-cli工具阻塞CloudFormation服务初始化EC2资源,通过sqlpackage工具初始化RDS资源;
通过mssql-cli工具检测RDS资源是否初始化完成,并在RDS资源初始化完成后,取消阻塞CloudFormation服务的操作;
通过CloudFormation服务对创建完成的EC2资源进行初始化。
优选地,面向AWS平台的多资源创建方法还包括:
将CreationPolicy属性添加至CloudFormation服务;
使用CreationPolicy属性设置资源创建任务的创建时间,其中资源创建任务用于创建多个资源;
判断资源创建任务是否能够在创建时间内完成;
在资源创建任务无法在创建时间内完成时,CloudFormation服务将资源创建任务中已创建完成的资源进行删除。
优选地,所述判断资源创建任务是否能够在创建时间内完成,包括:
将cfn-signal脚本添加至CloudFormation服务;
在资源创建任务中的任意一个资源创建成功后,通过cfn-signal脚本向CloudFormation服务发送资源创建成功的信号;
CloudFormation服务统计cfn-signal脚本发送的信号的数量,并根据统计的结果判断资源创建任务是否能够在创建时间内完成。
优选地,面向AWS平台的多资源创建方法还包括:
在CloudFormation服务中创建日志输出脚本;
通过日志输出脚本,输出资源创建日志,其中资源创建日志包括资源创建成功或者失败的详情信息。
优选地,面向AWS平台的多资源创建方法还包括:
在CloudFormation服务中创建EC2资源的配置修改属性;
通过配置修改属性,对EC2资源的配置信息进行修改。
优选地,面向AWS平台的多资源创建方法还包括:
在CloudFormation服务中创建shell脚本;
在部署EC2资源时,通过shell脚本向对应的应用网站拉取EC2资源的部署代码。
优选地,面向AWS平台的多资源创建方法还包括:将初始化完成的EC2资源和RDS资源部署在同一个私有网络中。
根据本发明的另一个方面,提供了一种面向AWS平台的多资源创建装置,包括:
资源创建模块,用于通过AWS平台的CloudFormation服务创建多个资源,其中多个资源至少包括EC2资源和RDS资源;
工具安装模块,用于在创建完成的EC2资源中安装mssql-cli工具和sqlpackage工具,其中mssql-cli工具用于检测RDS资源是否初始化完成,sqlpackage工具用于恢复RDS资源的备份文件;
第一初始化模块,用于在RDS资源创建完成后,通过mssql-cli工具阻塞CloudFormation服务初始化EC2资源,通过sqlpackage工具初始化RDS资源;
检测模块,用于通过mssql-cli工具检测RDS资源是否初始化完成,并在RDS资源初始化完成后,取消阻塞CloudFormation服务的操作;
第二初始化模块,用于通过CloudFormation服务对创建完成的EC2资源进行初始化。
根据本发明的又一个方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行本发明上述任一方面所述的方法。
根据本发明的又一个方面,提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述可执行指令以实现本发明上述任一方面所述的方法。
从而,本发明首先通过AWS平台的CloudFormation服务创建EC2资源和RDS资源,然后在创建完成的EC2资源中安装mssql-cli工具和sqlpackage工具,其次在RDS资源创建完成后,通过mssql-cli工具阻塞CloudFormation服务初始化EC2资源,通过sqlpackage工具初始化RDS资源,再其次通过mssql-cli工具检测RDS资源是否初始化完成,并在RDS资源初始化完成后,取消阻塞CloudFormation服务的操作,最后通过CloudFormation服务对创建完成的EC2资源进行初始化。从而,实现了RDS资源初始化完成后才执行EC2资源初始化的目的,达到了在EC2资源中初始化数据时能够成功连接到RDS资源的技术效果。解决了在EC2资源中初始化数据时总会无法成功连接到RDS资源的技术问题。
附图说明
通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:
图1是本发明一示例性实施例提供的面向AWS平台的多资源创建方法的一个流程示意图;
图2是本发明一示例性实施例提供的面向AWS平台的多资源创建方法的又一个流程示意图;
图3是本发明一示例性实施例提供的面向AWS平台的多资源创建装置的结构示意图;
图4是本发明一示例性实施例提供的电子设备的结构。
具体实施方式
下面,将参考附图详细地描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
本领域技术人员可以理解,本发明实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本发明实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本发明实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本发明中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本发明中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本发明对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本发明实施例可以应用于通信终端、计算机系统、服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与通信终端、计算机系统、服务器等电子设备一起使用的众所周知的通信终端、计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
通信终端、计算机系统、服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
示例性方法
图1是本发明一示例性实施例提供的面向AWS平台的多资源创建方法的一个流程示意图。如图1所示,面向AWS平台的多资源创建方法包括以下步骤:
步骤S101:通过AWS平台的CloudFormation服务创建多个资源,其中多个资源至少包括EC2资源和RDS资源。
步骤S102:在创建完成的EC2资源中安装mssql-cli工具和sqlpackage工具,其中mssql-cli工具用于检测RDS资源是否初始化完成,sqlpackage工具用于恢复RDS资源的备份文件。
步骤S103:在RDS资源创建完成后,通过mssql-cli工具阻塞CloudFormation服务初始化EC2资源,通过sqlpackage工具初始化RDS资源。
步骤S104:通过mssql-cli工具检测RDS资源是否初始化完成,并在RDS资源初始化完成后,取消阻塞CloudFormation服务的操作。
步骤S105:通过CloudFormation服务对创建完成的EC2资源进行初始化。
在本发明实施例中,可以通过AWS平台的CloudFormation服务创建多个资源。其中,多个资源至少包括EC2资源和RDS资源,还可以包括Redis。然后,在EC2资源中安装mssql-cli工具和sqlpackage工具。其中,mssql-cli工具是一种针对SQL Server的新的交互式命令行查询工具,跨平台mssql客户端工具,可以作为检测RDS资源是否可用的工具。sqlpackage工具是一种命令行实用工具,跨平台的 sqlpackage可用作客户端备份恢复工具,恢复.bacpac备份文件。此外,项目中使用的环境为 ubuntu22.04和SQL Server2019。如果使用其他环境,可以使用对应shell和cli脚本。
进一步地,mssql-cli工具可以使用while... do... done...语句阻塞CloudFormation服务初始化EC2资源,通过sqlpackage工具初始化RDS资源,直至RDS资源初始化完成,EC2资源能够成功连接RDS资源。此外,为了防止过多的网络请求,继续使用DependsOn等待RDS资源创建完成后再使用bash脚本等待RDS资源初始化完成,并且可以增加bash脚本的间隔时间。
从而,实现了RDS资源初始化完成后才执行EC2资源初始化的目的,达到了在EC2资源中初始化数据时能够成功连接到RDS资源的技术效果。
图2是本发明一示例性实施例提供的面向AWS平台的多资源创建方法的又一个流程示意图。如图2所示,面向AWS平台的多资源创建方法还包括以下步骤:
步骤S201:将CreationPolicy属性添加至CloudFormation服务;
步骤S202:使用CreationPolicy属性设置资源创建任务的创建时间,其中资源创建任务用于创建多个资源;
步骤S203:判断资源创建任务是否能够在创建时间内完成;
优选地,所述判断资源创建任务是否能够在创建时间内完成,包括:将cfn-signal脚本添加至CloudFormation服务;在资源创建任务中的任意一个资源创建成功后,通过cfn-signal脚本向CloudFormation服务发送资源创建成功的信号;CloudFormation服务统计cfn-signal脚本发送的信号的数量,并根据统计的结果判断资源创建任务是否能够在创建时间内完成。
步骤S204:在资源创建任务无法在创建时间内完成时,CloudFormation服务将资源创建任务中已创建完成的资源进行删除。
在本发明实施例中,在创建资源时,为了防止 CloudFormation 一直处于阻塞状态,使用 CreationPolicy属性和cfn-signal脚本设置资源创建任务的创建时间。该创建时间也可称为超时时间,超时时间包括资源的创建和初始化。例如但不限于为,单个应用程序的创建时间为10分钟,3个应用程序的创建时间则为30分钟。如果超时的话,证明AWS资源创建失败。
具体为,如图2所示,先将CreationPolicy属性添加至CloudFormation服务,然后使用CreationPolicy属性设置资源创建任务的创建时间,其次判断资源创建任务是否能够在创建时间内完成,最后在资源创建任务无法在创建时间内完成时,CloudFormation服务将资源创建任务中已创建完成的资源进行删除。从而实现了等待超时可自动回滚的目的。
其中,判断资源创建任务是否能够在创建时间内完成的具体步骤包括:先将cfn-signal脚本添加至CloudFormation服务,然后在资源创建任务中的任意一个资源创建成功后,其次通过cfn-signal脚本向CloudFormation服务发送资源创建成功的信号,最后CloudFormation服务统计cfn-signal脚本发送的信号的数量,并根据统计的结果判断资源创建任务是否能够在创建时间内完成。从而,AWS平台可以根据成功信号向用户反馈资源创建完成的信息,此时用户可以正常访问该资源。
优选地,面向AWS平台的多资源创建方法还包括:在CloudFormation服务中创建日志输出脚本;通过日志输出脚本,输出资源创建日志,其中资源创建日志包括资源创建成功或者失败的详情信息。
在本发明实施例中,在创建资源的时候,AWS平台对外的输出只是资源创建失败或者资源创建成功等类似的通知信息,具体的失败原因并不会输出。针对该问题,本发明可以在CloudFormation服务中创建日志输出脚本,通过该日志输出脚本把一个命令放到执行文件里,并且把文件执行之后的结果放到一个日志里,并输出资源创建日志。通过该资源创建日志,可以知道资源创建成功或者失败的详情信息。例如但不限于为,通过该资源创建日志,可以知道资源初始化执行的时长、初始化执行成功的时间,数据库创建完成的时间,数据库的恢复时间,哪些资源恢复成功了,哪些资源没有恢复成功等等。通过这种方式,可以实现资源创建失败原因的定位,从而方便后续进行改进。
优选地,面向AWS平台的多资源创建方法还包括:在CloudFormation服务中创建EC2资源的配置修改属性;通过配置修改属性,对EC2资源的配置信息进行修改。
在本发明实施例中,AWS平台中的EC2资源,例如某一个应用程序,在初始化配置的时候,配置是固定的,无法进行任何修改。针对该问题,本发明通过在CloudFormation服务中创建EC2资源的配置修改属性,通过该属性修改应用程序的配置。例如但不限于,在应用程序创建成功之后,给创建的用户生成一个唯一的用户ID,当用户在请求资源的时候,应用程序就能够知道新增了一个用户,方便做数据统计。
优选地,面向AWS平台的多资源创建方法还包括:在CloudFormation服务中创建shell脚本;在部署EC2资源时,通过shell脚本向对应的应用网站拉取EC2资源的部署代码。
在本发明实施例中,当需要更新或者升级AWS平台中的应用程序时,往往需要修改AWS模板,然而修改AWS模板的程序十分麻烦,每次修改之后都需要向AWS平台申请,申请过程比较长,一般需要20多天或者一个月左右的时间。针对该问题,本发明通过在CloudFormation服务中创建shell脚本,在每次更新或者升级应用程序的时候,通过shell脚本去创建好的应用网站自动拉取代码,自动解压,自动部署,保证用户终端上的应用程序都是最新的,从而实现了应用程序资源的自动更新,无需手动升级,也无需客户升级。
优选地,面向AWS平台的多资源创建方法还包括:将初始化完成的EC2资源和RDS资源部署在同一个私有网络中。
在本发明实施例中,RDS资源用于存放各种关键数据,保护级别一般都比EC2资源更高,因此期望访问RDS资源的人数越少越好。本质上,只让EC2资源可以访问RDS资源,其他人都不能访问,这样就能够保障RDS资源的安全。为了实现上述目的,本发明在创建RDS资源和EC2资源的时候,可以通过一个私有网络去部署RDS资源,然后把RDS资源和EC2资源放在同一个子网里,只让子网内的EC2资源访问RDS资源,外网的其他人无法访问RDS资源,从而保障了RDS资源的安全。
综上所述,本发明首先通过AWS平台的CloudFormation服务创建EC2资源和RDS资源,然后在创建完成的EC2资源中安装mssql-cli工具和sqlpackage工具,其次在RDS资源创建完成后,通过mssql-cli工具阻塞CloudFormation服务初始化EC2资源,通过sqlpackage工具初始化RDS资源,再其次通过mssql-cli工具检测RDS资源是否初始化完成,并在RDS资源初始化完成后,取消阻塞CloudFormation服务的操作,最后通过CloudFormation服务对创建完成的EC2资源进行初始化。从而,实现了RDS资源初始化完成后才执行EC2资源初始化的目的,达到了在EC2资源中初始化数据时能够成功连接到RDS资源的技术效果。
示例性装置
图3是本发明一示例性实施例提供的面向AWS平台的多资源创建装置300的结构示意图。如图3所示,该装置包括:
资源创建模块310,用于通过AWS平台的CloudFormation服务创建多个资源,其中多个资源至少包括EC2资源和RDS资源;
工具安装模块320,用于在创建完成的EC2资源中安装mssql-cli工具和sqlpackage工具,其中mssql-cli工具用于检测RDS资源是否初始化完成,sqlpackage工具用于恢复RDS资源的备份文件;
第一初始化模块330,用于在RDS资源创建完成后,通过mssql-cli工具阻塞CloudFormation服务初始化EC2资源,通过sqlpackage工具初始化RDS资源;
检测模块340,用于通过mssql-cli工具检测RDS资源是否初始化完成,并在RDS资源初始化完成后,取消阻塞CloudFormation服务的操作;
第二初始化模块350,用于通过CloudFormation服务对创建完成的EC2资源进行初始化。
优选地,面向AWS平台的多资源创建装置300还包括:
属性添加模块,用于将CreationPolicy属性添加至CloudFormation服务;
创建时间设置模块,用于使用CreationPolicy属性设置资源创建任务的创建时间,其中资源创建任务用于创建多个资源;
判断模块,用于判断资源创建任务是否能够在创建时间内完成;
自动回滚模块,用于在资源创建任务无法在创建时间内完成时,CloudFormation服务将资源创建任务中已创建完成的资源进行删除。
优选地,所述判断模块,具体用于:
将cfn-signal脚本添加至CloudFormation服务;
在资源创建任务中的任意一个资源创建成功后,通过cfn-signal脚本向CloudFormation服务发送资源创建成功的信号;
CloudFormation服务统计cfn-signal脚本发送的信号的数量,并根据统计的结果判断资源创建任务是否能够在创建时间内完成。
优选地,面向AWS平台的多资源创建装置300还包括:
日志输出脚本创建模块,用于在CloudFormation服务中创建日志输出脚本;
日志输出模块,用于通过日志输出脚本,输出资源创建日志,其中资源创建日志包括资源创建成功或者失败的详情信息。
优选地,面向AWS平台的多资源创建装置300还包括:
修改属性创建模块,用于在CloudFormation服务中创建EC2资源的配置修改属性;
配置修改模块,用于通过配置修改属性,对EC2资源的配置信息进行修改。
优选地,面向AWS平台的多资源创建装置300还包括:
shell脚本创建模块,用于在CloudFormation服务中创建shell脚本;
代码拉取模块,用于在部署EC2资源时,通过shell脚本向对应的应用网站拉取EC2资源的部署代码。
优选地,面向AWS平台的多资源创建装置300还包括:部署模块,用于将初始化完成的EC2资源和RDS资源部署在同一个私有网络中。
本发明的实施例的面向AWS平台的多资源创建装置与本发明的另一个实施例的面向AWS平台的多资源创建方法相对应,在此不再赘述。
示例性电子设备
图4是本发明一示例性实施例提供的电子设备的结构。如图4所示,电子设备40包括一个或多个处理器41和存储器42。
处理器41可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。
存储器42可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器41可以运行所述程序指令,以实现上文所述的本发明的各个实施例的软件程序的方法以及/或者其他期望的功能。在一个示例中,电子设备还可以包括:输入装置43和输出装置44,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
此外,该输入装置43还可以包括例如键盘、鼠标等等。
该输出装置44可以向外部输出各种信息。该输出装置44可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图4中仅示出了该电子设备中与本发明有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本发明的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本发明各种实施例的方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本发明实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本发明的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本发明各种实施例的方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、系统或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,在本发明中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本发明的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本发明为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明中涉及的器件、系统、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、系统、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本发明的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
还需要指出的是,在本发明的系统、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本发明。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本发明的范围。因此,本发明不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本发明的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (10)
1.一种面向AWS平台的多资源创建方法,其特征在于,包括:
通过AWS平台的CloudFormation服务创建多个资源,其中多个资源至少包括EC2资源和RDS资源;
在创建完成的EC2资源中安装mssql-cli工具和sqlpackage工具,其中mssql-cli工具用于检测RDS资源是否初始化完成,sqlpackage工具用于恢复RDS资源的备份文件;
在RDS资源创建完成后,通过mssql-cli工具阻塞CloudFormation服务初始化EC2资源,通过sqlpackage工具初始化RDS资源;
通过mssql-cli工具检测RDS资源是否初始化完成,并在RDS资源初始化完成后,取消阻塞CloudFormation服务的操作;
通过CloudFormation服务对创建完成的EC2资源进行初始化。
2.根据权利要求1所述的方法,其特征在于,还包括:
将CreationPolicy属性添加至CloudFormation服务;
使用CreationPolicy属性设置资源创建任务的创建时间,其中资源创建任务用于创建多个资源;
判断资源创建任务是否能够在创建时间内完成;
在资源创建任务无法在创建时间内完成时,CloudFormation服务将资源创建任务中已创建完成的资源进行删除。
3.根据权利要求2所述的方法,其特征在于,所述判断资源创建任务是否能够在创建时间内完成,包括:
将cfn-signal脚本添加至CloudFormation服务;
在资源创建任务中的任意一个资源创建成功后,通过cfn-signal脚本向CloudFormation服务发送资源创建成功的信号;
CloudFormation服务统计cfn-signal脚本发送的信号的数量,并根据统计的结果判断资源创建任务是否能够在创建时间内完成。
4.根据权利要求1所述的方法,其特征在于,还包括:
在CloudFormation服务中创建日志输出脚本;
通过日志输出脚本,输出资源创建日志,其中资源创建日志包括资源创建成功或者失败的详情信息。
5.根据权利要求1所述的方法,其特征在于,还包括:
在CloudFormation服务中创建EC2资源的配置修改属性;
通过配置修改属性,对EC2资源的配置信息进行修改。
6.根据权利要求1所述的方法,其特征在于,还包括:
在CloudFormation服务中创建shell脚本;
在部署EC2资源时,通过shell脚本向对应的应用网站拉取EC2资源的部署代码。
7.根据权利要求1所述的方法,其特征在于,还包括:将初始化完成的EC2资源和RDS资源部署在同一个私有网络中。
8.一种面向AWS平台的多资源创建装置,其特征在于,包括:
资源创建模块,用于通过AWS平台的CloudFormation服务创建多个资源,其中多个资源至少包括EC2资源和RDS资源;
工具安装模块,用于在创建完成的EC2资源中安装mssql-cli工具和sqlpackage工具,其中mssql-cli工具用于检测RDS资源是否初始化完成,sqlpackage工具用于恢复RDS资源的备份文件;
第一初始化模块,用于在RDS资源创建完成后,通过mssql-cli工具阻塞CloudFormation服务初始化EC2资源,通过sqlpackage工具初始化RDS资源;
检测模块,用于通过mssql-cli工具检测RDS资源是否初始化完成,并在RDS资源初始化完成后,取消阻塞CloudFormation服务的操作;
第二初始化模块,用于通过CloudFormation服务对创建完成的EC2资源进行初始化。
9.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-7任一所述的方法。
10.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述可执行指令以实现上述权利要求1-7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310224945.0A CN115951943B (zh) | 2023-03-10 | 2023-03-10 | 一种面向aws平台的多资源创建方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310224945.0A CN115951943B (zh) | 2023-03-10 | 2023-03-10 | 一种面向aws平台的多资源创建方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115951943A true CN115951943A (zh) | 2023-04-11 |
CN115951943B CN115951943B (zh) | 2023-05-30 |
Family
ID=85891241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310224945.0A Active CN115951943B (zh) | 2023-03-10 | 2023-03-10 | 一种面向aws平台的多资源创建方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115951943B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110138055A1 (en) * | 2009-12-04 | 2011-06-09 | Creme Software Limited | resource allocation system |
CN105391774A (zh) * | 2015-10-15 | 2016-03-09 | 珠海市君天电子科技有限公司 | 一种基于亚马逊网络服务器的资源请求方法及装置 |
US20190102156A1 (en) * | 2017-09-29 | 2019-04-04 | Compuware Corporation | Streamlined Technique For Deploying Application In Cloud Computing Environment |
US10503553B1 (en) * | 2019-02-12 | 2019-12-10 | Fmr Llc | Customized coordinated scaling of cloud-based applications and backend resources |
US20200004529A1 (en) * | 2018-06-29 | 2020-01-02 | Betsol LLC | Systems, methods, and apparatus for automating software development steps |
-
2023
- 2023-03-10 CN CN202310224945.0A patent/CN115951943B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110138055A1 (en) * | 2009-12-04 | 2011-06-09 | Creme Software Limited | resource allocation system |
CN105391774A (zh) * | 2015-10-15 | 2016-03-09 | 珠海市君天电子科技有限公司 | 一种基于亚马逊网络服务器的资源请求方法及装置 |
US20190102156A1 (en) * | 2017-09-29 | 2019-04-04 | Compuware Corporation | Streamlined Technique For Deploying Application In Cloud Computing Environment |
US20200004529A1 (en) * | 2018-06-29 | 2020-01-02 | Betsol LLC | Systems, methods, and apparatus for automating software development steps |
US10503553B1 (en) * | 2019-02-12 | 2019-12-10 | Fmr Llc | Customized coordinated scaling of cloud-based applications and backend resources |
Non-Patent Citations (4)
Title |
---|
"先创建terraform aws rds,再创建ec2实例", HTTPS://CLOUD.TENCENT.COM/DEVELOPER/ASK/SOF/363623 * |
朱磊明;: "云计算平台基础服务", 信息与电脑(理论版) * |
沉默恶魔: "AWS CloudFormation", HTTPS://BLOG.CSDN.NET/ILOVEAWS/ARTICLE/DETAILS/125478864 * |
马晓亭;陈臣;: "基于亚马逊弹性云计算的数字图书馆建设研究", 图书馆 * |
Also Published As
Publication number | Publication date |
---|---|
CN115951943B (zh) | 2023-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190310880A1 (en) | Managed orchestration of virtual machine instance migration | |
CA2919839C (en) | Virtual computing instance migration | |
US10713183B2 (en) | Virtual machine backup using snapshots and current configuration | |
US10956143B2 (en) | Server updates | |
US8683459B2 (en) | Automated virtual appliance sizing | |
CN109218322B (zh) | 一种拟态防御方法、装置及系统 | |
US9038059B2 (en) | Automatically targeting application modules to individual machines and application framework runtimes instances | |
US10929115B2 (en) | Distribution and execution of instructions in a distributed computing environment | |
US8918776B2 (en) | Self-adapting software system | |
US11175901B2 (en) | Distribution and execution of instructions in a distributed computing environment | |
WO2022151776A1 (zh) | 一种云平台虚拟机回收方法及计算机设备 | |
US11768672B1 (en) | Systems and methods for user-controlled deployment of software updates | |
CN110494849B (zh) | 用于确定跨平台应用迁移的成功的系统和方法 | |
CN110704025A (zh) | 编码规范工具的生成方法和装置、存储介质、电子设备 | |
CN111488316B (zh) | 文件缓存回收方法及装置 | |
CN115951943B (zh) | 一种面向aws平台的多资源创建方法、装置及电子设备 | |
US7350065B2 (en) | Method, apparatus and program storage device for providing a remote power reset at a remote server through a network connection | |
US11886283B2 (en) | Automatic node crash detection and remediation in distributed computing systems | |
CN114661420B (zh) | 基于Kubernetes容器平台的应用保护方法、装置及系统 | |
US20080016192A1 (en) | System and Method for Performing an Administrative Task upon the Occurrence of a Triggering Event | |
CN114265605A (zh) | 一种业务系统功能组件的版本回退方法和装置 | |
US20220197754A1 (en) | Gold image library management system to reduce backup storage and bandwidth utilization | |
CN114519477A (zh) | 大数据平台租户管理系统、方法、存储介质及电子设备 | |
CN113742355A (zh) | 更新库存的方法、装置、设备和计算机可读介质 | |
US11799717B1 (en) | Coordinated secure workspace servicing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |