任务 2:定义识别、收集和存储元数据的流程 - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

任务 2:定义识别、收集和存储元数据的流程

在上一个任务中,您验证了大型迁移的初始发现数据、迁移策略和迁移模式。在此任务中,您将确定需要哪些元数据并决定如何收集这些元数据。此任务包括以下步骤:

完成本节中的步骤时,请从元数据的角度考虑整个迁移周期。考虑产品组合评估、波浪规划、迁移、测试、转换后活动,然后分析所有可能的用例和相关用例。考虑完成完整迁移过程所需的信息可以帮助您识别该模式的所有元数据。

步骤 1:定义所需的元数据

在确定所需的元数据属性之前,必须了解迁移模式。例如,在将服务器迁移到 Amazon EC2 以及将数据库迁移到 Amazon RDS 时,您需要不同的元数据。大多数模式是由许多小任务组成的。为了执行迁移模式,您需要知道需要哪些元数据属性,然后收集该应用程序的元数据。您必须在初始化阶段确定并收集所需的元数据,以便在实施阶段可以毫不拖延地高效地执行迁移。

定义元数据属性的人员或团队首先定义执行迁移模式所需的步骤和任务。这些任务决定了需要哪些元数据,因此通过每项任务可以生成所需元数据的全面集合。确定需要哪些元数据的人员通常需要全面了解如何完成迁移模式。可能需要与编写迁移运行手册的人员进行协调。有关更多信息,请参阅AWS 大型迁移的迁移手册

在大规模迁移期间,有许多流程分布在所有工作流中,它们都依赖于元数据。拥有及时、准确的元数据会对大规模迁移的成功产生广泛而重大的影响。

在此步骤中,您将定义模式或任务,然后使用该定义来标识所需的元数据。

确定迁移模式和支持任务的关键组成部分

在此步骤中,您可以为每个迁移模式或支持任务定义关键组件,例如所使用的操作、源对象、目标对象和工具。然后,您可以根据答案命名模式或任务。

支持任务包括产品组合和迁移工作流在迁移期间需要执行的运营活动,例如波浪规划、应用程序优先级划分、依赖关系分析、治理、灾难恢复、性能测试或用户接受度测试。由于您需要元数据来支持这些任务,因此您可以为迁移模式和支持任务执行这些步骤。

  1. 操作-确定迁移策略或支持任务。请记住,一个操作可能有其他与之相关的操作。例如,您可能想要定义迁移操作。示例操作包括:

    • 迁移策略,例如重新托管、平台迁移或搬迁

    • 波浪规划

    • 应用程序优先级划分和依赖关系分析

    • 操作

    • 治理

    • 灾难恢复

    • 测试,例如性能测试或用户验收测试 (UAT)

  2. 源对象-确定要对其执行操作的源对象。示例源对象包括:

    • 波浪

    • Server

    • 数据库

    • 文件共享

    • 应用程序

  3. 工具-标识用于执行操作的服务或工具。您可能会使用多个工具或服务。示例工具包括:

    • AWS Application Migration Service

    • AWS DataSync

    • AWS Database Migration Service (AWS DMS)

    • AWS Backup

    • 性能监控工具

  4. 目标对象-确定操作完成后源所在的目标对象、服务或位置。对象、服务或位置的示例包括:

    • Amazon Elastic Compute Cloud (Amazon EC2)

    • Amazon Relational Database Service (Amazon RDS)

    • Amazon Elastic File System (Amazon EFS)

    • Amazon Elastic Container Service (Amazon ECS)

    • 波浪计划

  5. 模式名称-将您对前面步骤的答案组合在一起,如下所示:

    <action><source object><target object>开启/使用中 <tool>

    示例如下:

    • 使用应用程序迁移服务或云迁移工厂(工具)将(操作)波浪、应用程序或服务器(源对象)重新托管到 Amazon EC2(目标对象)

    • 使用(工具)将平台(操作)文件共享(源对象)重定向 Amazon EFS DataSync (目标对象)

    • 使用(工具)将平台(操作)数据库(源对象)重定向 Amazon RDS AWS DMS (目标对象)

    • 使用亚马逊(工具)对 Amazon EC2(目标对象)上的应用程序(源对象)进行性能监控 CloudWatch (操作)

    • 迁移后使用(工具)在 Amazon EC2(目标对象)上备份 AWS Backup (操作)服务器(源对象)

    • 波浪规划(操作)波浪、应用程序或服务器(源对象)以创建波浪计划(目标对象)

以下是如何记录模式 1:使用迁移模式表中的应用程序迁移服务或云迁移工厂重新托管到 Amazon EC2 的示例。

Pattern ID

