

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Cree una malla de datos empresarial con Amazon DataZone y AWS CDK AWS CloudFormation
<a name="build-enterprise-data-mesh-amazon-data-zone"></a>

*Dhrubajyoti Mukherjee, Ravi Kumar, Weizhou Sun y Adjoa Taylor, Amazon Web Services*

## Resumen
<a name="build-enterprise-data-mesh-amazon-data-zone-summary"></a>

En Amazon Web Services (AWS), los clientes saben que los datos son la clave para acelerar la innovación y favorecer el valor empresarial de su empresa. Para administrar esta enorme cantidad de datos, puede adoptar una arquitectura descentralizada, como una malla de datos. Una arquitectura de malla de datos facilita la reflexión orientada al producto, que incluye una mentalidad que tiene en cuenta a los clientes, los objetivos y el mercado. La malla de datos también ayuda a establecer un modelo de gobierno federado que proporciona un acceso rápido y seguro a los datos.

En [Estrategias para crear en AWS una solución empresarial basada en una malla de datos](https://docs.aws.amazon.com/prescriptive-guidance/latest/strategy-data-mesh/introduction.html) se analiza cómo puede utilizar el marco estratégico de malla de datos para formular e implementar una estrategia de malla de datos para su organización. Al utilizar el marco estratégico de malla de datos, puede optimizar la organización de los equipos y sus interacciones para acelerar su transición a la malla de datos.

Este documento proporciona orientación sobre cómo crear una malla de datos empresarial con [Amazon DataZone](https://docs.aws.amazon.com/datazone/latest/userguide/what-is-datazone.html). Amazon DataZone es un servicio de administración de datos para catalogar, descubrir, compartir y controlar los datos almacenados AWS en fuentes locales y de terceros. El patrón incluye artefactos de código que le ayudan a implementar la infraestructura de soluciones de datos basada en una malla de datos mediante y. AWS Cloud Development Kit (AWS CDK) AWS CloudFormation Este patrón está pensado para arquitectos e ingenieros de nube. DevOps 

Para más información sobre los objetivos de este patrón y el alcance de la solución, consulte la sección [Información adicional](#build-enterprise-data-mesh-amazon-data-zone-additional).

## Requisitos previos y limitaciones
<a name="build-enterprise-data-mesh-amazon-data-zone-prereqs"></a>

**Requisitos previos **
+ Un mínimo de dos activos Cuentas de AWS: uno para la cuenta de gobierno central y otro para la cuenta de miembro
+ AWS credenciales de administrador para la cuenta de gobierno central en su entorno de desarrollo
+ AWS Command Line Interface (AWS CLI) [instaladas](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) para administrarlas Servicios de AWS desde la línea de comandos
+ Node.js y Node Package Manager (npm) [instalados](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) para administrar aplicaciones AWS CDK 
+ AWS CDK El kit de herramientas [se instala](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_install) globalmente en su entorno de desarrollo mediante npm para sintetizar e implementar aplicaciones AWS CDK 

  ```
  npm install -g aws-cdk
  ```
+ La versión 3.12 de Python instalada en su entorno de desarrollo
+ TypeScript instalado en su entorno de desarrollo o instalado globalmente mediante el compilador npm:

  ```
  npm install -g typescript
  ```
+ Docker instalado en su entorno de desarrollo
+ Un sistema de control de versiones como Git para mantener el código fuente de la solución (recomendado)
+ Un entorno de desarrollo integrado (IDE) o un editor de texto compatible con Python y TypeScript (muy recomendable)

**Limitaciones**
+ La solución se ha probado solo en máquinas que ejecutan Linux o macOS.
+ En la versión actual, la solución no admite la integración de Amazon DataZone y es de forma AWS IAM Identity Center predeterminada. Sin embargo, puede modificar la configuración para admitir esta integración.

**Versiones de producto**
+ Python versión 3.12

## Arquitectura
<a name="build-enterprise-data-mesh-amazon-data-zone-architecture"></a>

En el siguiente diagrama se muestra un ejemplo de la arquitectura de referenciade la malla de datos. La arquitectura se basa en Amazon DataZone y utiliza Amazon Simple Storage Service (Amazon S3) AWS Glue Data Catalog y como fuentes de datos. El Servicios de AWS que utilices con Amazon DataZone en tu implementación de malla de datos puede variar en función de los requisitos de tu organización.

![Flujo de trabajo de cinco pasos para las cuentas de miembros y la cuenta de gobernanza central.](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/79056dd9-e669-4302-afb8-21e3e0e8a136/images/eacbffca-4f25-405a-a7c8-f89d0fee5682.png)


1. En las cuentas de los productores, los datos sin procesar son aptos para el consumo en su forma actual o se transforman para su consumo mediante el uso AWS Glue. Los metadatos técnicos de los datos se almacenan en Amazon S3 y se evalúan mediante un rastreador de AWS Glue datos. La calidad de los datos se mide mediante [Calidad de datos de AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/glue-data-quality.html). La base de datos de origen del catálogo de datos está registrada como un activo en el DataZone catálogo de Amazon. El DataZone catálogo de Amazon se aloja en la cuenta de gobierno central mediante los trabajos de la fuente de DataZone datos de Amazon.

1. La cuenta de gobierno central aloja el DataZone dominio de Amazon y el portal de DataZone datos de Amazon. Los productores y consumidores Cuentas de AWS de datos están asociados al DataZone dominio Amazon. Los DataZone proyectos de Amazon de los productores y consumidores de datos se organizan en las correspondientes unidades de DataZone dominio de Amazon.

1. Los usuarios finales de los activos de datos inician sesión en el portal de DataZone datos de Amazon mediante sus credenciales AWS Identity and Access Management (de IAM) o mediante un inicio de sesión único (con integración a través del Centro de identidad de IAM). Buscan, filtran y visualizan la información de los activos (por ejemplo, información sobre la calidad de los datos o metadatos empresariales y técnicos) en el catálogo de DataZone datos de Amazon.

1. Cuando un usuario final encuentra el activo de datos que busca, utiliza la función de DataZone suscripción de Amazon para solicitar el acceso. El propietario de los datos del equipo de productores recibe una notificación y evalúa la solicitud de suscripción en el portal de DataZone datos de Amazon. El propietario de los datos aprueba o rechaza la solicitud de suscripción en función de su validez.

1. Una vez concedida y tramitada la solicitud de suscripción, el consumidor puede acceder al activo desde su cuenta para realizar las siguientes actividades:
   + Desarrollo de modelos de inteligencia artificial y aprendizaje automático mediante Amazon AI SageMaker 
   + Análisis e informes mediante Amazon Athena y Amazon Quick

## Tools (Herramientas)
<a name="build-enterprise-data-mesh-amazon-data-zone-tools"></a>

**Servicios de AWS**
+ [Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/what-is.html) es un servicio interactivo de consultas que le permite analizar datos directamente en Amazon Simple Storage Service (Amazon S3) usando SQL estándar.
+ [AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/v2/guide/home.html)es un marco de desarrollo de software que le ayuda a definir y aprovisionar la Nube de AWS infraestructura en código.
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)le ayuda a configurar AWS los recursos, aprovisionarlos de forma rápida y coherente y gestionarlos a lo largo de su ciclo de vida en todo el Cuentas de AWS mundo Regiones de AWS.
+ [Amazon DataZone](https://docs.aws.amazon.com/datazone/latest/userguide/what-is-datazone.html) es un servicio de gestión de datos que te ayuda a catalogar, descubrir, compartir y gestionar los datos AWS almacenados en fuentes externas, locales y de terceros.
+ [Amazon Quick](https://docs.aws.amazon.com/quicksight/latest/user/welcome.html) es un servicio de inteligencia empresarial (BI) a escala de nube que le ayuda a visualizar, analizar y elaborar informes sobre sus datos en un único panel.
+ [Amazon SageMaker AI](https://docs.aws.amazon.com/sagemaker/?id=docs_gateway) es un servicio de aprendizaje automático (ML) gestionado que le ayuda a crear y entrenar modelos de aprendizaje automático para luego implementarlos en un entorno hospedado listo para la producción.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) es un servicio de almacenamiento de objetos basado en la nube que lo ayuda a almacenar, proteger y recuperar cualquier cantidad de datos.
+ [Amazon Simple Queue Service (Amazon SQS)](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html) ofrece una cola alojada segura, duradera y disponible que le permite integrar y desacoplar sistemas y componentes de software distribuidos.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) es un servicio de almacenamiento de objetos basado en la nube que lo ayuda a almacenar, proteger y recuperar cualquier cantidad de datos.

**Repositorio de código**

La solución está disponible en el repositorio GitHub [data-mesh-datazone-cdk-cloudformation](https://github.com/aws-samples/data-mesh-datazone-cdk-cloudformation).

## Epics
<a name="build-enterprise-data-mesh-amazon-data-zone-epics"></a>

### Configuración del entorno
<a name="set-up-the-environment"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Clonar el repositorio. | Para clonar el repositorio, ejecute el siguiente comando en el entorno de desarrollo local (Linux o macOS):<pre>git clone https://github.com/aws-samples/data-mesh-datazone-cdk-cloudformation</pre> | Arquitecto e ingeniero de nube DevOps  | 
| Cree el entorno. | Para crear el entorno virtual de Python, ejecute los siguientes comandos:<pre> python3 -m venv .venv<br /> source .venv/bin/activate<br /> pip install -r requirements.txt</pre> | Arquitecto de nube, DevOps ingeniero | 
| Arranque la cuentas. | Para iniciar la cuenta de gobierno central mediante AWS CDK, ejecute el siguiente comando:<pre>cdk bootstrap aws://<GOVERNANCE_ACCOUNT_ID>/<AWS_REGION></pre><br />Inicie sesión en Consola de administración de AWS, abra la consola de cuentas de gobierno central y obtenga el nombre de recurso de Amazon (ARN) de la función de AWS CDK ejecución. | Arquitecto e ingeniero de nube DevOps  | 
| Cree el archivo `DzDataMeshMemberStackSet.yaml`. | Para crear el archivo `DzDataMeshMemberStackSet.yaml`, vaya al directorio raíz del repositorio e inicie el siguiente script de bash:<pre>./lib/scripts/create_dz_data_mesh_member_stack_set.sh</pre> | Arquitecto de nube, DevOps ingeniero | 
| Confirme la creación de la plantilla. | Asegúrese de que el archivo CloudFormation de plantilla se haya creado en la `lib/cfn-templates/DzDataMeshMemberStackSet.yaml` ubicación. | Arquitecto e DevOps ingeniero de la nube | 

### Implementación de recursos en la cuenta de gobernanza central
<a name="deploy-resources-in-the-central-governance-account"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Modifique la configuración. | En el archivo `config/Config.ts`, modifique los siguientes parámetros:<pre>DZ_APPLICATION_NAME - Name of the application.<br />DZ_STAGE_NAME - Name of the stage. <br />DZ_DOMAIN_NAME - Name of the Amazon DataZone domain<br />DZ_DOMAIN_DESCRIPTION - Description of the Amazon DataZone domain<br />DZ_DOMAIN_TAG - Tag of the Amazon DataZone domain<br />DZ_ADMIN_PROJECT_NAME - Name of the Amazon DataZone project for administrators<br />DZ_ADMIN_PROJECT_DESCRIPTION - Description of the Amazon DataZone project for administrators<br />CDK_EXEC_ROLE_ARN - ARN of the cdk execution role<br />DZ_ADMIN_ROLE_ARN - ARN of the administrator role</pre><br />Mantenga los parámetros restantes vacíos. | Arquitecto de nube, DevOps ingeniero | 
| Actualiza la configuración del DataZone glosario de Amazon. | Para actualizar la configuración del DataZone glosario de Amazon en el `lib/utils/glossary_config.json` archivo, usa el siguiente ejemplo de configuración:<pre>{<br />    "GlossaryName": "PII Data",<br />    "GlossaryDescription": "If data source contains PII attributes",<br />    "GlossaryTerms": [{<br />            "Name": "Yes",<br />            "ShortDescription": "Yes",<br />            "LongDescription": "Yes Glossary Term"<br />        },<br />        {<br />            "Name": "No",<br />            "ShortDescription": "No",<br />            "LongDescription": "No Glossary Term"<br />        }<br />    ]<br />}</pre> | Arquitecto e ingeniero de nube DevOps  | 
| Actualiza la configuración del formulario de DataZone metadatos de Amazon. | Para actualizar la configuración del formulario de DataZone metadatos de Amazon en`lib/utils/metadata_form_config.json file`, utilice el siguiente ejemplo de configuración:<pre>{<br />    "FormName": "ScheduleDataRefresh",<br />    "FormDescription": "Form for data refresh schedule",<br />    "FormSmithyModel": "@amazon.datazone#displayname(defaultName: \"Data Refresh Schedule\")\nstructure ScheduleDataRefresh {\n    @documentation(\"Schedule of Data Refresh\")\n    @required\n    @amazon.datazone#searchable\n    @amazon.datazone#displayname(defaultName: \"Data Refresh Schedule\")\n    data_refresh_schedule: String\n}"<br />}</pre> | Arquitecto e DevOps ingeniero de nube | 
| Exporte las AWS credenciales. | Para exportar AWS las credenciales a su entorno de desarrollo para el rol de IAM con permisos administrativos, utilice el siguiente formato:<pre>export AWS_ACCESS_KEY_ID=<br />export AWS_SECRET_ACCESS_KEY=<br />export AWS_SESSION_TOKEN=</pre> | Arquitecto de nube, ingeniero DevOps  | 
| Sintetice la plantilla. | Para sintetizar la CloudFormation plantilla, ejecute el siguiente comando:<pre>npx cdk synth</pre> | Arquitecto de nube, ingeniero DevOps  | 
| Implemente la solución. | Ejecute el siguiente comando para implementar la solución:<pre>npx cdk deploy --all</pre> | Arquitecto de nube, DevOps ingeniero | 

### Configuración de nuevas cuentas de miembros
<a name="configure-new-member-accounts"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Implemente la plantilla. | Implemente la CloudFormation plantilla ubicada `lib/cfn-templates/DzDataMeshCfnStackSetExecutionRole.yaml` en la cuenta del miembro con los siguientes parámetros de entrada:<br /> [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/build-enterprise-data-mesh-amazon-data-zone.html) | Arquitecto de nube, ingeniero DevOps  | 
| Actualice el ARNs. | Para actualizar la lista de funciones de CloudFormation StackSet ejecución ARNs de las cuentas de los miembros, utilice el siguiente código:<pre>DZ_MEMBER_STACK_SET_EXEC_ROLE_LIST  - List of Stack set execution role arns for the member accounts.</pre> | Arquitecto de nube, DevOps ingeniero | 
| Sintetice e implemente. | Para sintetizar la CloudFormation plantilla e implementar la solución, ejecute los siguientes comandos:<pre>npx cdk synth<br />npx cdk deploy --all</pre> | Arquitecto de nube, ingeniero DevOps  | 
| Asocie la cuenta de miembro | Para asociar la cuenta de miembro a la cuenta de gobernanza central, haga lo siguiente:[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/build-enterprise-data-mesh-amazon-data-zone.html) | Arquitecto e DevOps ingeniero de nube | 
| Actualice los parámetros. | Para actualizar los parámetros específicos de la cuenta de miembro en el archivo de configuración de `config/Config.ts`, utilice el siguiente formato:<pre>export const DZ_MEMBER_ACCOUNT_CONFIG: memberAccountConfig = {<br />  '123456789012' : {<br />    PROJECT_NAME: 'TEST-PROJECT-123456789012',<br />    PROJECT_DESCRIPTION: 'TEST-PROJECT-123456789012',<br />    PROJECT_EMAIL: 'user@xyz.com'<br />  }<br />}</pre> | Arquitecto de nube, DevOps ingeniero | 
| Sintetice e implemente la plantilla. | Para sintetizar la CloudFormation plantilla e implementar la solución, ejecute los siguientes comandos:<pre>npx cdk synth<br />npx cdk deploy --all</pre> | Arquitecto de nube, ingeniero DevOps  | 
| Agregue cuentas de miembro. | Para crear y configurar cuentas de miembros adicionales en la solución de datos, repita los pasos anteriores para cada cuenta de miembro.<br />Esta solución no diferencia entre productores y consumidores de datos. | Arquitecto de nube, DevOps ingeniero | 

### Limpieza
<a name="clean-up"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Elimine la asociación de las cuentas de miembros. | Para desasociar las cuentas, haga lo siguiente:[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/build-enterprise-data-mesh-amazon-data-zone.html) | Arquitecto e DevOps ingeniero de nube | 
| Elimine las instancias de pila. | Para eliminar las instancias de la CloudFormation pila, haga lo siguiente:[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/build-enterprise-data-mesh-amazon-data-zone.html) | Arquitecto de nube, ingeniero DevOps  | 
| Elimine todos los recursos. | Para eliminar recursos, realice los siguientes pasos en su entorno de desarrollo local (Linux o macOS):[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/build-enterprise-data-mesh-amazon-data-zone.html) | Arquitecto e ingeniero de nube DevOps  | 

## Recursos relacionados
<a name="build-enterprise-data-mesh-amazon-data-zone-resources"></a>
+ [Guía de DataZone inicio rápido de Amazon con datos AWS Glue](https://docs.aws.amazon.com/datazone/latest/userguide/quickstart-glue.html)
+ [Tutorial: Crea tu primera aplicación AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/hello_world.html)
+ [¿Cómo empezar con CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/GettingStarted.html)
+ [Estrategias para crear una solución empresarial basada en una malla de datos en AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/strategy-data-mesh/introduction.html)

## Información adicional
<a name="build-enterprise-data-mesh-amazon-data-zone-additional"></a>

**Objetivos**

Con la implementación de este patrón logrará lo siguiente:
+ **Propiedad descentralizada de los datos**: traslade la propiedad de los datos de un equipo central a equipos que representen los sistemas de origen, las unidades de negocio o los casos de uso de su organización.
+ **Pensamiento dedicado al producto**: introduzca una mentalidad basada en el producto que incluya a los clientes, el mercado y otros factores cuando tenga que considerar los activos de datos de su organización.
+ **Gobernanza federada**: mejore las barreras de protección, los controles y la conformidad en todos los productos de datos de su organización.
+ **Soporte para varias cuentas y proyectos**: ayuda para el intercambio de datos y la colaboración eficientes y seguros entre las unidades de negocio o los proyectos de su organización.
+ **Supervisión y notificaciones centralizadas**: supervise los recursos en la nube de su red de datos mediante Amazon CloudWatch y notifique a los usuarios cuando se asocie una nueva cuenta de miembro.
+ **Escalabilidad y extensibilidad**: añada nuevos casos de uso a la malla de datos a medida que su organización evoluciona.

**Alcance de la solución**

Al utilizar esta solución, puede empezar poco a poco y ampliarla a medida que avanza en su transición hacia la malla de datos. A menudo, cuando una cuenta de miembro adopta la solución de datos, esta contiene configuraciones de cuenta específicas para la organización, el proyecto o la unidad de negocio. Esta solución se adapta a estas diversas Cuenta de AWS configuraciones al admitir las siguientes funciones:
+ AWS Glue Data Catalog como fuente de datos para Amazon DataZone
+ Gestión del dominio de DataZone datos de Amazon y el portal de datos relacionado
+ Administración de la adición de cuentas de miembros a la solución de datos basada en la malla de datos
+ Gestión de DataZone proyectos y entornos de Amazon
+ Gestión de los DataZone glosarios y formularios de metadatos de Amazon
+ Administración de roles de IAM que corresponden a los usuarios de la solución de datos basada en la malla de datos
+ Notificaciones para los usuarios de soluciones de datos basadas en la malla de datos
+ Supervisión de la infraestructura en la nube aprovisionada

  Esta solución utiliza AWS CDK y despliega CloudFormation la infraestructura de la nube. Suele CloudFormation hacer lo siguiente:
  + Definir e implementar los recursos de la nube con un nivel de abstracción inferior.
  + Implemente recursos en la nube desde Consola de administración de AWS. Al utilizar este enfoque, puede implementar la infraestructura sin un entorno de desarrollo.

  La solución de malla de datos se utiliza AWS CDK para definir los recursos a un nivel de abstracción superior. Como resultado, la solución proporciona un enfoque desacoplado, modular y escalable al elegir la herramienta adecuada para implementar los recursos de la nube.

**Pasos siguientes**

Puedes ponerte en contacto con AWS[expertos](https://aws.amazon.com/professional-services) para que te asesoren sobre cómo crear una malla de datos con Amazon DataZone.

La naturaleza modular de esta solución permite crear soluciones de administración de datos con diferentes arquitecturas, como tejidos y lagos de datos. Además, en función de los requisitos de su organización, puede extender la solución a otras fuentes de DataZone datos de Amazon.