我感兴趣的是了解以下步骤导致我的新机器上运行的应用程序与我的生产机器上的应用程序镜像的可能性有多大。
背景:我的本地数据中心的 Windows 2008 R2 VM 中运行着 Windows 应用程序。我需要将此服务器应用程序迁移到云 (AWS)。我希望服务器应用程序保留所有用户信息和配置信息。由于安全限制,我无法对本地 VM 进行映像并将其导出到 AWS。
建议的解决方案:
- 使用相同版本的 Windows(Windows Server 2008 R2)启动 AWS 实例。
- 在现有生产服务器上运行的 AWS 实例上运行相同的安装程序。
- 删除 C:\Program Files\My_Server_App 并将其替换为我现有的内部部署 VM 中的等效目录。
此方法假定所有必要的文件都存储在 C:\Program Files\My_Server_App 中。
任何想法或建议都将不胜感激!谢谢!
答案1
在我看来,我们确实没有足够的关于您的申请的信息来完全回答这个问题,但是......
应用程序将数据和配置信息存储在哪里?是存储在数据库中吗?注册表中?硬盘上的文件中?以上所有?您需要了解这些,以便迁移所有用户和配置信息。
目录路径是否保持不变(它们应该保持不变,否则您最终可能会编辑注册表/数据库/配置文件/等等)。
应用程序是否在注册表/数据库/配置文件中存储有关服务器的信息(服务器名称等)?如果是,您可能需要编辑注册表/数据库/配置文件。
如果您确实无法将整个 VM 迁移到 AWS,如 Craig Watson 所建议的那样,我可能会:
- 使用相同的安装程序将应用程序安装到相同的目录路径中。(例如,应用程序可能在 Windows 中存储 dll,因此您需要运行安装程序。)
- 将任何相关的数据库/注册表项/配置文件复制到新服务器并导入它们,可能在明智地编辑它们之后。(如果它做使用数据库,您可能需要更改数据库的权限。
- 测试,测试,测试。
这并不能保证它一定能起作用,因为应用程序中可能还有一些其他的防篡改编码(例如,我曾经使用过一个许可证服务器,该服务器将 MAC 地址存储在隐藏文件中,以防止您在没有适当许可的情况下将其移动到新服务器)。
哦,我会的不是复制 \program files\your application 全部内容,除非这是存储配置文件/用户数据的唯一位置。即便如此,我还是会保留二进制文件。
答案2
我个人建议不要将您的应用程序入侵到新安装中,而是将服务器操作系统整体迁移到 AWS,然后清理操作系统并删除不需要的应用程序。
对于 VMware,有适用于 vCenter 的 AWS 管理门户一般来说,你可以看看AWS 迁移服务和虚拟机导入。
答案3
由于我们对您的应用程序了解不多,我建议您向开发人员询问应用程序的 PATH 和注册表项和数据。
获得所需信息后,部署新的 AMI 并在 AWS 中安装应用程序。顺便说一下,要重新定位/迁移应用程序,只需从 PATH 本地 VM 压缩应用程序数据,然后将其解压缩到 AWS AMI 上的相应 PATH。