1

Pattern name

使用应用程序迁移服务或云迁移工厂重新托管到 Amazon EC2

Action

重新托管迁移

Source object

Wave、应用程序或服务器

Tools

应用程序迁移服务或云迁移工厂

Target object

Amazon EC2

确定每种模式或任务所需的元数据

既然您已经定义了模式或任务,就可以确定源对象、目标对象、工具和其他业务信息所需的元数据。为了解释此过程,本手册使用模式 1:使用迁移模式表中的应用程序迁移服务或云迁移工厂重新托管到 Amazon EC2 作为示例。请注意,对于某些模式或任务,某些步骤可能不适用。

  1. 分析目标对象 — 从目标对象向后移动,手动创建对象并确定支持该对象所需的元数据。捕获元数据,如下表所示。

    例如,创建 EC2 实例时,必须选择实例类型、存储类型、存储大小、子网、安全组和标签。下表包含在目标对象是 EC2 实例时可能需要的元数据属性的示例。

    属性名称 对象类型 描述或目的

    target_subnet

    目标 EC2 实例

    目标 EC2 实例的子网

    target_subnet_test

    目标 EC2 实例

    测试目标 EC2 实例的子网

    target_security_group

    目标 EC2 实例

    目标 EC2 实例的安全组

    target_security_group_test

    目标 EC2 实例

    测试目标 EC2 实例的安全组

    IAM_role

    目标 EC2 实例

    AWS Identity and Access Management 目标 EC2 实例的 (IAM) 角色

    instance_type

    目标 EC2 实例

    目标 EC2 实例的实例类型

    AWS_account_ID

    目标 EC2 实例

    AWS 用于托管目标 EC2 实例的账户

    AWS_Region

    目标 EC2 实例

    AWS 托管目标 EC2 实例的区域

  2. 分析工具-使用该工具创建目标对象并检查是否存在差异。如下表所示,捕获特定于工具的元数据,如果迁移工具不支持这些属性,则将其从上表中删除。例如,您无法为应用程序迁移服务自定义操作系统类型和存储大小,因为重新托管迁移工具是 like-for-like。因此,如果目标操作系统和目标磁盘大小包含在上表中,则应移除这些属性。在上面的示例表中,该工具支持所有属性,因此无需执行任何操作。

    下表包括这些工具可能需要的元数据示例。

    属性名称 对象类型 描述或目的

    AWS_account_ID

    工具(应用程序迁移服务)

    AWS 的账户 ID AWS Application Migration Service

    AWS_Region

    工具(应用程序迁移服务)

    AWS 应用程序迁移服务区域

    replication_server_subnet

    工具(应用程序迁移服务)

    应用程序迁移服务复制服务器的子网

    replication_server_security_group

    工具(应用程序迁移服务)

    应用程序迁移服务复制服务器的安全组

  3. 分析源对象-通过评估以下操作来确定源对象所需的元数据:

    • 要迁移服务器,您需要知道源服务器名称和完全限定域名 (FQDN),才能连接到服务器。

    • 要迁移应用程序及其服务器,您需要知道应用程序名称、应用程序环境和 application-to-server 映射。

    • 要执行投资组合评估、确定应用程序优先级或定义移动组,您需要了解 application-to-server 映射、 application-to-database映射和 application-to-application 依赖关系。

    • 要管理波浪,你需要知道波浪 ID 以及波浪的开始和结束时间。

    下表包括源对象可能需要的元数据示例。

    属性名称 对象类型 描述或目的

    wave_ID

    源波

    波浪的 ID(例如:第 10 波)

    wave_start_date

    源波

    浪潮的开始日期

    wave_cutover_date

    源波

    浪潮的切换日期

    wave_owner

    源波

    浪潮的主人

    app_name

    源应用程序

    源应用程序名称

    app_to_server_mapping

    源应用程序

    一pplication-to-server 段关系

    app_to_DB_mapping

    源应用程序

    一pplication-to-database 段关系

    app_to_app_dependencies

    源应用程序

    应用程序的外部依赖关系

    server_name

    源服务器

    源服务器名称

    server_FQDN

    源服务器

    源服务器的完全限定域名

    server_OS_family

    源服务器

    源服务器的操作系统 (OS) 系列(例如:Windows 或 Linux)

    server_OS_version

    源服务器

    源服务器的操作系统版本(例如:Windows Server 2003)

    server_environment

    源服务器

    源服务器的环境(例如:开发、生产或测试)

    server_tier

    源服务器

    源服务器的层(例如:Web、数据库或应用程序)

    CPU

    源服务器

    源服务器中的 CPU 数量

    RAM

    源服务器

    源服务器的 RAM 大小

    disk_size

    源服务器

    源服务器的磁盘大小

  4. 考虑其他属性-除了主要操作外,还要考虑与目标对象或应用程序相关的其他操作和属性。对于示例模式,模式 1:使用应用程序迁移服务或云迁移工厂重新托管到 Amazon EC2,操作是重新托管,目标对象是 Amazon EC2。此目标对象的其他相关操作可能包括备份到 Amazon EC2、在迁移后监控 EC2 实例,以及使用标签管理与 EC2 实例相关的成本。您可能还需要考虑其他可帮助您管理迁移的应用程序属性,例如应用程序所有者,如果有疑问或切换,可能需要与他联系。

    下表包括常用的其他元数据的示例。此表包含您的目标 EC2 实例的标签。有关标签及其使用方法的更多信息,请参阅 Amazon EC2 文档中的标记您的 Amazon EC2 资源

    属性名称 对象类型 描述或目的

    Name

    目标 EC2 实例(标签)

    用于定义目标 EC2 实例名称的标签

    app_owner

    源应用程序

    源应用程序的所有者

    business_unit

    目标 EC2 实例(标签)

    用于标识目标 EC2 实例的业务部门的标签(例如:人力资源、财务或 IT)

    cost_center

    目标 EC2 实例(标签)

    用于标识目标 EC2 实例的成本中心的标签

  5. 创建表-将前面步骤中确定的所有元数据合并到一个表中。

    属性名称 对象类型 描述或目的

    wave_ID

    源波

    波浪的 ID(例如:第 10 波)

    wave_start_date

    源波

    浪潮的开始日期

    wave_cutover_date

    源波

    浪潮的切换日期

    wave_owner

    源波

    浪潮的主人

    app_name

    源应用程序

    源应用程序名称

    app_to_server_mapping

    源应用程序

    一pplication-to-server 段关系

    app_to_DB_mapping

    源应用程序

    一pplication-to-database 段关系

    app_to_app_dependencies

    源应用程序

    应用程序的外部依赖关系

    AWS_account_ID

    工具(应用程序迁移服务)

    AWS 用于托管目标 EC2 实例的账户

    AWS_Region

    工具(应用程序迁移服务)

    AWS 托管目标 EC2 实例的区域

    replication_server_subnet

    工具(应用程序迁移服务)

    应用程序迁移服务复制服务器的子网

    replication_server_security_group

    工具(应用程序迁移服务)

    应用程序迁移服务复制服务器的安全组

    server_name

    源服务器

    源服务器名称

    server_FQDN

    源服务器

    源服务器的完全限定域名

    server_OS_family

    源服务器

    源服务器的操作系统 (OS) 系列(例如:Windows 或 Linux)

    server_OS_version

    源服务器

    源服务器的操作系统版本(例如:Windows Server 2003)

    server_environment

    源服务器

    源服务器的环境(例如:开发、生产或测试)

    server_tier

    源服务器

    源服务器的层(例如:Web、数据库或应用程序)

    CPU

    源服务器

    源服务器中的 CPU 数量

    RAM

    源服务器

    源服务器的 RAM 大小

    disk_size

    源服务器

    源服务器的磁盘大小

    target_subnet

    目标服务器

    目标 EC2 实例的子网

    target_subnet_test

    目标服务器

    测试目标 EC2 实例的子网

    target_security_group

    目标服务器

    目标 EC2 实例的安全组

    target_security_group_test

    目标服务器

    测试目标 EC2 实例的安全组

    instance_type

    目标服务器

    目标 EC2 实例的实例类型

    IAM_role

    目标服务器

    AWS Identity and Access Management 目标 EC2 实例的 (IAM) 角色

    Name

    目标服务器(标签)

    用于定义目标 EC2 实例名称的标签

    app_owner

    源应用程序

    源应用程序的所有者

    business_unit

    目标服务器(标签)

    用于标识目标 EC2 实例的业务部门的标签(例如:人力资源、财务或 IT)

    cost_center

    目标服务器(标签)

    用于标识目标 EC2 实例的成本中心的标签

  6. 重复-重复此过程,直到记录了每种模式所需的元数据。

