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

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

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

在之前的任务中,您验证了初始发现数据、迁移策略和大规模迁移的迁移模式。在此任务中,您将确定需要哪些元数据并决定如何收集这些元数据。此任务由以下步骤组成:

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

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

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

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

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

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

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

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

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

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

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

    • 波浪规划

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

    • 运算

    • 治理

    • 灾难恢复

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

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

    • 波浪

    • 服务器

    • 数据库

    • 文件共享

    • 应用程序

  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 RDSAWS DMS(目标对象)

    • 使用 Amazon(工具)对 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

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

现在,您已经定义了模式或任务,可以确定源对象、目标对象、工具和其他业务信息所需的元数据。为了解释这个过程,本攻略手册以 Pattern 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

    工具(Al Migration Migr

    AWS的账户 IDAWS Application Migration Service

    AWS_Region

    工具(Al Migration Migr

    AWSApplication Servic

    replication_server_subnet

    工具(Al Migration Migr

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

    replication_server_security_group

    工具(Al Migration Migr

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

  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 文档中的 ApplicatiAmazon 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

    工具(Al Migration Migr

    AWS托管目标 EC2 实例的账户

    AWS_Region

    工具(Application Servic

    AWS托管目标 EC2 实例的区域

    replication_server_subnet

    工具(Application Servic

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

    replication_server_security_group

    工具(Application Servic

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

    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

自动化

源服务器

来自其他工具(例如 VMware vSphere)的清单

自动化

源服务器

Azon 拥有者问卷

手动

源服务器、目标服务器、波形

Ace 拥有者面试

手动

源服务器、目标服务器、波形

应用程序设计文档

手动

目标服务器

着陆区设计文档

手动

目标服务器、工具

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

  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

    目标服务器

    Azon 拥有者问卷

    target_security_group

    目标服务器

    Azon 拥有者问卷

    AWS_Region

    目标服务器

    Azon 拥有者问卷

    AWS_account_ID

    目标服务器

    Azon 拥有者问卷

    replication_server_subnet

    工具(Application Servic

    着陆区设计文档

    replication_server_security_group

    工具(Application Servic

    着陆区设计文档

    Name

    目标服务器(标签)

    Azon 拥有者问卷

    business_unit

    目标服务器(标签)

    Azon 拥有者问卷

    cost_center

    目标服务器(标签)

    Azon 拥有者问卷

    wave_ID

    波浪规划

    Ace 拥有者面试

    wave_start_date

    波浪规划

    Ace 拥有者面试

    wave_cutover_date

    波浪规划

    Ace 拥有者面试

定义单个元数据存储

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

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

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

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

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

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

您可以使用预先构建的工具,例如 TDS Transition Manager(TDS 网站),来存储数据,也可以构建自己的工具。当你构建自己的工具时,你需要数据库表,就像选项 1 中的 Excel 电子表格选项卡一样。例如:

  • 服务器表

  • 应用程序表

  • 数据库表

  • Application-to-server 和 application-to-database 映射表

  • 波浪规划表

  • 应用程序所有者问卷表

定义元数据收集过程

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

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

  2. 构建定期自动从每个来源导入元数据的定时任务。

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

下表是每个 ETL 脚本(ETL)脚本(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

目标服务器

Azon 拥有者问卷

ETL 脚本-应用程序所有者

target_security_group

目标服务器

Azon 拥有者问卷

ETL 脚本-应用程序所有者

AWS_Region

目标服务器

Azon 拥有者问卷

ETL 脚本-应用程序所有者

AWS_account_ID

目标服务器

Azon 拥有者问卷

ETL 脚本-应用程序所有者

Name

目标服务器(标签)

Azon 拥有者问卷

ETL 脚本-应用程序所有者

business_unit

目标服务器(标签)

Azon 拥有者问卷

ETL 脚本-应用程序所有者

cost_center

目标服务器(标签)

Azon 拥有者问卷

ETL 脚本-应用程序所有者

wave_ID

波浪规划

Azon 拥有者问卷

ETL 脚本-应用程序所有者

wave_start_date

波浪规划

Azon 拥有者问卷

ETL 脚本-应用程序所有者

wave_cutover_date

波浪规划

Azon 拥有者问卷

ETL 脚本-应用程序所有者

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

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

  1. 投资组合手册模板中,打开用于元数据管理的 Runbook 模板(Microsoft Word 格式)。这是构建您自己的ration Book 的起点。

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

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

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

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

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

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

    1. 元数据类型

    2. 元数据来源

    3. 元数据存储

    4. 集类型

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

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

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

任务退出条件

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

  • 您已经准备好了用于存储收集的元数据的单一存储库。

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

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

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

    • 元数据存储区及其访问方法的详细说明

    • 用于收集元数据的流程

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