【AWS SMB 能力最佳实践】利用 MGN 解决方案实现跨AWS账号迁移Amazon EC2 实例、弹性IP地址等资源

news2025/1/18 17:01:34

文章目录

    • 一、实验情景
    • 二、实验关键服务概述
      • 2.1 MGN解决方案
      • 2.2 VPC对等连接
    • 三、实验架构示意图
    • 四、实验具体操作步骤
      • 4.0 创建访问密钥
      • 4.1 创建VPC资源
        • 4.1.1 在源账号上创建VPC
        • 4.1.2 在目标账号上创建VPC
      • 4.2 创建对等连接✨
        • 4.2.1 发起对等连接请求
        • 4.2.2 接受对等连接请求
        • 4.2.3 更新路由表条目
      • 4.3 创建安全组
      • 4.4 创建EC2实例
      • 4.5 创建并关联弹性IP地址
      • 4.6 在EC2实例创建应用服务
      • 4.7 使用MGN解决方案迁移EC2实例✨
        • 4.7.1 设置服务初始化
        • 4.7.2 设置复制模板
        • 4.7.3 添加源服务器
        • 4.7.4 设置启动模板
        • 4.7.5 启动测试实例
        • 4.7.6 启动割接实例
        • 4.7.7 设置启动后模板(可选)
      • 4.8 跨账号迁移弹性IP地址
    • 五、实验过程中的问题
      • 问题① 源服务器停滞问题
      • 问题② SSH公钥获取并导入其他AWS账号中
      • 问题③ EC2实例是否支持跨AWS区域迁移?
      • 问题④ 弹性IP地址是否支持跨账号且能跨AWS区域迁移?
    • 六、参考链接

一、实验情景

近期,针对一家客户提出了这样的一个场景需求,如何实现云主机跨账号迁移?AWS服务是否有提供解决方案以实现这一操作。
image-20240619144124254

本实验将带领大家一起复现该实验场景,教你一步一步操作迁移。

二、实验关键服务概述

实验涉及的云资源服务

VPC、VPC对等连接、Amazon EC2、Amazon Application Migration Service、IAM、弹性IP地址等。

2.1 MGN解决方案

AWS Application Migration Service (MGN) 是一种高度自动化的直接迁移(重新托管)服务 简化、加快和降低将应用程序迁移到 AWS 的成本的解决方案。它 允许公司直接迁移大量物理、虚拟或云服务器,而无需 兼容性问题、性能中断或转换窗口过长。MGN 复制源 服务器添加到您的 AWS 账户中。当您准备好时,它会自动转换并启动您的 AWS 上的服务器,因此您可以快速从成本节约、生产力、弹性和 云的敏捷性。一旦您的应用程序在 AWS 上运行,您就可以利用 AWS 服务和 能够快速轻松地重新构建或重构这些应用程序 - 这使得 直接迁移:实现现代化的快速途径。


image-20240525145142931

2.2 VPC对等连接

VPC 对等连接是两个 VPC 之间的网络连接,通过此连接,您可以使用私有 IPv4 地址或 IPv6 地址在两个 VPC 之间路由流量。这两个 VPC 中的实例可以彼此通信,就像它们在同一网络中一样。您可以在自己的 VPC 之间创建 VPC 对等连接,或者在自己的 VPC 与其他AWS账户中的 VPC 之间创建连接。VPC 可位于不同区域内(也称为区域间 VPC 对等连接)。


image-20240619151127011

VPC 对等连接可以帮助您促进数据的传输。例如,如果您有多个AWS账户,则可以通过在这些账户中的 VPC 间建立对等连接来创建文件共享网络。您还可以使用 VPC 对等连接来允许其他 VPC 访问您某个 VPC 中的资源。


当您跨不同 AWS 区域在 VPC 之间建立对等关系时,不同 AWS 区域中的 VPC 中的资源(例如 EC2 实例和 Lambda 函数)可以使用私有 IP 地址相互通信,无需使用网关、VPN 连接或网络设备。这些流量保留在私有 IP 空间中。所有区域间流量均经过加密,没有单点故障或带宽瓶颈。流量一直处于全球AWS骨干网络中,不会经过公有 Internet,这样可以减少面临的威胁,例如常见攻击漏洞和 DDoS 攻击。区域间 VPC 对等连接提供了一种简单经济的方式,可在区域间共享资源或为实现地理冗余性而复制数据。