步骤 2:构建元数据存储和收集流程

在上一步中,您定义了支持迁移所需的元数据。在此步骤中,您将构建一个收集和存储元数据的流程。此步骤包括两个任务:

  1. 分析上一步中所需的元数据并确定来源。

  2. 定义高效存储和收集元数据的流程。

分析元数据源

有许多常见的元数据源。通常,您可以访问的第一件事是高级资产清单,该清单通常从配置管理数据库 (CMDB) 或其他现有工具中导出。但是,您还需要使用自动和手动流程从其他来源收集元数据。

下表包含常见来源、该源的标准收集流程以及您可以从该来源中找到的常见元数据类型。

元数据来源 馆藏类型 元数据类型

发现工具

自动

源服务器

CMDB

自动

源服务器

来自其他工具的库存,例如 rvT ools VMware vSphere

自动

源服务器

应用程序所有者问卷

手动

源服务器、目标服务器、wave

应用程序所有者访谈

手动

源服务器、目标服务器、wave

应用程序设计文档

手动

目标服务器

着陆区设计文档

手动

目标服务器、工具

列出所有可能的元数据来源后,您可以分析元数据类型并将每个源映射到您在上一步中确定的元数据属性。

  1. 从中获取元数据属性的完整列表步骤 1:定义所需的元数据

  2. 分析每种元数据类型,并确定哪些类型无法使用自动流程进行检索。这通常是目标服务器元数据波形元数据类型,因为它们需要应用程序所有者做出决定。例如,您将为目标 EC2 实例使用哪个子网和安全组?

  3. 分析每个元数据属性并将其映射到上表中的元数据源。将多个来源组合在一起是很常见的。您可以使用发现工具来收集一些源服务器元数据。有关使用发现工具收集元数据的信息,请参阅 AWS 规范指南网站上的自动投资组合发现入门

  4. 创建表以将元数据属性映射到其类型和来源。下表就是一个示例。

    Metadata 属性 元数据类型 元数据源

    app_name

    源应用程序

    CMDB

    app_owner

    源应用程序

    CMDB

    app_to_server_mapping

    源应用程序

    CMDB、发现工具或应用程序所有者问卷

    app_to_DB_mapping

    源应用程序

    CMDB、发现工具或应用程序所有者问卷

    app_to_app_dependencies

    源应用程序

    CMDB、发现工具或应用程序所有者问卷

    server_name

    源服务器

    CMDB

    server_FQDN

    源服务器

    CMDB

    server_OS_family

    源服务器

    CMDB

    server_IP

    源服务器

    发现工具

    disk_size

    源服务器

    发现工具

    instance_type

    目标服务器

    发现工具

    target_subnet

    目标服务器

    应用程序所有者问卷

    target_security_group

    目标服务器

    应用程序所有者问卷

    AWS_Region

    目标服务器

    应用程序所有者问卷

    AWS_account_ID

    目标服务器

    应用程序所有者问卷

    replication_server_subnet

    工具(应用程序迁移服务)

    着陆区设计文档

    replication_server_security_group

    工具(应用程序迁移服务)

    着陆区设计文档

    Name

    目标服务器(标签)

    应用程序所有者问卷

    business_unit

    目标服务器(标签)

    应用程序所有者问卷

    cost_center

    目标服务器(标签)

    应用程序所有者问卷

    wave_ID

    波浪规划

    应用程序所有者访谈

    wave_start_date

    波浪规划

    应用程序所有者访谈

    wave_cutover_date

    波浪规划

    应用程序所有者访谈

定义单个元数据存储

将每个元数据属性映射到其源之后,您可以定义元数据的存储位置。无论以何种方式存储元数据以及在何处存储,您都只需要选择一个存储库。这样可以确保您拥有单一的真相来源。在大型迁移中,将元数据存储在多个位置是一个常见的错误。

选项 1:将元数据存储在共享存储库的电子表格中

尽管此选项听起来像是一个非常手动的过程,但它是大型迁移最常用的数据存储。将电子表格存储在共享存储库中也很常见,例如 Microsoft SharePoint 站点。

Microsoft Excel 电子表格易于自定义,无需花费很长时间即可构建。缺点是,如果你有大量的元数据,它会变得非常复杂,而且可能很难管理资产之间的关系,例如服务器、应用程序和数据库之间的关系。另一个挑战是版本管理。您需要将写入权限限制为只有少数人,或者需要使用自动流程来更新电子表格。

投资组合手册模板中,您可以使用用于波浪规划和迁移的仪表板模板(Excel 格式)作为构建自己的数据存储电子表格的起点。

选项 2:将元数据存储在专门构建的工具中

您可以使用诸如 TDS 过渡管理器(TDS 网站)之类的预建工具来存储数据,也可以自己构建工具。构建自己的工具时,需要数据库表,就像选项 1 中的 Excel 电子表格选项卡一样。例如:

  • 服务器表

  • 应用程序表

  • 数据库表

  • A pplication-to-server 和 application-to-database 映射表

  • 波浪计划表

  • 应用程序所有者问卷表

定义元数据收集流程