创建 VPC 对等连接,无需付费。通过保留在可用区内的 VPC 对等连接进行的所有数据传输(即使是在不同账户之间)都是免费的。通过跨可用区和区域的 VPC 对等连接进行的数据传输需支付费用。

三、实验架构示意图

image-20240525145238580

四、实验具体操作步骤

4.0 创建访问密钥

目标账户中,创建访问密钥。

image-20240523155142773

image-20240523155314941

image-20240523155349152

4.1 创建VPC资源

说明:在原始账号目标账号下面各创建一个对应的VPC,用作跨账号迁移过程中使用的VPC。

导航至 VPC 控制面板,创建VPC等资源。如下图所示。

4.1.1 在源账号上创建VPC

在原始账号上面创建VPC等资源。original-vpc:172.16.0.0/16

image-20240523115531718

image-20240523115621683

image-20240523115722952

4.1.2 在目标账号上创建VPC

同理,在目标账号上创建VPC等资源。target-vpc:10.0.0.0/16

image-20240523115950501

image-20240523120040601

image-20240523120108096

4.2 创建对等连接✨

4.2.1 发起对等连接请求

在原始账号或者目标账号发起对等连接请求即可(即由任意一方发起即可)。本操作将在目标账户中进行操作。

image-20240523120557300

image-20240523120840010

image-20240523120927208

4.2.2 接受对等连接请求

目标账号中,导航至 VPC 控制面板中,选择对等连接,点击接受请求

image-20240523121914956

image-20240523122223386

image-20240523122247279

至此,完成对等连接。

4.2.3 更新路由表条目

在原始账号和目标账号中的路由表添加对等连接的路由条目。

依次点击①②③,开始编辑路由。

image-20240523130851111

在其中一个账号中,添加对等连接的路由条目。

image-20240523143754261

image-20240523143827875

在另一个账号中,也添加对等连接的路由条目。

image-20240523144150214

image-20240523144241186

4.3 创建安全组

在原始账号和目标账号中创建所需要的安全组migration-security-group,留到后面使用。

安全组名称:migration-security-group

安全组ID:sg-0cc3aa9ed251920f8

VPC ID:vpc-091f0fa21e6112c

image-20240523144412746

  • 安全组名称:migration-security-group
  • 安全组ID:sg-067532200ef35639b
  • VPC ID:vpc-04238b2db26d82924

image-20240523144510435

4.4 创建EC2实例

说明:在原始账号下创建EC2实例(名称:migration_ec2_test)当作跨账号迁移的迁移云主机使用;

导航至 EC2 控制面板,开始创建EC2实例。

image-20240523145934438

image-20240523145952580

image-20240523150007717

image-20240523150123504

4.5 创建并关联弹性IP地址

image-20240523150253526

image-20240523150325474

image-20240523150356681

image-20240523150435385

ssh连接EC2实例测试。

image-20240523150641210

4.6 在EC2实例创建应用服务

在EC2实例上,安装NextCloud、Tomcat两项服务。用作跨账号迁移EC2实例过程中是否会导致业务应用中断或影响;

image-20240523154324630

image-20240523154342691

4.7 使用MGN解决方案迁移EC2实例✨

注意:此操作需要在目标账号中操作进行。

导航至 Amazon Application Migriation Service 控制面板。

image-20240522134405591

4.7.1 设置服务初始化

image-20240522134427864

image-20240522134505633

image-20240525115456751

温馨提示:建议在添加源服务器之前,先设置好复制模板、启动模板、启动后模板。

4.7.2 设置复制模板

image-20240523161331317

image-20240523161258664

4.7.3 添加源服务器

image-20240522134735519

要将您的源服务器添加到此控制台,您需要在其上安装 AWS 复制代理。使用以下选项构造安装命令,然后复制命令并下载安装程序。

image-20240523155631590

填写 AWS 复制代理安装。

image-20240523160208663

# 下载 安装程序 方法是使用此命令:
sudo wget -O ./aws-replication-installer-init https://aws-application-migration-service-us-east-1.s3.us-east-1.amazonaws.com/latest/linux/aws-replication-installer-init

# 将以下命令复制并输入到源服务器的命令行中:
sudo chmod +x aws-replication-installer-init; sudo ./aws-replication-installer-init --region us-east-1 --aws-access-key-id xxxxxxxxxxxxxxxxxxx --aws-secret-access-key xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx --user-provided-id i-04b982e0bb8339a77 --no-prompt

image-20240527102333563

等待代理AWS复制代理在源服务器上安装完成。此过程需要等待几分钟。

image-20240523160557028

显示successfully,表示复制代理已在源服务器上安装完成。

image-20240523162224076

在控制面板中,可以显示源服务器的相关迁移信息。

image-20240523162158329

等待数据复制完成。

image-20240523162451329

image-20240523162632667

数据复制状态:初始同步 42% | 剩余15 分钟

image-20240523163411007

在目标账号中 可以查看到卷中含有此SSD磁盘和快照。

image-20240523163114355

image-20240523163635520

数据复制状态:初始同步 100% | 正在创建快照

image-20240523163943725

数据复制状态:正常

image-20240523172532423

当数据复制状态显示正常,复制进度显示为初始复制已完成,即可进入下一步操作。

image-20240523172647264

4.7.4 设置启动模板

image-20240523161455983

image-20240523161529499

⚠️设置默认版本。

image-20240523180233802

若没有设置成默认模板,在启动测试实例会出现如下报错:An error occurred (InvalidSubnetID.NotFound) when calling the DescribeSubnets operation: The subnet ID 'subnet-0f944574db05e97bd' does not exist


image-20240523180529633

4.7.5 启动测试实例

image-20240523172833790

image-20240523172848042

image-20240523172927153

image-20240523174258366

image-20240523182012332

image-20240523182037215

image-20240523182117037

image-20240523182445488

image-20240523182219871

4.7.6 启动割接实例

image-20240523182610139

image-20240523182642039

image-20240523182702249

image-20240523183754955

割接完成,在目标账号中,可以看到割接过来的EC2实例,且原始账号中的EC2实例正常运行不受影响。

image-20240523184119961

image-20240523184403922

在这里插入图片描述

完成割接。

image-20240523184613386

image-20240523184834841

4.7.7 设置启动后模板(可选)

image-20240523170049129

image-20240523170114336

image-20240523170232811

4.8 跨账号迁移弹性IP地址

注意:弹性IP地址支持跨AWS账号且在同一AWS区域迁移,但不支持跨AWS区域迁移。

image-20240523185145239

image-20240523185201712

image-20240523185217988

image-20240523185326843

image-20240523185524354

image-20240523185541711

在目标账号中,接受转移。

image-20240523190011060

五、实验过程中的问题

问题① 源服务器停滞问题

若出现如下错误,点击复制下拉框,选择编辑复制设置

image-20240523161623422

image-20240523161724260

image-20240523161842364

解决方法:先停止数据复制,再开始数据复制。

image-20240523162015217

image-20240523161920047

image-20240523162123356


问题② SSH公钥获取并导入其他AWS账号中

You are trying to import the private ssh key file. You should be importing the public ssh key file only.无法通过 AWS 控制台从现有密钥对导入 EC2 密钥对 (长度超过最大值)

ssh-keygen -y -f KEYPAIR.pem

image-20240523193310745

https://serverfault.com/questions/334670/cannot-import-ec2-keypair-length-exceeds-maximum-via-aws-console-from-existing

image-20240525120514618

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCMREtMXMkhxBF2RE11i0+saO+DL8WLbK64UXzNtd1oXCOrIy6v18lkOx8+gchjs5s9KrLZuMPuHstu+WH1T+xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx3h8YXXUJyH1KVooiqu8ANBq9KBnUs0B2L6hLV0VZy5

在目标账号中,导入原始账号下,该EC2实例SSH远程连接的密钥对。

image-20240523172428204

image-20240523172449311

image-20240523192725882

image-20240523192755714