在前面的步骤中,您已将元数据映射到其源,并定义了要在其中收集元数据的数据存储。在此步骤中,您将构建有效收集元数据的流程。您应尽量减少手动 copy-and-paste 流程,并使用自动化功能从每个来源收集元数据。有三个步骤:

  1. 根据元数据映射表为每个元数据源生成提取、转换和加载 (ETL) 脚本。

  2. 生成定期自动从每个来源导入元数据的计划任务。

  3. 构建导出流程或提供对存储库中存储的元数据的应用程序编程接口 (API) 访问权限。

下表是每个 ETL 脚本收集的元数据属性的示例。元数据存储在您在上一节中定义的位置,例如电子表格或专用工具。

Metadata 属性 元数据类型 元数据来源 收款流程

app_name

源应用程序

CMDB

ETL 脚本 — CMDB

app_owner

源应用程序

CMDB

ETL 脚本 — CMDB

app_to_server_mapping

源应用程序

CMDB

ETL 脚本 — CMDB

app_to_DB_mapping

源应用程序

CMDB

ETL 脚本 — CMDB

app_to_app_dependencies

源应用程序

发现工具

ETL 脚本 — 发现工具

server_name

源服务器

CMDB

ETL 脚本 — CMDB

server_FQDN

源服务器

CMDB

ETL 脚本 — CMDB

server_OS_family

源服务器

CMDB

ETL 脚本 — CMDB

server_OS_version

源服务器

CMDB

ETL 脚本 — CMDB

disk_size

源服务器

发现工具

ETL 脚本 — 发现工具

instance_type

目标服务器

发现工具

ETL 脚本 — 发现工具

target_subnet

目标服务器

应用程序所有者问卷

ETL 脚本-应用程序所有者

target_security_group

目标服务器

应用程序所有者问卷

ETL 脚本-应用程序所有者

AWS_Region

目标服务器

应用程序所有者问卷

ETL 脚本-应用程序所有者

AWS_account_ID

目标服务器

应用程序所有者问卷

ETL 脚本-应用程序所有者

Name

目标服务器(标签)

应用程序所有者问卷

ETL 脚本-应用程序所有者

business_unit

目标服务器(标签)

应用程序所有者问卷

ETL 脚本-应用程序所有者

cost_center

目标服务器(标签)

应用程序所有者问卷

ETL 脚本-应用程序所有者

wave_ID

波浪规划

应用程序所有者问卷

ETL 脚本-应用程序所有者

wave_start_date

波浪规划

应用程序所有者问卷

ETL 脚本-应用程序所有者

wave_cutover_date

波浪规划

应用程序所有者问卷

ETL 脚本-应用程序所有者

步骤 3:在运行手册中记录元数据要求和收集流程

在本任务中,您需要在元数据管理运行手册中记录您的决策。在迁移过程中,您的投资组合工作流将遵守本操作手册作为收集和存储元数据的标准程序。

  1. 投资组合剧本模板中,打开用于元数据管理的运行手册模板(Microsoft Word 格式)。这可以作为构建自己的运行手册的起点。

  2. 元数据属性部分,为每种迁移模式创建元数据属性表,并使用中步骤 1:定义所需的元数据标识的元数据属性填充这些表。

  3. 来源位置部分,记录您在中确定的来源分析元数据源

  4. 源位置访问说明部分,记录用户访问元数据源位置需要遵循的步骤。

  5. 在 “元数据存储” 部分,记录用户访问您在中创建的元数据存储所需执行的步骤定义单个元数据存储

  6. 数据收集类型部分,确定将用于每个元数据源的数据收集流程。理想情况下,您应该使用自动化脚本自动收集所有元数据。

  7. 在 “按元数据属性收集数据” 部分中,针对每个元数据属性,根据中的说明确定以下内容定义元数据收集流程

    1. 元数据类型

    2. 元数据来源

    3. 元数据存储

    4. 馆藏类型

  8. 收集元数据部分,根据您的用例更新流程。这是投资组合工作流在实施阶段收集波浪元数据时所遵循的过程。

  9. 验证您的操作手册是否完整且准确。这本运行手册应该是迁移期间的真实来源。

  10. 与团队共享您的元数据管理操作手册以供审阅。

任务退出标准

完成以下任务后,继续执行下一个任务:

  • 您已经准备好了一个存储库来存储收集的元数据。

  • 在元数据管理运行手册中,您定义并记录了以下内容:

    • 每种迁移模式所需的元数据属性

    • 元数据源和有关如何访问每个来源的详细说明

    • 元数据存储以及如何访问它的详细说明

    • 用于收集元数据的流程

    • 将元数据属性映射到元数据源和收集过程的映射表