问题③ EC2实例是否支持跨AWS区域迁移?

支持。

问题④ 弹性IP地址是否支持跨账号且能跨AWS区域迁移?

不支持。

只支持跨账号同一AWS区域之间迁移。

六、参考链接

1️⃣什么是 AWS Application Migration Service?- 应用程序迁移服务

2️⃣如何使用新的 AWS Application Migration Service 进行直接迁移 | 亚马逊AWS官方博客

3️⃣使用 MGN 连接器简化 亚马逊云科技 应用程序迁移服务复制代理部署 | 亚马逊云科技 云运营与迁移博客

4️⃣ 什么是 VPC 对等? - Amazon Virtual Private Cloud

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1853184.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue上传文件拿到File,下载文件到本地

vue中使用upload组件上传pdf文件,拿到File内容后,下载pdf文件到本地vue中根据url下载pdf文件到本地 File文件内容的格式 注意:如果使用iview的upload组件上,要获取File文件,需要在before-upload钩子上获取 async down…

分治精炼宝库----归并排序应用( ´◔︎ ‸◔︎`)

目录 一.基本概念: 二.归并排序: 三.交易逆序对总数: 四.计算右侧小于当前元素的个数: 五.翻转对: 六.合并k个有序链表: 一.基本概念: 🐻在计算机科学中,分治法是一种很重要的算法。字面上的…

深入理解数据仓库建模——数据湖、数仓一体化

引言 在当今数据驱动的时代,数据仓库和数据湖的结合已经成为企业数据管理的关键。本文将深入探讨数据湖与数据仓库一体化的概念、优势以及实现方法,并结合实际案例,为大家展示如何有效地实现这一目标。 数据湖与数据仓库的区别 数据湖和数…

服务器数据恢复—raid5热备盘同步失败导致阵列崩溃如何恢复数据?

服务器存储数据恢复环境&故障: 某品牌DS5300存储,包含一个存储机头和多个磁盘柜,组建了多组RAID5磁盘阵列。 某个磁盘柜中的一组RAID5阵列由15块数据盘和1块热备硬盘组建。该磁盘柜中的某块硬盘离线,热备盘自动替换并开始同步…

基于YOLOv5+pyqt5的口罩佩戴检测系统(PyQT页面+YOLOv5模型+数据集)

简介 在各种工作环境和公共场所,确保人们正确佩戴口罩对个人防护和公共卫生至关重要,尤其是在医疗设施、制造业车间和拥挤的公共交通中。为了满足这一需求,我们开发了一种基于YOLOv5目标检测模型的口罩佩戴检测系统。本项目不仅实现了高精度的口罩佩戴检测,还设计了一个可…

STM32上实现spwm调制原理分析

在STM32微控制器上实现SPWM(正弦脉宽调制,Sinusoidal Pulse Width Modulation)调制的核心是利用高频载波(三角波)与低频基波(正弦波)作比较得出。 那么在STM32里三角波和正弦波分别是什么&…

在React中,如何利用React.memo函数对函数组件进行优化?

React.memo 是 React 的一个高阶组件,用于对函数组件进行性能优化。它通过记忆化(memoization)来避免不必要的重新渲染。当组件的 props 没有变化时,React.memo 可以防止组件重新渲染,从而提高应用的性能。 使用 Reac…

DVWA 靶场 SQL Injection (Blind) 通关解析

前言 DVWA代表Damn Vulnerable Web Application,是一个用于学习和练习Web应用程序漏洞的开源漏洞应用程序。它被设计成一个易于安装和配置的漏洞应用程序,旨在帮助安全专业人员和爱好者了解和熟悉不同类型的Web应用程序漏洞。 DVWA提供了一系列的漏洞场…

VSCode 安装Remote-SSH

1、打开扩展商店安装Remote-SSH 快捷键:CtrlShiftX 2、配置ssh连接 打开命令面板(CtrlShiftP) 输入"Remote-SSH: Connect to Host"并选择。 输入你的Ubuntu服务器的IP地址或主机名。 3、连接到ubuntu服务器 如果是第一次连接&…

GPTCache:革新大模型缓存,降低成本,提升效率

GPTCache介绍 随着应用程序越来越受欢迎并遇到更高的流量水平,与 LLM API 调用相关的费用可能会变得相当可观。此外,LLM 服务的响应时间可能会很慢,尤其是在处理大量请求时。GPTCache是一个致力于构建用于存储 LLM 响应的语义缓存的项目。 项目架构 数字人助力传统客服 1…

Inpaint软件最新版下载【安装详细图文教程】

​根据使用者情况表明在今天的数字时代,我们经常会遇到需要处理图形的情况,然而,当我们遇到水印在图形上,我们就需要寻找一个有效的方式来去除它,Inpaint软件就是一个非常实用的工具,它能够帮助我们去除水印…

数据结构小知识2:树

一、什么是树 数据结构中的树是一种非常重要的非线性数据结构。它由节点(Node)和边(Edge)组成,用于表示具有层次关系的数据。 1.1、树的基本概念 节点(Node): 树的基本单位&…

修改yarn、npm、pnpm为国内镜像源

国内由于网络的原因,使用官方的npm、yarn、pnpm访问下载依赖库会很慢,有时候还会出现无法访问的情况,这时候就需要我们给npm、yarn、pnpm换一个国内的镜像源的,一般的我们可以将镜像换成淘宝的源,由于平时比较常用到的…

《珊瑚岛》是一款什么类型的游戏 苹果电脑如何玩到《珊瑚岛》

在众多电子游戏中,有些游戏因其独特的游戏体验和丰富的内容而脱颖而出,《珊瑚岛》便是其中之一。在游戏中你将离开宝京前往珊瑚岛,种植农作物、饲养动物、和岛民成为朋友。您不仅可以振兴该岛小镇,还可以保护和修复周围的珊瑚礁。…

Part 8.2 最短路问题

很多题目都可以转化为最短路的模型。因此&#xff0c;掌握最短路算法非常重要。 >最短路模板< 【模板】全源最短路&#xff08;Johnson&#xff09; 题目描述 给定一个包含 n n n 个结点和 m m m 条带权边的有向图&#xff0c;求所有点对间的最短路径长度&#xff…

流水账里的贷款密码:如何打造银行眼中的“好流水”

说到贷款&#xff0c;很多人可能都遇到过这样的困惑&#xff1a;明明觉得自己条件不错&#xff0c;为啥银行就是不给批呢&#xff1f;其实&#xff0c;银行在审批贷款时&#xff0c;除了看你的征信记录、收入证明这些基础材料外&#xff0c;还有一个很重要的参考指标&#xff0…

LinkedHashMap详解

目录 LinkedHashMap详解1、LinkedHashMap的继承体系2、LinkedHashMap的特性介绍和代码示例①、特性②、适用场景使用LinkedHashMap 实现最简单的 LRU缓存 3、LinkedHashMap的构造函数4、LinkedHashMap是如何存储元素的&#xff0c;底层数据结构是什么&#xff1f;LinkedHashMap…

JAVA复习3

目录 19. 下列关于 do…while 语句和 while 语句的叙述中错误的是&#xff08; C &#xff09; 20. 若有定义 int a9, b6; System.out.println(a > b) 的结果是&#xff08; D &#xff09; 21. 关于接口和抽象类&#xff0c;下列说法正确的是&#xff08;A&#xff09; …

C++并发之协程实例(三)(co_await)

目录 1 协程2 实例3 运行 1 协程 协程(Coroutines)是一个可以挂起执行以便稍后恢复的函数。协程是无堆栈的&#xff1a;它们通过返回到调用方来暂停执行&#xff0c;并且恢复执行所需的数据与堆栈分开存储。这允许异步执行的顺序代码&#xff08;例如&#xff0c;在没有显式回调…

Interleaving Retrieval with Chain-of-Thought Reasoning for ... 论文阅读

Interleaving Retrieval with Chain-of-Thought Reasoning for Knowledge-Intensive Multi-Step Questions 论文阅读 文章目录 Interleaving Retrieval with Chain-of-Thought Reasoning for Knowledge-Intensive Multi-Step Questions 论文阅读 Abstract介绍相关工作开放域QA提…