

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.

# Administración
<a name="management-pattern-list"></a>

**Topics**
+ [Administración de costos](costmanagement-pattern-list.md)
+ [Informática para usuarios finales](endusercomputing-pattern-list.md)
+ [Computación de alto rendimiento](highperformancecomputing-pattern-list.md)
+ [Nube híbrida](hybrid-pattern-list.md)
+ [Gestión y gobernanza](governance-pattern-list.md)
+ [Mensajería y comunicaciones](messagingandcommunications-pattern-list.md)
+ [Estrategia de varias cuentas](multiaccountstrategy-pattern-list.md)

# Administración de costos
<a name="costmanagement-pattern-list"></a>

**Topics**
+ [Crear informes detallados de costos y uso para los trabajos de AWS Glue con el explorador de costos de AWS](create-detailed-cost-and-usage-reports-for-aws-glue-jobs-by-using-aws-cost-explorer.md)
+ [Crear informes detallados de costos y uso para los clústeres de Amazon EMR mediante el explorador de costos de AWS.](create-detailed-cost-and-usage-reports-for-amazon-emr-clusters-by-using-aws-cost-explorer.md)
+ [Más patrones](costmanagement-more-patterns-pattern-list.md)

# Crear informes detallados de costos y uso para los trabajos de AWS Glue con el explorador de costos de AWS
<a name="create-detailed-cost-and-usage-reports-for-aws-glue-jobs-by-using-aws-cost-explorer"></a>

*Parijat Bhide y Aromal Raj Jayarajan, Amazon Web Services*

## Resumen
<a name="create-detailed-cost-and-usage-reports-for-aws-glue-jobs-by-using-aws-cost-explorer-summary"></a>

Este patrón muestra cómo realizar un seguimiento de los costos de uso de los trabajos de integración de datos de AWS Glue mediante la configuración de [etiquetas de asignación de costos definidas por el usuario](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/custom-tags.html). Puede usar estas etiquetas para crear informes detallados de costos y uso en el explorador de costos de AWS para trabajos en varias dimensiones. Por ejemplo, puede realizar un seguimiento de los costos de uso a nivel de equipo, proyecto o centro de costos.

## Requisitos previos y limitaciones
<a name="create-detailed-cost-and-usage-reports-for-aws-glue-jobs-by-using-aws-cost-explorer-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Uno o más [Trabajos de AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/how-it-works.html) que tienen activadas las etiquetas definidas por el usuario

## Arquitectura
<a name="create-detailed-cost-and-usage-reports-for-aws-glue-jobs-by-using-aws-cost-explorer-architecture"></a>

**Pila de tecnología de destino**
+ AWS Glue
+ Explorador de costos de AWS

En el siguiente diagrama se muestra cómo aplicar etiquetas para realizar un seguimiento de los costos de uso de los trabajos de AWS Glue.

![\[Crear y aplicar etiquetas en los trabajos de AWS Glue para realizar un seguimiento de los costos de uso en el Explorador de costos de AWS.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/e0ae6643-713d-423a-9013-b41b30638053/images/f2b74ef1-494d-439b-9aec-5a9d601126a6.png)


En el diagrama, se muestra el siguiente flujo de trabajo:

1. Un ingeniero de datos o un administrador de AWS crea etiquetas de asignación de costos definidas por el usuario para los trabajos de AWS Glue.

1. Un administrador de AWS activa las etiquetas.

1. Las etiquetas envían los metadatos al explorador de costos de AWS.

## Tools (Herramientas)
<a name="create-detailed-cost-and-usage-reports-for-aws-glue-jobs-by-using-aws-cost-explorer-tools"></a>
+ [AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/what-is-glue.html) es un servicio de extracción, transformación y carga (ETL) completamente administrado. Ayuda a clasificar, limpiar, enriquecer y mover datos de forma fiable entre almacenes de datos y flujos de datos.
+ El [Explorador de costos de AWS](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ce-what-is.html) permite ver y analizar los costos y el uso.

## Epics
<a name="create-detailed-cost-and-usage-reports-for-aws-glue-jobs-by-using-aws-cost-explorer-epics"></a>

### Crear y activar etiquetas para sus trabajos de AWS Glue
<a name="create-and-activate-tags-for-your-aws-glue-jobs"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree etiquetas de asignación de costos definidas por el usuario para los trabajos de AWS Glue. | **Para añadir etiquetas a un trabajo de AWS Glue existente**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/create-detailed-cost-and-usage-reports-for-aws-glue-jobs-by-using-aws-cost-explorer.html)**Para añadir etiquetas a un nuevo trabajo de AWS Glue**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/create-detailed-cost-and-usage-reports-for-aws-glue-jobs-by-using-aws-cost-explorer.html)Para obtener más información, consulte [Etiquetas de AWS en AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html) en la *Guía para desarrolladores de AWS Glue*. | Ingeniero de datos | 
| Active las etiquetas de asignación de costos definidas por el usuario. | Siga las instrucciones de [Activación de etiquetas de asignación de costos definidas por el usuario](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/activating-tags.html) en la *Guía del usuario de facturación de AWS*. | Administrador de AWS | 

### Crear informes de costos y uso para sus trabajos de AWS Glue
<a name="create-cost-and-usage-reports-for-your-aws-glue-jobs"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree informes de costos y uso para sus trabajos de AWS Glue mediante filtros de etiquetas en el explorador de costos de AWS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/create-detailed-cost-and-usage-reports-for-aws-glue-jobs-by-using-aws-cost-explorer.html)Para obtener más información, consulte [Exploración de sus datos con Cost Explorer](https://docs.aws.amazon.com/cost-management/latest/userguide/ce-exploring-data.html) en la *Guía del usuario de administración de costos de AWS*. | AWS general, administrador de AWS | 

# Crear informes detallados de costos y uso para los clústeres de Amazon EMR mediante el explorador de costos de AWS.
<a name="create-detailed-cost-and-usage-reports-for-amazon-emr-clusters-by-using-aws-cost-explorer"></a>

*Parijat Bhide y Aromal Raj Jayarajan, Amazon Web Services*

## Resumen
<a name="create-detailed-cost-and-usage-reports-for-amazon-emr-clusters-by-using-aws-cost-explorer-summary"></a>

Este patrón muestra cómo realizar un seguimiento de los costos de uso de los clústeres de Amazon EMR mediante la configuración de [etiquetas de asignación de costos definidas por el usuario](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/custom-tags.html). Puede usar estas etiquetas para crear informes detallados de costos y uso en el explorador de costos de AWS para clústeres en varias dimensiones. Por ejemplo, puede realizar un seguimiento de los costos de uso a nivel de equipo, proyecto o centro de costos.

## Requisitos previos y limitaciones
<a name="create-detailed-cost-and-usage-reports-for-amazon-emr-clusters-by-using-aws-cost-explorer-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Uno o más [clústeres de EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-gs.html) que tienen activadas las etiquetas definidas por el usuario

## Arquitectura
<a name="create-detailed-cost-and-usage-reports-for-amazon-emr-clusters-by-using-aws-cost-explorer-architecture"></a>

**Pila de tecnología de destino**
+ Amazon EMR
+ Explorador de costos de AWS

**Arquitectura de destino**

El siguiente diagrama muestra cómo puede aplicar etiquetas para realizar un seguimiento de los costos de uso de clústeres de Amazon EMR específicos.

![\[Use etiquetas de asignación de costos para clústeres de Amazon EMR.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/3e470077-e3b1-43cf-8cb9-0895fe39e664/images/fb6b78cb-47bb-4ba1-848a-98dba02bdbb2.png)


En el diagrama, se muestra el siguiente flujo de trabajo:

1. Un ingeniero de datos o un administrador de AWS crea etiquetas de asignación de costos definidas por el usuario para los clústeres de Amazon EMR.

1. Un administrador de AWS activa las etiquetas.

1. Las etiquetas envían los metadatos al explorador de costos de AWS.

## Tools (Herramientas)
<a name="create-detailed-cost-and-usage-reports-for-amazon-emr-clusters-by-using-aws-cost-explorer-tools"></a>

**Herramientas**
+ [Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-what-is-emr.html) es una plataforma de clúster administrada que simplifica la ejecución de marcos de macrodatos en AWS para procesar y analizar grandes cantidades de datos.
+ El [Explorador de costos de AWS](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/ce-what-is.html) permite ver y analizar los costos y el uso.

## Epics
<a name="create-detailed-cost-and-usage-reports-for-amazon-emr-clusters-by-using-aws-cost-explorer-epics"></a>

### Crear y activar etiquetas para sus clústeres de Amazon EMR
<a name="create-and-activate-tags-for-your-amazon-emr-clusters"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree etiquetas de asignación de costos definidas por el usuario para los clústeres de Amazon EMR. | **Para añadir etiquetas a un clúster de Amazon EMR existente**Siga las instrucciones en [Cómo añadir etiquetas a un clúster existente](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags-add.html) en la *Guía de administración de Amazon EMR*.**Para añadir etiquetas a un nuevo clúster de Amazon EMR**Siga las instrucciones en [Cómo añadir etiquetas a un nuevo clúster](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-tags-add-new.html) en la *Guía de administración de Amazon EMR*.Para obtener más información sobre cómo configurar un clúster de Amazon EMR, consulte [Planificar y configurar clústeres](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan.html) en la *Guía de administración de Amazon EMR*. | Ingeniero de datos | 
| Active las etiquetas de asignación de costos definidas por el usuario. | Siga las instrucciones de [Activación de etiquetas de asignación de costos definidas por el usuario](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/activating-tags.html) en la *Guía del usuario de facturación de AWS*. | Administrador de AWS | 

### Crear informes de costos y uso para sus clústeres de Amazon EMR
<a name="create-cost-and-usage-reports-for-your-amazon-emr-clusters"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree informes de costo y uso para sus clústeres de Amazon EMR mediante filtros de etiquetas en al explorador de costos de AWS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/create-detailed-cost-and-usage-reports-for-amazon-emr-clusters-by-using-aws-cost-explorer.html)Para obtener más información, consulte [Exploración de sus datos con Cost Explorer](https://docs.aws.amazon.com/cost-management/latest/userguide/ce-exploring-data.html) en la *Guía del usuario de administración de costos de AWS*. | AWS general, administrador de AWS | 

# Más patrones
<a name="costmanagement-more-patterns-pattern-list"></a>

**Topics**
+ [Automatice las operaciones de AWS infraestructura con Amazon Bedrock](automate-aws-infrastructure-operations-by-using-amazon-bedrock.md)
+ [Inventario automático de AWS los recursos en varias cuentas y regiones](automate-aws-resource-inventory.md)
+ [Automatice la creación de recursos de Amazon WorkSpaces Applications mediante AWS CloudFormation](automate-the-creation-of-appstream-2-0-resources-using-aws-cloudformation.md)
+ [Archivar automáticamente los elementos en Amazon S3 con DynamoDB TTL](automatically-archive-items-to-amazon-s3-using-dynamodb-ttl.md)
+ [Detener e iniciar automáticamente una instancia de base de datos de Amazon RDS mediante AWS Systems Manager Maintenance Windows](automatically-stop-and-start-an-amazon-rds-db-instance-using-aws-systems-manager-maintenance-windows.md)
+ [Crear informes detallados de costos y uso para Amazon RDS y Amazon Aurora](create-detailed-cost-and-usage-reports-for-amazon-rds-and-amazon-aurora.md)
+ [Costos de almacenamiento estimados para una tabla de Amazon DynamoDB](estimate-storage-costs-for-an-amazon-dynamodb-table.md)
+ [Estime el costo de una tabla de DynamoDB para la capacidad bajo demanda](estimate-the-cost-of-a-dynamodb-table-for-on-demand-capacity.md)
+ [Configuración del escalado automático basado en eventos en Amazon EKS mediante Amazon EKS Pod Identity y KEDA](event-driven-auto-scaling-with-eks-pod-identity-and-keda.md)
+ [Coordine la dependencia de los recursos y la ejecución de tareas mediante la construcción AWS Fargate WaitCondition hook](use-the-aws-fargate-waitcondition-hook-construct.md)

# Informática para usuarios finales
<a name="endusercomputing-pattern-list"></a>

**Topics**
+ [Implemente la autenticación SAML 2.0 para Amazon WorkSpaces mediante Auth0 y AWS Managed Microsoft AD](implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad.md)
+ [Más patrones](endusercomputing-more-patterns-pattern-list.md)

# Implemente la autenticación SAML 2.0 para Amazon WorkSpaces mediante Auth0 y AWS Managed Microsoft AD
<a name="implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad"></a>

*Siva Vinnakota y Shantanu Padhye, Amazon Web Services*

## Resumen
<a name="implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad-summary"></a>

Este patrón explora cómo puede integrar Auth0 AWS Directory Service for Microsoft Active Directory para crear una solución de autenticación SAML 2.0 sólida para su entorno de Amazon WorkSpaces . En él se explica cómo establecer una federación entre ellos Servicios de AWS para habilitar funciones avanzadas, como la autenticación multifactor (MFA) y los flujos de inicio de sesión personalizados, a la vez que se preserva el acceso ininterrumpido al escritorio. AWS Managed Microsoft AD Ya sea que administre solo unos pocos usuarios o miles, esta integración ayuda a proporcionar flexibilidad y seguridad a su organización. Este patrón proporciona los pasos del proceso de configuración para que pueda implementar esta solución en su propio entorno.

## Requisitos previos y limitaciones
<a name="implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad-prereqs"></a>

**Requisitos previos**
+ Un activo Cuenta de AWS
+ AWS Managed Microsoft AD
+ Un escritorio aprovisionado en Amazon WorkSpaces Personal que esté asociado a AWS Managed Microsoft AD
+ Una instancia de Amazon Elastic Compute Cloud (Amazon EC2)
+ Una cuenta de Auth0

**Limitaciones**

Algunas Servicios de AWS no están disponibles en todas Regiones de AWS. Para conocer la disponibilidad de las regiones, consulte [Servicios de AWS by Region](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Para los puntos de conexión específicos, consulte la página [Service endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) y elija el enlace del servicio.

## Arquitectura
<a name="implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad-architecture"></a>

El proceso de autenticación con SAML 2.0 para una aplicación WorkSpaces cliente consta de cinco pasos que se ilustran en el siguiente diagrama. Estos pasos representan un flujo de trabajo típico para iniciar sesión. Puede usar este enfoque distribuido de autenticación después de seguir las instrucciones de este patrón para ayudar a proporcionar un método estructurado y seguro para el acceso de los usuarios.

![\[Flujo de trabajo del proceso de autenticación con SAML 2.0 para una aplicación WorkSpaces cliente.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/5a0f227c-c111-495b-9fde-98ae7832bb10/images/957b2a11-e898-4c4f-ae4e-c2e85bfa93a0.png)


 Flujo de trabajo:

1. **Registro**. El usuario inicia la aplicación cliente WorkSpaces e introduce el código de WorkSpaces registro para su directorio compatible con SAML WorkSpaces . WorkSpaces devuelve la URL del proveedor de identidad (IdP) de Auth0 a la aplicación cliente.

1. **Inicio de sesión.**El WorkSpaces cliente redirige al navegador web del usuario mediante la URL Auth0.  El usuario se autentica con su nombre de usuario y contraseña. Auth0 devuelve una aserción de SAML al navegador del cliente. La aserción de SAML es un token cifrado que afirma la identidad del usuario.

1. **Autenticar.** El navegador del cliente publica la afirmación SAML en el AWS Sign-In punto final para validarla. AWS Sign-In permite a la persona que llama asumir una función AWS Identity and Access Management (IAM). Esto devuelve un token que contiene credenciales temporales para el rol de IAM.

1. **WorkSpaces iniciar sesión.** El WorkSpaces cliente presenta el token al punto final del WorkSpaces servicio. WorkSpaces intercambia el token por un token de sesión y devuelve el token de sesión al WorkSpaces cliente con una URL de inicio de sesión. Cuando el WorkSpaces cliente carga la página de inicio de sesión, el valor del nombre de usuario se rellena con el `NameId` valor introducido en la respuesta de SAML.

1. **Streaming.** El usuario introduce su contraseña y se autentica en el WorkSpaces directorio. Tras la autenticación, WorkSpaces devuelve un token al cliente. El cliente redirige de nuevo al WorkSpaces servicio y presenta el token. Esto gestiona una sesión de streaming entre el WorkSpaces cliente y el WorkSpace.

**nota**  
Para configurar una experiencia de inicio de sesión único sin necesidad de solicitar una contraseña, consulta la sección sobre [autenticación basada en certificados y WorkSpaces datos personales](https://docs.aws.amazon.com/workspaces/latest/adminguide/certificate-based-authentication.html) en la documentación. WorkSpaces 

## Tools (Herramientas)
<a name="implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad-tools"></a>

**Servicios de AWS**
+ [Amazon WorkSpaces](https://docs.aws.amazon.com/workspaces/latest/adminguide/amazon-workspaces.html) es un servicio de infraestructura de escritorios virtuales (VDI) totalmente gestionado que proporciona a los usuarios escritorios basados en la nube sin tener que adquirir e implementar hardware ni instalar software complejo.
+ [AWS Directory Service for Microsoft Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html)permite que sus cargas de trabajo y AWS recursos compatibles con directorios utilicen Microsoft Active Directory en. Nube de AWS

**Otras herramientas**
+ [Auth0](https://auth0.com/) es una plataforma de autenticación y autorización que lo ayuda a administrar el acceso a sus aplicaciones.

## Epics
<a name="implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad-epics"></a>

### Configuración de conector LDAP de Active Directory en Auth0
<a name="configure-the-active-directory-ldap-connector-in-auth0"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Instale el conector LDAP de Active Directory en Auth0 con. AWS Managed Microsoft AD | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad.html) | Administrador de la nube, arquitecto de la nube | 
| Crear una aplicación en Auth0 para generar el archivo de manifiesto de metadatos de SAML. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad.html) | Administrador de la nube, arquitecto de la nube | 

### Configuración del IdP, el rol y la política para SAML 2.0 en IAM
<a name="set-up-idp-role-and-policy-for-saml-2-0-in-iam"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Crear un IdP de SAML 2.0 en IAM. | Para configurar SAML 2.0 como IdP, siga los pasos que se describen en [Crear un proveedor de identidades de SAML en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html) en la documentación de IAM. | Administrador de la nube | 
| Crear un rol de IAM y una política para la federación de SAML 2.0. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad.html) | Administrador de la nube | 

### Configuración de las aserciones en Auth0
<a name="configure-assertions-in-auth0"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configurar Auth0 y las aserciones de SAML. | Puede usar las acciones de Auth0 para configurar las aserciones en las respuestas de SAML 2.0. Una aserción de SAML es un token cifrado que afirma la identidad del usuario.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad.html)Esto completa la configuración de la autenticación SAML 2.0 para escritorios WorkSpaces personales. En la sección [Arquitectura](#implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad-architecture) se ilustra el proceso de autenticación tras la configuración. | Administrador de la nube | 

## Resolución de problemas
<a name="implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| Problemas de autenticación con SAML 2.0 en WorkSpaces** ** | Si tienes algún problema al implementar la autenticación SAML 2.0 para WorkSpaces Personal, sigue los pasos y enlaces que se describen en el [artículo de AWS Re:post](https://repost.aws/knowledge-center/workspaces-saml-authentication-issues) sobre la solución de problemas de la autenticación SAML 2.0.Para obtener información adicional sobre cómo investigar los errores de SAML 2.0 al acceder, consulta: WorkSpaces[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad.html) | 

## Recursos relacionados
<a name="implement-saml-authentication-for-amazon-workspaces-by-using-auth0-and-aws-managed-microsoft-ad-resources"></a>
+ [Configuración de SAML 2.0 para WorkSpaces uso personal](https://docs.aws.amazon.com/workspaces/latest/adminguide/setting-up-saml.html) (documentación) WorkSpaces 
+ [Documentación de Auth0](https://auth0.com/docs)

# Más patrones
<a name="endusercomputing-more-patterns-pattern-list"></a>

**Topics**
+ [Automatice la creación de recursos de Amazon WorkSpaces Applications mediante AWS CloudFormation](automate-the-creation-of-appstream-2-0-resources-using-aws-cloudformation.md)
+ [Mejorar la calidad de las llamadas en las estaciones de trabajo de los agentes en los centros de contacto de Amazon Connect](improve-call-quality-on-agent-workstations-in-amazon-connect-contact-centers.md)
+ [Puesta en marcha de las tareas de Automatización de AWS Systems Manager de forma sincrónica desde AWS Step Functions](run-aws-systems-manager-automation-tasks-synchronously-from-aws-step-functions.md)

# Computación de alto rendimiento
<a name="highperformancecomputing-pattern-list"></a>

**Topics**
+ [Implementación de un sistema de archivos de Lustre para un procesamiento de datos de alto rendimiento mediante Terraform y DRA](deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra.md)
+ [Configurar un panel de monitoreo de Grafana para AWS ParallelCluster](set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster.md)
+ [Más patrones](highperformancecomputing-more-patterns-pattern-list.md)

# Implementación de un sistema de archivos de Lustre para un procesamiento de datos de alto rendimiento mediante Terraform y DRA
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra"></a>

*Arun Bagal e Ishwar Chauthaiwale, Amazon Web Services*

## Resumen
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-summary"></a>

Este patrón despliega automáticamente un sistema de archivos Lustre AWS y lo integra con Amazon Elastic Compute Cloud (Amazon EC2) y Amazon Simple Storage Service (Amazon S3).

Esta solución lo ayuda a configurar rápidamente un entorno de computación de alto rendimiento (HPC) con almacenamiento integrado, recursos de computación y acceso a los datos de Amazon S3. Combina las capacidades de almacenamiento de Lustre con las opciones informáticas flexibles que ofrece Amazon EC2 y el almacenamiento de objetos escalable de Amazon S3, para que pueda abordar cargas de trabajo con uso intensivo de datos en el aprendizaje automático, la HPC y el análisis de macrodatos.

El patrón utiliza un módulo HashiCorp Terraform y Amazon FSx for Lustre para agilizar el siguiente proceso:
+ Aprovisionamiento de un sistema de archivos de Lustre
+ Establecer una asociación de repositorios de datos (DRA) entre FSx for Lustre y un bucket de S3 para vincular el sistema de archivos de Lustre con los objetos de Amazon S3
+ Crear una instancia EC2 
+ Montaje del sistema de archivos Lustre con el DRA vinculado a Amazon S3 en la instancia EC2 

Las ventajas de esta solución incluyen:
+ Diseño modular. Puede mantener y actualizar fácilmente los componentes individuales de esta solución.
+ Escalabilidad. Puede implementar rápidamente entornos consistentes en todas Cuentas de AWS nuestras regiones.
+ Flexibilidad. Puede personalizar la implementación para adaptarla a sus necesidades específicas.
+ Prácticas recomendadas. Este patrón utiliza módulos preconfigurados que siguen las AWS mejores prácticas.

Para obtener más información sobre los sistemas de archivos de Lustre, consulte el [sitio web de Lustre](https://www.lustre.org/).

## Requisitos previos y limitaciones
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-prereqs"></a>

**Requisitos previos **
+ Un activo Cuenta de AWS
+ Una política de privilegios mínimos AWS Identity and Access Management (IAM) (consulte [las instrucciones](https://aws.amazon.com/blogs/security/techniques-for-writing-least-privilege-iam-policies/))

**Limitaciones**

FSx para Lustre limita el sistema de archivos de Lustre a una única zona de disponibilidad, lo que podría ser un problema si tiene requisitos de alta disponibilidad. Si la zona de disponibilidad que contiene el sistema de archivos falla, se pierde el acceso al sistema de archivos hasta la recuperación. Para lograr una alta disponibilidad, puede usar DRA para vincular el sistema de archivos de Lustre con Amazon S3 y transferir datos entre zonas de disponibilidad.

**Versiones de producto**
+ [Terraform, versión 1.9.3 o posterior](https://developer.hashicorp.com/terraform/install?product_intent=terraform)
+ [HashiCorp AWS Provider versión 4.0.0 o posterior](https://registry.terraform.io/providers/hashicorp/aws/latest)

## Arquitectura
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-architecture"></a>

En el siguiente diagrama se muestra la arquitectura FSx de Lustre y la complementaria Servicios de AWS de. Nube de AWS

![\[FSx para la implementación de Lustre con AWS KMS, Amazon EC2, Amazon CloudWatch Logs y Amazon S3.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/51d38589-e752-42cd-9f46-59c3c8d0bfd3/images/c1c21952-fd6f-4b1d-9bf8-09b2f4f4459f.png)


La arquitectura incluye lo siguiente:
+ Un bucket de S3 se utiliza como una ubicación de almacenamiento de datos duradera, escalable y rentable. La integración entre FSx for Lustre y Amazon S3 proporciona un sistema de archivos de alto rendimiento que se vincula perfectamente con Amazon S3.
+ FSx for Lustre ejecuta y administra el sistema de archivos Lustre.
+ Amazon CloudWatch Logs recopila y supervisa los datos de registro del sistema de archivos. Estos registros proporcionan información sobre el rendimiento, el estado y la actividad de su sistema de archivos de Lustre.
+ Amazon EC2 se utiliza para acceder a los sistemas de archivos de Lustre mediante el cliente Lustre de código abierto. EC2 las instancias pueden acceder a los sistemas de archivos desde otras zonas de disponibilidad dentro de la misma nube privada virtual (VPC). La configuración de la red permite el acceso a través de subredes dentro de la VPC. Una vez montado el sistema de archivos de Lustre en la instancia, puede trabajar con los archivos y directorios como haría con cualquier sistema de archivos local.
+ AWS Key Management Service (AWS KMS) mejora la seguridad del sistema de archivos al proporcionar cifrado para los datos en reposo.

**Automatización y escala**

Terraform facilita la implementación, administración y escalado de sus sistemas de archivos de Lustre en múltiples entornos. En el FSx caso de Lustre, un único sistema de archivos tiene limitaciones de tamaño, por lo que es posible que necesite escalar horizontalmente creando varios sistemas de archivos. Puede usar Terraform para aprovisionar varios sistemas de archivos de Lustre en función de sus necesidades de carga de trabajo.

## Tools (Herramientas)
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-tools"></a>

**Servicios de AWS**
+ [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) le ayuda a centralizar los registros de todos sus sistemas y aplicaciones Servicios de AWS para que pueda supervisarlos y archivarlos de forma segura.
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) proporciona una capacidad informática escalable en el Nube de AWS. Puede lanzar tantos servidores virtuales como necesite y escalarlos o reducirlos con rapidez.
+ [Amazon FSx for Lustre](https://docs.aws.amazon.com/fsx/latest/LustreGuide/what-is.html) hace que sea fácil y rentable lanzar, ejecutar y escalar un sistema de archivos Lustre de alto rendimiento.
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) le ayuda a crear y controlar claves criptográficas para proteger sus datos.
+ [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**

El código de este patrón está disponible en el [sistema de archivos GitHub Provision FSx for Lustre](https://github.com/aws-samples/provision-fsx-lustre-with-terraform), que utiliza el repositorio Terraform.

## Prácticas recomendadas
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-best-practices"></a>
+ Las variables siguientes definen el sistema de archivos de Lustre. Asegúrese de configurarlas correctamente en función de su entorno, tal y como se indica en la sección [Epics](#deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-epics).
  + `storage_capacity`— La capacidad de almacenamiento del sistema de archivos Lustre, en. GiBs La configuración mínima y predeterminada es 1200 GiB.
  + `deployment_type`: el tipo de implementación del sistema de archivos de Lustre. Para obtener una explicación de las dos opciones, `PERSISTENT_1` y `PERSISTENT_2` (por defecto), consulte la documentación [FSx de Lustre](https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-fsx-lustre.html#persistent-file-system).
  + `per_unit_storage_throughput`— El rendimiento de lectura y escritura, en tiB MBs por segundo.  
  + `subnet_id`— El ID de la subred privada en la que desea realizar el despliegue FSx para Lustre.
  + `vpc_id`— El ID de su nube privada virtual en la AWS que desea realizar la implementación FSx de Lustre.
  + `data_repository_path`: la ruta al bucket de S3 que se vinculará al sistema de archivos de Lustre.
  + `iam_instance_profile`— El perfil de la instancia de IAM que se utilizará para lanzar la EC2 instancia.
  + `kms_key_id`— El nombre del recurso de Amazon (ARN) de la AWS KMS clave que se utilizará para el cifrado de datos.
+ Garantice el acceso y la ubicación adecuados a la red dentro de la VPC mediante las variables `security_group` y `vpc_id`.
+ Ejecute el comando `terraform plan` tal y como se describe en la sección [Epics](#deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-epics) para obtener una vista previa de los cambios y verificarlos antes de aplicarlos. Esto ayuda a atrapar posibles problemas y garantiza que esté al tanto de lo que se implementará.
+ Utilice el comando `terraform validate` tal y como se describe en la sección [Epics](#deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-epics) para comprobar si hay errores de sintaxis y confirmar que la configuración es correcta.

## Epics
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-epics"></a>

### Configure su entorno
<a name="set-up-your-environment"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Instale Terraform. | Para instalar Terraform en su máquina local, siga las instrucciones de la [documentación de Terraform](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli). | AWS DevOps, DevOps ingeniero | 
| Configure AWS las credenciales. | Para configurar el perfil AWS Command Line Interface (AWS CLI) de la cuenta, sigue las instrucciones de la [AWS documentación](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html). | AWS DevOps, DevOps ingeniero | 
| Clona el GitHub repositorio. | Para clonar el GitHub repositorio, ejecute el comando:<pre>git clone https://github.com/aws-samples/provision-fsx-lustre-with-terraform.git</pre> | AWS DevOps, DevOps ingeniero | 

### Configure e implemente FSx para Lustre
<a name="configure-and-deploy-fsxlustre"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Actualice la configuración de implementación. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra.html) | AWS DevOps, DevOps ingeniero | 
| Inicialice el entorno de Terraform. | Para inicializar su entorno para ejecutar el módulo `fsx_deployment` de Terraform, ejecute:<pre>terraform init</pre> | AWS DevOps, DevOps ingeniero | 
| Valide la sintaxis de Terraform. | Para comprobar si hay errores de sintaxis y confirmar que la configuración es correcta, ejecute:<pre>terraform validate </pre> | AWS DevOps, DevOps ingeniero | 
| Valide la configuración de Terraform. | Para crear un plan de ejecución de Terraform y obtener una vista previa de la implementación, ejecute:<pre>terraform plan -var-file terraform.tfvars</pre> | AWS DevOps, DevOps ingeniero | 
| Implemente el módulo de Terraform. | Para implementar los recursos FSx de for Lustre, ejecute:<pre>terraform apply -var-file terraform.tfvars</pre> | AWS DevOps, DevOps ingeniero | 

### Limpie AWS los recursos
<a name="clean-up-aws-resources"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Eliminar AWS recursos. | Cuando termines de usar tu entorno de FSx For Lustre, podrás eliminar los AWS recursos desplegados por Terraform para evitar incurrir en cargos innecesarios. El módulo de Terraform incluido en el repositorio de código automatiza esta limpieza.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra.html) | AWS DevOps, DevOps ingeniero | 

## Resolución de problemas
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| FSx for Lustre devuelve errores. | Para obtener ayuda con FSx los problemas de Lustre, consulte [Solución de problemas de Amazon FSx for Lustre](https://docs.aws.amazon.com/fsx/latest/LustreGuide/troubleshooting.html) en la documentación de FSx for Lustre. | 

## Recursos relacionados
<a name="deploy-lustre-file-system-for-high-performance-data-processing-with-terraform-dra-resources"></a>
+ [Creación de Amazon FSx for Lustre mediante Terraform](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/fsx_lustre_file_system) (referencia del AWS proveedor en la documentación de Terraform)
+ [Introducción a Amazon FSx for Lustre (FSx para](https://docs.aws.amazon.com/fsx/latest/LustreGuide/getting-started.html) ver la documentación de Lustre)
+ [AWS entradas de blog sobre Amazon FSx for Lustre](https://aws.amazon.com/blogs/storage/tag/amazon-fsx-for-lustre/)

# Configurar un panel de monitoreo de Grafana para AWS ParallelCluster
<a name="set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster"></a>

*Dario La Porta y William Lu, Amazon Web Services*

## Resumen
<a name="set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster-summary"></a>

AWS le ParallelCluster ayuda a implementar y administrar clústeres de computación de alto rendimiento (HPC). Es compatible con los programadores de trabajos de código abierto AWS Batch y Slurm. Aunque AWS ParallelCluster está integrado con Amazon CloudWatch para el registro y las métricas, no proporciona un panel de supervisión de la carga de trabajo.

El [panel de control de Grafana para AWS ParallelCluster](https://github.com/aws-samples/aws-parallelcluster-monitoring) (GitHub) es un panel de supervisión para AWS. ParallelCluster Proporciona información sobre el programador de tareas y métricas de supervisión detalladas a nivel del sistema operativo (SO). Para obtener más información sobre los paneles incluidos en esta solución, consulte [Ejemplos de paneles](https://github.com/aws-samples/aws-parallelcluster-monitoring#example-dashboards) en el repositorio. GitHub Estas métricas le ayudan a comprender mejor la carga de trabajo de HPC y su rendimiento. Sin embargo, el código del panel de control no se actualiza para las versiones más recientes de AWS ParallelCluster ni para los paquetes de código abierto que se utilizan en la solución. Este patrón mejora la solución para proporcionar los siguientes beneficios:
+ Compatible con AWS ParallelCluster v3
+ Usa la última versión de los paquetes de código abierto, incluidos Prometheus, Grafana, Prometheus Slurm Exporter y NVIDIA DCGM-Exporter
+ Aumenta la cantidad de núcleos de CPU GPUs que utilizan los trabajos de Slurm
+ Añade un panel de supervisión de trabajos
+ Mejora el panel de monitoreo de nodos de la GPU para nodos con 4 u 8 unidades de procesamiento gráfico () GPUs

Esta versión de la solución mejorada se ha implementado y verificado en el entorno de producción de HPC de un cliente de AWS.

## Requisitos previos y limitaciones
<a name="set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster-prereqs"></a>

**Requisitos previos **
+ [AWS ParallelCluster CLI](https://docs.aws.amazon.com/parallelcluster/latest/ug/pcluster-v3.html), instalada y configurada.
+ Una [configuración de red](https://docs.aws.amazon.com/parallelcluster/latest/ug/iam-roles-in-parallelcluster-v3.html) compatible con AWS ParallelCluster. Este patrón usa la configuración de [AWS ParallelCluster con dos subredes](https://docs.aws.amazon.com/parallelcluster/latest/ug/network-configuration-v3.html#network-configuration-v3-two-subnets), que requiere una subred pública, una subred privada, una puerta de enlace a Internet y una puerta de enlace NAT.
+ Todos los nodos ParallelCluster del clúster de AWS deben tener acceso a Internet. Esto es necesario para que los scripts de instalación puedan descargar el software de código abierto y las imágenes de Docker.
+ Un [key pair](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) en Amazon Elastic Compute Cloud (Amazon EC2). Los recursos con este par de claves tienen acceso Secure Shell (SSH) al nodo principal.

**Limitaciones**
+ Este patrón está diseñado para Ubuntu 20.04 LTS. Si usa una versión diferente de Ubuntu, o si usa Amazon Linux o CentOS, tendrá que modificar los scripts que se proporcionan con esta solución. Dichas modificaciones no se incluyen en este patrón.

**Versiones de producto**
+ Ubuntu 20.04 LTS
+ ParallelCluster 3.X

**Consideraciones de costos y facturación**
+ La solución implementada en este patrón no está cubierta por el nivel gratuito. Se aplican cargos a Amazon EC2, Amazon FSx for Lustre, la puerta de enlace NAT en Amazon VPC y Amazon Route 53.

## Arquitectura
<a name="set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster-architecture"></a>

**Arquitectura de destino**

En el siguiente diagrama, se muestra cómo un usuario puede acceder al panel de supervisión de AWS ParallelCluster en el nodo principal. El nodo principal ejecuta NICE DCV, Prometheus, Grafana, Prometheus Slurm Exporter, Prometheus Node Exporter y NGINX Open Source. Los nodos de cómputo ejecutan Prometheus Node Exporter y también ejecutan NVIDIA DCGM-Exporter si el nodo lo contiene. GPUs El nodo principal recupera información de los nodos de cómputo y muestra esos datos en el panel de control de Grafana.

![\[Acceso al panel de supervisión de AWS ParallelCluster en el nodo principal.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/a2132c94-98e0-4b90-8be0-99ebfa546442/images/d2255792-f66a-4ef2-8f04-cc3d5482db5f.png)


En la mayoría de los casos, el nodo principal no está muy cargado, ya que el programador de tareas no requiere una cantidad significativa de CPU o memoria. Los usuarios acceden al panel de control del nodo principal mediante SSL en el puerto 443.

Todos los usuarios con acceso de lectura autorizado pueden ver los paneles de supervisión de forma anónima. Solo el administrador de Grafana puede modificar los paneles. Debe configurar una contraseña para el administrador de Grafana en el archivo `aws-parallelcluster-monitoring/docker-compose/docker-compose.head.yml`.

## Tools (Herramientas)
<a name="set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster-tools"></a>

**Servicios de AWS**
+ [NICE DCV](https://docs.aws.amazon.com/dcv/#nice-dcv) es un protocolo de visualización remota de alto rendimiento que le permite ofrecer escritorios remotos y streaming de aplicaciones desde cualquier nube o centro de datos a cualquier dispositivo, en condiciones de red variables.
+ [AWS](https://docs.aws.amazon.com/parallelcluster/latest/ug/what-is-aws-parallelcluster.html) le ParallelCluster ayuda a implementar y administrar clústeres de computación de alto rendimiento (HPC). Es compatible con los programadores de trabajos de código abierto AWS Batch y Slurm.
+ [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 le ayuda a almacenar, proteger y recuperar cualquier cantidad de datos.
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) le permite lanzar recursos de AWS en una red virtual que haya definido.

**Otras herramientas**
+ [Docker](https://www.docker.com/) es un conjunto de productos de plataforma como servicio (PaaS) que utiliza la virtualización a nivel del sistema operativo para entregar software en contenedores.
+ [Grafana](https://grafana.com/docs/grafana/latest/introduction/) es un software de código abierto que le permite consultar, visualizar, alertar y explorar métricas, registros y trazas.
+ [NGINX Open Source](https://nginx.org/en/docs/?_ga=2.187509224.1322712425.1699399865-405102969.1699399865) es un servidor web de código abierto y proxy inverso.
+ [NVIDIA Data Center GPU Manager (DCGM)](https://docs.nvidia.com/data-center-gpu-manager-dcgm/index.html) es un conjunto de herramientas para administrar y monitorear las unidades de procesamiento gráfico (GPUs) de los centros de datos de NVIDIA en entornos de clústeres. Este patrón usa [DCGM-Exporter](https://github.com/NVIDIA/dcgm-exporter), que le ayuda a exportar las métricas de GPU de Prometheus.
+ [Prometheus](https://prometheus.io/docs/introduction/overview/) es un conjunto de herramientas de supervisión de sistemas de código abierto que recopila y almacena sus métricas como datos de serie temporal con pares clave-valor asociados, denominados *etiquetas*. Este patrón también usa [Prometheus Slurm Exporter](https://github.com/vpenso/prometheus-slurm-exporter) para recopilar y exportar métricas, y [Prometheus Node Exporter](https://github.com/prometheus/node_exporter) para exportar métricas de los nodos de cómputo.
+ [Ubuntu](https://help.ubuntu.com/) es un sistema operativo de código abierto basado en Linux y diseñado para servidores empresariales, escritorios, entornos de nube e IoT.

**Repositorio de código**

El código de este patrón está disponible en el GitHub [pcluster-monitoring-dashboard](https://github.com/aws-samples/parallelcluster-monitoring-dashboard)repositorio.

## Epics
<a name="set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster-epics"></a>

### Cree los recursos necesarios
<a name="create-the-required-resources"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree un bucket de S3. | Crear un bucket de Amazon S3. Este bucket se usa para almacenar los scripts de configuración. Para obtener instrucciones, consulte [Crear un bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) en la documentación de Amazon S3. | AWS general | 
| Clonar el repositorio. | Clona el GitHub [pcluster-monitoring-dashboard](https://github.com/aws-samples/parallelcluster-monitoring-dashboard/tree/main/aws-parallelcluster-monitoring)repositorio ejecutando el siguiente comando.<pre>git clone https://github.com/aws-samples/parallelcluster-monitoring-dashboard.git</pre> | DevOps ingeniero | 
| Cree una contraseña de administrador. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster.html) | Scripts Linux Shell | 
| Copie los archivos necesarios en el bucket de S3. | Copie el script [post\$1install.sh](https://github.com/aws-samples/parallelcluster-monitoring-dashboard/blob/main/post_install.sh) y la [aws-parallelcluster-monitoring](https://github.com/aws-samples/parallelcluster-monitoring-dashboard/tree/main/aws-parallelcluster-monitoring)carpeta en el depósito de S3 que creó. Para más instrucciones, consulte [Cargar objetos](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html) en la documentación de Amazon S3. | AWS general | 
| Configure un grupo de seguridad adicional para el nodo principal. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster.html) | Administrador de AWS | 
| Configure una política de IAM para el nodo principal. | Cree una política basada en identidades para el nodo principal. Esta política permite al nodo recuperar datos métricos de Amazon CloudWatch. El GitHub repositorio contiene un ejemplo de [política](https://github.com/aws-samples/parallelcluster-monitoring-dashboard/blob/main/policies/head_node.json). Para obtener más instrucciones, consulte [Creación de políticas de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) en la documentación de AWS Identity and Access Management (IAM). | Administrador de AWS | 
| Configure una política de IAM para los nodos de cómputo. | Cree una política basada en identidades para los nodos de computación. Esta política permite al nodo crear las etiquetas que contienen la ID y el propietario del trabajo. [El GitHub repositorio contiene un ejemplo de política.](https://github.com/aws-samples/parallelcluster-monitoring-dashboard/blob/main/policies/compute_node.json) Para obtener más información, consulte [Creación de políticas de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) en la documentación de IAM.Si usa el archivo de ejemplo proporcionado, sustituya los siguientes valores:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster.html) | Administrador de AWS | 

### Cree el clúster
<a name="create-the-cluster"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Modifique el archivo de plantilla de clúster proporcionado. | Cree el ParallelCluster clúster de AWS. Utilice el archivo de plantilla de CloudFormation AWS [cluster.yaml](https://github.com/aws-samples/parallelcluster-monitoring-dashboard/blob/main/cluster.yaml) proporcionado como punto de partida para crear el clúster. Sustituya los siguientes valores en la plantilla proporcionada:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster.html) | Administrador de AWS | 
| Cree el clúster. | En la AWS ParallelCluster CLI, introduzca el siguiente comando. Esto despliega la CloudFormation plantilla y crea el clúster. Para obtener más información sobre este comando, consulte [pcluster create-cluster en la documentación](https://docs.aws.amazon.com/parallelcluster/latest/ug/pcluster.create-cluster-v3.html) de AWS. ParallelCluster <pre>pcluster create-cluster -n <cluster_name> -c cluster.yaml</pre> | Administrador de AWS | 
| Supervise la creación del clúster. | Introduzca el siguiente comando para supervisar la creación del cluster. Para obtener más información sobre este comando, consulte [pcluster describe-cluster en](https://docs.aws.amazon.com/parallelcluster/latest/ug/pcluster.describe-cluster-v3.html) la documentación de AWS. ParallelCluster <pre>pcluster describe-cluster -n <cluster_name></pre> | Administrador de AWS | 

### Use los paneles de Grafana
<a name="using-the-grafana-dashboards"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Acceda al portal de Grafana. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster.html) | Administrador de AWS | 

### Limpie la solución para dejar de incurrir en costos asociados
<a name="clean-up-the-solution-to-stop-incurring-associated-costs"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Elimine el clúster. | Para eliminar el clúster, escriba siguiente comando. Para obtener más información sobre este comando, consulte [pcluster delete-cluster en la documentación](https://docs.aws.amazon.com/parallelcluster/latest/ug/pcluster.delete-cluster-v3.html) de AWS. ParallelCluster <pre>pcluster delete-cluster -n <cluster_name></pre> | Administrador de AWS | 
| Elimine las políticas de IAM. | Elimine las políticas que creó para el nodo principal y el nodo de cómputo. Para más información acerca de la eliminación de políticas, consulte [Eliminación de políticas de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-delete.html) en la documentación de IAM. | Administrador de AWS | 
| Eliminar la regla y el grupo de seguridad. | Elimine el grupo de seguridad que creó para el nodo principal. Para obtener más información, consulte [Eliminar reglas de grupo de seguridad](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-security-groups.html#deleting-security-group-rules) y [Eliminar un grupo de seguridad](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-security-groups.html#deleting-security-groups) en la documentación de Amazon VPC. | Administrador de AWS | 
| Elimine el bucket de S3. | Elimine el bucket de S3 que creó para almacenar los scripts de configuración. Para obtener más información, consulte [Eliminación de un bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-bucket.html) en la documentación de Amazon S3. | AWS general | 

## Resolución de problemas
<a name="set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| No se puede acceder al nodo principal en el navegador. | Compruebe el grupo de seguridad y confirme que el puerto de entrada 443 esté abierto. | 
| Grafana no se abre. | En el nodo principal, busque `docker logs Grafana` en el registro del contenedor. | 
| Algunas métricas no tienen datos. | En el nodo principal, compruebe los registros de todos los contenedores. | 

## Recursos relacionados
<a name="set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster-resources"></a>

**Documentación de AWS**
+ [Políticas de IAM para Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-policies-for-amazon-ec2.html)

**Otros recursos de AWS**
+ [AWS ParallelCluster](https://aws.amazon.com/hpc/parallelcluster/)
+ [Panel de monitoreo para AWS ParallelCluster](https://aws.amazon.com/blogs/compute/monitoring-dashboard-for-aws-parallelcluster/) (entrada del blog de AWS)

**Otros recursos**
+ [Sistema de monitorización Prometheus](https://prometheus.io/)
+ [Grafana](https://grafana.com/)

# Más patrones
<a name="highperformancecomputing-more-patterns-pattern-list"></a>

**Topics**
+ [Implementación de diagnósticos y solución de problemas de Kubernetes con tecnología de IA con la integración de K8sGPT y Amazon Bedrock](implement-ai-powered-kubernetes-diagnostics-and-troubleshooting-with-k8sgpt-and-amazon-bedrock-integration.md)

# Nube híbrida
<a name="hybrid-pattern-list"></a>

**Topics**
+ [Configure una CI/CD canalización para cargas de trabajo híbridas en Amazon ECS Anywhere mediante AWS CDK y GitLab](set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab.md)
+ [Más patrones](hybrid-more-patterns-pattern-list.md)

# Configure una CI/CD canalización para cargas de trabajo híbridas en Amazon ECS Anywhere mediante AWS CDK y GitLab
<a name="set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab"></a>

*Rafael Ortiz, Amazon Web Services*

## Resumen
<a name="set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab-summary"></a>

Amazon ECS Anywhere es una extensión de Amazon Elastic Container Service (Amazon ECS). Permite registrar una *instancia externa*, como un servidor en las instalaciones o una máquina virtual (VM), en su clúster de Amazon ECS. Esta característica ayuda a reducir los costos y mitigar la compleja operativa y orquestación de los contenedores locales. Puede usar ECS Anywhere para implementar y ejecutar aplicaciones de contenedor tanto en entornos en las instalaciones como en la nube. Evita que su equipo tenga que aprender varios dominios y conjuntos de habilidades, o administrar software complejo por su cuenta.

Este patrón describe un step-by-step enfoque para aprovisionar un clúster de Amazon ECS con instancias de Amazon ECS Anywhere mediante pilas del Cloud Development Kit (AWS CDK) de Amazon Web Services (AWS). A continuación, utiliza AWS CodePipeline para configurar una canalización de integración e implementación continuas (CI/CD). A continuación, replica el repositorio de GitLab código en AWS CodeCommit e implementa la aplicación en contenedores en el clúster de Amazon ECS.

Este patrón está diseñado para ayudar a quienes utilizan la infraestructura local a ejecutar aplicaciones de contenedores y GitLab a administrar la base de código de la aplicación. Puede administrar esas cargas de trabajo con los servicios en la nube de AWS sin interrumpir su infraestructura existente en las instalaciones.

## Requisitos previos y limitaciones
<a name="set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab-prereqs"></a>

**Requisitos previos**
+ Una cuenta de AWS activa.
+ Una aplicación en contenedor ejecutada en una infraestructura en las instalaciones.
+ Un GitLab repositorio en el que puede administrar la base de código de su aplicación. Para obtener más información, consulte [Repository](https://docs.gitlab.com/ee/user/project/repository/) (GitLab).
+ Interfaz de la línea de comandos de AWS (AWS CLI) instalada y configurada. Para obtener más información, consulte [Instalar o actualizar la última versión de la CLI de AWS](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) (documentación de la CLI de AWS).
+ Kit de herramientas de AWS CDK, instalado y configurado globalmente. Para más información, consulte [Instalar el CDK de AWS](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html#getting_started_install) (documentación sobre el CDK de AWS).
+ npm, instalado y configurado para la AWS CDK en. TypeScript Para obtener más información, consulte [Descargar e instalar Node.js y npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) (documentación de npm).

**Limitaciones**
+ Para ver las limitaciones y consideraciones, consulte [Instancias externas (Amazon ECS Anywhere)](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-anywhere.html#ecs-anywhere-considerations) en la documentación de Amazon ECS.

**Versiones de producto**
+ Kit de herramientas de AWS CDK, versión 2.27.0 o posterior
+ npm versión 7.20.3 o posterior
+ Node.js versión 16.6.1 o posterior

## Arquitectura
<a name="set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab-architecture"></a>

**Pila de tecnología de destino**
+ AWS CDK
+ AWS CloudFormation
+ AWS CodeBuild
+ AWS CodeCommit
+ AWS CodePipeline
+ Amazon ECS Anywhere
+ Amazon Elastic Container Registry (Amazon ECR)
+ AWS Identity y Access Management (IAM)
+ AWS Systems Manager
+ GitLab repositorio

**Arquitectura de destino**

![\[Diagrama de arquitectura de la configuración del clúster y la CI/CD canalización de Amazon ECS.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/b0f35986-a839-4b01-8eb0-4748182ddafc/images/85b8d4d9-3591-4d69-a54b-64aa543498f1.png)


Este diagrama representa dos flujos de trabajo principales descritos en este patrón: el aprovisionamiento del clúster de Amazon ECS y la configuración de la CI/CD canalización que configura e implementa la CI/CD canalización, de la siguiente manera:

1. **Aprovisionamiento del clúster de Amazon ECS**

   1. Al implementar la primera pila de CDK de AWS, se crea una CloudFormation pila en AWS.

   1. Esta CloudFormation pila aprovisiona un clúster de Amazon ECS y los recursos de AWS relacionados.

   1. Para registrar una instancia externa en un clúster de Amazon ECS, debe instalar AWS Systems Manager Agent (SSM Agent) en su máquina virtual y registrar la máquina virtual como instancia gestionada por AWS Systems Manager. 

   1. También debe instalar el agente de contenedores de Amazon ECS y Docker en su máquina virtual para registrarla como instancia externa en el clúster de Amazon ECS.

   1. Cuando la instancia externa está ya registrada y configurada con el clúster de Amazon ECS, puede ejecutar varios contenedores en su máquina virtual, registrada como instancia externa.

   1. El clúster de Amazon ECS está activo y puede ejecutar las cargas de trabajo de la aplicación a través de contenedores. La instancia de contenedor de Amazon ECS Anywhere se ejecuta en un entorno en las instalaciones, pero está asociada al clúster de Amazon ECS en la nube.

1. **Configuración e implementación de la CI/CD canalización**

   1. Al implementar la segunda pila de CDK de AWS, se crea otra CloudFormation pila en AWS.

   1. Esta CloudFormation pila proporciona una canalización CodePipeline y los recursos de AWS relacionados.

   1. Los cambios en el código de la aplicación se insertan y se combinan en un GitLab repositorio local. 

   1. El GitLab repositorio se replica automáticamente en el CodeCommit repositorio.

   1. Las actualizaciones del CodeCommit repositorio se inician automáticamente. CodePipeline 

   1. CodePipeline copia el código de la aplicación desplegable integrada CodeCommit y la crea. CodeBuild

   1. CodePipeline crea una imagen de Docker del entorno de CodeBuild compilación y la envía al repositorio de Amazon ECR.

   1. CodePipeline inicia CodeDeploy acciones que extraen la imagen del contenedor del repositorio de Amazon ECR.

   1. CodePipeline implementa la imagen del contenedor en el clúster de Amazon ECS.

**Automatización y escala**

Este patrón emplea AWS CDK como herramienta de infraestructura como código (IaC) para configurar e implementar esta arquitectura. AWS CDK le ayuda a organizar los recursos de AWS y a configurar Amazon ECS Anywhere y la CI/CD canalización.

## Tools (Herramientas)
<a name="set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab-tools"></a>

**Servicios de AWS**
+ [AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/latest/guide/home.html) es un marco de desarrollo de software que le ayuda a definir y aprovisionar la infraestructura en la nube de AWS en código.
+ [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) es un servicio de control de versiones que le ayuda a almacenar y gestionar repositorios de Git de forma privada, sin necesidad de gestionar su propio sistema de control de código fuente.
+ [AWS](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html) le CodePipeline ayuda a modelar y configurar rápidamente las diferentes etapas de una versión de software y a automatizar los pasos necesarios para publicar cambios de software de forma continua.
+ La [interfaz de la línea de comandos de AWS (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) es una herramienta de código abierto que le permite interactuar con los servicios de AWS mediante comandos en su intérprete de comandos de línea de comandos.
+ [Amazon Elastic Container Registry (Amazon ECR)](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html) es un servicio de registro de imágenes de contenedor administrado que es seguro, escalable y fiable.
+ [Amazon Elastic Container Service (Amazon ECS)](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html) es un servicio de administración de contenedores escalable y rápido que ayuda a ejecutar, detener y administrar contenedores en un clúster. Este patrón también emplea [Amazon ECS Anywhere](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-anywhere.html), que permite registrar un servidor en las instalaciones o una máquina virtual en el clúster de Amazon ECS.

**Otras herramientas**
+ [Node.js](https://nodejs.org/en/docs/) es un entorno de JavaScript ejecución basado en eventos diseñado para crear aplicaciones de red escalables.
+ [npm](https://docs.npmjs.com/about-npm) es un registro de software que se ejecuta en un entorno Node.js y se utiliza para compartir o tomar prestados paquetes y administrar la implementación de paquetes privados.
+ [Vagrant](https://developer.hashicorp.com/vagrant/docs) es una utilidad de código abierto para compilar y mantener entornos de desarrollo de software virtual portátiles. Este patrón usa Vagrant con fines de demostración para crear una máquina virtual en las instalaciones.

**Repositorio de código**

El código de este patrón está disponible en la [canalización de GitHub CI/CD de Amazon ECS Anywhere mediante el repositorio CDK de AWS](https://github.com/aws-samples/amazon-ecs-anywhere-cicd-pipeline-cdk-sample).

## Prácticas recomendadas
<a name="set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab-best-practices"></a>

Tenga en cuenta las siguientes prácticas recomendadas al implementar este patrón:
+ [Prácticas recomendadas para desarrollar e implementar una infraestructura de nube con AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/best-practices.html)
+ [Prácticas recomendadas para desarrollar aplicaciones en la nube con AWS CDK](https://aws.amazon.com/blogs/devops/best-practices-for-developing-cloud-applications-with-aws-cdk/) (publicación del blog de AWS)

## Epics
<a name="set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab-epics"></a>

### Verificar la configuración de AWS CDK
<a name="verify-the-aws-cdk-configuration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Verifique la versión de AWS CDK. | Compruebe la versión del kit de herramientas de AWS CDK ejecutando el siguiente comando.<pre>cdk --version</pre>Este patrón requiere la versión 2.27.0 o posterior. Si tiene una versión anterior, siga las instrucciones de la [documentación de AWS CDK](https://docs.aws.amazon.com/cdk/latest/guide/cli.html) para actualizarla. | DevOps ingeniero | 
| Verifique la versión de npm. | Verifique la versión de npm introduciendo el siguiente comando.<pre>npm --version</pre>Este patrón requiere la versión 7.20.3 o posterior. Si tiene una versión anterior, siga las instrucciones de la [documentación de npm](https://docs.npmjs.com/try-the-latest-stable-version-of-npm) para actualizarla. | DevOps ingeniero | 
| Configure las credenciales de AWS. | Para configurar las credenciales de AWS, ejecute el comando `aws configure` y siga las instrucciones.<pre>$aws configure<br />AWS Access Key ID [None]: <your-access-key-ID><br />AWS Secret Access Key [None]: <your-secret-access-key><br />Default region name [None]: <your-Region-name><br />Default output format [None]:</pre> | DevOps ingeniero | 

### Inicie el entorno de AWS CDK
<a name="bootstrap-the-aws-cdk-environment"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Clonar el repositorio de código de AWS CDK. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab.html) | DevOps ingeniero | 
| Arranque el entorno de . | Implemente la CloudFormation plantilla en la cuenta y la región de AWS que desee utilizar introduciendo el siguiente comando.<pre>cdk bootstrap <account-number>/<Region></pre>Para obtener más información, consulte [Proceso de arranque](https://docs.aws.amazon.com/cdk/latest/guide/bootstrapping.html) en la documentación de AWS CDK. | DevOps ingeniero | 

### Creación e implementación de la infraestructura para Amazon ECS Anywhere
<a name="build-and-deploy-the-infrastructure-for-amazon-ecs-anywhere"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Instale las dependencias del paquete y compile los TypeScript archivos. | Instale las dependencias del paquete y compile los TypeScript archivos introduciendo los siguientes comandos.<pre>$cd EcsAnywhereCdk<br />$npm install<br />$npm fund </pre>Estos comandos instalan todos los paquetes del repositorio de muestra. Para obtener más información, consulte [npm ci](https://docs.npmjs.com/cli/v7/commands/npm-ci) y [npm install](https://docs.npmjs.com/cli/v7/commands/npm-install) en la documentación de npm. Si recibe algún error relacionado con la falta de paquetes al ejecutar estos comandos, consulte la sección de [Solución de problemas](#set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab-troubleshooting) de este patrón. | DevOps ingeniero | 
| Compilar el proyecto. | Para construir el código del proyecto, introduzca el siguiente comando.<pre>npm run build</pre>Para obtener más información sobre la compilación e implementación del proyecto, consulte [Su primera aplicación de AWS CDK](https://docs.aws.amazon.com/cdk/latest/guide/hello_world.html#:~:text=the%20third%20parameter.-,Synthesize%20an%20AWS%20CloudFormation%20template,-Synthesize%20an%20AWS) en la documentación de AWS CDK. | DevOps ingeniero | 
| Implemente la pila de infraestructura de Amazon ECS Anywhere. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab.html) | DevOps ingeniero | 
| Verifique la creación y el resultado de la pila. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab.html) | DevOps ingeniero | 

### Configure una máquina virtual en las instalaciones
<a name="set-up-an-on-premises-vm"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configurar su VM. | Cree una máquina virtual de Vagrant ejecutando el comando `vagrant up` desde el directorio raíz donde se encuentra Vagrantfile. Para obtener más información, consulte la [documentación de Vagrant](https://developer.hashicorp.com/vagrant/docs/cli/up). | DevOps ingeniero | 
| Registre su máquina virtual como instancia externa. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab.html)[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab.html)Este paso configura la máquina virtual como una instancia externa de Amazon ECS Anywhere, y registra la instancia en el clúster de Amazon ECS. Para obtener más información, consulte [Registrar una instancia externa en un clúster](https://docs.amazonaws.cn/en_us/AmazonECS/latest/developerguide/ecs-anywhere-registration.html) en la documentación de Amazon ECS. Si tiene algún problema, consulte la sección [Solución de problemas](#set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab-troubleshooting). | DevOps ingeniero | 
| Compruebe el estado de Amazon ECS Anywhere y de la máquina virtual externa. | Para comprobar si su máquina virtual está conectada al plano de control de Amazon ECS y en funcionamiento, ejecute los siguientes comandos.<pre>$aws ssm describe-instance-information<br />$aws ecs list-container-instances --cluster $CLUSTER_NAME</pre> | DevOps ingeniero | 

### Despliegue la CI/CD canalización
<a name="deploy-the-ci-cd-pipeline"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Crea una rama en el CodeCommit repositorio. | Crea una rama con un nombre `main` en el CodeCommit repositorio creando la primera confirmación para el repositorio. Puede seguir la documentación de AWS para [crear una confirmación CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/how-to-create-commit.html#create-first-commit). El siguiente comando es un ejemplo.<pre>aws codecommit put-file \<br />  --repository-name EcsAnywhereRepo \<br />  --branch-name main \<br />  --file-path README.md \<br />  --file-content "Test" \<br />  --name "Dev Ops" \<br />  --email "devops@example.com" \<br />  --commit-message "Adding README."</pre> | DevOps ingeniero | 
| Configure la replicación de repositorios. | Puede duplicar un GitLab repositorio desde y hacia fuentes externas. Puede seleccionar qué repositorio servirá como origen. Las ramificaciones, las etiquetas y las confirmaciones se sincronizan automáticamente. Configura una réplica automática entre el GitLab repositorio que aloja tu aplicación y el CodeCommit repositorio. Para obtener instrucciones, consulte [Configurar una réplica push de GitLab a CodeCommit](https://docs.gitlab.com/ee/user/project/repository/mirror/push.html#set-up-a-push-mirror-from-gitlab-to-aws-codecommit) (GitLab documentación).De manera predeterminada, la replicación sincroniza automáticamente el repositorio. Si desea actualizar manualmente los repositorios, consulte [Actualizar una réplica](https://docs.gitlab.com/ee/user/project/repository/mirror/#update-a-mirror) (GitLab documentación). | DevOps ingeniero | 
| Despliegue la pila de CI/CD canalizaciones. | Implementar la pila de `EcsAnywherePipelineStack` introduciendo el siguiente comando.<pre>$cdk  deploy EcsAnywherePipelineStack</pre> | DevOps ingeniero | 
| Pruebe la CI/CD tubería. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab.html) | DevOps ingeniero | 

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


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Limpie y elimine los recursos. | Después de seguir este patrón, debe eliminar los proof-of-concept recursos que ha creado. Para limpiar, introduzca los siguientes comandos.<pre>$cdk destroy EcsAnywherePipelineStack<br />$cdk destroy EcsAnywhereInfraStack</pre> | DevOps ingeniero | 

## Resolución de problemas
<a name="set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| Errores relacionados con la falta de paquetes al instalar dependencias de paquetes. | Ejecute uno de los siguientes comandos para resolver los paquetes que faltan.<pre>$npm ci</pre>o<pre>$npm install -g @aws-cdk/<package_name></pre> | 
| Al ejecutar el comando `aws ssm create-activation` en la máquina virtual, recibe el siguiente error.`An error occurred (ValidationException) when calling the CreateActivation operation: Nonexistent role or missing ssm service principal in trust policy: arn:aws:iam::000000000000:role/EcsAnywhereInstanceRole` | La pila `EcsAnywhereInfraStack` no se ha implementado por completo, y el rol de IAM necesario para ejecutar este comando no se ha creado todavía. Comprueba el estado de la pila en la CloudFormation consola. Vuelva a intentar el comando después de que el estado cambie a `CREATE_COMPLETE`. | 
| La comprobación de estado de Amazon ECS devuelve el resultado `UNHEALTHY`, y aparece el siguiente error en la sección **Servicios** del clúster en la consola de Amazon ECS.`service EcsAnywhereService was unable to place a task because no container instance met all of its requirements. Reason: No Container Instances were found in your cluster.` | Reinicie el agente de Amazon ECS en su máquina virtual de Vagrant ejecutando los siguientes comandos.<pre>$vagrant ssh<br />$sudo systemctl restart ecs<br />$sudo systemctl status ecs</pre> | 

## Recursos relacionados
<a name="set-up-a-ci-cd-pipeline-for-hybrid-workloads-on-amazon-ecs-anywhere-by-using-aws-cdk-and-gitlab-resources"></a>
+ [Página de marketing de Amazon ECS Anywhere](https://aws.amazon.com/ecs/anywhere/)
+ [Documentación de Amazon ECS Anywhere](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-anywhere.html#ecs-anywhere-considerations)
+ [Demostración de Amazon ECS Anywhere](https://www.youtube.com/watch?v=-eud6yUXsJM) (video)
+ [Muestras de talleres de Amazon ECS Anywhere](https://github.com/aws-samples/aws-ecs-anywhere-workshop-samples) (GitHub)
+ [Duplicación de repositorios (documentación](https://docs.gitlab.com/ee/user/project/repository/mirror/)) GitLab 

# Más patrones
<a name="hybrid-more-patterns-pattern-list"></a>

**Topics**
+ [Implemente aplicaciones en contenedores si se AWS IoT Greengrass V2 ejecutan como un contenedor Docker](deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.md)
+ [Gestión de las aplicaciones de contenedores en las instalaciones mediante la configuración de Amazon ECS Anywhere con AWS CDK](manage-on-premises-container-applications-by-setting-up-amazon-ecs-anywhere-with-the-aws-cdk.md)
+ [Cómo modificar los encabezados HTTP al migrar de F5 a un equilibrador de carga de aplicación en AWS](modify-http-headers-when-you-migrate-from-f5-to-an-application-load-balancer-on-aws.md)
+ [Vuelva a alojar las cargas de trabajo en las instalaciones en la nube de AWS: lista de verificación de migración](rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist.md)
+ [Utilice las consultas de BMC Discovery para extraer datos de migración para planificar la migración](use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning.md)

# Gestión y gobernanza
<a name="governance-pattern-list"></a>

**Topics**
+ [Identifique y avise cuando los recursos de Amazon Data Firehose no estén cifrados con una clave AWS KMS](identify-and-alert-when-amazon-data-firehose-resources-are-not-encrypted-with-an-aws-kms-key.md)
+ [Automatice las asignaciones de CIDR, IPAM y IPv4 CIDR de Amazon VPC para nuevos mediante AFT Cuentas de AWS](automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.md)
+ [Automatice la adición o actualización de entradas de registro de Windows con AWS Systems Manager](automate-adding-or-updating-windows-registry-entries-using-aws-systems-manager.md)
+ [Crear automáticamente una RFC en AMS mediante Python](automatically-create-an-rfc-in-ams-using-python.md)
+ [Detener e iniciar automáticamente una instancia de base de datos de Amazon RDS mediante AWS Systems Manager Maintenance Windows](automatically-stop-and-start-an-amazon-rds-db-instance-using-aws-systems-manager-maintenance-windows.md)
+ [Centralización de la distribución de paquetes de software en AWS Organizations mediante Terraform](centralize-software-package-distribution-in-aws-organizations-by-using-terraform.md)
+ [Configure el registro para las aplicaciones.NET en Amazon CloudWatch Logs mediante NLog](configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog.md)
+ [Copiar los productos de AWS Service Catalog en diferentes cuentas y regiones de AWS](copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions.md)
+ [Crear una matriz RACI o RASCI para un modelo operativo en la nube](create-a-raci-or-rasci-matrix-for-a-cloud-operating-model.md)
+ [Cree alarmas para métricas personalizadas mediante la detección de CloudWatch anomalías de Amazon](create-alarms-for-custom-metrics-using-amazon-cloudwatch-anomaly-detection.md)
+ [Crear un IDE de AWS Cloud9 que utilice volúmenes de Amazon EBS con cifrado predeterminado](create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption.md)
+ [Crea automáticamente CloudWatch paneles de Amazon basados en etiquetas](create-tag-based-amazon-cloudwatch-dashboards-automatically.md)
+ [Documentación del diseño de su AWS Landing Zone](document-your-aws-landing-zone-design.md)
+ [Mejore el rendimiento operativo habilitando Amazon DevOps Guru en varias regiones y cuentas de AWS y OUs con la CDK de AWS](improve-operational-performance-by-enabling-amazon-devops-guru-across-multiple-aws-regions-accounts-and-ous-with-the-aws-cdk.md)
+ [Control de los conjuntos de permisos para varias cuentas mediante Account Factory for Terraform](govern-permission-sets-aft.md)
+ [Implementación del Generador de cuentas para Terraform (AFT) mediante una canalización de arranque](implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.md)
+ [Administre los productos de AWS Service Catalog en varias cuentas y regiones de AWS](manage-aws-service-catalog-products-in-multiple-aws-accounts-and-aws-regions.md)
+ [Supervisión de los clústeres de SAP RHEL Pacemaker mediante los servicios de AWS](monitor-sap-rhel-pacemaker-clusters-by-using-aws-services.md)
+ [Supervise la actividad de las aplicaciones mediante CloudWatch Logs Insights](monitor-application-activity-by-using-cloudwatch-logs-insights.md)
+ [Supervise el uso de una imagen de máquina de Amazon compartida en múltiples Cuentas de AWS](monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts.md)
+ [Vea los detalles de la instantánea de EBS de su cuenta u organización de AWS](view-ebs-snapshot-details-for-your-aws-account-or-organization.md)
+ [Más patrones](governance-more-patterns-pattern-list.md)

# Identifique y avise cuando los recursos de Amazon Data Firehose no estén cifrados con una clave AWS KMS
<a name="identify-and-alert-when-amazon-data-firehose-resources-are-not-encrypted-with-an-aws-kms-key"></a>

*Ram Kandaswamy, Amazon Web Services*

## Resumen
<a name="identify-and-alert-when-amazon-data-firehose-resources-are-not-encrypted-with-an-aws-kms-key-summary"></a>

Para garantizar la conformidad, algunas organizaciones deben tener el cifrado activado en los recursos de entrega de datos, como Amazon Data Firehose. Este patrón muestra una forma de monitorear, detectar y notificar cuando los recursos no cumplen con las normas.

Para mantener el requisito de cifrado, este patrón se puede utilizar AWS para proporcionar supervisión y detección automatizadas de los recursos de entrega de Amazon Data Firehose que no están cifrados con una clave AWS Key Management Service (AWS KMS). La solución envía notificaciones de alerta y se puede ampliar para que se corrija automáticamente. Esta solución se puede aplicar a una cuenta individual o a un entorno de varias cuentas, como un entorno que utilice una AWS landing zone o. AWS Control Tower

## Requisitos previos y limitaciones
<a name="identify-and-alert-when-amazon-data-firehose-resources-are-not-encrypted-with-an-aws-kms-key-prereqs"></a>

**Requisitos previos **
+ Flujo de entrega de Amazon Data Firehose
+ Permisos suficientes y familiaridad con lo que CloudFormation se utiliza en esta automatización de infraestructuras

**Limitaciones**
+ La solución no es en tiempo real porque utiliza AWS CloudTrail eventos para la detección y hay un retraso entre el momento en que se crea un recurso no cifrado y el momento en que se envía la notificación.

## Arquitectura
<a name="identify-and-alert-when-amazon-data-firehose-resources-are-not-encrypted-with-an-aws-kms-key-architecture"></a>

**Pila de tecnología de destino**

La solución utiliza tecnología sin servidor y los siguientes servicios:
+ AWS CloudTrail
+ Amazon CloudWatch
+ AWS Command Line Interface (AWS CLI)
+ AWS Identity and Access Management (IAM)
+ Amazon Data Firehose
+ AWS Lambda
+ Amazon Simple Notification Service (Amazon SNS)

**Arquitectura de destino**

![\[Proceso para generar alertas cuando los recursos de Data Firehose no están cifrados.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/897ba8cf-d1c2-4149-98e7-09d3d90d13d6/images/d694f718-bd0c-4d14-a2e4-e0ea58dc048e.png)


En el siguiente diagrama se muestran estos pasos:

1. Un usuario crea o modifica Amazon Data Firehose.

1. Se detecta un CloudTrail evento y se hace coincidir.

1. Lambda es invocado.

1. Se identifican los recursos que no cumplen con las normas.

1. Se envía una notificación por correo electrónico.

**Automatización y escala**

Puede utilizarla CloudFormation StackSets para aplicar esta solución a varias cuentas Regiones de AWS o a cuentas con un solo comando.

## Tools (Herramientas)
<a name="identify-and-alert-when-amazon-data-firehose-resources-are-not-encrypted-with-an-aws-kms-key-tools"></a>
+ [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)es una Servicio de AWS que le ayuda a habilitar la gobernanza, el cumplimiento y la auditoría operativa y de riesgos de su empresa Cuenta de AWS. Las acciones realizadas por un usuario, un rol o una Servicio de AWS persona se registran como eventos en CloudTrail. Los eventos incluyen las acciones realizadas en las operaciones Consola de administración de AWS AWS CLI AWS SDKs,, y API.
+ [Amazon CloudWatch Events](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/WhatIsCloudWatchEvents.html) ofrece una transmisión casi en tiempo real de los eventos del sistema que describen los cambios en AWS los recursos.
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) es una herramienta de código abierto que le permite interactuar con ella Servicios de AWS mediante comandos del shell de la línea de comandos. 
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) es un servicio web que le ayuda a controlar de forma segura el acceso a AWS los recursos. Utilice IAM para controlar quién está autenticado (ha iniciado sesión) y autorizado (tiene permisos) para utilizar recursos. 
+ [Amazon Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html) es un servicio totalmente administrado para enviar datos de streaming en tiempo real. Con Firehose, no es necesario escribir aplicaciones ni administrar recursos. Configure los productores de datos para que envíen datos a Firehose y este entrega inmediatamente los datos al destino que usted especificó.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) es un servicio de computación que permite ejecutar código sin aprovisionar ni administrar servidores. Lambda ejecuta su código solo cuando es necesario y escala de manera automática, desde unas pocas solicitudes por día hasta miles por segundo. Solo paga el tiempo de computación que consume, sin ningún cargo mientras su código no se ejecuta. 
+ [Amazon Simple Notification Service (Amazon SNS)](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) es un servicio administrado con el que se ofrece la entrega de mensajes de los publicadores a los suscriptores (también conocidos como productores y consumidores).

## Epics
<a name="identify-and-alert-when-amazon-data-firehose-resources-are-not-encrypted-with-an-aws-kms-key-epics"></a>

### Aplique el cifrado para garantizar el cumplimiento
<a name="enforce-encryption-for-compliance"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Despliegue CloudFormation StackSets. | En AWS CLI, utilice la `firehose-encryption-checker.yaml` plantilla (adjunta) para crear el conjunto de pilas ejecutando el siguiente comando.  Proporcione un Nombre de recurso de Amazon (ARN) de tema de Amazon SNS válido para el parámetro. La implementación debe crear correctamente las reglas de CloudWatch eventos, la función Lambda y un rol de IAM con los permisos necesarios, tal y como se describe en la plantilla.<pre>aws cloudformation create-stack-set    --stack-set-name my-stack-set   --template-body file://firehose-encryption-checker.yaml </pre> | Arquitecto de la nube, administrador de sistemas | 
| Cree instancias de pila. | Las pilas se pueden crear en la cuenta que Regiones de AWS prefieras, así como en una o más cuentas.  Para crear instancias de pila, ejecute el siguiente comando. Sustituya el nombre de la pila, los números de cuenta y las regiones por sus propios valores.<pre>aws cloudformation create-stack-instances     --stack-set-name my-stack-set    --accounts 123456789012 223456789012   --regions us-east-1 us-east-2 us-west-1 us-west-2     --operation-preferences FailureToleranceCount=1 </pre> | Arquitecto de la nube, administrador de sistemas | 

## Recursos relacionados
<a name="identify-and-alert-when-amazon-data-firehose-resources-are-not-encrypted-with-an-aws-kms-key-resources"></a>
+ [Trabajando con CloudFormation StackSets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html)
+ [¿Qué es Amazon CloudWatch Events?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/WhatIsCloudWatchEvents.html)

## Conexiones
<a name="attachments-897ba8cf-d1c2-4149-98e7-09d3d90d13d6"></a>

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: [attachment.zip](samples/p-attach/897ba8cf-d1c2-4149-98e7-09d3d90d13d6/attachments/attachment.zip)

# Automatice las asignaciones de CIDR, IPAM y IPv4 CIDR de Amazon VPC para nuevos mediante AFT Cuentas de AWS
<a name="automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft"></a>

*Kien Pham y Alex Pazik, Amazon Web Services*

## Resumen
<a name="automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft-summary"></a>

Este patrón muestra cómo automatizar las asignaciones de IPv4 CIDR de Amazon VPC IP Address Manager (IPAM) para las nuevas mediante Cuentas de AWS [AWS Control Tower Account](https://docs.aws.amazon.com/controltower/latest/userguide/aft-overview.html) Factory for Terraform (AFT). Esto se hace mediante una personalización a nivel de cuenta que asigna un bloque IPv4 CIDR de IPAM a una nueva nube privada virtual (VPC) mediante el módulo. `aft-account-customizations`

Con IPAM, puede organizar, asignar, monitorear y auditar las direcciones IP a gran escala, lo que le permite planificar, rastrear y monitorear fácilmente las direcciones IP de sus cargas de trabajo. AWS Puede [crear un grupo de IPAM](https://docs.aws.amazon.com/vpc/latest/ipam/create-ipam.html) e IPAM para asignar un bloque IPv4 CIDR a una nueva VPC durante el proceso de venta de cuentas.

## Requisitos previos y limitaciones
<a name="automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft-prereqs"></a>

**Requisitos previos **
+ Una activa AWS Control Tower habilitada en una compatible Cuenta de AWS y una AFT implementada [Región de AWS](https://docs.aws.amazon.com/controltower/latest/userguide/region-how.html)
+ Un [proveedor de sistemas de control de versiones (VCS)](https://github.com/aws-ia/terraform-aws-control_tower_account_factory?tab=readme-ov-file#input_vcs_provider) compatible BitBucket, como GitHub, y Enterprise GitHub 
+ Interfaz de la línea de comandos (CLI) de Terraform [instalada](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli)
+ Un entorno de tiempo de ejecución en el que pueda ejecutar el módulo Terraform que instala AFT.
+ AWS Command Line Interface [(AWS CLI) [instalado](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) y configurado](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-quickstart.html)

**Limitaciones**
+ Algunas Servicios de AWS no están disponibles en todas Regiones de AWS. Para obtener información sobre la disponibilidad en regiones, consulte [AWS Services by Region](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Para ver los puntos de conexión específicos, consulte [Service endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) y elija el enlace del servicio.

**Versiones de producto**
+ [AWS Control Tower landing zone](https://docs.aws.amazon.com/controltower/latest/userguide/2022-all.html#version-3.0) versión 3.0 o posterior, anterior a la versión 4.0
+ Versión 1.13.0 o posterior de la [AFT](https://github.com/aws-ia/terraform-aws-control_tower_account_factory), anterior a la versión 2.0.0
+ La versión 1.2.0 o posterior de Terraform OSS, anterior a la versión 2.0.0
+ [Terraform AWS Provider](https://registry.terraform.io/providers/hashicorp/aws/latest/docs) (`terraform-provider-aws`) versión 5.11.0 o posterior, anterior a la versión 6.0.0
+ La versión 2.1.0 o posterior del [módulo de Terraform para IPAM](https://github.com/aws-ia/terraform-aws-ipam) (`aws-ia/ipam/aws`)

## Arquitectura
<a name="automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft-architecture"></a>

En el siguiente diagrama se muestran el flujo de trabajo y los componentes de este patrón.

![\[Flujo de trabajo para crear la asignación de CIDR de IPAM IPv4 de Amazon VPC.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/986cfc7d-058b-4490-9029-6cd1eadd1dd2/images/f90b84dd-0420-460e-ac0f-9f22b4a9fdc4.png)


El flujo de trabajo consta de las tareas principales siguientes:

1. **Cambios desencadenantes: los cambios** en la personalización de Terraform e IPAM se transfieren al repositorio y se publican. GitHub Esta tarea activa la AWS CodeBuild canalización automáticamente.

1. **Automatice la construcción**: en su interior CodeBuild, se activan varios proyectos de compilación AWS Step Functions.

1. **Aplica la personalización**: Step Functions se coordina con CodeBuild ella para planificar y aplicar los cambios de Terraform. Esta tarea utiliza el módulo AFT Terraform para coordinar la asignación de IP del grupo de IPAM a la AWS cuenta vendida.

## Tools (Herramientas)
<a name="automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft-tools"></a>

**Servicios de AWS**
+ [AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) es un servicio de compilación completamente administrado que le permite compilar código fuente, poner en marcha pruebas unitarias y producir artefactos listos para implementar.
+ [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html) permite diseñar y configurar rápidamente las diferentes etapas de un proceso de lanzamiento de software y automatizar los pasos necesarios para lanzar los cambios en el software de manera continua.
+ [AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html)organiza las capacidades de varios otros [Servicios de AWS](https://docs.aws.amazon.com/controltower/latest/userguide/integrated-services.html), incluidos AWS Organizations, y. AWS Service Catalog AWS IAM Identity Center Puede ayudarlo a configurar y administrar un entorno de AWS múltiples cuentas, siguiendo las mejores prácticas prescriptivas.
+ [Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html) es un servicio de base de datos de NoSQL completamente administrado que ofrece un rendimiento rápido, predecible y escalable.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) es un servicio de computación que ayuda a ejecutar código sin necesidad de aprovisionar ni administrar servidores. Ejecuta el código solo cuando es necesario y amplía la capacidad de manera automática, por lo que solo pagará por el tiempo de procesamiento que utilice.
+ [AWS SDK para Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html)es un kit de desarrollo de software que le ayuda a integrar su aplicación, biblioteca o script de Python con Servicios de AWS.
+ [AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html)le ayuda a gestionar de forma centralizada los catálogos de servicios de TI AWS aprobados. Los usuarios finales pueden implementar rápidamente solo los servicios de TI aprobados que necesitan, de acuerdo con las limitaciones establecidas por su organización.
+ [AWS Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html)es un servicio de organización sin servidor que le ayuda a combinar AWS Lambda funciones y otras Servicios de AWS para crear aplicaciones esenciales para la empresa.
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) le ayuda a lanzar AWS recursos en una red virtual que haya definido. Esa red virtual es similar a la red tradicional que utiliza en su propio centro de datos, con los beneficios de usar la infraestructura escalable de AWS. El administrador de direcciones IP de Amazon VPC (IPAM) es una función de VPC que le facilita la planificación, el seguimiento y la supervisión de las direcciones IP de sus cargas de trabajo. AWS 

**Otras herramientas**
+ [GitHub](https://docs.github.com/)es una plataforma para desarrolladores que los desarrolladores pueden usar para crear, almacenar, administrar y compartir su código.
+ [HashiCorp Terraform](https://www.terraform.io/) es una herramienta de infraestructura como código (IaC) que le ayuda a crear y administrar recursos locales y en la nube. Esto incluye componentes de bajo nivel, como instancias de procesamiento, almacenamiento y redes, y componentes de alto nivel, como entradas de DNS y característica de software como servicio (SaaS).
+ [Python](https://www.python.org/) es un lenguaje de programación informático de uso general. Puede usar esta herramienta para crear aplicaciones, automatizar tareas y desarrollar servicios en [Nube de AWS](https://aws.amazon.com/developer/language/python/).

**Repositorio de código**
+ El código de este patrón está disponible en el repositorio GitHub [AWS Control Tower Account Factory for Terraform](https://github.com/aws-ia/terraform-aws-control_tower_account_factory).

## Prácticas recomendadas
<a name="automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft-best-practices"></a>

Al implementar AFT, le recomendamos que siga las prácticas recomendadas para garantizar una implementación segura, eficiente y correcta. Las pautas y recomendaciones clave para implementar y operar la AFT incluyen los siguientes pasos: 
+ **Revisión exhaustiva de las entradas**: revise y comprenda cuidadosamente cada [entrada](https://github.com/aws-ia/terraform-aws-control_tower_account_factory). La configuración correcta de las entradas es crucial para la configuración y el funcionamiento de la AFT.
+ **Actualizaciones periódicas de las plantillas**: mantenga las plantillas actualizadas con las últimas AWS funciones y versiones de Terraform. Las actualizaciones periódicas lo ayudarán a aprovechar las nuevas funciones y a mantener la seguridad.
+ **Control de versiones**: fije la versión de su módulo de AFT y, si es posible, utilice una implementación de AFT independiente para realizar las pruebas.
+ **Alcance**: utilice AFT únicamente para implementar barreras de protección y personalizaciones de infraestructura. No use AFT para implementar la aplicación.
+ **Lint y validación**: la canalización de AFT requiere una configuración de Terraform de tipo Lint y que esté validada. Ejecute Lint, valide y pruebe todo antes de enviar la configuración a los repositorios de AFT.
+ **Módulos de Terraform**: cree código de Terraform reutilizable como módulos y especifique siempre las versiones de Terraform y del AWS proveedor para que se ajusten a los requisitos de su organización.

## Epics
<a name="automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft-epics"></a>

### Configure y configure su entorno AWS
<a name="set-up-and-configure-your-aws-environment"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Implemente AWS Control Tower. | Instálelo y AWS Control Tower configúrelo en su AWS entorno para garantizar la administración y el gobierno centralizados de su Cuentas de AWS. Para obtener más información, consulte [Primeros pasos AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/getting-started-with-control-tower.html) en la AWS Control Tower documentación. | Administrador de la nube | 
| Implemente AWS Control Tower Account Factory para Terraform (AFT). | Configure AFT en una nueva cuenta de administración de AFT dedicada. Para obtener más información, consulte [Configurar e iniciar su AWS Control Tower Account Factory para Terraform](https://docs.aws.amazon.com/controltower/latest/userguide/aft-getting-started.html#aft-configure-and-launch) en la AWS Control Tower documentación. | Administrador de la nube | 
| Complete la AFT después de la implementación. | Una vez que se complete el despliegue de la infraestructura AFT, complete los pasos que se indican en la documentación sobre [los pasos posteriores al despliegue](https://docs.aws.amazon.com/controltower/latest/userguide/aft-post-deployment.html). AWS Control Tower  | Administrador de la nube | 

### Creación de un IPAM
<a name="create-ipam"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Delegue un administrador de IPAM | Para delegar una cuenta de administrador de IPAM en su AWS organización, siga los siguientes pasos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.html)Como alternativa, puede usar AWS CLI y ejecutar el siguiente comando:<pre>aws ec2 enable-ipam-organization-admin-account \<br />    --delegated-admin-account-id 012345678901</pre>Para obtener más información, consulte [Integrar el IPAM con las cuentas de una AWS organización](https://docs.aws.amazon.com/vpc/latest/ipam/enable-integ-ipam.html) en la documentación de Amazon VPC [enable-ipam-organization-adminy](https://docs.aws.amazon.com/cli/latest/reference/ec2/enable-ipam-organization-admin-account.html) -account en AWS CLI la Referencia de comandos. Para seguir utilizando IPAM, debe iniciar sesión en la cuenta de administrador delegado. El perfil de SSO o las variables de AWS entorno especificadas en el siguiente paso deben permitirle iniciar sesión en esa cuenta y conceder permisos para crear un grupo regional y de alto nivel de IPAM. | Administrador de AWS | 
| Cree un grupo regional y de nivel superior de IPAM. | El GitHub repositorio de este patrón contiene una plantilla de Terraform que puede usar para crear su grupo de nivel superior y su grupo regional de IPAM. A continuación, puede compartir los grupos con una organización, unidad organizativa (OU) u otro recurso mediante AWS Resource Access Manager (). Cuenta de AWSAWS RAMUtilice los siguientes pasos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.html)Anote el ID del grupo de recursos que se muestra después de la creación. Necesitará ese ID al enviar la solicitud de cuenta. Si olvida el ID del grupo de recursos, puede obtenerlo más adelante en la Consola de administración de AWS. Asegúrese de que los grupos creados CIDRs no se superpongan con ningún otro grupo de su región de trabajo. Puede crear un grupo sin un CIDR, pero no podrá utilizar el grupo para asignaciones hasta que le haya aprovisionado un CIDR. Puede añadir elementos CIDRs a un grupo en cualquier momento editando el grupo. | Administrador de AWS | 

### Integración de IPAM con AFT
<a name="integrate-ipam-with-aft"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Comience a crear la personalización de la cuenta. | Para iniciar una nueva personalización de la cuenta, ejecute los siguientes comandos desde su terminal:<pre># Default name for customization repo<br />cd aft-account-customizations # Replace with your actual repo name if different than the default<br />mkdir -p APG-AFT-IPAM/terraform # Replace APG-AFT-IPAM with your desired customization name<br />cd APG-AFT-IPAM/terraform</pre> | DevOps ingeniero | 
| Cree el archivo `aft-providers.jinja`. | Agregue código dinámico al archivo `aft-providers.jinja` que especifique el backend y el proveedor de Terraform que va a usar.Utilice los siguientes pasos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.html) | DevOps ingeniero | 
| Cree el archivo `backend.jinja`. | Agregue código dinámico al archivo `backend.jinja` que especifique el backend y el proveedor de Terraform que va a usar.Utilice los siguientes pasos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.html) | DevOps ingeniero | 
| Cree el archivo `main.tf`. | Cree un `main.tf` archivo nuevo y añada código que defina dos fuentes de datos que recuperan dos valores de AWS Systems Manager (`aws_ssm`) y crean la VPC.Utilice los siguientes pasos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.html) | DevOps ingeniero | 
| Cree el archivo `variables.tf`. | Cree un archivo `variables.tf` que indique las variables que usa el módulo de Terraform.Utilice los siguientes pasos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.html) | DevOps ingeniero | 
| Cree el archivo `terraform.tfvars`. | Cree un archivo `terraform.tfvars` que defina los valores de las variables que se pasan al archivo `main.tf`.Utilice los siguientes pasos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.html) | DevOps ingeniero | 
| Cree el archivo `outputs.tf`. | Cree un nuevo `outputs.tf` archivo que exponga algunos valores en CodeBuild.Utilice los siguientes pasos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.html) | DevOps ingeniero | 
| Confirme la personalización. | Para confirmar la nueva personalización en el repositorio de personalizaciones de la cuenta, ejecute los siguientes comandos:<pre># Assumes you are still in the /terraform directory<br />cd .. # Skip if you are in the account customization root directory (APG-AFT-IPAM)<br />git add .<br />git commit -m "APG customization"<br />git push origin</pre> | DevOps ingeniero | 
| Aplique la personalización. | Agregue el código al archivo `account-requests.tf` que solicita una nueva cuenta con la personalización de la cuenta recién creada. Los campos personalizados crean los parámetros de Systems Manager en la cuenta de venta que son necesarios para crear la VPC con el CIDR asignado por IPv4 IPAM correcto.Utilice los siguientes pasos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.html) | AWS DevOps | 
| Valide la personalización. | Inicie sesión en la cuenta recién creada y compruebe que la personalización se haya aplicado correctamente.Utilice los siguientes pasos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft.html) | DevOps ingeniero | 

## Resolución de problemas
<a name="automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
|  Se producen errores en la creación o administración de los recursos a causa de permisos inadecuados. |  Revise las funciones y políticas AWS Identity and Access Management (de IAM) asociadas a Step Functions y otros servicios involucrados en la implementación. CodeBuild Confirme que tengan los permisos necesarios. Si tiene problemas con los permisos, ajuste las políticas de IAM para conceder el acceso necesario. | 
|  Servicio de AWS Las cuotas se alcanzan durante la implementación. |  Antes de implementar la canalización, compruebe Servicio de AWS las cuotas de recursos, como los buckets de Amazon Simple Storage Service (Amazon S3), las funciones y las funciones de IAM. AWS Lambda Si es necesario, solicite un aumento de las cuotas. Para obtener más información, consulte [Servicio de AWS Service Quotas](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) en la *Referencia general de AWS *. | 

## Recursos relacionados
<a name="automate-amazon-vpc-ipam-ipv4-cidr-allocations-for-new-aws-accounts-by-using-aft-resources"></a>

**Servicio de AWS documentación**
+ [AWS Control Tower Guía del usuario](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html)
+ [Cómo funciona el IPAM](https://docs.aws.amazon.com/vpc/latest/ipam/how-it-works-ipam.html)
+ [Security best practices in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) (Prácticas recomendadas de seguridad en IAM)
+ [Servicio de AWS cuotas](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)

**Otros recursos**
+ [Documentación de Terraform AWS Provider](https://registry.terraform.io/providers/hashicorp/aws/latest/docs)

# Automatice la adición o actualización de entradas de registro de Windows con AWS Systems Manager
<a name="automate-adding-or-updating-windows-registry-entries-using-aws-systems-manager"></a>

*Appasaheb Bagali, Amazon Web Services*

## Resumen
<a name="automate-adding-or-updating-windows-registry-entries-using-aws-systems-manager-summary"></a>

AWS Systems Manager es una herramienta de administración remota para instancias de Amazon Elastic Compute Cloud (Amazon EC2). Systems Manager proporciona visibilidad y control sobre su infraestructura en Amazon Web Services. Esta versátil herramienta permite corregir los cambios en el registro de Windows identificados como vulnerabilidades por el informe de análisis de vulnerabilidades de seguridad. 

Este patrón describe los pasos para mantener seguras EC2 las instancias que ejecutan el sistema operativo Windows mediante la automatización de los cambios de registro recomendados para la seguridad de su entorno. El patrón emplea Run Command para ejecutar un documento de comandos. Se adjunta el código, y una parte del mismo se incluye en la sección de *código*.

## Requisitos previos y limitaciones
<a name="automate-adding-or-updating-windows-registry-entries-using-aws-systems-manager-prereqs"></a>
+ Una cuenta de AWS activa
+ Permisos para acceder a la EC2 instancia y a Systems Manager

## Arquitectura
<a name="automate-adding-or-updating-windows-registry-entries-using-aws-systems-manager-architecture"></a>

**Pila de tecnología de destino**
+ Una nube privada virtual (VPC), con dos subredes y una puerta de enlace de traducción de direcciones de red (NAT)
+ Un documento de comandos de Systems Manager para añadir o actualizar el nombre y el valor del registro
+ Systems Manager: ejecute el comando para ejecutar el documento de comandos en las EC2 instancias especificadas

**Arquitectura de destino**

![\[Cómo automatizar la adición o actualización de entradas de registro de Windows con AWS Systems Manager.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/2ecf680d-9f36-4070-8a19-2af262db7fcc/images/c992bcb0-d894-4aa7-9bb3-3d60c9c79e8d.png)


 

## Tools (Herramientas)
<a name="automate-adding-or-updating-windows-registry-entries-using-aws-systems-manager-tools"></a>

**Herramientas**
+ [ Políticas y roles de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html): AWS Identity and Access Management (IAM) es un servicio web que le ayuda a controlar de forma segura el acceso a los recursos de AWS. Utilice IAM para controlar quién está autenticado (ha iniciado sesión) y autorizado (tiene permisos) para utilizar recursos.
+ [Amazon Simple Storage Service](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) Amazon Simple Storage Service (Amazon S3) es un servicio de almacenamiento para Internet. Está diseñado para facilitar a los desarrolladores recursos de computación escalables basados en Web. En este patrón se usa un bucket de S3 para almacenar los registros de Systems Manager.
+ [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html): AWS Systems Manager es un servicio que puede utilizar para ver y controlar su infraestructura en AWS. Systems Manager le ayuda a mantener la seguridad y la conformidad mediante el análisis de sus *instancias administradas* y el informe sobre las infracciones de las políticas que detecte (o la toma de medidas correctivas con respecto a estas).
+ [Documento de comandos de AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-ssm-docs.html): Run Command emplea los documentos de comandos de AWS Systems Manager. La mayoría de los documentos de Command son compatibles con todos los sistemas operativos Linux y Windows, que a su vez son compatibles con Systems Manager.
+ [AWS Systems Manager Run Command](https://docs.aws.amazon.com/systems-manager/latest/userguide/execute-remote-commands.html): AWS Systems Manager Run Command le ofrece una forma de gestionar la configuración de sus instancias administradas de forma remota y segura. Run Command le permite automatizar las tareas administrativas comunes y llevar a cabo cambios de configuración únicas a escala.

**Código**

Puede utilizar el siguiente código de ejemplo para agregar o actualizar un nombre de registro de Microsoft Windows en `Version`, una ruta de registro a `HKCU:\Software\ScriptingGuys\Scripts` y un valor a `2`.

```
#Windows registry path which needs to add/update
$registryPath ='HKCU:\\Software\\ScriptingGuys\\Scripts'
#Windows registry Name  which needs to add/update
$Name = 'Version'
#Windows registry value  which needs to add/update
$value = 2
# Test-Path cmdlet to see if the registry key exists. 
IF(!(Test-Path $registryPath))
        {
           New-Item -Path $registryPath -Force | Out-Null
           New-ItemProperty -Path $registryPath -Name $name -Value     $value ` -PropertyType DWORD -                 Force | Out-        Null 
        } ELSE {
                      New-ItemProperty -Path $registryPath -Name $name -Value $value ` -PropertyType            DWORD        -Force | Out-Null
            }
echo 'Registry Path:'$registryPath
 echo 'Registry Name:'$registryPath
 echo 'Registry Value:'(Get-ItemProperty -Path $registryPath -Name $Name).version
```

Se adjunta el ejemplo de código de notación de JavaScript objetos (JSON) completo del documento de comandos de Systems Manager. 

## Epics
<a name="automate-adding-or-updating-windows-registry-entries-using-aws-systems-manager-epics"></a>

### Configurar una VPC
<a name="set-up-a-vpc"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una VPC. | En la consola de administración de AWS, cree una VPC con subredes públicas y privadas y una puerta de enlace NAT. Para obtener más información, consulte la [documentación de AWS](https://docs.aws.amazon.com/batch/latest/userguide/create-public-private-vpc.html). | Administrador de la nube | 
| Cree grupos de seguridad. | Asegúrese de que cada grupo de seguridad permita el acceso al Protocolo de escritorio remoto (RDP) desde la dirección IP de origen. | Administrador de la nube | 

### Crear una política y un rol de IAM
<a name="create-an-iam-policy-and-an-iam-role"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una política de IAM. | Cree una política de IAM que proporcione acceso a Amazon S3 EC2, Amazon y Systems Manager. | Administrador de la nube | 
| Crear un rol de IAM. | Cree un rol de IAM y adjunte la política de IAM que proporciona acceso a Amazon S3 EC2, Amazon y Systems Manager. | Administrador de la nube | 

### Ejecute la automatización
<a name="run-the-automation"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree un documento de comandos de Systems Manager. | Cree un documento de comandos de Systems Manager que implemente la adición o actualización de cambios del registro de Microsoft Windows. | Administrador de la nube | 
| Ejecute Run Command de Systems Manager. | Ejecute Run Command de Systems Manager y seleccione el documento de comandos y las instancias de destino de Systems Manager. Se transferirá el cambio de registro de Microsoft Windows en el documento de comandos seleccionado a las instancias de destino. | Administrador de la nube | 

## Recursos relacionados
<a name="automate-adding-or-updating-windows-registry-entries-using-aws-systems-manager-resources"></a>
+ [AWS Systems Manager](https://aws.amazon.com/systems-manager/)
+ [Documentos de AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-ssm-docs.html)
+ [AWS Systems Manager Run Command](https://docs.aws.amazon.com/systems-manager/latest/userguide/execute-remote-commands.html)

## Conexiones
<a name="attachments-2ecf680d-9f36-4070-8a19-2af262db7fcc"></a>

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: [attachment.zip](samples/p-attach/2ecf680d-9f36-4070-8a19-2af262db7fcc/attachments/attachment.zip)

# Crear automáticamente una RFC en AMS mediante Python
<a name="automatically-create-an-rfc-in-ams-using-python"></a>

*Gnanasekaran Kailasam, Amazon Web Services*

## Resumen
<a name="automatically-create-an-rfc-in-ams-using-python-summary"></a>

AWS Managed Services (AMS) facilita poder operar la infraestructura basada en la nube de forma más eficiente y segura proporcionándole una gestión continua de su infraestructura de Amazon Web Services (AWS). Para realizar un cambio en su entorno administrado, debe crear y enviar una solicitud de cambio (RFC) que incluya un ID de tipo de cambio (CT) para una operación o acción concreta.

Sin embargo, la creación manual de una RFC puede tardar unos cinco minutos y es posible que los equipos de tu organización tengan que enviar varias RFCs todos los días. Este patrón le ayuda a automatizar el proceso de creación de las RFC, a reducir el tiempo de creación de cada RFC y a eliminar los errores manuales.   

En este patrón, se describe cómo utilizar el código Python para crear automáticamente la RFC `Stop EC2 instance` que detenga las instancias de Amazon Elastic Compute Cloud (Amazon EC2) en su cuenta de AMS. A continuación, puede aplicar el enfoque de este patrón y la automatización de Python a otros tipos de RFC. 

## Requisitos previos y limitaciones
<a name="automatically-create-an-rfc-in-ams-using-python-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AMS Advanced. Para obtener más información al respecto, consulte los [planes de operaciones de AMS](https://docs.aws.amazon.com/managedservices/latest/accelerate-guide/what-is-ams-op-plans.html) en la documentación de AWS Managed Services.
+ Al menos una instancia de EC2 existente en su cuenta de AMS.
+ Comprensión de cómo crear y enviar RFCs en AMS.
+ Conocimientos básicos sobre Python.

**Limitaciones**
+ Solo puedes usarlo RFCs para cambios en tu cuenta de AMS. Su cuenta de AWS utiliza procesos diferentes para realizar cambios similares.

## Arquitectura
<a name="automatically-create-an-rfc-in-ams-using-python-architecture"></a>

**Pila de tecnología**
+ AMS
+ Interfaz de la línea de comandos de AWS (AWS CLI)
+ AWS SDK para Python (Boto3)
+ Python y sus paquetes necesarios (JSON y Boto3)

**Automatización y escala**

Este patrón proporciona un código de muestra para automatizar la `Stop EC2 instance` RFC, pero puede utilizar el código y el enfoque de ejemplo de este patrón para otros RFCs.

## Tools (Herramientas)
<a name="automatically-create-an-rfc-in-ams-using-python-tools"></a>
+ [AWS Managed Services (AMS)](https://docs.aws.amazon.com/managedservices/latest/ctexguide/ex-rfc-use-examples.html) facilita poder utilizar la infraestructura de AWS de forma más eficiente y segura.
+ [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html): la interfaz de la línea de comandos de AWS (AWS CLI) es una herramienta unificada para administrar los servicios de AWS. En AMS, la API de administración de cambios proporciona operaciones para crear y administrar RFCs.
+ [AWS SDK para Python (Boto3)](https://docs.aws.amazon.com/pythonsdk/): el SDK para Python facilita la integración de su aplicación, biblioteca o script de Python con los servicios de AWS.

**Código**

El archivo `AMS Stop EC2 Instance.zip` (adjunto) contiene el código Python para crear una RFC `Stop EC2 instance`. También puede configurar este código para enviar un único RFC para varias instancias de EC2.

## Epics
<a name="automatically-create-an-rfc-in-ams-using-python-epics"></a>

### Opción 1: configurar el entorno para macOS o Linux
<a name="option-1-ndash-set-up-environment-for-macos-or-linux"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
|  Instale y valide Python.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automatically-create-an-rfc-in-ams-using-python.html) | Administrador de sistemas de AWS | 
|  Instale la CLI de AWS.  | Para instalar la CLI de AWS, ejecute el comando `pip install awscli --upgrade –user` **. | Administrador de sistemas de AWS | 
|  Instalación de Boto3. | Para instalar Boto3, ejecute el comando `pip install boto3` | Administrador de sistemas de AWS | 
| Instale JSON.  | Para instalar JSON, ejecute el comando `pip install json`. | Administrador de sistemas de AWS | 
| Configure la CLI de AWS.  | Inicie sesión en la consola de administración de AWS, abra la consola de AMS y, a continuación, seleccione **Documentación**. Descargue el archivo .zip que contiene la CLI de AMS, descomprímalo e instálelo en su máquina local.Después de instalar AMS CLI, ejecute el comando `aws amscm help`. El resultado proporciona información sobre el proceso de gestión de cambios de AMS. | Administrador de sistemas de AWS | 

### Opción 2: configurar el entorno para Windows
<a name="option-2-ndash-set-up-environment-for-windows"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
|  Instale y valide Python.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automatically-create-an-rfc-in-ams-using-python.html) | Administrador de sistemas de AWS | 
| Instale la CLI de AWS.  | Para instalar la CLI de AWS, ejecute el comando `pip install awscli --upgrade –user`. | Administrador de sistemas de AWS | 
|  Instalación de Boto3. | Para instalar Boto3, ejecute el comando `pip install boto3` | Administrador de sistemas de AWS | 
| Instale JSON.  | Para instalar JSON, ejecute el comando `pip install json`. | Administrador de sistemas de AWS | 
| Configure la CLI de AWS.  | Inicie sesión en la consola de administración de AWS, abra la consola de AMS y, a continuación, seleccione **Documentación**. Descargue el archivo .zip que contiene la CLI de AMS, descomprímalo e instálelo en su máquina local.Después de instalar AMS CLI, ejecute el comando `aws amscm help`. El resultado proporciona información sobre el proceso de gestión de cambios de AMS. | Administrador de sistemas de AWS | 

### Extraiga el ID de CT y los parámetros de ejecución del RFC
<a name="extract-the-ct-id-and-execution-parameters-for-the-rfc"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Extraiga el ID de CT, la versión y los parámetros de ejecución del RFC  | Cada RFC tiene un ID de CT, una versión y unos parámetros de ejecución diferentes. Puede utilizar alguna de las siguientes opciones para extraer esta información:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automatically-create-an-rfc-in-ams-using-python.html)Para adaptar la automatización de Python de este patrón a otras RFCs, sustituya el tipo de CT y los valores de los parámetros del archivo de código `ams_stop_ec2_instance` Python del `AMS Stop EC2 Instance.zip` archivo (adjunto) por los que extrajo. | Administrador de sistemas de AWS | 

### Ejecute la automatización de Python
<a name="run-the-python-automation"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Ejecute la automatización de Python. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automatically-create-an-rfc-in-ams-using-python.html) | Administrador de sistemas de AWS | 

## Recursos relacionados
<a name="automatically-create-an-rfc-in-ams-using-python-resources"></a>
+ [¿Qué son los tipos de cambios?](https://docs.aws.amazon.com/managedservices/latest/ctexguide/understanding-cts.html)
+ [Tutorial de CLI: pila de dos niveles de alta disponibilidad (Linux/RHEL)](https://docs.aws.amazon.com/managedservices/latest/ctexguide/tut-create-ha-stack.html)

## Conexiones
<a name="attachments-2b6c68fd-a27e-4c8b-934d-caec50c196ed"></a>

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: [attachment.zip](samples/p-attach/2b6c68fd-a27e-4c8b-934d-caec50c196ed/attachments/attachment.zip)

# Detener e iniciar automáticamente una instancia de base de datos de Amazon RDS mediante AWS Systems Manager Maintenance Windows
<a name="automatically-stop-and-start-an-amazon-rds-db-instance-using-aws-systems-manager-maintenance-windows"></a>

*Ashita Dsilva, Amazon Web Services*

## Resumen
<a name="automatically-stop-and-start-an-amazon-rds-db-instance-using-aws-systems-manager-maintenance-windows-summary"></a>

Este patrón muestra cómo detener e iniciar automáticamente una instancia de base de datos de Amazon Relational Database Service (Amazon RDS) según un cronograma específico (por ejemplo, cerrar una instancia de base de datos fuera del horario laboral para reducir los costos) mediante AWS Systems Manager Maintenance Windows. Para este propósito, Systems Manager es rentable para los casos de uso típicos.

AWS Systems Manager La automatización proporciona los manuales `AWS-StopRdsInstance` y `AWS-StartRdsInstance` guías para detener e iniciar las instancias de base de datos de Amazon RDS. Esto significa que no necesita escribir una lógica personalizada con AWS Lambda funciones ni crear una regla de Amazon CloudWatch Events.

Systems Manager ofrece dos capacidades para programar tareas: [State Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-state-about.html) y [Maintenance Windows](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-maintenance.html). State Manager establece y mantiene la configuración de estado requerida para los recursos de su cuenta de Amazon Web Services (AWS) una vez o según un programa específico. Maintenance Windows ejecuta tareas en los recursos de su cuenta durante un período de tiempo específico. Si bien puede utilizar el enfoque de este patrón con State Manager o Maintenance Windows, le recomendamos que utilice Maintenance Windows, ya que puede ejecutar una o más tareas en función de la prioridad asignada y también puede ejecutar AWS Lambda funciones y AWS Step Functions tareas. Para más información sobre State Manager y Maintenance Windows, consulte [Elegir entre State Manager y Maintenance Windows](https://docs.aws.amazon.com/systems-manager/latest/userguide/state-manager-vs-maintenance-windows.html) en la documentación de Systems Manager.

Este patrón proporciona pasos detallados para configurar dos periodos de mantenimiento independientes que utilizan expresiones cron para detener y, a continuación, iniciar una instancia de base de datos de Amazon RDS. 

## Requisitos previos y limitaciones
<a name="automatically-stop-and-start-an-amazon-rds-db-instance-using-aws-systems-manager-maintenance-windows-prereqs"></a>

**Requisitos previos **
+ Un activo Cuenta de AWS.
+ Una instancia de base de datos de Amazon RDS existente que desee detener e iniciar según un cronograma específico.
+ Expresiones cron para el cronograma requerido. Por ejemplo, la expresión `cron(0 9 ? * MON-FRI *)` ejecuta la tarea a las 09:00 todos los lunes, martes, miércoles, jueves y viernes. Para más información, consulte [Expresiones Cron y de frecuencia para periodos de mantenimiento](https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html#reference-cron-and-rate-expressions-maintenance-window) en la documentación de Systems Manager.
+ Familiaridad con Systems Manager.
+ Permisos para iniciar y detener la instancia de RDS. Para más información, consulte la sección [Epics](#automatically-stop-and-start-an-amazon-rds-db-instance-using-aws-systems-manager-maintenance-windows-epics).

**Limitaciones**
+ Una instancia de base de datos de Amazon RDS se puede detener durante un máximo de siete días a la vez. Transcurridos siete días, la instancia de la base de datos se reinicia automáticamente para garantizar que reciba las actualizaciones de mantenimiento necesarias.
+ No puede detener una instancia de base de datos que tenga una réplica de lectura o que sea una réplica de lectura.
+ No puede detener una instancia de base de datos de Amazon RDS para SQL Server que esté en una configuración Multi-AZ.
+ Service quotas se aplican a Maintenance Windows y Systems Manager Automation. Para obtener más información sobre las cuotas de servicio, consulte [AWS Systems Manager los puntos finales y las cuotas](https://docs.aws.amazon.com/general/latest/gr/ssm.html) en la Referencia general de AWS documentación. 
+ Algunas Servicios de AWS no están disponibles en todos Regiones de AWS. Para conocer la disponibilidad de las regiones, consulte [Servicios de AWS by Region](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Para los puntos de conexión específicos, consulte la página [Service endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) y elija el enlace del servicio.

## Arquitectura
<a name="automatically-stop-and-start-an-amazon-rds-db-instance-using-aws-systems-manager-maintenance-windows-architecture"></a>

El siguiente diagrama muestra el flujo de trabajo para detener e iniciar automáticamente una instancia de base de datos de Amazon RDS.

![\[Flujo de trabajo para detener e iniciar una instancia de base de datos de Amazon RDS\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/45b81621-5674-4bcf-bf7c-75ae6f62524e/images/7d943830-716e-46a3-be44-7e668c3c01ff.png)


 

El flujo de trabajo tiene los siguientes pasos:

1. Cree un período de mantenimiento y utilice expresiones cron para definir el cronograma de parada e inicio de sus instancias de la base de datos de Amazon RDS.

2. Registre una tarea de automatización de Systems Manager en el periodo de mantenimiento mediante el manual de procedimientos `AWS-StopRdsInstance` o `AWS-StartRdsInstance`.

3. Registre un objetivo en el periodo de mantenimiento mediante un grupo de recursos basado en etiquetas para sus instancias de la base de datos de Amazon RDS.

**Pila de tecnología**
+ AWS CloudFormation
+ AWS Identity and Access Management (YO SOY)
+ Amazon RDS
+ Systems Manager

**Automatizar y escalar**

Puede detener e iniciar varias instancias de la base de datos de Amazon RDS al mismo tiempo etiquetando las instancias de la base de datos de Amazon RDS necesarias, creando un grupo de recursos que incluya todas las instancias de la base de datos etiquetadas y registrando este grupo de recursos como destino para el período de mantenimiento.

## Tools (Herramientas)
<a name="automatically-stop-and-start-an-amazon-rds-db-instance-using-aws-systems-manager-maintenance-windows-tools"></a>
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)es un servicio que le ayuda a modelar y configurar sus AWS recursos.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) es un servicio web que le ayuda a controlar de forma segura el acceso a AWS los recursos.
+ [Amazon Relational Database Service (Amazon RDS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) es un servicio web que facilita la configuración, la operación y la escala de una base de datos relacional en Nube de AWS.
+ [Grupos de recursos de AWS](https://docs.aws.amazon.com/ARG/latest/userguide/welcome.html)le ayuda a organizar AWS los recursos en grupos, etiquetarlos y gestionar, supervisar y automatizar las tareas en los recursos agrupados.
+ [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html)es una Servicio de AWS que puede utilizar para ver y controlar su infraestructura AWS. Este patrón utiliza las siguientes características de Systems Manager:
  + [AWS Systems Manager La automatización](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html) simplifica las tareas comunes de mantenimiento e implementación de las instancias de Amazon Elastic Compute Cloud (Amazon EC2) y otros AWS recursos.
  + [AWS Systems Manager Maintenance Windows](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-maintenance.html) le ayuda a definir un cronograma para realizar acciones potencialmente disruptivas en sus instancias.

## Epics
<a name="automatically-stop-and-start-an-amazon-rds-db-instance-using-aws-systems-manager-maintenance-windows-epics"></a>

### Crear y configurar el rol de servicio IAM para Systems Manager Automation
<a name="create-and-configure-the-iam-service-role-for-sys-automation"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure el rol de servicio de IAM para Systems Manager Automation. | Inicie sesión Consola de administración de AWS y cree un rol de servicio para Systems Manager Automation. Puede usar uno de los dos métodos siguientes para crear este rol de servicio:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automatically-stop-and-start-an-amazon-rds-db-instance-using-aws-systems-manager-maintenance-windows.html)El flujo de trabajo de Systems Manager Automation invoca a Amazon RDS mediante un rol de servicio para realizar acciones de inicio y detención en la instancia de la base de datos de Amazon RDS.El rol de servicio debe configurarse con la siguiente [política en línea](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#add-policies-console) que tenga permisos para iniciar y detener la instancia de la base de datos de Amazon RDS:<pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Sid": "RdsStartStop",<br />            "Effect": "Allow",<br />            "Action": [<br />                "rds:StopDBInstance",<br />                "rds:StartDBInstance"<br />            ],<br />            "Resource": "<RDS_Instance_ARN>"               <br />        },<br />        {<br />            "Sid": "RdsDescribe",<br />            "Effect": "Allow",<br />            "Action": "rds:DescribeDBInstances",<br />            "Resource": "*"<br />        }<br />    ]<br />}</pre>Asegúrese de reemplazar `<RDS_Instance_ARN>` por el nombre de recurso de Amazon (ARN) de la instancia de la base de datos de Amazon RDS.Si no está familiarizado con el uso de las políticas y roles de IAM, siga las instrucciones de la sección *Solution Overview* de la entrada en el blog [Schedule Amazon RDS stop and start using AWS Systems Manager](https://aws.amazon.com/blogs/database/schedule-amazon-rds-stop-and-start-using-aws-systems-manager/).Asegúrese de registrar el ARN del rol de servicio. | Administrador de AWS | 

### Crear un grupo de recursos
<a name="create-a-resource-group"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Etiquete las instancias de base de datos de Amazon RDS. | Abra la [consola de Amazon RDS](https://console.aws.amazon.com/rds/) y etiquete las instancias de la base de datos de Amazon RDS que desee añadir al grupo de recursos. Una etiqueta es un metadato asignado a un AWS recurso y consta de un par clave-valor. **Le recomendamos que utilice *Acción* como **clave de etiqueta** y *StartStop*como valor.**Para obtener más información al respecto, consulte [Cómo añadir, publicar y eliminar etiquetas](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html#Tagging.HowTo) en la documentación de Amazon RDS. | Administrador de AWS | 
| Cree un grupo de recursos para las instancias de la base de datos de Amazon RDS etiquetadas. | Abra la [consola de Grupos de recursos de AWS](https://console.aws.amazon.com/resource-groups) y cree un grupo de recursos basado en la etiqueta que creó para las instancias de la base de datos de Amazon RDS.En **Criterios de agrupación**, asegúrese de elegir **AWS: :RDS:: DBInstance** para el tipo de recurso y, a continuación, proporcione el par clave-valor de la etiqueta (por ejemplo, «Action-»). StartStop Esto garantiza que el servicio solo compruebe las instancias de la base de datos de Amazon RDS y no otros recursos que tengan esta etiqueta.** **Asegúrese de registrar el nombre del grupo de recursos.Para obtener más información y pasos detallados, consulte [Crear una consulta basada en etiquetas y crear un](https://docs.aws.amazon.com/ARG/latest/userguide/gettingstarted-query.html#gettingstarted-query-tag-based) grupo en la documentación. Grupos de recursos de AWS   | Administrador de AWS | 

### Configure un período de mantenimiento para detener las instancias de la base de datos de Amazon RDS
<a name="configure-a-maintenance-window-to-stop-the-rds-db-instances"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Crear un período de mantenimiento. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automatically-stop-and-start-an-amazon-rds-db-instance-using-aws-systems-manager-maintenance-windows.html)La tarea para detener la instancia de la base de datos se ejecuta casi al instante cuando se inicia y no abarca todo el periodo de mantenimiento. Este patrón proporciona los valores mínimos de **duración** y **parada de las tareas de inicio**, ya que son los parámetros necesarios para un período de mantenimiento.Para obtener más información y ver los pasos detallados, consulte [Crear un periodo mantenimiento (consola)](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-create-mw.html) en la documentación de Systems Manager. | Administrador de AWS | 
| Asigne un objetivo al periodo de mantenimiento. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automatically-stop-and-start-an-amazon-rds-db-instance-using-aws-systems-manager-maintenance-windows.html)Para obtener más información y ver los pasos detallados, consulte [Asignar destinos a un periodo de mantenimiento (consola)](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-assign-targets.html) en la documentación de Systems Manager. | Administrador de AWS | 
| Asigne una tarea al periodo de mantenimiento. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automatically-stop-and-start-an-amazon-rds-db-instance-using-aws-systems-manager-maintenance-windows.html)** **La opción **Rol de servicio** define el rol de servicio necesario para que el periodo de mantenimiento ejecute las tareas. Sin embargo, este rol no es idéntico al rol de servicio que creó anteriormente para Systems Manager Automation.Para obtener más información y ver los pasos detallados, consulte [Asignar tareas a un periodo de mantenimiento (consola)](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-assign-tasks.html) en la documentación de Systems Manager. | Administrador de AWS | 

### Configurar un período de mantenimiento para iniciar las instancias de la base de datos de Amazon RDS
<a name="configure-a-maintenance-window-to-start-the-rds-db-instances"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure un período de mantenimiento para iniciar las instancias de la base de datos de Amazon RDS. | Repita los pasos de la épica *Configurar un período de mantenimiento para detener las instancias de la base de datos de Amazon RDS* y configure otro período de mantenimiento para iniciar las instancias de la base de datos de Amazon RDS a una hora programada.Debe realizar los siguientes cambios al configurar el periodo de mantenimiento para iniciar las instancias de la base de datos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automatically-stop-and-start-an-amazon-rds-db-instance-using-aws-systems-manager-maintenance-windows.html) | Administrador de AWS | 

## Recursos relacionados
<a name="automatically-stop-and-start-an-amazon-rds-db-instance-using-aws-systems-manager-maintenance-windows-resources"></a>
+ [Utilice los documentos de automatización de Systems Manager para gestionar las instancias y reducir los costes fuera del horario laboral](https://aws.amazon.com/blogs/mt/systems-manager-automation-documents-manage-instances-cut-costs-off-hours/) (entrada AWS del blog)

# Centralización de la distribución de paquetes de software en AWS Organizations mediante Terraform
<a name="centralize-software-package-distribution-in-aws-organizations-by-using-terraform"></a>

*Pradip kumar Pandey, Chintamani Aphale, T.V.R.L.Phani Kumar Dadi, Pratap Kumar Nanda, Aarti Rajput y Mayuri Shinde, Amazon Web Services*

## Resumen
<a name="centralize-software-package-distribution-in-aws-organizations-by-using-terraform-summary"></a>

Las empresas suelen mantener varias Cuentas de AWS distribuidas Regiones de AWS en varias para crear una sólida barrera de aislamiento entre las cargas de trabajo. [Para garantizar la seguridad y la conformidad, sus equipos de administración instalan herramientas basadas en agentes [CrowdStrike](https://www.crowdstrike.com/falcon-platform/), como, o [TrendMicro](https://www.trendmicro.com/en_sg/business.html)herramientas para el análisis de seguridad [SentinelOne](https://www.sentinelone.com/platform/), y el agente de [Amazon, el CloudWatch agente](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html) de [Datadog o AppDynamics los agentes](https://www.datadoghq.com/) para la supervisión.](https://www.appdynamics.com/product/how-it-works/agents-and-controller) Estos equipos suelen enfrentarse a desafíos cuando quieren automatizar de forma centralizada la administración y distribución de paquetes de software en este entorno tan amplio.

[Distributor](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor.html), una capacidad de [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html), automatiza el proceso de empaquetado y publicación de software en instancias administradas de Microsoft Windows y Linux en la nube y en los servidores en las instalaciones a través de una única interfaz simplificada. Este patrón demuestra cómo puede utilizar Terraform para simplificar aún más el proceso de administración de la instalación del software y ejecutar scripts en un gran número de instancias y cuentas de miembros con un mínimo esfuerzo. AWS Organizations 

Esta solución funciona para instancias de Amazon, Linux y Windows administradas por Systems Manager.

## Requisitos previos y limitaciones
<a name="centralize-software-package-distribution-in-aws-organizations-by-using-terraform-prereqs"></a>
+ Un [paquete de Distributor](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor-working-with-packages-create.html) que incluye el software que se va a instalar
+ La versión 0.15.0 o posterior de [Terraform](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli)
+ Instancias de Amazon Elastic Compute Cloud (Amazon EC2) [administradas por Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/managed_instances.html) y con [permisos básicos para acceder a Amazon Simple Storage Service (Amazon S3](https://repost.aws/knowledge-center/ec2-instance-access-s3-bucket)) en la cuenta de destino
+ Una zona de aterrizaje para su organización que se configura mediante [AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html)
+ (Opcional) [Generador de cuentas paraTerraform (AFT)](https://catalog.workshops.aws/control-tower/en-US/customization/aft)

## Arquitectura
<a name="centralize-software-package-distribution-in-aws-organizations-by-using-terraform-architecture"></a>

**Detalles del recurso**

Este patrón usa [Account Factory for Terraform (AFT)](https://catalog.workshops.aws/control-tower/en-US/customization/aft) para crear todos los AWS recursos necesarios y la canalización de código para implementar los recursos en una cuenta de implementación. La canalización de código se ejecuta en dos repositorios:
+ La **personalización global** contiene el código de Terraform que se aplicará a todas las cuentas registradas en AFT.
+ **Las personalizaciones de la cuenta** contienen el código de Terraform que se ejecutará en la cuenta de implementación.

También puede implementar esta solución sin usar AFT; para ello, ejecute los comandos de [Terraform](https://developer.hashicorp.com/terraform/intro) en la carpeta de personalizaciones de la cuenta.

El código de Terraform implementa los siguientes recursos:
+ AWS Identity and Access Management Función y políticas (IAM)
  + [SystemsManager- AutomationExecutionRole](https://docs.aws.amazon.com/systems-manager/latest/userguide/running-automations-multiple-accounts-regions.html) concede al usuario permisos para ejecutar automatizaciones en las cuentas de destino.
  + [SystemsManager- AutomationAdministrationRole](https://docs.aws.amazon.com/systems-manager/latest/userguide/running-automations-multiple-accounts-regions.html) concede al usuario permisos para ejecutar automatizaciones en varias cuentas y unidades organizativas ()OUs.
+ Archivos comprimidos y manifest.json para el paquete
  + En Systems Manager, un [paquete](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor-working-with-packages-create.html) incluye al menos un archivo .zip de software o activos instalables.
  + El manifiesto de JSON incluye indicadores a los archivos de código del paquete.
+ Bucket de S3
  + Los paquetes distribuidos que se comparten entre la organización se almacenan de forma segura en un bucket de Amazon S3.
+ AWS Systems Manager documentos (documentos SSM)
  + `DistributeSoftwarePackage` contiene la lógica para distribuir el paquete de software a todas las instancias de destino de las cuentas de miembros.
  + `AddSoftwarePackageToDistributor`contiene la lógica para empaquetar los activos de software instalables y añadirlos a la automatización, una capacidad de. AWS Systems Manager
+ Asociación de de Systems Manager
  + Se utiliza una asociación de Systems Manager para implementar la solución.

**Arquitectura y flujo de trabajo**

![\[Diagrama de arquitectura para centralizar la distribución de paquetes de software en AWS Organizations\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/da584449-e12b-4878-a61d-00d8cea3d3d7/images/2718f2c4-f816-4e34-89b8-8182c128e6db.png)


El siguiente diagrama muestra los siguientes pasos:

1. Para ejecutar la solución desde una cuenta centralizada, debe cargar sus paquetes o software junto con los pasos de implementación en un bucket de S3.

1. El paquete personalizado estará disponible en la sección [Documentos](https://ap-southeast-2.console.aws.amazon.com/systems-manager/documents?region=ap-southeast-2) de la consola de Systems Manager, en la pestaña **De mi propiedad**.

1. State Manager, una función de Systems Manager, crea, programa y ejecuta una asociación del paquete en toda la organización. La asociación especifica que el paquete de software debe estar instalado y ejecutándose en un nodo administrado para poder instalarse en el nodo de destino.

1. La asociación indica a Systems Manager que instale el paquete en el nodo de destino.

1. Para cualquier instalación o cambio posterior, los usuarios pueden ejecutar la misma asociación de forma periódica o manual desde una única ubicación para realizar implementaciones en todas las cuentas.

1. En las cuentas de miembros, Automation envía los comandos de implementación a Distributor.

1. Distributor reparte los paquetes de software en todas las instancias.

Esta solución utiliza la cuenta de administración que AWS Organizations contiene, pero también puede designar una cuenta (administrador delegado) para que la gestione en nombre de la organización.

## Tools (Herramientas)
<a name="centralize-software-package-distribution-in-aws-organizations-by-using-terraform-tools"></a>

**Servicios de AWS**
+ [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. Este patrón utiliza Amazon S3 para centralizar y almacenar de forma segura el paquete distribuido.
+ [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html) lo ayuda a administrar las aplicaciones y la infraestructura que se ejecutan en la Nube de AWS. Simplifica la administración de aplicaciones y recursos, reduce el tiempo necesario para detectar y resolver problemas operativos y le ayuda a administrar sus AWS recursos de forma segura y a escala. Este patrón utiliza las siguientes capacidades de Systems Manager:
  + [Distributor ](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor.html)lo ayuda a empaquetar y publicar el software en nodos administrados de Systems Manager.
  + [La automatización](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html) simplifica las tareas habituales de mantenimiento, implementación y corrección de muchos servicios. AWS 
  + [Documents](https://docs.aws.amazon.com/systems-manager/latest/userguide/documents.html) realiza acciones en las instancias gestionadas por Systems Manager en toda la organización y las cuentas.
+ [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html)es un servicio de administración de cuentas que le ayuda a consolidar varias AWS cuentas en una organización que puede crear y administrar de forma centralizada.

**Otras herramientas**
+ [Terraform](https://www.terraform.io/) es una herramienta de infraestructura como código (iAC) HashiCorp que le ayuda a crear y administrar recursos locales y en la nube.

**Repositorio de código**

Las instrucciones y el código de este patrón están disponibles en el repositorio GitHub [centralizado de distribución de paquetes](https://github.com/aws-samples/aws-organization-centralised-package-distribution).

## Prácticas recomendadas
<a name="centralize-software-package-distribution-in-aws-organizations-by-using-terraform-best-practices"></a>
+ Para asignar etiquetas a una asociación, use [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) o [Herramientas de AWS para PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-welcome.html). No se admite agregar etiquetas a una asociación mediante la consola de Systems Manager. Para obtener más información, consulte [Etiquetado de recursos de Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/tagging-resources.html) en la documentación de Systems Manager.
+ Para ejecutar una asociación con una versión nueva de un documento compartido desde otra cuenta, debe establecer la versión del documento en `default`.
+ Para etiquetar solo el nodo de destino, utilice una clave de etiqueta. Si quiere dirigir los nodos mediante varias claves de etiqueta, utilice la opción de grupo de recursos.

## Epics
<a name="centralize-software-package-distribution-in-aws-organizations-by-using-terraform-epics"></a>

### Configuración de las cuentas y los archivos de origen
<a name="configure-source-files-and-accounts"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Clonar el repositorio. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/centralize-software-package-distribution-in-aws-organizations-by-using-terraform.html) | DevOps ingeniero | 
| Actualice las variables globales. | En el archivo `global-customization/variables.tf`, actualice los siguientes parámetros de entrada: Estas variables se aplican a todas las cuentas creadas y administradas por AFT.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/centralize-software-package-distribution-in-aws-organizations-by-using-terraform.html) | DevOps ingeniero | 
| Actualice las variables de la cuenta. | En el archivo `account-customization/variables.tf`, actualice los siguientes parámetros de entrada: Estas variables se aplican únicamente a cuentas creadas y administradas específicamente por AFT.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/centralize-software-package-distribution-in-aws-organizations-by-using-terraform.html) | DevOps ingeniero | 

### Personalización de los parámetros y los archivos de implementación
<a name="customize-parameters-and-deployment-files"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Actualice los parámetros de entrada de la asociación de State Manager. | Actualice los siguientes parámetros de entrada del archivo `account-customization/association.tf` para definir el estado que desea mantener en las instancias. Puede utilizar los valores de parámetros predeterminados si admiten su caso de uso.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/centralize-software-package-distribution-in-aws-organizations-by-using-terraform.html) | DevOps ingeniero | 
| Prepare los archivos comprimidos y el archivo `manifest.json` para el paquete. | Este patrón proporciona ejemplos de archivos PowerShell instalables (.msi para Windows y .rpm para Linux) con scripts de instalación y desinstalación en la carpeta. `account-customization/package`[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/centralize-software-package-distribution-in-aws-organizations-by-using-terraform.html) | DevOps ingeniero | 

### Ejecución de los comandos de Terraform para aprovisionar recursos
<a name="run-terraform-commands-to-provision-resources"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Inicialice la configuración de Terraform. | Para implementar la solución automáticamente con AFT, inserte el código en AWS CodeCommit:<pre>$ git add *<br />$ git commit -m "message"<br />$ git push</pre>También puede implementar esta solución sin usar AFT; para ello, ejecute un comando de Terraform de la carpeta `account-customization`. Para inicializar el directorio de trabajo que contiene los archivos Terraform, ejecute:<pre>$ terraform init</pre> | DevOps ingeniero | 
| Previsualice los cambios. | Para obtener una vista previa de los cambios que Terraform realizará en la infraestructura, ejecute el comando:<pre>$ terraform plan</pre>Este comando evalúa la configuración de Terraform para determinar el estado deseado de los recursos que se han declarado. También compara el estado deseado con la infraestructura real que se va a aprovisionar en el espacio de trabajo. | DevOps ingeniero | 
| Aplique los cambios. | Ejecute el siguiente comando para implementar los cambios que realizó en los archivos `variables.tf`:<pre>$ terraform apply</pre> | DevOps ingeniero | 

### Valide los recursos
<a name="validate-resources"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide la creación de documentos SSM. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/centralize-software-package-distribution-in-aws-organizations-by-using-terraform.html)Debería ver los paquetes `DistributeSoftwarePackage` y `AddSoftwarePackageToDistributor`. | DevOps ingeniero | 
| Valide la implementación correcta de las automatizaciones. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/centralize-software-package-distribution-in-aws-organizations-by-using-terraform.html) | DevOps ingeniero | 
| Compruebe que el paquete se haya implementado en las instancias de cuentas de miembros de destino. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/centralize-software-package-distribution-in-aws-organizations-by-using-terraform.html) | DevOps ingeniero | 

## Resolución de problemas
<a name="centralize-software-package-distribution-in-aws-organizations-by-using-terraform-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| La asociación de State Manager ha devuelto un error o se encuentra en estado pendiente. | Consulte la [información de solución de problemas](https://repost.aws/knowledge-center/ssm-state-manager-association-fail) en el Centro de AWS conocimiento. | 
| No se pudo ejecutar una asociación programada. | Es posible que la especificación de su programación no sea válida. Actualmente, State Manager no permite especificar meses en expresiones cron para asociaciones. Utilice [expresiones de frecuencia o cron](https://docs.aws.amazon.com/systems-manager/latest/userguide/reference-cron-and-rate-expressions.html) para confirmar la programación. | 

## Recursos relacionados
<a name="centralize-software-package-distribution-in-aws-organizations-by-using-terraform-resources"></a>
+ [Distribución centralizada de paquetes](https://github.com/aws-samples/aws-organization-centralised-package-distribution) (GitHub repositorio)
+ [Generador de cuentas para Terraform (AFT)](https://catalog.workshops.aws/control-tower/en-US/customization/aft)
+ [Casos de uso y mejores prácticas](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-best-practices.html) (AWS Systems Manager documentación)

# Configure el registro para las aplicaciones.NET en Amazon CloudWatch Logs mediante NLog
<a name="configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog"></a>

*Bibhuti Sahu y Rob Hill (AWS), Amazon Web Services*

## Resumen
<a name="configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog-summary"></a>

Este patrón describe cómo utilizar el marco de registro de NLog código abierto para registrar el uso y los eventos de las aplicaciones.NET en [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html). En la CloudWatch consola, puede ver los mensajes de registro de la aplicación prácticamente en tiempo real. También puede configurar [métricas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/MonitoringLogData.html) y [alarmas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ConsoleAlarms.html) para recibir notificaciones en caso de que se superen los umbrales de métrica. Con CloudWatch Application Insights, puede ver paneles automatizados o personalizados que muestran los posibles problemas de las aplicaciones monitoreadas. CloudWatch Application Insights está diseñado para ayudarlo a identificar rápidamente los problemas actuales de sus aplicaciones e infraestructura.

Para escribir mensajes de registro en CloudWatch Logs, agregue el `AWS.Logger.NLog` NuGet paquete al proyecto.NET. A continuación, actualiza el `NLog.config` archivo para usar CloudWatch Logs como destino.

## Requisitos previos y limitaciones
<a name="configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog-prereqs"></a>

**Requisitos previos**
+ Una cuenta de AWS activa.
+ Una aplicación web o de consola .NET que:
  + Use versiones compatibles de .NET Framework o .NET Core. Para obtener más información, consulte *Versiones de producto*.
  + Se utiliza NLog para enviar datos de registro a Application Insights.
+ Permisos para crear un rol de IAM para un servicio de AWS. Para obtener más información, consulte [Permisos de roles de servicios](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html#id_roles_create_service-permissions).
+ Permisos para transferir un rol a un servicio de AWS. Para obtener más información, consulte [Concesión de permisos a un usuario para transferir un rol a un servicio de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html).

**Versiones de producto**
+ .NET Framework versión 3.5 o posterior
+ .NET Core versiones 1.0.1, 2.0.0 o posterior

## Arquitectura
<a name="configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog-architecture"></a>

**Pila de tecnología de destino**
+ NLog
+ Amazon CloudWatch Logs

**Arquitectura de destino**

![\[Diagrama de arquitectura de NLog escritura de datos de registro de una aplicación.NET en Amazon ClodWatch Logs.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/0ac9c3ad-2a28-415f-afc3-7fe3494b2b63/images/daea9f2f-7242-4ed2-843e-655d843dcfdf.png)


1. La aplicación.NET escribe los datos de registro en el marco de NLog registro.

1. NLog escribe los datos de registro en CloudWatch Logs.

1. Se utilizan CloudWatch alarmas y paneles personalizados para supervisar la aplicación.NET.

## Tools (Herramientas)
<a name="configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog-tools"></a>

**Servicios de AWS**
+ [Amazon CloudWatch Application Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-application-insights.html) le ayuda a observar el estado de sus aplicaciones y los recursos de AWS subyacentes.
+ [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) le ayuda a centralizar los registros de todos sus sistemas, aplicaciones y servicios de AWS para que pueda supervisarlos y archivarlos de forma segura.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) le permite administrar de forma segura el acceso a los recursos de AWS mediante el control de quién está autenticado y autorizado a utilizarlos.
+ [Las herramientas de AWS PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-welcome.html) son un conjunto de PowerShell módulos que le ayudan a programar operaciones en sus recursos de AWS desde la línea de PowerShell comandos.

**Otras herramientas**
+ [Registrador. NLog](https://www.nuget.org/packages/AWS.Logger.NLog)es un NLog objetivo que registra datos de registro en CloudWatch Logs.
+ [NLog](https://nlog-project.org/)es un marco de registro de código abierto para plataformas .NET que le ayuda a escribir datos de registro en destinos, como bases de datos, archivos de registro o consolas.
+ [PowerShell](https://learn.microsoft.com/en-us/powershell/)es un programa de administración de automatización y configuración de Microsoft que se ejecuta en Windows, Linux y macOS.
+ [Visual Studio](https://docs.microsoft.com/en-us/visualstudio/get-started/visual-studio-ide?view=vs-2022) es un entorno de desarrollo integrado (IDE) que incluye compiladores, herramientas de finalización de código, diseñadores gráficos y otras características que facilitan el desarrollo de software.

## Prácticas recomendadas
<a name="configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog-best-practices"></a>
+ Establezca una [política de retención](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#SettingLogRetention) para el grupo de registro de destino. Esto debe hacerse fuera de la NLog configuración. De forma predeterminada, los datos de registro se almacenan en CloudWatch los registros de forma indefinida.
+ Respete las [Prácticas recomendadas para administrar las claves de acceso de AWS](https://docs.aws.amazon.com/accounts/latest/reference/credentials-access-keys-best-practices.html).

## Epics
<a name="configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog-epics"></a>

### Configure el acceso y las herramientas
<a name="set-up-access-and-tools"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una política de IAM. | Siga las instrucciones indicadas en [Crear políticas mediante el editor JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html#access_policies_create-json-editor), en la documentación de IAM. Introduce la siguiente política de JSON, que tiene los permisos de privilegios mínimos necesarios para permitir que CloudWatch Logs lea y escriba registros.<pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Effect": "Allow",<br />            "Action": [<br />                "logs:CreateLogGroup",<br />                "logs:CreateLogStream",<br />                "logs:GetLogEvents",<br />                "logs:PutLogEvents",<br />                "logs:DescribeLogGroups",<br />                "logs:DescribeLogStreams",<br />                "logs:PutRetentionPolicy"<br />            ],<br />            "Resource": [<br />                "*"<br />            ]<br />        }<br />    ]<br />}</pre> | Administrador de AWS, AWS DevOps | 
| Crear un rol de IAM. | Para obtener instrucciones, consulte [Creating a Role to Delegate Permissions to an AWS Service](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) en la documentación de IAM. Seleccione la política que creó previamente. Esta es la función que asume CloudWatch Logs para realizar las acciones de registro. | Administrador de AWS, AWS DevOps | 
| Configure las herramientas de AWS para PowerShell. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog.html) | AWS general | 

### Configuración NLog
<a name="configure-nlog"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Instale el NuGet paquete. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog.html) | Desarrollador de aplicaciones | 
| Configure el destino de registro. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog.html)Para obtener una copia de este archivo de configuración, consulte la sección [Información adicional](#configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog-additional) de este patrón. Cuando ejecute la aplicación, NLog escribirá los mensajes de registro y los enviará a CloudWatch Logs. | Desarrollador de aplicaciones | 

### Valide y supervise los registros
<a name="validate-and-monitor-logs"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide el registro. | Sigue las instrucciones de la documentación sobre cómo [ver los datos de registro enviados a CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#ViewingLogData) CloudWatch Logs. Compruebe que los eventos de registro de la aplicación .NET se estén registrando. Si no constan eventos de registro, consulte la sección [Solución de problemas](#configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog-troubleshooting) de este patrón. | AWS general | 
| Supervise la pila de la aplicación .NET. | Configure la supervisión CloudWatch según sea necesario para su caso de uso. Puede utilizar [CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html), [CloudWatch Metrics Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/query_with_cloudwatch-metrics-insights.html) y [CloudWatch Application Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-application-insights.html) para supervisar su carga de trabajo de.NET. También puede configurar [alarmas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) para recibir alertas y crear un [panel](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html) personalizado para supervisar la carga de trabajo desde una vista única. | AWS general | 

## Resolución de problemas
<a name="configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| Los datos de registro no aparecen en CloudWatch los registros. | Asegúrese de que la política de IAM esté asociada a la función de IAM que asume CloudWatch Logs. Para obtener más instrucciones, consulte la sección *Configurar el acceso y las herramientas* de la sección [Épica](#configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog-epics). | 

## Recursos relacionados
<a name="configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog-resources"></a>
+ [Trabajar con grupos de registros y flujos de CloudWatch registros (documentación](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) de registros)
+ [Amazon CloudWatch Logs y .NET Logging Frameworks](https://aws.amazon.com/blogs/developer/amazon-cloudwatch-logs-and-net-logging-frameworks/) (entrada del blog de AWS)

## Información adicional
<a name="configure-logging-for-net-applications-in-amazon-cloudwatch-logs-by-using-nlog-additional"></a>

A continuación se muestra un archivo de muestra `NLog.config`.

```
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog" />
  </configSections>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
  </startup>
  <nlog>
    <extensions>
      <add assembly="NLog.AWS.Logger" />
    </extensions>
    <targets>
      <target name="aws" type="AWSTarget" logGroup="NLog.TestGroup" region="us-east-1" profile="demo"/>
    </targets>
    <rules>
      <logger name="*" minlevel="Info" writeTo="aws" />
    </rules>    
  </nlog>
</configuration>
```

# Copiar los productos de AWS Service Catalog en diferentes cuentas y regiones de AWS
<a name="copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions"></a>

*Sachin Vighe y Santosh Kale, Amazon Web Services*

## Resumen
<a name="copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions-summary"></a>

AWS Service Catalog es un servicio regional, lo que significa que las [carteras y los productos](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/what-is_concepts.html) de AWS Service Catalog solo están visibles en la región de AWS en la que se crearon. Si configura un [centro de AWS Service Catalog](https://aws.amazon.com/about-aws/whats-new/2020/06/aws-service-catalog-now-supports-sharing-portfolios-across-an-organization-from-a-delegated-member-account/) en una nueva región, debe volver a crear sus productos existentes, lo que puede llevar mucho tiempo.

El enfoque de este patrón ayuda a simplificar este proceso al describir cómo copiar productos de un centro de AWS Service Catalog de una cuenta o región de AWS de origen a un nuevo centro de una cuenta o región de destino. Para obtener más información sobre el modelo hub and spoke de AWS Service Catalog, consulte [AWS Service Catalog hub and spoke model: How to automate the deployment and management of AWS Service Catalog to many accounts](https://aws.amazon.com/blogs/mt/aws-service-catalog-hub-and-spoke-model-how-to-automate-the-deployment-and-management-of-service-catalog-to-many-accounts/) en el blog AWS Management and Governance. 

El patrón también proporciona los paquetes de códigos independientes necesarios para copiar los productos de AWS Service Catalog entre cuentas o a otras regiones. Al utilizar este patrón, su organización puede ahorrar tiempo, hacer que las versiones actuales y anteriores del producto estén disponibles en un nuevo centro de AWS Service Catalog, minimizar el riesgo de errores manuales y escalar el enfoque a varias cuentas o regiones.

**nota**  
La sección *Epics *de este patrón ofrece dos opciones para copiar productos. Puede usar la opción 1 para copiar productos entre cuentas o elegir la opción 2 para copiar productos entre regiones.

## Requisitos previos y limitaciones
<a name="copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions-prereqs"></a>

**Requisitos previos**
+ Una cuenta de AWS activa.
+ Productos de AWS Service Catalog existentes en una cuenta o región de origen.
+ Un centro de AWS Service Catalog existente en una cuenta o región de destino.
+ Si desea copiar productos entre cuentas, debe compartir e importar la cartera de AWS Service Catalog que contiene los productos a su cuenta de destino. Para obtener más información al respecto, consulte [Compartir e importar carteras](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/catalogs_portfolios_sharing.html) en la documentación del AWS Service Catalog.

**Limitaciones**
+ Los productos de AWS Service Catalog que desee copiar entre regiones o cuentas no pueden pertenecer a más de una cartera.

## Arquitectura
<a name="copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions-architecture"></a>

En el siguiente diagrama se muestra la copia de los productos de AWS Service Catalog de una cuenta de origen a una cuenta de destino.

![\[Un rol entre cuentas en la Región 1, un rol de ejecución de Lambda y una función de Lambda en la Región 2.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/7ede5d17-89eb-4455-928f-6953d145ac9f/images/26738220-1ed2-4f84-911b-3c88e954b60e.png)


 El siguiente diagrama muestra la copia de productos de AWS Service Catalog de una región de origen a una región de destino.

![\[Productos copiados mediante la scProductCopy función Lambda en la Región 2.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/7ede5d17-89eb-4455-928f-6953d145ac9f/images/0a936792-3bdc-45c2-ba05-17e828615061.png)


**Pila de tecnología**
+ Amazon CloudWatch
+ AWS Identity y Access Management (IAM)
+ AWS Lambda
+ AWS Service Catalog

**Automatizar y escalar**

Puede escalar el enfoque de este patrón mediante una función de Lambda que se puede escalar en función del número de solicitudes recibidas o del número de productos de AWS Service Catalog que necesite copiar. Para obtener más información al respecto, consulte el [escalado de funciones de Lambda](https://docs.aws.amazon.com/lambda/latest/dg/invocation-scaling.html) en la documentación de AWS Lambda.

## Tools (Herramientas)
<a name="copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions-tools"></a>
+ La [interfaz de la línea de comandos de AWS (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) es una herramienta de código abierto que le permite interactuar con los servicios de AWS mediante comandos en su intérprete de comandos de línea de comandos.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) le permite administrar de forma segura el acceso a los recursos de AWS mediante el control de quién está autenticado y autorizado a utilizarlos.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) es un servicio de computación que ayuda a ejecutar código sin necesidad de aprovisionar ni administrar servidores. Ejecuta el código solo cuando es necesario y amplía la capacidad de manera automática, por lo que solo pagará por el tiempo de procesamiento que utilice.
+ [AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html) le ayuda a administrar de forma centralizada los catálogos de servicios de TI aprobados para AWS. Los usuarios finales pueden implementar rápidamente solo los servicios de TI aprobados que necesitan, de acuerdo con las limitaciones establecidas por su organización.

**Código**

Puede usar el paquete (adjunto) ` cross-account-copy` para copiar los productos de AWS Service Catalog entre cuentas o el paquete (adjunto) `cross-region-copy` para copiar productos entre regiones.

El paquete `cross-account-copy` contiene los siguientes archivos:
+ `copyconf.properties`: el archivo de configuración que contiene los parámetros de región e ID de cuenta de AWS para copiar productos entre cuentas.
+ `scProductCopyLambda.py`: la función de Python para copiar productos entre cuentas.
+ `createDestAccountRole.sh`: el script para crear un rol de IAM en la cuenta de destino.
+ `createSrcAccountRole.sh`: el script para crear un rol de IAM en la cuenta de origen.
+ `copyProduct.sh`: el script para crear e invocar la función de Lambda para copiar productos entre cuentas.

El paquete `cross-region-copy` contiene los siguientes archivos:
+ `copyconf.properties`: el archivo de configuración que contiene los parámetros de región e ID de cuenta de AWS para copiar productos entre regiones.
+ `scProductCopyLambda.py`: la función Python para copiar productos entre regiones.
+ `copyProduct.sh`: el script para crear un rol de IAM y crear e invocar la función de Lambda para copiar productos entre regiones.

## Epics
<a name="copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions-epics"></a>

### Opción 1: copiar los productos de AWS Service Catalog en todas las cuentas
<a name="option-1-ndash-copy-aws-service-catalog-products-across-accounts"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Actualizar el archivo de configuración. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions.html) | Administrador de AWS, administrador de sistemas de AWS, administrador de la nube | 
| Configure sus credenciales para la AWS CLI en la cuenta de destino. | Configure sus credenciales para acceder a la AWS CLI en su cuenta de destino ejecutando el `aws configure` comando y proporcionando los siguientes valores:<pre>$aws configure <br />AWS Access Key ID [None]: <your_access_key_id> <br />AWS Secret Access Key [None]: <your_secret_access_key> <br />Default region name [None]: Region<br />Default output format [None]:</pre>Para obtener más información al respecto, consulte [Conceptos básicos de configuración](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html) en la interfaz de la línea de comandos de AWS.  | Administrador de AWS, administrador de sistemas de AWS, administrador de la nube | 
| Configure sus credenciales para la AWS CLI en la cuenta de origen. | Configure sus credenciales para acceder a la AWS CLI en su cuenta de origen ejecutando el comando `aws configure` y proporcionando los siguientes valores: <pre>$aws configure<br />AWS Access Key ID [None]: <your_access_key_id><br />AWS Secret Access Key [None]: <your_secret_access_key><br />Default region name [None]: Region<br />Default output format [None]:</pre>Para obtener más información al respecto, consulte [Conceptos básicos de configuración](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html) en la interfaz de la línea de comandos de AWS.  | Administrador de AWS, administrador de sistemas de AWS, administrador de la nube | 
| Cree un rol de ejecución para Lambda en su cuenta de destino. | Ejecute el script `createDestAccountRole.sh ` en su cuenta de destino. El script implementa las siguientes acciones:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions.html) | Administrador de AWS, administrador de sistemas de AWS, administrador de la nube | 
| Cree el rol de IAM multicuenta en su cuenta de origen. | Ejecute el script `createSrcAccountRole.sh ` en su cuenta de origen. El script implementa las siguientes acciones:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions.html) | Administrador de AWS, administrador de sistemas de AWS, administrador de la nube | 
| Ejecute el script CopyProduct en la cuenta de destino. | Ejecute el script `copyProduct.sh ` en su cuenta de destino. El script implementa las siguientes acciones:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions.html) | Administrador de AWS, administrador de sistemas de AWS, administrador de la nube | 

### Opción 2: copiar los productos de AWS Service Catalog de una región de origen a una región de destino
<a name="option-2-ndash-copy-aws-service-catalog-products-from-a-source-region-to-a-destination-region"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Actualizar el archivo de configuración. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions.html) | Administrador de sistemas de AWS, administrador de la nube, administrador de AWS | 
| Configurar la CLI con sus credenciales de AWS. | Configure sus credenciales para acceder a la AWS CLI en su entorno ejecutando el comando `aws configure` y proporcionando los siguientes valores:<pre>$aws configure<br />AWS Access Key ID [None]: <your_access_key_id><br />AWS Secret Access Key [None]: <your_secret_access_key><br />Default region name [None]: Region<br />Default output format [None]:</pre>Para obtener más información al respecto, consulte [Conceptos básicos de configuración](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html) en la interfaz de la línea de comandos de AWS.  | Administrador de AWS, administrador de sistemas de AWS, administrador de la nube | 
| Ejecute el script CopyProduct. | Ejecute el script `copyProduct.sh` en la región de destino. El script implementa las siguientes acciones:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions.html) | Administrador de AWS, administrador de sistemas de AWS, administrador de la nube | 

## Recursos relacionados
<a name="copy-aws-service-catalog-products-across-different-aws-accounts-and-aws-regions-resources"></a>
+ [Crear un rol de ejecución para Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html) (documentación de AWS Lambda)
+ [Crear una función de Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-awscli.html) (documentación de AWS Lambda)
+ [AWS Service Catalog referencia API](https://docs.aws.amazon.com/servicecatalog/latest/dg/API_Operations_AWS_Service_Catalog.html)
+ [Documentación de AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/what-is_concepts.html)

## Conexiones
<a name="attachments-7ede5d17-89eb-4455-928f-6953d145ac9f"></a>

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: [attachment.zip](samples/p-attach/7ede5d17-89eb-4455-928f-6953d145ac9f/attachments/attachment.zip)

# Crear una matriz RACI o RASCI para un modelo operativo en la nube
<a name="create-a-raci-or-rasci-matrix-for-a-cloud-operating-model"></a>

*Teddy Germade, Jerome Descreux, Florian Leroux y Josselin LE MINEUR, Amazon Web Services*

## Resumen
<a name="create-a-raci-or-rasci-matrix-for-a-cloud-operating-model-summary"></a>

El Cloud Center of Excellence (CCoE) o CEE (Cloud Enablement Engine) es un equipo capacitado y responsable que se centra en la preparación operativa para la nube. Su objetivo principal es transformar la organización de TI de la información de un modelo operativo en las instalaciones a un modelo operativo en la nube. El CCo E debe ser un equipo multifuncional que incluya representantes de la infraestructura, las aplicaciones, las operaciones y la seguridad.

Uno de los componentes clave de un modelo operativo de nube es una *matriz RACI* o una *matriz RASCI*. Esto se utiliza para definir las funciones y responsabilidades de todas las partes involucradas en las actividades de migración y las operaciones en la nube. El nombre de la matriz se deriva de los tipos de responsabilidad definidos en la matriz: responsable (R), encargado (A), soporte (S), consultado (C) e informado (I). El tipo de soporte es opcional. Si la incluye, se denomina *matriz RASCI* y, si la excluye, se denomina *matriz RACI*.

Empezando por la plantilla adjunta, su equipo CCo electrónico puede crear una matriz RACI o RASCI para su organización. La plantilla contiene los equipos, las funciones y las tareas que son habituales en los modelos operativos de la nube. La base de esta matriz son las tareas relacionadas con la integración de las operaciones y las capacidades de CCo E. Sin embargo, puede personalizar esta plantilla para que se adapte a las necesidades de la estructura y el caso de uso de su organización.

La implementación de una matriz RACI no tiene límites. Este enfoque funciona para grandes organizaciones, empresas emergentes y todo lo demás. En el caso de las organizaciones pequeñas, el mismo recurso puede desempeñar varias funciones.

## Epics
<a name="create-a-raci-or-rasci-matrix-for-a-cloud-operating-model-epics"></a>

### Creación de la matriz
<a name="create-the-matrix"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Identifique a las partes interesadas principales. | Identifique a los principales administradores de servicios y equipos que estén vinculados a los objetivos estratégicos de su modelo operativo de nube. | Administrador de proyectos | 
| Personalice la plantilla de la matriz. | Descargue la plantilla en la sección de [Adjuntos](#attachments-b3df3d2c-c596-4736-bbaa-8edbcf335352) y, a continuación, actualice la matriz RACI o RASCI de la siguiente manera:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/create-a-raci-or-rasci-matrix-for-a-cloud-operating-model.html) | Administrador de proyectos | 
| Planifique las reuniones. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/create-a-raci-or-rasci-matrix-for-a-cloud-operating-model.html) | Administrador de proyectos | 
| Complete la matriz. | En la reunión con todas las partes interesadas, haga lo siguiente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/create-a-raci-or-rasci-matrix-for-a-cloud-operating-model.html) | Administrador de proyectos | 
| Comparta la matriz RASCI. | Cuando la matriz RACI o RASCI esté completa, haga que los líderes la aprueben. Guárdela en un repositorio compartido o en una ubicación central donde todas las partes interesadas puedan acceder a ella. Le recomendamos que utilice procesos de control de documentos estándar para registrar y aprobar las revisiones de la matriz. | Administrador de proyectos | 

## Recursos relacionados
<a name="create-a-raci-or-rasci-matrix-for-a-cloud-operating-model-resources"></a>
+ [Modelo de responsabilidad compartida de AWS](https://aws.amazon.com/compliance/shared-responsibility-model/)

## Conexiones
<a name="attachments-b3df3d2c-c596-4736-bbaa-8edbcf335352"></a>

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: [attachment.zip](samples/p-attach/b3df3d2c-c596-4736-bbaa-8edbcf335352/attachments/attachment.zip)

# Cree alarmas para métricas personalizadas mediante la detección de CloudWatch anomalías de Amazon
<a name="create-alarms-for-custom-metrics-using-amazon-cloudwatch-anomaly-detection"></a>

*Ram Kandaswamy y Raheem Jiwani, Amazon Web Services*

## Resumen
<a name="create-alarms-for-custom-metrics-using-amazon-cloudwatch-anomaly-detection-summary"></a>

En la nube de Amazon Web Services (AWS), puede utilizar Amazon CloudWatch para crear alarmas que supervisen las métricas y envíen notificaciones o para realizar cambios automáticamente si se supera un umbral.

Para evitar verse limitado por [umbrales estáticos](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ConsoleAlarms.html), puede crear alarmas basadas en patrones anteriores y que lo notifiquen si determinadas métricas están fuera del intervalo operativo normal. Por ejemplo, puede supervisar los tiempos de respuesta de su API desde Amazon API Gateway y recibir notificaciones sobre anomalías que le impidan cumplir un acuerdo de nivel de servicio (SLA).

Este patrón describe cómo utilizar la detección de CloudWatch anomalías para las métricas personalizadas. El patrón le muestra cómo crear una métrica personalizada en Amazon CloudWatch Logs Insights o publicar una métrica personalizada con una función de AWS Lambda y, a continuación, configurar la detección de anomalías y crear notificaciones mediante Amazon Simple Notification Service (Amazon SNS).

## Requisitos previos y limitaciones
<a name="create-alarms-for-custom-metrics-using-amazon-cloudwatch-anomaly-detection-prereqs"></a>

**Requisitos previos**
+ Una cuenta de AWS activa.
+ Un tema de SNS existente, configurado para enviar notificaciones por correo electrónico. Para obtener más información al respecto, consulte [Introducción a Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html) en la documentación de Amazon SNS.
+ [Una aplicación existente, configurada con Logs. CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_GettingStarted.html)

**Limitaciones**
+ CloudWatch las métricas no admiten intervalos de milisegundos. Para obtener más información sobre la granularidad de las métricas normales y personalizadas, consulta [Amazon CloudWatch FAQs](https://aws.amazon.com/cloudwatch/faqs/).

## Arquitectura
<a name="create-alarms-for-custom-metrics-using-amazon-cloudwatch-anomaly-detection-architecture"></a>

![\[CloudWatch usar un tema de Amazon SNS para enviar una notificación por correo electrónico cuando se inicie una alarma.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/d47e6f7f-e469-4cb9-b34b-8c4b78d71820/images/49f30340-9552-430a-893a-d0608bb09e38.png)


 En el diagrama, se muestra el siguiente flujo de trabajo:

1. Los registros que utilizan métricas creadas y actualizadas por CloudWatch Logs se transmiten a. CloudWatch

1. Se inicia una alarma en función de los umbrales y envía una alerta a un tema de SNS.

1. Amazon SNS le enviará una notificación por correo electrónico.

**Pila de tecnología**
+ CloudWatch
+ AWS Lambda
+ Amazon SNS

## Tools (Herramientas)
<a name="create-alarms-for-custom-metrics-using-amazon-cloudwatch-anomaly-detection-tools"></a>
+ [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) ofrece una solución de monitorización fiable, escalable y flexible.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) es un servicio de computación que permite ejecutar código sin aprovisionar ni administrar servidores. 
+ [Amazon Simple Notification Service (Amazon SNS)](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) es un servicio administrado que proporciona la entrega de mensajes de los publicadores a los suscriptores.

## Epics
<a name="create-alarms-for-custom-metrics-using-amazon-cloudwatch-anomaly-detection-epics"></a>

### Configurar la detección de anomalías para una métrica personalizada
<a name="set-up-anomaly-detection-for-a-custom-metric"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Opción 1: Crear una métrica personalizada con una función de Lambda. | Descargue el `lambda_function.py` archivo (adjunto) y, a continuación, sustituya el `lambda_function.py` archivo de muestra del [aws-lambda-developer-guide](https://github.com/awsdocs/aws-lambda-developer-guide/tree/main/sample-apps/blank-python/function)repositorio en la documentación de AWS GitHub. Esto le proporciona un ejemplo de función Lambda que envía métricas personalizadas a CloudWatch Logs. La función Lambda utiliza la API Boto3 para integrarse con. CloudWatch Tras ejecutar la función Lambda, puede iniciar sesión en la consola de administración de AWS, abrir la CloudWatch consola y la métrica publicada estará disponible en su espacio de nombres publicado. | DevOps ingeniero, AWS DevOps | 
| Opción 2: crear métricas personalizadas a partir de grupos de CloudWatch registros.  | Inicie sesión en la consola de administración de AWS, abra la CloudWatch consola y, a continuación, seleccione **Grupos de registro**. Seleccione el grupo de registro para el que desea crear una métrica. Elija **Acciones** y, a continuación, seleccione **Crear filtro de métrica**. Para **Patrón de filtro**, introduzca el patrón de filtro que desea utilizar. Para obtener más información, consulte la [sintaxis de filtros y patrones](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html) en la CloudWatch documentación. Para probar su patrón de filtro, ingrese uno o más eventos de registro en **Probar patrón**. Cada evento de registro debe estar dentro de una línea, ya que los saltos de línea se utilizan para separar los eventos de registro en el cuadro de **Log event messages (Mensajes de eventos de registro)**. Tras probar el patrón, puede introducir un nombre y un valor para la métrica en **Detalles de la métrica**. Para obtener más información y los pasos para crear una métrica personalizada, consulte [Crear un filtro de métrica para un grupo de registros](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CreateMetricFilterProcedure.html) en la CloudWatch documentación. | DevOps ingeniero, AWS DevOps | 
| Cree una alarma para su métrica personalizada. | En la CloudWatch consola, selecciona **Alarmas** y, a continuación, selecciona **Crear alarma**. Seleccione **Seleccionar métrica** e introduzca el nombre de la métrica que creó anteriormente en el cuadro de búsqueda. Seleccione la pestaña **Métricas graficadas** y configure las opciones según sus necesidades.En **Condiciones**, seleccione **Detección de anomalías** en lugar de **Umbrales estáticos**. Esto le muestra una banda basada en dos desviaciones estándar predeterminadas. Puede configurar umbrales y ajustarlos según sus necesidades.Elija **Siguiente**.La banda es dinámica y depende de la calidad de los puntos de datos. Cuando comience a agregar más datos, la banda y los umbrales se actualizan automáticamente.  | DevOps ingeniero, AWS DevOps | 
| Configurar notificaciones de SNS. | En **Notificación**, elija el tema de SNS al que desee enviar la notificación cuando la alarma tenga el estado `ALARM`, `OK` o `INSUFFICIENT_DATA`.Para que la alarma envíe varias notificaciones para el mismo estado de alarma o para estados de alarma diferentes, seleccione **Add notificación (Añadir notificación)**. Elija **Siguiente**. Escriba un nombre y la descripción de la alarma. El nombre solo debe contener caracteres ASCII. A continuación, elija **Siguiente**.En **Obtener vista previa y crear**, confirme que la información y las condiciones son las correctas y luego, elija **Crear alarma**. | DevOps ingeniero, AWS DevOps | 

## Recursos relacionados
<a name="create-alarms-for-custom-metrics-using-amazon-cloudwatch-anomaly-detection-resources"></a>
+ [Publicar métricas personalizadas en CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html)
+ [Uso de la detección de CloudWatch anomalías](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Anomaly_Detection.html)
+ [Eventos de alarma y Amazon EventBridge](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-and-eventbridge.html)
+ [¿Cuáles son las prácticas recomendadas que se deben seguir a la hora de introducir métricas personalizadas en Cloud Watch?](https://www.youtube.com/watch?v=mVffHIzIL60) (video)
+ [Introducción a CloudWatch Application Insights](https://www.youtube.com/watch?v=PBO636_t9n0) (vídeo)
+ [Detecte anomalías con CloudWatch (vídeo](https://www.youtube.com/watch?v=8umIX-pUy3k))

## Conexiones
<a name="attachments-d47e6f7f-e469-4cb9-b34b-8c4b78d71820"></a>

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: [attachment.zip](samples/p-attach/d47e6f7f-e469-4cb9-b34b-8c4b78d71820/attachments/attachment.zip)

# Crear un IDE de AWS Cloud9 que utilice volúmenes de Amazon EBS con cifrado predeterminado
<a name="create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption"></a>

*Janardhan Malyala y Dhrubajyoti Mukherjee, Amazon Web Services*

## Resumen
<a name="create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption-summary"></a>

**Aviso**: ya no AWS Cloud9 está disponible para nuevos clientes. Los clientes actuales de AWS Cloud9 pueden seguir utilizando el servicio con normalidad. [Más información](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

Puede utilizar el [cifrado predeterminado](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default) para reforzar el cifrado de los volúmenes de Amazon Elastic Block Store (Amazon EBS) y de las copias de instantáneas en la nube de Amazon Web Services (AWS). 

Puede crear un entorno de desarrollo integrado (IDE) de AWS Cloud9 que utilice volúmenes de EBS con cifrado predeterminado. Sin embargo, el [rol vinculado al servicio](https://docs.aws.amazon.com/cloud9/latest/user-guide/using-service-linked-roles.html) de AWS Identity and Access Management (IAM) de AWS Cloud9 requiere acceso a la clave del AWS Key Management Service (AWS KMS) para estos volúmenes de EBS. Si no se proporciona acceso, el IDE de AWS Cloud9 podría no lanzarse y la depuración podría ser difícil. 

Este patrón proporciona los pasos para agregar el rol vinculado al servicio de AWS Cloud9 a la clave de AWS KMS que utilizan los volúmenes de EBS. La configuración descrita en este patrón ayuda a crear y lanzar correctamente un IDE que utilice volúmenes de EBS con cifrado predeterminado.

## Requisitos previos y limitaciones
<a name="create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption-prereqs"></a>

**Requisitos previos**
+ Una cuenta de AWS activa.
+ Cifrado predeterminado activado para los volúmenes de EBS. Para obtener más información sobre el cifrado predeterminado, consulte el [cifrado de Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) en la documentación de Amazon Elastic Compute Cloud (Amazon EC2).
+ Una [clave KMS existente administrada por el cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) para cifrar los volúmenes de EBS.

**nota**  
No se necesita crear un rol vinculado al servicio para AWS Cloud9. Al crear un entorno de desarrollo de AWS Cloud9, es AWS Cloud9 el que crea el rol vinculado al servicio.

## Arquitectura
<a name="create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption-architecture"></a>

![\[Uso de un IDE de AWS Cloud9 para reforzar el cifrado de los volúmenes e instantáneas de EBS.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/dd98fbb4-0949-4299-b701-bc857e13049c/images/6b22b8d1-75d9-4f06-b5d6-5fff7397f22d.png)


**Pila de tecnología**
+ AWS Cloud9
+ IAM
+ AWS KMS

## Tools (Herramientas)
<a name="create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption-tools"></a>
+ [AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/welcome.html) es un entorno de desarrollo integrado (IDE) que ayuda a codificar, crear, ejecutar, probar y depurar software. También ayuda a lanzar software a la nube de AWS.
+ [Amazon Elastic Block Store (Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)) proporciona volúmenes de almacenamiento a nivel de bloques para utilizarlos con instancias de Amazon Elastic Compute Cloud (Amazon). EC2
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) le permite administrar de forma segura el acceso a los recursos de AWS mediante el control de quién está autenticado y autorizado a utilizarlos.
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) facilita poder crear y controlar claves criptográficas para proteger los datos.

## Epics
<a name="create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption-epics"></a>

### Buscar el valor de la clave de cifrado predeterminado
<a name="find-the-default-encryption-key-value"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Registre el valor de la clave de cifrado predeterminado para los volúmenes de EBS.  | Inicie sesión en la consola de administración de AWS y abra la EC2 consola de Amazon. Elija el **EC2 panel** de control y, a continuación, elija **Protección y seguridad de datos** en **los atributos de la cuenta**. En la sección de **cifrado de EBS**, copie y registre el valor de la **clave de cifrado predeterminada**. | Arquitecto e DevOps ingeniero de nube | 

### Proporcionar acceso a la clave de AWS KMS
<a name="provide-access-to-the-aws-kms-key"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Proporcione a AWS Cloud9 acceso a la clave de KMS para los volúmenes de EBS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption.html)Para obtener más información sobre la actualización de una política de claves, consulte [How to change a key policy](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html#key-policy-modifying-how-to) (Cómo cambiar una política de claves) en la documentación de AWS KMS.El rol vinculado al servicio para AWS Cloud9 se crea automáticamente al lanzar el primer IDE. Para obtener más información, consulte [Creating a service-linked role](https://docs.aws.amazon.com/cloud9/latest/user-guide/using-service-linked-roles.html#create-service-linked-role) (Crear un rol vinculado a un servicio) en la documentación de AWS Cloud9.  | Arquitecto de nube, DevOps ingeniero | 

### Crear y lanzar el IDE
<a name="create-and-launch-the-ide"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree e inicie el IDE de AWS Cloud9. | Abra la consola AWS Cloud9 y elija **Crear** entorno. ****Configure el IDE de acuerdo con sus requisitos siguiendo los pasos de [Creación de un EC2 entorno](https://docs.aws.amazon.com/cloud9/latest/user-guide/create-environment-main.html) en la documentación de AWS Cloud9.  | Arquitecto e ingeniero de nube DevOps  | 

## Recursos relacionados
<a name="create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption-resources"></a>
+ [Encrypt EBS volumes used by AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/move-environment.html#encrypting-volumes) (Cifrar los volúmenes de EBS utilizados por AWS Cloud9)
+ [Create a service-linked role for AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/using-service-linked-roles.html#create-service-linked-role) (Crear un rol vinculado a un servicio para AWS Cloud9)
+ [Cree un EC2 entorno en AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/create-environment-main.html)

## Información adicional
<a name="create-an-aws-cloud9-ide-that-uses-amazon-ebs-volumes-with-default-encryption-additional"></a>

**Actualizaciones de las políticas de clave de AWS KMS**

Sustituya `<aws_accountid>` por el ID de la cuenta de AWS.

```
{
            "Sid": "Allow use of the key",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::<aws_accountid>:role/aws-service-role/cloud9.amazonaws.com/AWSServiceRoleForAWSCloud9"
            },
            "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:ReEncrypt*",
                "kms:GenerateDataKey*",
                "kms:DescribeKey"
            ],
            "Resource": "*"
        },
        {
            "Sid": "Allow attachment of persistent resources",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::<aws_accountid>:role/aws-service-role/cloud9.amazonaws.com/AWSServiceRoleForAWSCloud9"
            },
            "Action": [
                "kms:CreateGrant",
                "kms:ListGrants",
                "kms:RevokeGrant"
            ],
            "Resource": "*",
            "Condition": {
                "Bool": {
                    "kms:GrantIsForAWSResource": "true"
                }
            }
        }
```

**Uso de una clave entre cuentas**

Si desea utilizar una clave de KMS entre cuentas, debe utilizar una concesión en combinación con la política de claves de KMS. Esto permite el acceso entre cuentas a la clave. En la misma cuenta que utilizó para crear el entorno de Cloud9, ejecute el siguiente comando en el terminal.

```
aws kms create-grant \
 --region <Region where Cloud9 environment is created> \
 --key-id <The cross-account KMS key ARN> \
 --grantee-principal arn:aws:iam::<The account where Cloud9 environment is created>:role/aws-service-role/cloud9.amazonaws.com/AWSServiceRoleForAWSCloud9 \
 --operations "Encrypt" "Decrypt" "ReEncryptFrom" "ReEncryptTo" "GenerateDataKey" "GenerateDataKeyWithoutPlaintext" "DescribeKey" "CreateGrant"
```

Tras ejecutar este comando, puede crear entornos de Cloud9 mediante el cifrado de EBS con una clave de otra cuenta.

# Crea automáticamente CloudWatch paneles de Amazon basados en etiquetas
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically"></a>

*Janak Vadaria, Vinodkumar Mandalapu y RAJNEESH TYAGI, Amazon Web Services*

## Resumen
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-summary"></a>

Crear diferentes CloudWatch paneles de Amazon de forma manual puede llevar mucho tiempo, especialmente cuando hay que crear y actualizar varios recursos para escalar automáticamente el entorno. Una solución que cree y actualice sus CloudWatch paneles automáticamente puede ahorrarle tiempo. Este patrón le ayuda a implementar un proceso totalmente automatizado que AWS Cloud Development Kit (AWS CDK) crea y actualiza CloudWatch paneles para sus AWS recursos en función de los eventos de cambio de etiquetas, para mostrar las métricas de Golden Signals.

En la ingeniería de confiabilidad del sitio (SRE), Golden Signals se refiere a un conjunto integral de métricas que ofrecen una visión amplia de un servicio desde la perspectiva del usuario o del consumidor. Estas métricas se componen de la latencia, el tráfico, los errores y la saturación. Para obtener más información, consulte [¿Qué es la ingeniería de confiabilidad de sitios (SRE)?](https://aws.amazon.com/what-is/sre/) en el AWS sitio web.

La solución que proporciona este patrón se basa en eventos. Una vez desplegado, supervisa de forma continua los eventos de cambio de etiquetas y actualiza automáticamente los CloudWatch paneles y las alarmas.

## Requisitos previos y limitaciones
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-prereqs"></a>

**Requisitos previos**
+ Un activo Cuenta de AWS
+ AWS Command Line Interface (AWS CLI), [instalado y configurado](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
+ [Requisitos previos](https://docs.aws.amazon.com/cdk/v2/guide/work-with.html#work-with-prerequisites) para la versión 2 AWS CDK 
+ Un entorno de [arranque en](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html) AWS
+ [Python versión 3](https://www.python.org/downloads/)
+ [AWS SDK para Python (Boto3), instalado](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html)
+ La [versión 18](https://nodejs.org/en/download/current) o posterior de Node.js
+ El administrador de paquetes de nodos (npm), [instalado y configurado](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) para AWS CDK
+ Familiaridad moderada (nivel 200) con el y AWS CDK AWS CodePipeline

**Limitaciones**

Actualmente, esta solución crea paneles automatizados únicamente para los siguientes servicios de AWS:
+ [Amazon Relational Database Service (Amazon RDS)](https://aws.amazon.com/rds/)
+ [AWS Auto Scaling](https://aws.amazon.com/autoscaling/)
+ [Amazon Simple Notification Service (Amazon SNS)](https://aws.amazon.com/sns/)
+ [Amazon DynamoDB](https://aws.amazon.com/dynamodb/)
+ [AWS Lambda](https://aws.amazon.com/lambda/)

## Arquitectura
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-architecture"></a>

**Pila de tecnología de destino**
+ [CloudWatch cuadros de mando](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)
+ [CloudWatch alarmas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)

**Arquitectura de destino**

![\[Arquitectura de destino para crear cuadros de mando basados en etiquetas CloudWatch\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/f234fe30-87db-446f-a291-d33928ca2ccb/images/f63ca697-f252-416d-8a1b-0239f38c10c5.png)


1. Un evento de cambio de AWS etiqueta para las etiquetas de la aplicación configuradas o los cambios de código inicia una canalización AWS CodePipeline para crear e implementar paneles actualizados. CloudWatch 

1. AWS CodeBuild ejecuta un script de Python para buscar los recursos que tienen etiquetas configuradas y almacena el recurso IDs en un archivo local en un CodeBuild entorno.

1. CodeBuild ejecuta **cdk synth** para generar CloudFormation plantillas que despliegan CloudWatch paneles y alarmas.

1. CodePipeline despliega las CloudFormation plantillas en la región y especificadas. Cuenta de AWS 

1. Cuando la CloudFormation pila se haya desplegado correctamente, podrá ver los CloudWatch paneles y las alarmas.

**Automatización y escala**

Esta solución se ha automatizado mediante el uso de AWS CDK. Puedes encontrar el código en el CloudWatch repositorio de GitHub [Golden Signals Dashboards en Amazon](https://github.com/aws-samples/golden-signals-dashboards-sample-app). Para un escalado adicional y para crear paneles personalizados, puede configurar varias claves y valores de etiquetas.

## Tools (Herramientas)
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-tools"></a>

**Servicios de Amazon**
+ [Amazon EventBridge](https://aws.amazon.com/eventbridge/) es un servicio de bus de eventos sin servidor que le ayuda a conectar sus aplicaciones con datos en tiempo real de diversas fuentes, incluidas AWS Lambda funciones, puntos de enlace de invocación HTTP que utilizan destinos de API o buses de eventos, entre otros. Cuentas de AWS
+ [AWS CodePipeline](https://aws.amazon.com/codepipeline/) permite diseñar y configurar rápidamente las diferentes etapas de un proceso de lanzamiento de software y automatizar los pasos necesarios para lanzar los cambios en el software de manera continua.
+ [AWS CodeBuild](https://aws.amazon.com/codebuild/) es un servicio de compilación completamente administrado que le permite compilar código fuente, poner en marcha pruebas unitarias y producir artefactos listos para implementar.
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) es una herramienta de código abierto que le ayuda a interactuar con los servicios de AWS mediante comandos en su shell de línea de comandos.
+ [AWS Identity and Access Management (IAM)](https://aws.amazon.com/iam/) le ayuda a administrar de forma segura el acceso a sus AWS recursos al controlar quién está autenticado y autorizado a usarlos.
+ [Amazon Simple Storage Service (Amazon S3)](https://aws.amazon.com/s3/) es un servicio de almacenamiento de objetos basado en la nube que lo ayuda a almacenar, proteger y recuperar cualquier cantidad de datos.

## Prácticas recomendadas
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-best-practices"></a>

Como práctica recomendada, puede usar el cifrado y la autenticación para los repositorios de origen que se conectan a sus canalizaciones. Para obtener más información sobre las mejores prácticas, consulte [las CodePipeline mejores prácticas y los casos de uso](https://docs.aws.amazon.com/codepipeline/latest/userguide/best-practices.html) en la CodePipeline documentación.

## Epics
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-epics"></a>

### Configuración e implementación de la aplicación de ejemplo
<a name="configure-and-deploy-the-sample-application"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure implemente la aplicación de ejemplo. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/create-tag-based-amazon-cloudwatch-dashboards-automatically.html) | AWS DevOps | 
| Cree paneles y alarmas de forma automática. | Tras implementar la aplicación de ejemplo, puede crear cualquiera de los recursos compatibles con esta solución con los valores de etiqueta esperados, lo que creará automáticamente los paneles y las alarmas especificados.Para probar esta solución, cree una AWS Lambda función:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/create-tag-based-amazon-cloudwatch-dashboards-automatically.html) | AWS DevOps | 

### Eliminación de la aplicación de ejemplo
<a name="remove-the-sample-application"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Elimine el constructo `golden-signals-dashboard`. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/create-tag-based-amazon-cloudwatch-dashboards-automatically.html) | AWS DevOps | 

## Resolución de problemas
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| No se encontró el comando de Python (en referencia a `findresources.sh`, línea 8).  | Compruebe la versión de la instalación de Python. Si ha instalado la versión 3 de Python, sustituya `python` por `python3` en la línea 8 del archivo `resources.sh` y vuelva a ejecutar el comando `sh deploy.sh` para implementar la solución. | 

## Recursos relacionados
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-resources"></a>
+ [Bootstrapping](https://docs.aws.amazon.com/cdk/v2/guide/bootstrapping.html) (documentación)AWS CDK 
+ [Uso de perfiles con nombre asignado](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html#cli-configure-files-methods) (documentación)AWS CLI 
+ [AWS CDK Taller](https://cdkworkshop.com/)

## Información adicional
<a name="create-tag-based-amazon-cloudwatch-dashboards-automatically-additional"></a>

En la siguiente ilustración se muestra un panel de ejemplo para Amazon RDS que se crea como parte de esta solución.

![\[Ejemplo de panel para Amazon RDS\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/f234fe30-87db-446f-a291-d33928ca2ccb/images/706a262f-8650-47ff-ac44-e04ce5f4023e.png)


# Documentación del diseño de su AWS Landing Zone
<a name="document-your-aws-landing-zone-design"></a>

*Michael Daehnert, Florian Langer y Michael Lodemann, Amazon Web Services*

## Resumen
<a name="document-your-aws-landing-zone-design-summary"></a>

Una *zona de aterrizaje* es un entorno con varias cuentas bien diseñado, que se basa en prácticas recomendadas de seguridad y cumplimiento. Es el contenedor de toda la empresa que contiene todas las unidades organizativas (OUs) Cuentas de AWS, los usuarios y otros recursos. Una landing zone puede ampliarse para adaptarse a las necesidades de una empresa de cualquier tamaño. AWS tiene dos opciones para crear tu landing zone: una landing zone basada en servicios [AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html)o una landing zone personalizada que tú construyas. Cada opción requiere un nivel de AWS conocimiento diferente.

AWS creado AWS Control Tower para ayudarte a ahorrar tiempo mediante la automatización de la configuración de una landing zone. AWS Control Tower está gestionado por AWS las mejores prácticas y directrices, y las utiliza para ayudarle a crear su entorno fundamental. AWS Control Tower utiliza servicios integrados, como [AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html)y [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html), para aprovisionar cuentas en tu landing zone y gestionar el acceso a esas cuentas.

AWS Los proyectos de landing zone varían en cuanto a los requisitos, los detalles de implementación y los elementos de acción operativa. Hay aspectos de personalización que deben abordarse con cada implementación de zona de aterrizaje. Esto incluye (pero no se limita a) cómo se gestiona la administración del acceso, qué tecnología se utiliza y cuáles son los requisitos de supervisión para lograr la excelencia operativa. Este patrón proporciona una plantilla que lo ayuda a documentar su proyecto de zona de aterrizaje. Al usar la plantilla, puede documentar el proyecto más rápidamente y ayudar a sus equipos de desarrollo y operaciones a entender su zona de aterrizaje.

## Requisitos previos y limitaciones
<a name="document-your-aws-landing-zone-design-prereqs"></a>

**Limitaciones**

Este patrón no describe qué es una zona de aterrizaje ni cómo implementarla. Para obtener más información sobre estos temas, consulte la sección [Recursos relacionados](#document-your-aws-landing-zone-design-resources).

## Epics
<a name="document-your-aws-landing-zone-design-epics"></a>

### Creación del documento de diseño
<a name="create-the-design-document"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Identifique a las partes interesadas principales. | Identifique los principales administradores de servicios y equipos que estén vinculados a su zona de aterrizaje. | Administrador de proyectos | 
| Personalice la plantilla. | Descargue la plantilla en la sección de [Adjuntos](#attachments-9e39a05a-8f51-4fe3-8999-522feafed6ca) y, a continuación, actualice la plantilla de la siguiente manera:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/document-your-aws-landing-zone-design.html) | Administrador de proyectos | 
| Complete la plantilla. | En las reuniones con las partes interesadas o mediante un write-and-review proceso, complete la plantilla de la siguiente manera:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/document-your-aws-landing-zone-design.html) | Administrador de proyectos | 
| Comparta el documento de diseño. | Cuando la documentación de diseño de la zona de aterrizaje esté completa, guárdela en un repositorio compartido o en una ubicación central donde todas las partes interesadas puedan acceder a ella. Le recomendamos que utilice procesos de control de documentos estándar para registrar y aprobar las revisiones del documento de diseño. | Administrador de proyectos | 

## Recursos relacionados
<a name="document-your-aws-landing-zone-design-resources"></a>
+ [AWS Control Tower documentación](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html)
  + [Planifica tu AWS Control Tower landing zone](https://docs.aws.amazon.com/controltower/latest/userguide/planning-your-deployment.html)
  + [AWS estrategia multicuenta para tu AWS Control Tower landing zone](https://docs.aws.amazon.com/controltower/latest/userguide/aws-multi-account-landing-zone.html)
  + [Consejos administrativos para la configuración de la landing zone](https://docs.aws.amazon.com/controltower/latest/userguide/tips-for-admin-setup.html)
  + [Expectativas para la configuración de la zona de aterrizaje](https://docs.aws.amazon.com/controltower/latest/userguide/getting-started-configure.html)
+ [Personalizaciones para AWS Control Tower](https://aws.amazon.com/solutions/implementations/customizations-for-aws-control-tower/) (biblioteca de AWS soluciones)
+ [Configuración de un entorno multicuenta seguro y escalable ( AWS guía](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-aws-environment/welcome.html)AWS prescriptiva)

## Conexiones
<a name="attachments-9e39a05a-8f51-4fe3-8999-522feafed6ca"></a>

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: [attachment.zip](samples/p-attach/9e39a05a-8f51-4fe3-8999-522feafed6ca/attachments/attachment.zip)

# Mejore el rendimiento operativo habilitando Amazon DevOps Guru en varias regiones y cuentas de AWS y OUs con la CDK de AWS
<a name="improve-operational-performance-by-enabling-amazon-devops-guru-across-multiple-aws-regions-accounts-and-ous-with-the-aws-cdk"></a>

*Dr. Rahul Sharad Gaikwad, Amazon Web Services*

## Resumen
<a name="improve-operational-performance-by-enabling-amazon-devops-guru-across-multiple-aws-regions-accounts-and-ous-with-the-aws-cdk-summary"></a>

Este patrón muestra los pasos para habilitar el servicio Amazon DevOps Guru en varias regiones, cuentas y unidades organizativas () de Amazon Web Services (AWSOUs) mediante el kit de desarrollo en la nube de AWS (AWS CDK) en TypeScript. Puede usar las pilas de CDK de AWS para implementar AWS CloudFormation StackSets desde la cuenta de administrador (principal) de AWS para habilitar Amazon DevOps Guru en varias cuentas, en lugar de iniciar sesión en cada cuenta y habilitar DevOps Guru individualmente para cada una de ellas.

Amazon DevOps Guru ofrece funciones de operaciones de inteligencia artificial (AIOps) para ayudarlo a mejorar la disponibilidad de sus aplicaciones y resolver los problemas operativos con mayor rapidez. DevOps Guru reduce el esfuerzo manual al aplicar recomendaciones basadas en el aprendizaje automático (ML), sin necesidad de conocimientos de aprendizaje automático. DevOps Guru analiza sus recursos y datos operativos. Si detecta alguna anomalía, proporciona métricas, eventos y recomendaciones para ayudarle a solucionar el problema.

Este patrón describe tres opciones de implementación para habilitar Amazon DevOps Guru:
+ Para todos, apile recursos en varias cuentas y regiones
+ Para todos, apile los recursos en todas partes OUs
+ Para recursos de pila específicos en varias cuentas y regiones

## Requisitos previos y limitaciones
<a name="improve-operational-performance-by-enabling-amazon-devops-guru-across-multiple-aws-regions-accounts-and-ous-with-the-aws-cdk-prereqs"></a>

**Requisitos previos**
+ Una cuenta de AWS activa.
+ Interfaz de la línea de comandos de AWS (AWS CLI) instalada y configurada. (Consulte [Instalación, actualización y desinstalación de la CLI de AWS](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) en la documentación de la CLI de AWS).
+ Kit de herramientas de AWS CDK, instalado y configurado. (Consulte el [kit de herramientas de AWS CDK](https://docs.aws.amazon.com/cdk/latest/guide/cli.html) en la documentación de AWS CDK).
+ Node Package Manager (npm), instalado y configurado para la AWS CDK en. TypeScript (Consulte [Descarga e instalación de Node.js y npm en la documentación de npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)).
+ Python3 instalado y configurado para ejecutar un script de Python para inyectar tráfico en la aplicación sin servidor de muestra. (Consulte [Configuración y uso de Python](https://docs.python.org/3/using/index.html) en la documentación de Python).
+ Pip, instalado y configurado para instalar la biblioteca de solicitudes de Python. (Consulte las [instrucciones de instalación de pip](https://pypi.org/project/pip/) en el PyPl sitio web).

**Versiones de producto**
+ Kit de herramientas de AWS CDK, versión 1.107.0 o posterior
+ npm versión 7.9.0 o posterior
+ Node.js: versión 15.3.0 o posterior

## Arquitectura
<a name="improve-operational-performance-by-enabling-amazon-devops-guru-across-multiple-aws-regions-accounts-and-ous-with-the-aws-cdk-architecture"></a>

**Tecnologías**

La arquitectura de este patrón incluye los siguientes servicios:
+ [El DevOps gurú de Amazon](https://aws.amazon.com/devops-guru/)
+ [AWS CloudFormation](https://aws.amazon.com/cloudformation/)
+ [Amazon API Gateway](https://aws.amazon.com/api-gateway/)
+ [AWS Lambda](https://aws.amazon.com/lambda/)
+ [Amazon DynamoDB](https://aws.amazon.com/dynamodb/)
+ [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/)
+ [AWS CloudTrail](https://aws.amazon.com/cloudtrail/)

**Pilas de CDK de AWS**

El patrón utiliza las siguientes pilas de CDK de AWS: 
+ `CdkStackSetAdminRole`: crea un rol de administrador de AWS Identity and Access Management (IAM) para establecer una relación de confianza entre las cuentas de administrador y de destino.
+ `CdkStackSetExecRole`: crea un rol de IAM para confiar en la cuenta de administrador.
+ `CdkDevopsGuruStackMultiAccReg`— Permite que DevOps Guru funcione en varias regiones y cuentas de AWS para todas las pilas, y configura las notificaciones del Amazon Simple Notification Service (Amazon SNS).
+ `CdkDevopsGuruStackMultiAccRegSpecStacks`— Permite que DevOps Guru funcione en varias regiones y cuentas de AWS para pilas específicas, y configura las notificaciones de Amazon SNS.
+ `CdkDevopsguruStackOrgUnit`— Permite el cruce OUs de DevOps Guru y configura las notificaciones de Amazon SNS. 
+ `CdkInfrastructureStack`: implementa ejemplos de componentes de aplicaciones sin servidor, como API Gateway, Lambda y DynamoDB, en la cuenta de administrador para demostrar la inyección de errores y la generación de información.

**Arquitectura de aplicación de muestra**

El siguiente diagrama ilustra la arquitectura de un ejemplo de aplicación sin servidor que se ha implementado en varias cuentas y regiones. El patrón utiliza la cuenta de administrador para implementar todas las pilas de CDK de AWS. También utiliza la cuenta de administrador como una de las cuentas de destino para configurar DevOps Guru.

1. Cuando DevOps Guru está activado, primero toma como base el comportamiento de cada recurso y, a continuación, ingiere los datos operativos de CloudWatch las métricas vendidas.

1. Si detecta una anomalía, la correlaciona con los eventos de origen y genera información. CloudTrail

1. La información proporciona una secuencia correlacionada de eventos junto con recomendaciones prescritas para que el operador pueda identificar el recurso responsable.

1. Amazon SNS envía mensajes de notificación al operador.

![\[Un ejemplo de aplicación sin servidor que se ha implementado en varias cuentas y regiones.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/6075ca48-862a-4aa0-93c6-10bad8195a5c/images/beeb0992-aaa8-4f08-b983-685b6b8b8d5e.png)


**Automatización y escala**

El [GitHub repositorio](https://github.com/aws-samples/amazon-devopsguru-cdk-samples.git) que se proporciona con este patrón utiliza la CDK de AWS como herramienta de infraestructura como código (IaC) para crear la configuración de esta arquitectura. AWS CDK lo ayuda a organizar los recursos y habilitar DevOps Guru en varias cuentas, regiones y. OUs

## Tools (Herramientas)
<a name="improve-operational-performance-by-enabling-amazon-devops-guru-across-multiple-aws-regions-accounts-and-ous-with-the-aws-cdk-tools"></a>

**Servicios de AWS**
+ [AWS CDK](https://docs.aws.amazon.com/cdk/latest/guide/home.html): el Kit de desarrollo en la nube de AWS (AWS CDK) le ayuda a definir su infraestructura de nube como código en uno de los cinco lenguajes de programación compatibles: JavaScript Python TypeScript, Java y C\$1.
+ [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html): Interfaz de la línea de comandos de AWS (AWS CLI) es una herramienta unificada que proporciona una interfaz de la línea de comandos coherente para interactuar con los servicios y recursos de AWS.

**Código**

El código fuente de este patrón está disponible en el GitHub repositorio [Amazon DevOps Guru CDK Samples](https://github.com/aws-samples/amazon-devopsguru-cdk-samples.git). El código CDK de AWS está escrito TypeScript. Para clonar y utilizar el repositorio, siga las instrucciones de la siguiente sección.

**importante**  
Algunas de las historias de este patrón incluyen ejemplos de comandos de AWS CDK y AWS CLI formateados para Unix, Linux y macOS. Para Windows, sustituya la barra diagonal invertida (\$1) utilizada como carácter de continuación de Unix al final de cada línea por el signo de intercalación (^).

## Epics
<a name="improve-operational-performance-by-enabling-amazon-devops-guru-across-multiple-aws-regions-accounts-and-ous-with-the-aws-cdk-epics"></a>

### Prepare los recursos de AWS para la implementación
<a name="prepare-the-aws-resources-for-deployment"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure los perfiles con nombre de AWS. | Configure sus perfiles con nombre de AWS de la siguiente manera para implementar pilas en un entorno de varias cuentas.Para la cuenta de administrador:<pre>$aws configure --profile administrator<br />AWS Access Key ID [****]: <your-administrator-access-key-ID><br />AWS Secret Access Key [****]: <your-administrator-secret-access-key><br />Default region name [None]: <your-administrator-region><br />Default output format [None]: json</pre>Para la cuenta de destino:<pre>$aws configure --profile target<br />AWS Access Key ID [****: <your-target-access-key-ID><br />AWS Secret Access Key [****]: <your-target-secret-access-key><br />Default region name [None]: <your-target-region><br />Default output format [None]: json</pre>Para obtener más información, consulte [Uso de perfiles con nombre](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html#cli-configure-files-using-profiles) en la documentación de la CLI de AWS. | DevOps ingeniero | 
| Compruebe las configuraciones de los perfiles de AWS. | (Opcional) Puede verificar las configuraciones de su perfil de AWS en los archivos `credentials` y `config` siguiendo las instrucciones en [Cómo establecer y ver los ajustes de configuración](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html#cli-configure-files-methods) en la la documentación de la CLI de AWS. | DevOps ingeniero | 
| Verifique la versión de AWS CDK. | Compruebe la versión del kit de herramientas de AWS CDK mediante el siguiente comando:<pre>$cdk --version</pre>Este patrón requiere la versión 1.107.0 o posterior. Si tiene una versión anterior de AWS CDK siga las instrucciones de la [documentación de AWS CDK](https://docs.aws.amazon.com/cdk/latest/guide/cli.html) para actualizarla. | DevOps ingeniero | 
| Clonar el código del proyecto. | Clona el GitHub repositorio de este patrón mediante el comando:<pre>$git clone https://github.com/aws-samples/amazon-devopsguru-cdk-samples.git</pre> | DevOps ingeniero | 
| Instale las dependencias de los paquetes y compile los TypeScript archivos. | Instale las dependencias del paquete y compile los TypeScript archivos ejecutando los siguientes comandos:<pre>$cd amazon-devopsguru-cdk-samples<br />$npm install<br />$npm fund</pre>Estos comandos instalan todos los paquetes del repositorio de muestra.Si se muestra algún error acerca de paquetes que faltan, utilice uno de los siguientes comandos:<pre>$npm ci</pre>—o—<pre>$npm install -g @aws-cdk/<package-name></pre>Puede encontrar la lista de nombres y versiones de los paquetes en la sección `Dependencies` del archivo `/amazon-devopsguru-cdk-samples/package.json`. Para obtener más información, consulte [npm ci](https://docs.npmjs.com/cli/v7/commands/npm-ci) y [npm install](https://docs.npmjs.com/cli/v7/commands/npm-install) en la documentación de npm. | DevOps ingeniero | 

### Crear (sintetizar) las pilas de CDK de AWS
<a name="build-synthesize-the-aws-cdk-stacks"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure una dirección de correo electrónico para las notificaciones de Amazon SNS. | Siga estos pasos para proporcionar una dirección de correo electrónico para las notificaciones de Amazon SNS:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/improve-operational-performance-by-enabling-amazon-devops-guru-across-multiple-aws-regions-accounts-and-ous-with-the-aws-cdk.html) | DevOps ingeniero | 
| Construya el código del proyecto. | Cree el código del proyecto y sintetice las pilas ejecutando el comando:<pre>npm run build && cdk synth </pre>Debería ver una salida similar a esta: <pre>$npm run build && cdk synth<br />> cdk-devopsguru@0.1.0 build<br />> tsc<br />Successfully synthesized to ~/amazon-devopsguru-cdk-samples/cdk.out<br />Supply a stack id (CdkDevopsGuruStackMultiAccReg,CdkDevopsGuruStackMultiAccRegSpecStacks, CdkDevopsguruStackOrgUnit, CdkInfrastructureStack, CdkStackSetAdminRole, CdkStackSetExecRole) to display its template.</pre>Para obtener más información y conocer los pasos, consulte [Su primera aplicación de AWS CDK](https://docs.aws.amazon.com/cdk/latest/guide/hello_world.html) en la documentación de AWS CDK. | DevOps ingeniero | 
| Enumere las pilas de CDK de AWS. | Ejecute el siguiente comando para enumerar todas las pilas de AWS CDK:<pre>$cdk list</pre>El comando muestra la lista siguiente:<pre>CdkDevopsGuruStackMultiAccReg<br />CdkDevopsGuruStackMultiAccRegSpecStacks<br />CdkDevopsguruStackOrgUnit<br />CdkInfrastructureStack<br />CdkStackSetAdminRole<br />CdkStackSetExecRole</pre> | DevOps ingeniero | 

### Opción 1: Habilita DevOps Guru para todos los recursos acumulados en varias cuentas
<a name="option-1---enable-devops-guru-for-all-stack-resources-across-multiple-accounts"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Implemente las pilas de CDK de AWS para crear roles de IAM. | Este patrón utiliza [AWS CloudFormation StackSets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html) para realizar operaciones de apilamiento en varias cuentas. Si va a crear su primer conjunto de pilas, debe crear las siguientes funciones de IAM para configurar los permisos necesarios en sus cuentas de AWS:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/improve-operational-performance-by-enabling-amazon-devops-guru-across-multiple-aws-regions-accounts-and-ous-with-the-aws-cdk.html)Los roles deben tener estos nombres exactos.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/improve-operational-performance-by-enabling-amazon-devops-guru-across-multiple-aws-regions-accounts-and-ous-with-the-aws-cdk.html)Para obtener más información, consulte [Otorgar permisos autogestionados](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html) en la CloudFormation documentación de AWS. | DevOps ingeniero | 
| Implemente la pila de CDK de AWS para habilitar DevOps Guru en varias cuentas. | La pila `CdkDevopsGuruStackMultiAccReg` de CDK de AWS crea conjuntos de pilas para implementar instancias de pila en varias cuentas y regiones. Para implementar la pila, ejecute el siguiente comando de la CLI con los parámetros especificados:<pre>$cdk deploy CdkDevopsGuruStackMultiAccReg \<br />  --profile administrator \<br />  --parameters AdministratorAccountId=<administrator-account-ID> \<br />  --parameters TargetAccountId=<target-account-ID> \<br />  --parameters RegionIds="<region-1>,<region-2>"</pre>Actualmente, Amazon DevOps Guru está disponible en las regiones de AWS que figuran en las [preguntas frecuentes de DevOps Guru](https://aws.amazon.com/devops-guru/faqs/). | DevOps ingeniero | 

### Opción 2: habilita DevOps Guru para todos los recursos de la pila OUs
<a name="option-2---enable-devops-guru-for-all-stack-resources-across-ous"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Extrae OU IDs. | En la consola de [AWS](https://console.aws.amazon.com/organizations/v2/home/accounts) Organizations, identifique IDs las unidades organizativas en las que quiere habilitar DevOps Guru. | DevOps ingeniero | 
| Habilite los permisos administrados por el servicio para. OUs | Si utiliza AWS Organizations para la administración de cuentas, debe conceder permisos gestionados por el servicio para activar DevOps Guru. En lugar de crear las funciones de IAM manualmente, utilice funciones de [acceso confiable basadas en la organización y](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-enable-trusted-access.html) vinculadas a servicios (). SLRs | DevOps ingeniero | 
| Implemente la pila de CDK de AWS para permitir que DevOps Guru OUs atraviese. | La `CdkDevopsguruStackOrgUnit` pila de CDK de AWS permite el servicio DevOps Guru en todas OUs partes. Para implementar la pila, ejecute el siguiente comando con los parámetros especificados:<pre>$cdk deploy CdkDevopsguruStackOrgUnit \<br />  --profile administrator \ <br />  --parameters RegionIds="<region-1>,<region-2>" \<br />  --parameters OrganizationalUnitIds="<OU-1>,<OU-2>"</pre> | DevOps ingeniero | 

### Opción 3: Habilita DevOps Guru para almacenar recursos de pila específicos en varias cuentas
<a name="option-3---enable-devops-guru-for-specific-stack-resources-across-multiple-accounts"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Implemente las pilas de CDK de AWS para crear roles de IAM. | Si aún no ha creado las funciones de IAM requeridas que se muestran en la primera opción, hágalo primero:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/improve-operational-performance-by-enabling-amazon-devops-guru-across-multiple-aws-regions-accounts-and-ous-with-the-aws-cdk.html)Para obtener más información, consulte [Otorgar permisos autogestionados](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html) en la CloudFormation documentación de AWS. | DevOps ingeniero | 
| Eliminar las pilas existentes. | Si ya utilizaste la primera opción para habilitar DevOps Guru para todos los recursos de la pila, puedes eliminar la pila anterior mediante el siguiente comando:<pre>$cdk destroy CdkDevopsGuruStackMultiAccReg --profile administrator </pre>O bien, puede cambiar el parámetro ` RegionIds` al volver a implementar la pila para evitar el error *Las pilas ya existen*. | DevOps ingeniero | 
| Actualizar la pila de CDK de AWS con una lista de pilas.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/improve-operational-performance-by-enabling-amazon-devops-guru-across-multiple-aws-regions-accounts-and-ous-with-the-aws-cdk.html) | Ingeniero de datos | 
| Implemente la pila de CDK de AWS para habilitar a DevOps Guru para disponer de recursos de pila específicos en varias cuentas. | La `CdkDevopsGuruStackMultiAccRegSpecStacks` pila de CDK de AWS permite a DevOps Guru disponer de recursos de pila específicos en varias cuentas. Para implementar la pila, ejecute el siguiente comando:<pre>$cdk deploy CdkDevopsGuruStackMultiAccRegSpecStacks \<br />  --profile administrator  \<br />  --parameters AdministratorAccountId=<administrator-account-ID> \<br />  --parameters TargetAccountId=<target-account-ID> \<br />  --parameters RegionIds="<region-1>,<region-2>"</pre>Si ya implementó esta pila para la opción 1, cambie el parámetro `RegionIds` (asegúrese de elegir entre las [regiones disponibles](https://aws.amazon.com/devops-guru/faqs/)) para evitar el error *Las pilas ya existen*. | DevOps ingeniero | 

### Implementar la pila de infraestructuras CDK de AWS
<a name="deploy-the-aws-cdk-infrastructure-stack"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Implemente el ejemplo del paquete de infraestructura sin servidor. | La `CdkInfrastructureStack` pila de CDK de AWS implementa componentes sin servidor, como API Gateway, Lambda y una tabla de DynamoDB para mostrar las ideas de Guru. DevOps Para implementar la pila, ejecute el siguiente comando: <pre>$cdk deploy CdkInfrastructureStack --profile administrator</pre> | DevOps ingeniero | 
| Introducir registros de ejemplo en DynamoDB. | Ejecute el siguiente comando para rellenar la tabla de DynamoDB con registros de ejemplo. Proporcione la ruta correcta para el script `populate-shops-dynamodb-table.json`.<pre>$aws dynamodb batch-write-item \<br />  --request-items file://scripts/populate-shops-dynamodb-table.json \<br />  --profile administrator</pre>El comando muestra el resultado siguiente:<pre>{<br />    "UnprocessedItems": {}<br />}</pre> | DevOps ingeniero | 
| Compruebe los registros introducidos en DynamoDB. | Para comprobar que la tabla de DynamoDB incluye los registros de muestra del archivo `populate-shops-dynamodb-table.json`, acceda a a URL de la API `ListRestApiEndpointMonitorOperator`, que se publica como salida de la pila de CDK de AWS. También puede encontrar esta URL en la pestaña **Salidas** de la CloudFormation consola de AWS de la `CdkInfrastructureStack` pila. La salida de AWS CDK sería similar a la siguiente:<pre>CdkInfrastructureStack.CreateRestApiMonitorOperatorEndpointD1D00045 = https://oure17c5vob.execute-api.<your-region>.amazonaws.com/prod/<br /><br />CdkInfrastructureStack.ListRestApiMonitorOperatorEndpointABBDB8D8 = https://cdff8icfrn4.execute-api.<your-region>.amazonaws.com/prod/</pre> | DevOps ingeniero | 
| Espere a que los recursos completen la línea de base. | Esta pila sin servidor tiene algunos recursos. Le recomendamos que espere 2 horas antes de realizar los siguientes pasos. Si implementó esta pila en un entorno de producción, es posible que se tarden hasta 24 horas en completar la línea base, según la cantidad de recursos que haya seleccionado para monitorear en DevOps Guru. | DevOps ingeniero | 

### Genera ideas de DevOps Guru
<a name="generate-devops-guru-insights"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Actualizar la pila de infraestructuras CDK de AWS. | Para probar DevOps Guru Insights, puede realizar algunos cambios de configuración para reproducir un problema operativo típico.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/improve-operational-performance-by-enabling-amazon-devops-guru-across-multiple-aws-regions-accounts-and-ous-with-the-aws-cdk.html) | DevOps ingeniero | 
| Introduzca solicitudes HTTP en la API. | Inyecta tráfico de entrada en forma de solicitudes HTTP en la API `ListRestApiMonitorOperatorEndpointxxxx`:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/improve-operational-performance-by-enabling-amazon-devops-guru-across-multiple-aws-regions-accounts-and-ous-with-the-aws-cdk.html) | DevOps ingeniero | 
| Revise las ideas de DevOps Guru. | En condiciones estándar, el panel de control de DevOps Guru muestra cero en el contador de información continua. Si detecta una anomalía, emite una alerta en forma de información. En el panel de navegación, selecciona **Insights** para ver los detalles de la anomalía, incluidos un resumen, métricas agregadas, eventos relevantes y recomendaciones. Para obtener más información sobre la revisión de información, consulte la entrada del blog Cómo [obtener información operativa AIOps con Amazon DevOps Guru](https://aws.amazon.com/blogs/devops/gaining-operational-insights-with-aiops-using-amazon-devops-guru/). | DevOps ingeniero | 

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


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Limpie y elimine recursos. | Después de seguir este patrón, debe eliminar los recursos que ha creado para evitar incurrir en cargos adicionales. Ejecute estos comandos:<pre>$cdk destroy CdkDevopsGuruStackMultiAccReg --profile administrator<br />$cdk destroy CdkDevopsguruStackOrgUnit --profile administrator<br />$cdk destroy CdkDevopsGuruStackMultiAccRegSpecStacks --profile administrator<br />$cdk destroy CdkInfrastructureStack --profile administrator<br />$cdk destroy CdkStackSetAdminRole --profile administrator<br />$cdk destroy CdkStackSetExecRole --profile administrator<br />$cdk destroy CdkStackSetExecRole --profile target</pre> | DevOps ingeniero | 

## Recursos relacionados
<a name="improve-operational-performance-by-enabling-amazon-devops-guru-across-multiple-aws-regions-accounts-and-ous-with-the-aws-cdk-resources"></a>
+ [Obtener información operativa AIOps con Amazon DevOps Guru](https://aws.amazon.com/blogs/devops/gaining-operational-insights-with-aiops-using-amazon-devops-guru/)
+ [Configure Amazon DevOps Guru fácilmente en varias cuentas y regiones mediante AWS CloudFormation StackSets](https://aws.amazon.com/blogs/devops/configure-devops-guru-multiple-accounts-regions-using-cfn-stacksets/)
+ [DevOps Taller de gurús](https://aiops-using-devops-guru.workshop.aws/)

# Control de los conjuntos de permisos para varias cuentas mediante Account Factory for Terraform
<a name="govern-permission-sets-aft"></a>

*Anand Krishna Varanasi y Siamak Heshmati, Amazon Web Services*

## Resumen
<a name="govern-permission-sets-aft-summary"></a>

Este patrón le ayuda a integrar [AWS Control Tower Account Factory Terraform (AFT)](https://docs.aws.amazon.com/controltower/latest/userguide/aft-overview.html) con el [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)fin de configurar los permisos de varios Cuentas de AWS a escala. Este enfoque utiliza AWS Lambda funciones personalizadas para automatizar las asignaciones de [conjuntos de permisos](https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html) Cuentas de AWS que se administran como una organización. Esto agiliza el proceso porque no requiere la intervención manual del equipo de ingeniería de la plataforma. Esta solución puede mejorar la eficiencia, la seguridad y la coherencia operativas. Promueve un proceso de incorporación seguro y estandarizado AWS Control Tower, lo que lo hace indispensable para las empresas que priorizan la agilidad y la confiabilidad de su infraestructura de nube.

## Requisitos previos y limitaciones
<a name="govern-permission-sets-aft-prereqs"></a>

**Requisitos previos **
+ Cuentas de AWS, gestionado mediante AWS Control Tower. Para obtener más información, consulte [Primeros pasos con AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/getting-started-with-control-tower.html).
+ Account Factory for Terraform, implementado en una cuenta dedicada en su entorno. Para obtener más información, consulte [Deploy AWS Control Tower Account Factory para Terraform](https://docs.aws.amazon.com/controltower/latest/userguide/aft-getting-started.html).
+ Una instancia de IAM Identity Center configurada en su entorno. Para obtener más información, consulte [Primeros pasos con IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html).
+ Un [grupo](https://docs.aws.amazon.com/singlesignon/latest/userguide/users-groups-provisioning.html#groups-concept) de IAM Identity Center activo y configurado.  Para obtener más información, consulte [Añadir grupos a su Directorio de IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/addgroups.html).
+ La versión 3.9 o posterior de Python instalada

**Limitaciones**
+ Esta solución solo se puede usar con cuentas que se administren mediante AWS Control Tower. Esta solución se implementa mediante Account Factory for Terraform.
+ Este patrón no incluye instrucciones para configurar una federación de identidades con un origen de identidad. Para obtener más información sobre cómo completar esta configuración, consulte los [tutoriales sobre los orígenes de identidad de IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/tutorials.html) en la documentación de IAM Identity Center.

## Arquitectura
<a name="govern-permission-sets-aft-architecture"></a>

**Descripción general de AFT**

AFT configura una canalización de Terraform que lo ayuda a aprovisionar y personalizar varias cuentas de AWS Control Tower. AFT sigue un GitOps modelo que automatiza los procesos de aprovisionamiento de cuentas en. AWS Control Tower Usted crea un *archivo de Terraform de solicitud de cuenta* y lo deposita en el repositorio. Esto inicia el flujo de trabajo de AFT para el aprovisionamiento de cuentas. Una vez completado el aprovisionamiento de la cuenta, AFT puede ejecutar automáticamente pasos de personalización adicionales. Para obtener más información, consulte la [arquitectura AFT](https://docs.aws.amazon.com/controltower/latest/userguide/aft-architecture.html) en la AWS Control Tower documentación.

AFT proporciona los siguientes repositorios principales:
+ `aft-account-request`: este repositorio contiene código de Terraform para crear o actualizar Cuentas de AWS.
+ `aft-account-customizations`: este repositorio contiene código Terraform para crear o personalizar recursos por cuenta.
+ `aft-global-customizations`: este repositorio contiene código Terraform para crear o personalizar recursos para todas las cuentas a escala.
+ `aft-account-provisioning-customizations`: este repositorio administra las personalizaciones que se aplican solo a cuentas específicas creadas y administradas con AFT. Por ejemplo, puede utilizar este repositorio para personalizar las asignaciones de usuarios o grupos en IAM Identity Center o para automatizar el cierre de cuentas.

**Descripción general de la solución**

Esta solución personalizada incluye una máquina de AWS Step Functions estados y una AWS Lambda función que asigna conjuntos de permisos a usuarios y grupos para varias cuentas. La máquina de estados implementada mediante este patrón funciona junto con la máquina de estados `aft_account_provisioning_customizations` de AFT preexistente. Un usuario envía una solicitud para actualizar las asignaciones de usuarios y grupos del IAM Identity Center al crear una nueva Cuenta de AWS cuenta o después de crearla. Para ello, insertan un cambio en el repositorio de `aft-account-request`. La solicitud para crear o actualizar una cuenta inicia una transmisión en [Amazon DynamoDB Streams](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.html). Esto inicia la función Lambda, que actualiza los usuarios y grupos del IAM Identity Center para el destino. Cuentas de AWS

A continuación se muestra un ejemplo de los parámetros que puede proporcionar en la función de Lambda para la asignación de conjuntos de permisos a los usuarios y grupos de destino:

```
custom_fields = {
    "InstanceArn"         = "<Organization ID>",
    "PermissionSetArn"    = "<Permission set ARN>",
    "PrincipalId"         = "<Principal ID>",
  }
```

Los parámetros de esta instrucción son los siguientes:
+ `InstanceArn`: el nombre de recurso de Amazon (ARN) de la organización.
+ `PermissionSetArn`: el ARN del conjunto de permisos.
+ `PrincipalId`: el identificador de un usuario o grupo de IAM Identity Center al que se aplicará el conjunto de permisos

**nota**  
Debe crear el conjunto de permisos, los usuarios y los grupos de destino antes de ejecutar esta solución.

Si bien el valor `InstanceArn` debe permanecer coherente, puede modificar la función de Lambda para asignar varios conjuntos de permisos a varias identidades de destino. Los parámetros de los conjuntos de permisos deben terminar en `PermissionSetArn` y los parámetros de los usuarios y grupos deben terminar en `PrincipalId`. Debe definir ambos atributos. A continuación se muestra un ejemplo de cómo definir varios conjuntos de permisos y dirigirse a usuarios y grupos:

```
custom_fields = {
    "InstanceArn"                    = "<Organization ID>",
    "AdminAccessPermissionSetArn"    = "<Admin privileges permission set ARN>",
    "AdminAccessPrincipalId"         = "<Admin principal ID>",
    "ReadOnlyAccessPermissionSetArn" = "<Read-only privileges permission set ARN>",
    "ReadOnlyAccessPrincipalId"      = "<Read-only principal ID>",
  }
```

El siguiente diagrama muestra un step-by-step flujo de trabajo que muestra cómo la solución actualiza los conjuntos de permisos para los usuarios y grupos del objetivo Cuentas de AWS a escala. Cuando el usuario inicia una solicitud de creación de cuenta, AFT inicia la máquina de estados `aft-account-provisioning-framework` de Step Functions. Esta máquina de estados inicia la función de Lambda `extract-alternate-sso`. La función Lambda asigna conjuntos de permisos a los usuarios y grupos del destino. Cuentas de AWS Estos usuarios o grupos pueden proceder de cualquier origen de identidad configurado en IAM Identity Center. Algunos ejemplos de orígenes de identidad son Okta, Active Directory o Ping Identity.

![\[Flujo de trabajo que consiste en actualizar los conjuntos de permisos al crear o actualizar una cuenta.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/14751255-3781-48db-a6b7-1a03e28c1020/images/d1de252d-8ac9-4f7d-a559-4ab3e852f325.png)


El diagrama muestra el siguiente flujo de trabajo al crear cuentas nuevas:

1. Un usuario envía un cambio de `custom_fields` al repositorio de `aft-account-request`.

1. AWS CodePipeline inicia un AWS CodeBuild trabajo que registra los metadatos definidos por el usuario en la tabla de `aft-request-audit` Amazon DynamoDB. Esta tabla tiene atributos para registrar metadatos definidos por el usuario. El atributo `ddb_event_name` define el tipo de operación de AFT:
   + Si el valor es`INSERT`, la solución asigna los permisos establecidos a las identidades de destino cuando se crea la nueva. Cuenta de AWS 
   + Si el valor es`UPDATE`, la solución asigna los permisos establecidos a las identidades de destino después de crearlas Cuenta de AWS .

1. Amazon DynamoDB Streams inicia la función de Lambda `aft_alternate_sso_extract`.

1. La función `aft_alternate_sso_extract` Lambda asume una función AWS Identity and Access Management (IAM) en la AWS Control Tower cuenta de administración.

1. La función Lambda asigna los conjuntos de permisos a los usuarios y grupos de destino mediante una llamada a la API AWS SDK para Python (Boto3) [create\$1account\$1assignment](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sso-admin/client/create_account_assignment.html) al Centro de identidades de IAM. Recupera el conjunto de permisos y las asignaciones de identidad de la tabla `aft-request-audit` de Amazon DynamoDB.

1. Cuando se completa el flujo de trabajo de Step Functions, los conjuntos de permisos se asignan a las identidades de destino.

**Automatización y escala**

AFT funciona a escala mediante el Servicios de AWS uso de CodePipeline DynamoDB y Lambda, que son altamente escalables. AWS CodeBuild Para una automatización adicional, puede integrar esta solución con un sistema de gestión de incidencias o tickets, como Jira. Para obtener más información, consulte la sección [Información adicional](#govern-permission-sets-aft-additional) de este patrón.

## Tools (Herramientas)
<a name="govern-permission-sets-aft-tools"></a>

**Servicios de AWS**
+ [Account Factory for Terraform (AFT)](https://docs.aws.amazon.com/controltower/latest/userguide/aft-overview.html) es la principal herramienta de esta solución. El `aft-account-provisioning-customizations` repositorio contiene el código de Terraform para crear personalizaciones Cuentas de AWS, como asignaciones personalizadas para usuarios o grupos del IAM Identity Center.
+ [Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html) es un servicio de base de datos de NoSQL completamente administrado que ofrece un rendimiento rápido, predecible y escalable.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) es un servicio de computación que ayuda a ejecutar código sin necesidad de aprovisionar ni administrar servidores. Ejecuta el código solo cuando es necesario y amplía la capacidad de manera automática, por lo que solo pagará por el tiempo de procesamiento que utilice.
+ [AWS Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html)es un servicio de organización sin servidor que le ayuda a combinar AWS Lambda funciones y otras Servicios de AWS para crear aplicaciones críticas para la empresa.

**Otras herramientas**
+ [Python](https://www.python.org/) es un lenguaje de programación informático de uso general.
+ [Terraform](https://www.terraform.io/) es una herramienta de infraestructura como código (IaC) HashiCorp que le ayuda a crear y administrar recursos locales y en la nube.

**Repositorio de código**

El repositorio de código para AFT está disponible en el repositorio GitHub [AWS Control Tower Account Factory for Terraform](https://github.com/aws-ia/terraform-aws-control_tower_account_factory). El código de este patrón está disponible en el repositorio [Govern SSO Assignments para Cuentas de AWS usar Account Factory for Terraform (AFT)](https://github.com/aws-samples/aft-custom-sso-assignment).

## Prácticas recomendadas
<a name="govern-permission-sets-aft-best-practices"></a>
+ Comprenda el [modelo de responsabilidad compartida de AWS](https://aws.amazon.com/compliance/shared-responsibility-model/).
+ Siga las recomendaciones de seguridad para. AWS Control Tower Para obtener más información, consulte [Seguridad en AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/security.html).
+ Siga el principio de privilegio mínimo Para obtener más información, consulte [Aplicar permisos de privilegio mínimo](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege).
+ Cree conjuntos de permisos y roles de IAM específicos para grupos y unidades de negocio.

## Epics
<a name="govern-permission-sets-aft-epics"></a>

### Implementar la solución
<a name="deploy-the-solution"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Crear un rol de IAM. | En la cuenta AWS Control Tower de administración, utilice Terraform para crear un rol de IAM. Este rol tiene acceso entre cuentas y una política de confianza que permite el acceso federado desde el proveedor de identidades. También tiene permisos para conceder acceso a otras cuentas a través de ella. AWS Control Tower La función de Lambda asumirá este rol. Haga lo siguiente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/govern-permission-sets-aft.html) | AWS DevOps, arquitecto de nube | 
| Personalice la solución para su entorno. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/govern-permission-sets-aft.html) | AWS DevOps, arquitecto de nube | 
| Implemente la solución. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/govern-permission-sets-aft.html) | AWS DevOps, arquitecto de nube | 
| Configure una conexión de repositorio de código. | Configure una conexión entre el repositorio de código donde almacenará los archivos de configuración y su Cuenta de AWS. Para obtener instrucciones, consulta la sección sobre cómo [añadir proveedores de fuentes de terceros a las canalizaciones que se CodeConnections](https://docs.aws.amazon.com/codepipeline/latest/userguide/pipelines-connections.html) encuentra en la AWS CodePipeline documentación. | AWS DevOps, arquitecto de nube | 

### Uso de la solución
<a name="use-the-solution"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Inicie la canalización de AFT para implementar una nueva cuenta. | Siga las instrucciones de [Aprovisione una nueva cuenta con AFT](https://docs.aws.amazon.com/controltower/latest/userguide/aft-provision-account.html) para iniciar la canalización que crea una nueva Cuenta de AWS en su AWS Control Tower entorno. Espere a que se complete la creación de la cuenta. | AWS DevOps, arquitecto de nube | 
| Valide los cambios. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/govern-permission-sets-aft.html) | AWS DevOps, arquitecto de nube | 

## Resolución de problemas
<a name="govern-permission-sets-aft-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| La asignación del conjunto de permisos no funciona. | Asegúrese de que el ARN del grupo, el ID de la organización y los parámetros de Lambda sean correctos. Para ver ejemplos, consulte la sección de *Información general de la solución* de este patrón. | 
| La actualización del código en el repositorio no inicia la canalización. | Este problema está relacionado con la conectividad entre tu repositorio Cuenta de AWS y el tuyo. En el Consola de administración de AWS, valide que la conexión esté activa. Para obtener más información, consulte [GitHub las conexiones](https://docs.aws.amazon.com/codepipeline/latest/userguide/connections-github.html) en la AWS CodePipeline documentación. | 

## Información adicional
<a name="govern-permission-sets-aft-additional"></a>

**Integración con una herramienta de gestión de tickets**

Puede optar por integrar esta solución con una herramienta de gestión de incidencias o incidencias, como Jira o ServiceNow. En el diagrama siguiente se muestra un ejemplo de flujo de trabajo de esta opción. Puede integrar la herramienta de gestión de tickets con los repositorios de soluciones de AFT mediante los conectores de su herramienta. Para ver los conectores de Jira, consulte [Integrar Jira](https://support.atlassian.com/jira-cloud-administration/docs/integrate-jira-software-with-github/) con. GitHub Para ver los ServiceNow conectores, consulte [Integrar](https://www.servicenow.com/docs/bundle/washingtondc-it-asset-management/page/product/software-asset-management2/concept/integrate-with-github.html) con. GitHub Incluso puede crear soluciones personalizadas que requieran que los usuarios proporcionen un ID de ticket como parte de la aprobación de la solicitud de extracción. Si se aprueba una solicitud para crear una nueva Cuenta de AWS mediante AFT, ese evento podría iniciar un flujo de trabajo que añada campos personalizados al `aft-account-request` GitHub repositorio. Puede diseñar cualquier flujo de trabajo personalizado que cumpla con los requisitos de su caso de uso.

![\[Flujo de trabajo que utiliza GitHub Actions y una herramienta de gestión de tickets.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/14751255-3781-48db-a6b7-1a03e28c1020/images/83763f65-32ea-4de0-932f-14a1b2d1d3ad.png)


En el diagrama, se muestra el siguiente flujo de trabajo:

1. Los usuarios solicitan una asignación de conjuntos de permisos personalizada en una herramienta de administración de tickets, como Jira.

1. Una vez aprobado el caso, se inicia un flujo de trabajo para actualizar la asignación del conjunto de permisos. (Opcional) Puede utilizar complementos para la automatización personalizada de este paso.

1. Los operadores envían el código de Terraform con los parámetros del conjunto de permisos actualizados al repositorio de `aft-account-request` en una ramificación de desarrollo o característica.

1. GitHub Las acciones se inician AWS CodeBuild mediante una llamada a OpenID Connect (OIDC). CodeBuild [https://aquasecurity.github.io/tfsec/v1.20.0/](https://aquasecurity.github.io/tfsec/v1.20.0/) Advierte a los operadores de cualquier infracción de seguridad.

1. Si no se detecta ninguna infracción, GitHub Actions crea una solicitud de extracción automática y asigna una revisión del código a sus propietarios. También crea una etiqueta para la solicitud de extracción.

1. Si el propietario del código aprueba la revisión del código, se inicia otro flujo de trabajo de GitHub Actions. Comprueba los estándares de las solicitudes de extracción, que incluyen:
   + Si el título de la solicitud de extracción cumple con los requisitos.
   + Si el cuerpo de la solicitud de extracción contiene números de caso aprobados.
   + Si la solicitud de extracción está correctamente etiquetada.

1. Si las solicitudes de extracción cumplen con los estándares, GitHub Actions inicia el flujo de trabajo del producto AFT. Utiliza el inicio de la `ct-aft-account-request` canalización AWS CodePipeline. Esta canalización inicia la máquina de estado `aft-account-provisioning-framework` personalizada en Step Functions. Esta máquina de estado funciona como se describió anteriormente en la sección de *Información general de la solución* de este patrón.

# Implementación del Generador de cuentas para Terraform (AFT) mediante una canalización de arranque
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline"></a>

*Vinicius Elias y Edgar Costa Filho, Amazon Web Services*

## Resumen
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline-summary"></a>

Este patrón proporciona un método sencillo y seguro para implementar AWS Control Tower Account Factory for Terraform (AFT) desde la cuenta de administración de AWS Organizations. El núcleo de la solución es una CloudFormation plantilla que automatiza la configuración de AFT mediante la creación de una canalización de Terraform, que está estructurada para adaptarse fácilmente a la implementación inicial o a las actualizaciones posteriores.

La seguridad y la integridad de los datos son las principales prioridades AWS, por lo que el archivo de estado de Terraform, que es un componente fundamental que rastrea el estado de la infraestructura y las configuraciones administradas, se almacena de forma segura en un depósito de Amazon Simple Storage Service (Amazon S3). Este bucket está configurado con varias medidas de seguridad, como el cifrado del servidor y políticas para bloquear el acceso público, a fin de garantizar que el estado de Terraform esté protegido contra el acceso no autorizado y las filtraciones de datos.

La cuenta de administración organiza y supervisa todo el entorno, por lo que es un recurso fundamental. AWS Control Tower Este patrón sigue las AWS mejores prácticas y garantiza que el proceso de implementación no solo sea eficiente, sino que también se alinee con los estándares de seguridad y gobernanza, a fin de ofrecer una forma integral, segura y eficiente de implementar la AFT en su entorno. AWS 

Para obtener más información sobre AFT, consulte la [documentación de AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/aft-overview.html).

## Requisitos previos y limitaciones
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline-prereqs"></a>

**Requisitos previos **
+ Un entorno básico de AWS múltiples cuentas con las siguientes cuentas como mínimo: cuenta de administración, cuenta de Log Archive, cuenta de auditoría y una cuenta adicional para la administración de AFT.
+ Un AWS Control Tower entorno establecido. La cuenta de administración debe estar configurada correctamente, ya que la CloudFormation plantilla se implementará en ella.
+ Los permisos necesarios en la cuenta AWS de administración. Necesitará permisos suficientes para crear y administrar recursos, como depósitos, AWS Lambda funciones AWS Identity and Access Management (IAM) y AWS CodePipeline proyectos de S3.
+ Familiaridad con Terraform. Es importante comprender los conceptos básicos y el flujo de trabajo de Terraform porque la implementación implica generar y administrar las configuraciones de Terraform.

**Limitaciones**
+ Tenga en cuenta las [cuotas de los recursos de AWS](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) de su cuenta. La implementación puede crear varios recursos y encontrar cuotas de servicio podría impedir el proceso de implementación.
+ La plantilla está diseñada para versiones específicas de Terraform y Servicios de AWS. La actualización o el cambio de versiones pueden requerir modificaciones en la plantilla.
+ La plantilla no admite los servicios del sistema de control de versiones (VCS) autogestionado, como Enterprise. GitHub 

**Versiones de producto**
+ Terraform, versión 1.6.6 o posterior
+ Versión 1.11 o posteriores de AFT

## Arquitectura
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline-architecture"></a>

**Pila de tecnología de destino**
+ CloudFormation
+ AWS CodeBuild
+ AWS CodeCommit
+ AWS CodePipeline
+ Amazon EventBridge
+ IAM
+ AWS Lambda
+ Amazon S3

**Arquitectura de destino**

En el siguiente diagrama se ilustra la implementación descrita en este patrón.

![\[Flujo de trabajo para implementar AFT mediante una canalización de arranque.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/944f9912-87c7-4cc5-8478-7070cf67f7ee/images/4ee74757-940d-4d92-a7f0-fb0db1476247.png)


El flujo de trabajo consta de tres tareas principales: creación de los recursos, generación del contenido y ejecución de la canalización.

*Creación de los recursos*

La [CloudFormation plantilla que se proporciona con este patrón](https://github.com/aws-samples/aft-bootstrap-pipeline/blob/main/code/aft-deployment-pipeline.yaml) crea y configura todos los recursos necesarios, en función de los parámetros que selecciones al implementar la plantilla. Como mínimo, la plantilla crea los siguientes recursos:
+ Una CodePipeline canalización para implementar la AFT
+ Un bucket de S3 para almacenar el archivo de estado de Terraform asociado a la implementación de AFT
+ Dos CodeBuild proyectos para implementar el plan Terraform y aplicar comandos en diferentes etapas del proceso
+ Funciones y servicios de IAM CodeBuild CodePipeline 
+ Un segundo bucket de S3 para almacenar artefactos de tiempo de ejecución de la canalización

Según el proveedor de VCS que seleccione (CodeCommit o el VCS externo), la plantilla crea los siguientes recursos. 
+ Para **CodeCommit**:
  + Un CodeCommit repositorio para almacenar el código de arranque de AFT Terraform
  + Una EventBridge regla para capturar los cambios CodeCommit del repositorio en la sucursal `main`
  + Otra función de IAM para la regla EventBridge 
+ Para cualquier otro **proveedor de VCS externo**, como: GitHub
  + Una conexión AWS CodeConnections 

Además, al seleccionar CodeCommit como proveedor de VCS, si se establece el `Generate AFT Files` parámetro en`true`, la plantilla crea los siguientes recursos adicionales para generar el contenido:
+ Un depósito de S3 para almacenar el contenido generado y usarlo como fuente del repositorio CodeCommit 
+ Una función de Lambda para procesar los parámetros dados y generar el contenido apropiado
+ Una función de IAM para ejecutar la función de Lambda
+ Un recurso CloudFormation personalizado que ejecuta la función Lambda cuando se implementa la plantilla

*Generación del contenido*

Para generar los archivos de arranque de AFT y su contenido, la solución utiliza una función de Lambda y un bucket de S3. La función crea una carpeta en el bucket y, a continuación, crea dos archivos dentro de la carpeta: `main.tf` y `backend.tf`. La función también procesa los CloudFormation parámetros proporcionados y rellena estos archivos con código predefinido, sustituyendo los valores de los parámetros respectivos.

Para ver el código que se utiliza como plantilla para generar los archivos, consulte el [GitHub repositorio](https://github.com/aws-samples/aft-bootstrap-pipeline) de la solución. Básicamente, los archivos se generan de la siguiente manera.

**main.tf**

```
module "aft" {
  source = "github.com/aws-ia/terraform-aws-control_tower_account_factory?ref=<aft_version>"

  # Required variables
  ct_management_account_id  = "<ct_management_account_id>"
  log_archive_account_id    = "<log_archive_account_id>"
  audit_account_id          = "<audit_account_id>"
  aft_management_account_id = "<aft_management_account_id>"
  ct_home_region            = "<ct_home_region>"

  # Optional variables
  tf_backend_secondary_region = "<tf_backend_secondary_region>"
  aft_metrics_reporting       = "<false|true>"

  # AFT Feature flags
  aft_feature_cloudtrail_data_events      = "<false|true>"
  aft_feature_enterprise_support          = "<false|true>"
  aft_feature_delete_default_vpcs_enabled = "<false|true>"

  # Terraform variables
  terraform_version      = "<terraform_version>"
  terraform_distribution = "<terraform_distribution>"

  # VCS variables (if you have chosen an external VCS)
  vcs_provider                                  = "<github|githubenterprise|gitlab|gitlabselfmanaged|bitbucket>"
  account_request_repo_name                     = "<org-name>/aft-account-request"
  account_customizations_repo_name              = "<org-name>/aft-account-customizations"
  account_provisioning_customizations_repo_name = "<org-name>/aft-account-provisioning-customizations"
  global_customizations_repo_name               = "<org-name>/aft-global-customizations"

}
```

**backend.tf**

```
terraform {
  backend "s3" {
    region = "<aft-main-region>"
    bucket = "<s3-bucket-name>"
    key    = "aft-setup.tfstate"
  }
}
```

Durante la creación del CodeCommit repositorio, si estableces el `Generate AFT Files` parámetro en`true`, la plantilla utilizará el depósito de S3 con el contenido generado como fuente de la `main` rama para rellenar automáticamente el repositorio.

*Ejecutando la canalización*

Una vez creados los recursos y configurados los archivos de arranque, se ejecuta la canalización. La primera etapa (*Origen*) busca el código fuente de la ramificación principal del repositorio, y la segunda etapa (*Compilación*) ejecuta el comando de planificación de Terraform y genera los resultados para su revisión. En la tercera etapa (*Aprobación*), la canalización espera a que se lleve a cabo una acción manual para aprobar o rechazar la última etapa (*Implementación*). En la última etapa, la canalización ejecuta el comando `apply` de Terraform utilizando como entrada el resultado del comando `plan` de Terraform anterior. Por último, un rol entre cuentas y los permisos de la cuenta de administración se utilizan para crear los recursos de AFT en la cuenta de administración de AFT.

**nota**  
Si selecciona un proveedor de VCS externo, deberá autorizar la conexión con las credenciales de su proveedor de VCS. Para completar la configuración, sigue los pasos que se indican en la documentación de la consola de AWS Developer Tools sobre cómo [actualizar una conexión pendiente](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-update.html).

## Tools (Herramientas)
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline-tools"></a>

**Servicios de AWS**
+ [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)le ayuda a configurar los recursos de AWS, aprovisionarlos de forma rápida y coherente y gestionarlos durante todo su ciclo de vida en Cuentas de AWS todas las regiones.
+ [AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) es un servicio de compilación completamente administrado que le permite compilar código fuente, poner en marcha pruebas unitarias y producir artefactos listos para implementar. 
+ [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) es un servicio de control de versiones que permite almacenar y administrar repositorios de Git de forma privada sin necesidad de administrar su propio sistema de control de origen.
+ [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html) permite diseñar y configurar rápidamente las diferentes etapas de un proceso de lanzamiento de software y automatizar los pasos necesarios para lanzar los cambios en el software de manera continua.
+ [AWS CodeConnections](https://docs.aws.amazon.com/dtconsole/latest/userguide/welcome-connections.html)permite que AWS los recursos y servicios, por ejemplo CodePipeline, se conecten a repositorios de código externos, por ejemplo. GitHub
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) es un servicio de computación que ejecuta código como respuesta a eventos y administra automáticamente los recursos de computación, lo que proporciona una forma rápida de crear una aplicación moderna y sin servidor para producción.
+ [AWS SDK para Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html)es un kit de desarrollo de software que le ayuda a integrar su aplicación, biblioteca o script de Python con Servicios de AWS.

**Otras herramientas**
+ [Terraform](https://developer.hashicorp.com/terraform?product_intent=terraform) es una herramienta de infraestructura como código (IaC) que le permite crear, cambiar y versionar la infraestructura de manera segura y eficiente. Esto incluye componentes de bajo nivel, como instancias de computación, almacenamiento y redes, y componentes de alto nivel, como entradas de DNS y característica de SaaS.
+ [Python](https://docs.python.org/3.9/tutorial/index.html) es un lenguaje de programación potente y fácil de aprender. Cuenta con estructuras de datos eficientes y de alto nivel y proporciona un enfoque simple pero efectivo de la programación orientada a objetos.

**Repositorio de código**

El código de este patrón está disponible en el [repositorio bootstrap Pipeline de GitHub AFT](https://github.com/aws-samples/aft-bootstrap-pipeline).

Para ver el repositorio AFT oficial, consulte [AWS Control Tower Account Factory for Terraform](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/tree/main) en GitHub.

## Prácticas recomendadas
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline-best-practices"></a>

Al implementar AFT mediante la CloudFormation plantilla proporcionada, le recomendamos que siga las mejores prácticas para garantizar una implementación segura, eficiente y exitosa. Las pautas y recomendaciones clave para implementar y operar AFT incluyen lo siguiente:
+ **Revisión exhaustiva de los parámetros**: revise y comprenda detenidamente cada parámetro de la CloudFormation plantilla. La configuración correcta de los parámetros es crucial para la configuración y el funcionamiento correctos de AFT.
+ **Actualizaciones periódicas de la plantilla**: mantenga la plantilla actualizada con las últimas AWS funciones y versiones de Terraform. Las actualizaciones periódicas lo ayudarán a aprovechar las nuevas funciones y a mantener la seguridad.
+ **Control de versiones**: fije la versión de su módulo de AFT y, si es posible, utilice una implementación de AFT independiente para realizar las pruebas.
+ **Alcance**: utilice AFT únicamente para implementar barreras de protección y personalizaciones de infraestructura. No use AFT para implementar la aplicación.
+ **Lint y validación**: la canalización de AFT requiere una configuración de Terraform de tipo Lint y que esté validada. Ejecute Lint, valide y pruebe todo antes de enviar la configuración a los repositorios de AFT.
+ **Módulos de Terraform**: cree código de Terraform reutilizable como módulos y especifique siempre las versiones de Terraform y del AWS proveedor para que se ajusten a los requisitos de su organización.

## Epics
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline-epics"></a>

### Configure y configure el entorno AWS
<a name="set-up-and-configure-the-aws-environment"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Prepare el AWS Control Tower entorno. | Instálelo y AWS Control Tower configúrelo en su AWS entorno para garantizar una administración y un gobierno centralizados para su Cuentas de AWS. Para obtener más información, consulte [Primeros pasos AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/getting-started-with-control-tower.html) en la AWS Control Tower documentación. | Administrador de la nube | 
| Iniciar la cuenta de administración de AFT. | Utilice AWS Control Tower Account Factory para lanzar una nueva Cuenta de AWS que sirva como su cuenta de administración de AFT. Para obtener más información, consulte [Aprovisionar cuentas con AWS Service Catalog Account Factory](https://docs.aws.amazon.com/controltower/latest/userguide/provision-as-end-user.html) en la AWS Control Tower documentación. | Administrador de la nube | 

### Implemente la CloudFormation plantilla en la cuenta de administración
<a name="deploy-the-cfnshort-template-in-the-management-account"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Inicie la CloudFormation plantilla. | En esta epopeya, despliega la CloudFormation plantilla proporcionada con esta solución para configurar la canalización de arranque de AFT en su cuenta AWS de administración. La canalización implementa la solución AFT en la cuenta de administración de AFT que configuró en la épica anterior.**Paso 1: Abre la consola CloudFormation **[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)**Paso 2: crear una nueva pila**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)**Paso 3: configurar los parámetros de la pila**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)**Paso 4: decidir la generación de archivos**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)**Paso 5: Rellene los detalles de AWS Control Tower la cuenta AFT**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)**Paso 6: configurar las opciones de AFT**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)**Paso 7: especificar las versiones**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)**Paso 8: revisar y crear la pila**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)**Paso 9: supervisar la creación de la pila**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)**Paso 10: comprobar la implementación**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html) | Administrador de la nube | 

### Relleno y validación del repositorio y la canalización de arranque de AFT
<a name="populate-and-validate-the-aft-bootstrap-repository-and-pipeline"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Opción 1: Rellenar el repositorio de arranque de AFT para un VCS externo. | Si configura el proveedor de VCS como un VCS externo (no lo haga CodeCommit), siga estos pasos.(Opcional) Tras implementar la CloudFormation plantilla, puede rellenar o validar el contenido del repositorio bootstrap de AFT recién creado y comprobar si la canalización se ha ejecutado correctamente.**Paso 1: actualizar la conexión**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)**Paso 2: rellenar el repositorio**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)**Paso 2: confirmar y enviar los cambios**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html) | Administrador de la nube | 
| Opción 2: llene el repositorio bootstrap de AFT para. CodeCommit | Si configuras el proveedor de VCS en CodeCommit, sigue estos pasos.(Opcional) Tras implementar la CloudFormation plantilla, puede rellenar o validar el contenido del repositorio bootstrap de AFT recién creado y comprobar si la canalización se ha ejecutado correctamente.Si establece el parámetro `Generate AFT Files` en `true`, pase a la siguiente historia (validación de la canalización).**Paso 1: rellenar el repositorio**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)**Paso 2: confirmar y enviar los cambios**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html) | Administrador de la nube | 
| Validar la canalización de arranque de AFT. | **Paso 1: Ver la canalización**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)**Paso 2: aprobar los resultados del plan de Terraform**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)**Paso 3: esperar a la implementación**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html)**Paso 4: comprobar los recursos creados**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline.html) | Administrador de la nube | 

## Resolución de problemas
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| La función Lambda personalizada incluida en la CloudFormation plantilla falla durante la implementación. | Compruebe la función Lambda en los CloudWatch registros de Amazon para identificar el error. Los registros proporcionan información detallada y pueden ayudar a identificar el problema específico. Confirme que la función de Lambda tiene los permisos necesarios y que las variables del entorno se han configurado correctamente. | 
| Se producen errores en la creación o administración de los recursos a causa de permisos inadecuados. | Revise las funciones y políticas de IAM asociadas a la función CodeBuild Lambda y otros servicios involucrados en la implementación. Confirme que tengan los permisos necesarios. Si tiene problemas con los permisos, ajuste las políticas de IAM para conceder el acceso necesario. | 
| Está utilizando una versión anticuada de la CloudFormation plantilla con versiones más recientes Servicios de AWS o de Terraform. | Actualiza la CloudFormation plantilla con regularidad para que sea compatible con las versiones más recientes AWS y las de Terraform. Consulte las notas de la versión o la documentación para ver si hay cambios o requisitos específicos de la versión. | 
|  Servicio de AWS Las cuotas se alcanzan durante el despliegue. | Antes de implementar la canalización, compruebe Servicio de AWS las cuotas de recursos, como los buckets de S3, las funciones de IAM y las funciones de Lambda. Solicite aumentos si fuera necesario. Para obtener más información, consulte [Servicio de AWS las cuotas en el sitio web](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html). AWS  | 
| Se producen errores debido a parámetros de entrada incorrectos en la CloudFormation plantilla. | Compruebe todos los parámetros de entrada para ver si hay errores tipográficos o valores incorrectos. Confirme que los identificadores de recursos, como los nombres de cuentas IDs y regiones, sean correctos. | 

## Recursos relacionados
<a name="implement-account-factory-for-terraform-aft-by-using-a-bootstrap-pipeline-resources"></a>

Para implementar este patrón correctamente, revise los siguientes recursos. En estos recursos se proporciona información y orientación adicionales que pueden tener un valor incalculable para configurar y administrar AFT mediante CloudFormation.

**AWS****documentación:**
+ AWS Control Tower La [guía del usuario](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html) ofrece información detallada sobre la configuración y la administración AWS Control Tower.
+ [CloudFormation la documentación](https://docs.aws.amazon.com/cloudformation/index.html) proporciona información sobre las CloudFormation plantillas, las pilas y la administración de recursos.

**Políticas de IAM y prácticas recomendadas:**
+ [Las prácticas recomendadas de seguridad en IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) explican cómo ayudar a proteger los AWS recursos mediante el uso de las funciones y políticas de IAM.

**Terraform en: AWS**
+ La [documentación de Terraform AWS Provider](https://registry.terraform.io/providers/hashicorp/aws/latest/docs) proporciona información completa sobre el uso de Terraform con. AWS

**Servicio de AWS cuotas:**
+ [Servicio de AWS cuotas](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html) proporciona información sobre cómo ver Servicio de AWS las cuotas y cómo solicitar aumentos.

# Administre los productos de AWS Service Catalog en varias cuentas y regiones de AWS
<a name="manage-aws-service-catalog-products-in-multiple-aws-accounts-and-aws-regions"></a>

*Ram Kandaswamy, Amazon Web Services*

## Resumen
<a name="manage-aws-service-catalog-products-in-multiple-aws-accounts-and-aws-regions-summary"></a>

Service Catalog, de Amazon Web Services (AWS), simplifica y acelera la gobernanza y la distribución de plantillas de infraestructura como código (IaC) para las empresas. Utiliza las CloudFormation plantillas de AWS para definir un conjunto de recursos de AWS (*pilas*) necesarios para un producto. AWS CloudFormation StackSets amplía esta funcionalidad al permitirle crear, actualizar o eliminar pilas en varias cuentas y regiones de AWS con una sola operación.

Los administradores de AWS Service Catalog crean productos mediante CloudFormation plantillas creadas por desarrolladores y las publican. A continuación, estos productos se asocian a una cartera y se imponen restricciones en materia de gobernanza. Para que sus productos estén disponibles para los usuarios de otras cuentas o unidades organizativas de AWS (OUs), normalmente [comparte su cartera](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/catalogs_portfolios_sharing.html) con ellos. Este patrón describe un enfoque alternativo para administrar las ofertas de productos de AWS Service Catalog que se basa en AWS CloudFormation StackSets. En lugar de compartir carteras, se usan restricciones de conjuntos de pilas para establecer las regiones y cuentas de AWS en las que se puede implementar y usar su producto. Con este enfoque, puede aprovisionar sus productos de AWS Service Catalog en varias cuentas y regiones de AWS OUs, y administrarlos desde una ubicación central, a la vez que cumple con sus requisitos de gobierno. 

Ventajas de este enfoque:
+ El producto se aprovisiona y administra desde la cuenta principal y no se comparte con otras cuentas.
+ Este enfoque proporciona una vista consolidada de todos los productos aprovisionados (pilas) basados en un producto específico.
+ La configuración con AWS Service Management Connector es más sencilla, ya que solo se dirige a una cuenta.
+ Es más fácil consultar y usar los productos de AWS Service Catalog.

## Requisitos previos y limitaciones
<a name="manage-aws-service-catalog-products-in-multiple-aws-accounts-and-aws-regions-prereqs"></a>

**Requisitos previos **
+  CloudFormation Plantillas de AWS para iAC y control de versiones
+ Configuración de múltiples cuentas y AWS Service Catalog para aprovisionar y administrar los recursos de AWS

**Limitaciones**
+ Este enfoque utiliza AWS CloudFormation StackSets y se StackSets aplican las siguientes limitaciones:
  + StackSets no admite el despliegue CloudFormation de plantillas a través de macros. Si utiliza una macro para preprocesar la plantilla, no podrá utilizar una implementación StackSets basada.
  + StackSets ofrece la posibilidad de desasociar una pila del conjunto de pilas, de forma que puedas segmentar una pila específica para solucionar un problema. Sin embargo, una pila disociada no se puede volver a asociar al conjunto de pilas.
+ AWS Service Catalog genera StackSet nombres automáticamente. Actualmente, la solución no es personalizable.

## Arquitectura
<a name="manage-aws-service-catalog-products-in-multiple-aws-accounts-and-aws-regions-architecture"></a>

**Arquitectura de destino**

![\[El usuario administra el producto AWS Service Catalog mediante CloudFormation una plantilla de AWS y StackSets.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/16458fcd-861d-4ed4-8b91-47e19289a6bb/images/97d23325-b5c6-4ca9-8288-8dec1650c975.png)


1. El usuario crea una CloudFormation plantilla de AWS para aprovisionar los recursos de AWS, en formato JSON o YAML.

1. La CloudFormation plantilla crea un producto en AWS Service Catalog, que se añade a una cartera.

1. El usuario crea un producto aprovisionado, que crea CloudFormation pilas en las cuentas de destino.

1. Cada pila aprovisiona los recursos especificados en las CloudFormation plantillas.

## Tools (Herramientas)
<a name="manage-aws-service-catalog-products-in-multiple-aws-accounts-and-aws-regions-tools"></a>

**Servicios de AWS**
+ [AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) le CloudFormation ayuda a configurar los recursos de AWS, aprovisionarlos de forma rápida y coherente y gestionarlos durante todo su ciclo de vida en todas las cuentas y regiones de AWS.
+ La [interfaz de la línea de comandos de AWS (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) es una herramienta de código abierto que le permite interactuar con los servicios de AWS mediante comandos en su intérprete de comandos de línea de comandos.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) le permite administrar de forma segura el acceso a los recursos de AWS mediante el control de quién está autenticado y autorizado a utilizarlos.
+ [AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html) le ayuda a administrar de forma centralizada los catálogos de servicios de TI aprobados para AWS. Los usuarios finales pueden implementar rápidamente solo los servicios de TI aprobados que necesitan, de acuerdo con las limitaciones establecidas por su organización.

## Epics
<a name="manage-aws-service-catalog-products-in-multiple-aws-accounts-and-aws-regions-epics"></a>

### Aprovisione productos entre cuentas
<a name="provision-products-across-accounts"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una cartera. | Una cartera es un contenedor que incluye uno o más productos agrupados en función de criterios específicos. El uso de una cartera para sus productos le ayuda a aplicar restricciones comunes a todo su conjunto de productos.Para crear una cartera, siga las [instrucciones de la documentación de AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/portfoliomgmt-create.html). Si usa la CLI de AWS, aquí tiene un comando de ejemplo:<pre>aws servicecatalog create-portfolio --provider-name my-provider --display-name my-portfolio</pre>Para obtener más información, consulte la [documentación de AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/servicecatalog/create-portfolio.html). | AWS Service Catalog, IAM | 
| Cree una CloudFormation plantilla. | Cree una CloudFormation plantilla que describa los recursos. Los valores de las propiedades de los recursos deben parametrizarse cuando proceda. | AWS CloudFormation, JSON/YAML | 
| Cree un producto con información sobre la versión. | La CloudFormation plantilla se convierte en un producto cuando se publica en AWS Service Catalog. Proporcione valores para los parámetros de detalle de versión opcionales, como el título de la versión y la descripción. Estos datos le resultarán útiles para realizar consultas sobre el producto más adelante.Para crear un producto, siga las [instrucciones de la documentación de AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/productmgmt-cloudresource.html). Si utiliza la CLI de AWS, aquí tiene un comando de ejemplo:<pre>aws servicecatalog create-product --cli-input-json file://create-product-input.json</pre>`create-product-input.json` es el archivo que transfiere los parámetros del producto. Para obtener un ejemplo de este archivo, consulte la sección *Información adicional*. Para obtener más información, consulte la [documentación de AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/servicecatalog/create-product.html). | AWS Service Catalog | 
| Aplique restricciones. | Aplique restricciones de conjunto de paquetes a la cartera para configurar las opciones de implementación del producto, como múltiples permisos, cuentas y regiones de AWS. Para obtener instrucciones, consulte la documentación de [AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/constraints-stackset.html).  | AWS Service Catalog | 
| Añada permisos. | Conceda permisos a los usuarios para que lancen los productos de la cartera. Para obtener instrucciones sobre su consola, consulte la documentación de [AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/catalogs_portfolios_users.html). Si usa la CLI de AWS, aquí tiene un comando de ejemplo:<pre>aws servicecatalog associate-principal-with-portfolio \<br />    --portfolio-id port-2s6abcdefwdh4 \<br />    --principal-arn arn:aws:iam::444455556666:role/Admin \<br />    --principal-type IAM</pre>Para obtener más información, consulte la [documentación de AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/servicecatalog/associate-principal-with-portfolio.html). | AWS Service Catalog, IAM | 
| Aprovisione el producto. | Un producto aprovisionado es una instancia con recursos de un producto. Al aprovisionar un producto a partir de una CloudFormation plantilla, se lanza una CloudFormation pila y sus recursos subyacentes.Aprovisione el producto definiendo las regiones y cuentas de AWS aplicables en función de las restricciones del conjunto de pilas. En el AWS de CLI, se muestra un ejemplo de comando:<pre>aws servicecatalog provision-product \<br />    --product-id prod-abcdfz3syn2rg \<br />    --provisioning-artifact-id pa-abc347pcsccfm \<br />    --provisioned-product-name "mytestppname3"</pre>Para obtener más información, consulte la [documentación de AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/servicecatalog/provision-product.html). | AWS Service Catalog | 

## Recursos relacionados
<a name="manage-aws-service-catalog-products-in-multiple-aws-accounts-and-aws-regions-resources"></a>

**Referencias**
+ [Información general sobre AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/what-is_concepts.html)
+ [Uso de AWS CloudFormation StackSets](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/using-stacksets.html)

**Tutoriales y videos**
+ [AWS re:Invent 2019: Automatícelo todo: opciones y prácticas recomendadas](https://www.youtube.com/watch?v=bGBVPIpQMYk) (video)

## Información adicional
<a name="manage-aws-service-catalog-products-in-multiple-aws-accounts-and-aws-regions-additional"></a>

Al usar el `create-product` comando, el `cli-input-json` parámetro apunta a un archivo que especifica información como el propietario del producto, el correo electrónico de soporte y los detalles de la CloudFormation plantilla. A continuación se muestra un ejemplo de este archivo:

```
{
   "Owner": "Test admin",
      "SupportDescription": "Testing",
         "Name": "SNS",
            "SupportEmail": "example@example.com",
            "ProductType": "CLOUD_FORMATION_TEMPLATE",
               "AcceptLanguage": "en",
                  "ProvisioningArtifactParameters": {
                     "Description": "SNS product",
                        "DisableTemplateValidation": true,
                           "Info": {
                              "LoadTemplateFromURL": "<url>"
                     },
                           "Name": "version 1"
}
```

# Supervisión de los clústeres de SAP RHEL Pacemaker mediante los servicios de AWS
<a name="monitor-sap-rhel-pacemaker-clusters-by-using-aws-services"></a>

*Harsh Thoria, Randy Germann y RAVEENDRA Voore, Amazon Web Services*

## Resumen
<a name="monitor-sap-rhel-pacemaker-clusters-by-using-aws-services-summary"></a>

Este patrón describe los pasos para monitorear y configurar las alertas de un clúster Pacemaker de Red Hat Enterprise Linux (RHEL) para aplicaciones SAP y servicios de bases de datos SAP HANA mediante Amazon y CloudWatch Amazon Simple Notification Service (Amazon SNS).

La configuración le permite monitorear los recursos del clúster SAP SCS o ASCS, Enqueue Replication Server (ERS) y SAP HANA cuando se encuentran en estado «detenido» con la ayuda de flujos de CloudWatch registro, filtros de métricas y alarmas. Amazon SNS envía un correo electrónico al equipo de infraestructura o de SAP Basis sobre el estado del clúster detenido.

Puede crear los AWS recursos para este patrón mediante AWS CloudFormation scripts o consolas de servicio. AWS Este patrón presupone que está utilizando las consolas; no proporciona CloudFormation scripts ni cubre el despliegue de infraestructura para CloudWatch Amazon SNS. Los comandos de Pacemaker se utilizan para establecer la configuración de alertas del clúster.

## Requisitos previos y limitaciones
<a name="monitor-sap-rhel-pacemaker-clusters-by-using-aws-services-prereqs"></a>

**Requisitos previos **
+ Una AWS cuenta activa.
+ Amazon SNS configurado para enviar notificaciones por correo electrónico o móvil.
+ Un clúster SAP ASCS/ERS para ABAP o SCS/ERS Java y SAP HANA Database RHEL Pacemaker. Para obtener instrucciones, consulte lo siguiente:
  + [SAP HANA cluster setup](https://docs.aws.amazon.com/sap/latest/sap-hana/sap-hana-on-aws-manual-deployment-of-sap-hana-on-aws-with-high-availability-clusters.html)
  + [Configuración de un clúster de SAP Netweaver ABAP/Java ](https://docs.aws.amazon.com/sap/latest/sap-netweaver/sap-netweaver-ha-configuration-guide.html)

**Limitaciones**
+ Actualmente, esta solución funciona con los clústeres basados en Pacemaker de la versión 7.3 y posteriores de RHEL. No se ha probado en sistemas operativos SUSE.

**Versiones de producto**
+ RHEL 7.3 y versiones posteriores

## Arquitectura
<a name="monitor-sap-rhel-pacemaker-clusters-by-using-aws-services-architecture"></a>

**Pila de tecnología de destino**
+ Agente controlado por eventos de alerta de RHEL Pacemaker
+ Amazon Elastic Compute Cloud (Amazon EC2)
+ CloudWatch alarma
+ CloudWatch grupo de registros y filtro de métricas
+ Amazon SNS

**Arquitectura de destino**

En el siguiente diagrama se muestran los componentes y flujos de trabajo de esta solución.

![\[Arquitectura para supervisar los clústeres de SAP RHEL Pacemaker\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/ca4d282e-eadd-43fd-8506-3dbeb43e4db6/images/bfc96678-1fd3-47b6-8f09-bf7cf7c4a92c.png)


**Automatización y escala**
+ Puede automatizar la creación de AWS recursos mediante CloudFormation scripts. También puede utilizar filtros de métricas adicionales para escalar y cubrir varios clústeres.

## Tools (Herramientas)
<a name="monitor-sap-rhel-pacemaker-clusters-by-using-aws-services-tools"></a>

**Servicios de AWS**
+ [Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) le CloudWatch ayuda a supervisar las métricas de sus AWS recursos y las aplicaciones en las que se ejecuta AWS en tiempo real.
+  [Amazon Simple Notification Service (Amazon SNS)](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) le permite coordinar y administrar el intercambio de mensajes entre publicadores y clientes, incluidos los servidores web y las direcciones de correo electrónico.

**Herramientas**
+ CloudWatch agent (unified) es una herramienta que recopila métricas, registros y rastreos a nivel del sistema de EC2 las instancias y recupera métricas personalizadas de sus aplicaciones.
+ El agente de alertas de Pacemaker (para la versión 7.3 y posteriores de RHEL) es una herramienta que inicia una acción cuando se produce un cambio (como cuando un recurso se detiene o se reinicia) en un clúster de Pacemaker.

## Prácticas recomendadas
<a name="monitor-sap-rhel-pacemaker-clusters-by-using-aws-services-best-practices"></a>
+ Para conocer las mejores prácticas sobre el uso de cargas de trabajo de SAP en AWS, consulte [SAP Lens](https://docs.aws.amazon.com/wellarchitected/latest/sap-lens/sap-lens.html) for the AWS Well-Architected Framework.
+ Tenga en cuenta los costos que implica configurar la CloudWatch supervisión de los clústeres de SAP HANA. Para obtener más información, consulte la [Documentación de CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_billing.html).
+ Considere la posibilidad de utilizar un mecanismo de localización o creación de tickets para las alertas de Amazon SNS.
+ Compruebe siempre las versiones de alta disponibilidad (HA) de RHEL del paquete RPM para **ordenadores**, Pacemaker y el AWS agente perimetral.

## Epics
<a name="monitor-sap-rhel-pacemaker-clusters-by-using-aws-services-epics"></a>

### Configurar Amazon SNS
<a name="set-up-sns"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree un tema de SNS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/monitor-sap-rhel-pacemaker-clusters-by-using-aws-services.html) | Administrador de AWS | 
| Modifique la política de acceso del tema de SNS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/monitor-sap-rhel-pacemaker-clusters-by-using-aws-services.html) | Administrador de sistemas de AWS | 
| Suscríbase al tema de SNS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/monitor-sap-rhel-pacemaker-clusters-by-using-aws-services.html)El navegador web muestra una respuesta de confirmación de Amazon SNS. | Administrador de sistemas de AWS | 

### Confirmación de la configuración del clúster
<a name="confirm-the-setup-of-the-cluster"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Compruebe el estado del clúster | Utilice el comando **pcs status** para confirmar que los recursos estén en línea. | Administrador de SAP Basis | 

### Configuración de alertas de Pacemaker
<a name="configure-pacemaker-alerts"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure el agente de alertas de Pacemaker en la instancia del clúster principal. | Inicia sesión en la EC2 instancia del clúster principal y ejecuta los siguientes comandos:<pre>install --mode=0755 /usr/share/pacemaker/alerts/alert_file.sh.sample<br />touch /var/lib/pacemaker/alert_file.sh<br />touch /var/log/pcmk_alert_file.log<br />chown hacluster:haclient /var/log/pcmk_alert_file.log<br />chmod 600 /var/log/pcmk_alert_file.log<br />pcs alert create id=alert_file description="Log events to a file." path=/var/lib/pacemaker/alert_file.sh<br />pcs alert recipient add alert_file id=my-alert_logfile value=/var/log/pcmk_alert_file.log</pre> | Administrador de SAP Basis | 
| Configure el agente de alertas de Pacemaker en la instancia del clúster secundario. | Inicia sesión en la EC2 instancia del clúster secundario del clúster secundario y ejecuta los siguientes comandos:<pre>install --mode=0755 /usr/share/pacemaker/alerts/alert_file.sh.sample<br />touch /var/lib/pacemaker/alert_file.sh<br />touch /var/log/pcmk_alert_file.log<br />chown hacluster:haclient /var/log/pcmk_alert_file.log<br />chmod 600 /var/log/pcmk_alert_file.log</pre> | Administrador de SAP Basis | 
| Confirme que se creó el recurso de alerta de RHEL. | Utilice el siguiente comando para verificar que se ha creado el recurso de la alerta:<pre>pcs alert</pre>La salida del comando tendrá este aspecto:<pre>[root@xxxxxxx ~]# pcs alert <br />Alerts:<br /> Alert: alert_file (path=/var/lib/pacemaker/alert_file.sh)<br />  Description: Log events to a file.<br />  Recipients:<br />   Recipient: my-alert_logfile (value=/var/log/pcmk_alert_file.log)</pre> | Administrador de SAP Basis | 

### Configure el CloudWatch agente
<a name="configure-the-cw-agent"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Instale el CloudWatch agente. | Hay varias formas de instalar el CloudWatch agente en una EC2 instancia. Para usar la línea de comandos, siga estos pasos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/monitor-sap-rhel-pacemaker-clusters-by-using-aws-services.html)Para obtener más información, consulte la [Documentación de CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-on-EC2-Instance.html). | Administrador de sistemas de AWS | 
| Adjunte un rol de IAM a la EC2 instancia. | Para permitir que el CloudWatch agente envíe datos desde las instancias, debes adjuntar la **CloudWatchAgentServerRole**función de IAM a cada instancia. O bien, puede añadir una política para el CloudWatch agente a su función de IAM actual. Para obtener más información, consulte la [Documentación de CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-iam-roles-for-cloudwatch-agent-commandline.html). | Administrador de AWS | 
| Configure el CloudWatch agente para que supervise el archivo de registro del agente de alertas de Pacemaker en la instancia del clúster principal. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/monitor-sap-rhel-pacemaker-clusters-by-using-aws-services.html) | Administrador de AWS | 
| Inicie el CloudWatch agente en las instancias del clúster principal y secundario. | Para iniciar el agente, ejecute el siguiente comando en las EC2 instancias de los clústeres principal y secundario:<pre>sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m<br />ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json</pre> | Administrador de AWS | 

### Configure CloudWatch los recursos
<a name="set-up-cw-resources"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configure grupos de CloudWatch registros. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/monitor-sap-rhel-pacemaker-clusters-by-using-aws-services.html)El CloudWatch agente transferirá el archivo de alertas de Pacemaker al grupo de CloudWatch registros como una secuencia de registros. | Administrador de AWS | 
| Configure filtros CloudWatch métricos. | Los filtros métricos le ayudan a buscar un patrón, como `stop <cluster-resource-name>` en los flujos de CloudWatch registro. Cuando se identifica este patrón, el filtro de métricas actualiza una métrica personalizada.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/monitor-sap-rhel-pacemaker-clusters-by-using-aws-services.html)**Cuando el filtro de métricas identifica el patrón en el paso 4, actualiza el valor de la métrica CloudWatch personalizada a 1. `sapcluster_abc`**La CloudWatch alarma `SAP-Cluster-QA1-ABC` monitorea la métrica `sapcluster_abc` y envía una notificación de SNS cuando el valor de la métrica cambia a **1**. Esto indica que el recurso del clúster se ha detenido y que se deben tomar medidas. | Administrador de AWS, administrador de SAP Basis | 
| Configure una alarma CloudWatch métrica para la métrica de SAP ASCS/SCS y ERS. | Para crear una alarma a partir de una sola métrica, siga estos pasos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/monitor-sap-rhel-pacemaker-clusters-by-using-aws-services.html) | Administrador de AWS | 
| Configure una alarma CloudWatch métrica para la métrica de SAP HANA. | Repita los pasos para configurar una alarma CloudWatch métrica de la tarea anterior, con estos cambios:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/monitor-sap-rhel-pacemaker-clusters-by-using-aws-services.html) | Administrador de AWS | 

## Recursos relacionados
<a name="monitor-sap-rhel-pacemaker-clusters-by-using-aws-services-resources"></a>
+ [Triggering Scripts for Cluster Events](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html-single/high_availability_add-on_reference/index#ch-alertscripts-HAAR) (documentación de RHEL)
+ [Cree el archivo de configuración del CloudWatch agente con el asistente](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/create-cloudwatch-agent-configuration-file-wizard.html) (CloudWatch documentación)
+ [Instalación y ejecución del CloudWatch agente en sus servidores](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-commandline-fleet.html) (CloudWatch documentación)
+ [Cree una CloudWatch alarma basada en un umbral estático](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ConsoleAlarms.html) (CloudWatch documentación)
+ [Implementación manual de SAP HANA en AWS con clústeres de alta disponibilidad](https://docs.aws.amazon.com/sap/latest/sap-hana/sap-hana-on-aws-manual-deployment-of-sap-hana-on-aws-with-high-availability-clusters.html) (documentación de SAP en el AWS sitio web)
+ [ NetWeaver Guías](https://docs.aws.amazon.com/sap/latest/sap-netweaver/welcome.html) de SAP (documentación de SAP en el AWS sitio web)

## Conexiones
<a name="attachments-ca4d282e-eadd-43fd-8506-3dbeb43e4db6"></a>

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: [attachment.zip](samples/p-attach/ca4d282e-eadd-43fd-8506-3dbeb43e4db6/attachments/attachment.zip)

# Supervise la actividad de las aplicaciones mediante CloudWatch Logs Insights
<a name="monitor-application-activity-by-using-cloudwatch-logs-insights"></a>

*Ram Kandaswamy, Amazon Web Services*

## Resumen
<a name="monitor-application-activity-by-using-cloudwatch-logs-insights-summary"></a>

Este patrón proporciona una solución para detectar y alertar automáticamente sobre las excepciones de las aplicaciones mediante Amazon CloudWatch Logs Insights. Al implementar alertas y análisis de registros automatizados, puede identificar los problemas de las aplicaciones en su entorno de producción y responder a ellos rápidamente.

Los registros desempeñan un papel crucial a la hora de supervisar el comportamiento del sistema, identificar los problemas y garantizar un rendimiento óptimo. Durante un proceso de migración, los archivos de registro tienen un valor incalculable para validar el funcionamiento del sistema en el nuevo entorno, detectar problemas de compatibilidad e identificar cualquier comportamiento inesperado. Los problemas pueden estar relacionados con las operaciones o la seguridad. En el caso de los problemas relacionados con la seguridad, permitir la detección temprana de intentos de acceso no autorizado o actividades sospechosas es esencial para mantener la seguridad y el cumplimiento de las normas. Esta capacidad es de especial importancia cuando se trata de información confidencial o de sistemas críticos. 

Este patrón es especialmente valioso para los equipos que necesitan hacer lo siguiente:
+ Mantenga una alta disponibilidad de las aplicaciones.
+ Responda rápidamente a los problemas de producción.
+ Analice los errores específicos de la aplicación que los registros no capturan Servicio de AWS .
+ Realice análisis de registros a pedido sin una infraestructura prediseñada.

CloudWatch Logs Insights es ideal para analizar los registros generados por la aplicación cuando el contexto del error solo existe en el código de la aplicación. CloudWatch Logs Insights destaca en las siguientes tareas:
+ Consulte datos de registro semiestructurados o no estructurados.
+ Realice análisis bajo demanda durante la respuesta a los incidentes.
+ Correlaciona los eventos entre varios grupos de registros.
+ Cree visualizaciones rápidas sin herramientas externas.

## Requisitos previos y limitaciones
<a name="monitor-application-activity-by-using-cloudwatch-logs-insights-prereqs"></a>

**Requisitos previos **
+ Una aplicación de producción implementada en modo activo Cuenta de AWS
+ Descripción básica del formato de registro y los patrones de excepción de la aplicación de producción
+ Registros de aplicaciones configurados para transmitirse a Amazon CloudWatch Logs

**Limitaciones**
+ Algunos Servicios de AWS no están disponibles en todos Regiones de AWS. Para obtener información sobre la disponibilidad en regiones, consulte [AWS Services by Region](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Para ver los puntos de conexión específicos, consulte [Service endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) y elija el enlace del servicio.

## Arquitectura
<a name="monitor-application-activity-by-using-cloudwatch-logs-insights-architecture"></a>

En el siguiente diagrama, se muestra cómo CloudWatch Logs Insights evalúa los registros de recursos y envía una visualización de datos relevante a un CloudWatch panel de control.

![\[CloudWatch Logs Insights evalúa los registros de recursos y envía la visualización de datos al panel de control.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/082ff4b6-9303-42e6-bc62-263e2254f232/images/b1cbb699-07cd-45e6-ac06-839159bafa6b.png)


En el diagrama, se muestra el siguiente flujo de trabajo:

1. Los recursos publican registros en CloudWatch Logs. Los recursos pueden incluir AWS recursos como instancias de Amazon Elastic Compute Cloud (Amazon EC2) o depósitos de Amazon Simple Storage Service (Amazon S3). Otro ejemplo incluye sistemas locales con un CloudWatch agente instalado en los que se pueden publicar registros. CloudWatch

1. CloudWatch Logs Insights filtra la cadena de patrones correspondiente. Algunos ejemplos de cadenas de patrones de búsqueda son “error”, “exception” o una expresión regular específica.

1. Normalmente, el equipo de soporte de producción o los desarrolladores añaden la visualización de patrones al CloudWatch panel de control.

**Automatización y escala**

Los desarrolladores pueden automatizar la solución de este patrón mediante el uso de AWS Cloud Development Kit (AWS CDK) AWS CloudFormation,, o AWS SDKs gestionar varios patrones de cadenas. Los equipos pueden incorporar esta automatización en sus procesos de integración e implementación continuas (CI/CD). DevOps 

## Tools (Herramientas)
<a name="monitor-application-activity-by-using-cloudwatch-logs-insights-tools"></a>

**Servicios de AWS**
+ [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) le ayuda a centralizar los registros de todos sus sistemas y aplicaciones Servicios de AWS para que pueda supervisarlos y archivarlos de forma segura.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) le ayuda a administrar de forma segura el acceso a sus AWS recursos al controlar quién está autenticado y autorizado a usarlos.
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) le ayuda a crear y controlar claves criptográficas para proteger sus datos.

## Prácticas recomendadas
<a name="monitor-application-activity-by-using-cloudwatch-logs-insights-best-practices"></a>

**Eficiencia de consultas**
+ Defina y configure [grupos de registro](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) para analizar los datos de registro relevantes.
+ Use los exploradores de campo para comprender la estructura y los campos disponibles en los datos de registro.
+ Escriba consultas eficientes mediante la [sintaxis de consultas de CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_AnalyzeLogData_LogsInsights.html).
+ Adapte las [consultas de muestra](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax-examples.html) a sus requisitos específicos para poder hacer un análisis más rápido.
+ Limite los intervalos de tiempo de consulta para reducir los datos escaneados y mejorar el rendimiento.
+ [Guarde las consultas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_Insights-Saving-Queries.html) para usarlas en el futuro a fin de ahorrar tiempo y garantizar un análisis coherente.

**Seguridad**
+ Aplique las [políticas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html) de IAM adecuadas a CloudWatch Logs Insights y a los grupos de registros. Cumpla con el principio de privilegio mínimo y conceda los permisos mínimos necesarios para llevar a cabo una tarea. Para obtener más información, consulte [Otorgar privilegio mínimo](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#grant-least-priv) y [Prácticas recomendadas de seguridad](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) en la documentación de IAM.
+ Habilite el [cifrado de datos de registro mediante AWS KMS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatchLogs-Insights-Query-Encrypt.html) para los datos de registro confidenciales.

**Optimización de costos**
+ CloudWatch Logs Insights cobra por GB de datos escaneados por consulta. Reduzca los intervalos de tiempo y diríjase a grupos de registros específicos para reducir los costos.
+ Configure las políticas de retención de registros adecuadas para administrar los costos de almacenamiento.
+ Para realizar análisis frecuentes de grandes conjuntos de datos históricos, considere la posibilidad de exportar los registros a Amazon S3 y utilizar Amazon Athena.
+ Revise [CloudWatch los precios](https://aws.amazon.com/cloudwatch/pricing/) para comprender las implicaciones de costo para su caso de uso.

## Epics
<a name="monitor-application-activity-by-using-cloudwatch-logs-insights-epics"></a>

### Cree un grupo de registro y configure los registros para verlos en el panel de control.
<a name="create-log-group-and-configure-logs-to-view-in-dashboard"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Configurar los permisos de IAM. | Para configurar los permisos de IAM, siga estos pasos:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/monitor-application-activity-by-using-cloudwatch-logs-insights.html)Para obtener información sobre cómo crear políticas de IAM o agregar permisos a las políticas existentes, consulte [Definición de permisos de IAM personalizados con políticas administradas por el cliente](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html) y [Edición de políticas de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-edit.html) en la *Guía del usuario de IAM*. Para obtener más información, consulte la [referencia sobre [gestión de identidad y acceso para Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/auth-and-access-control-cwl.html) y permisos de CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/permissions-reference-cwl.html) en la *Guía del usuario de Amazon CloudWatch Logs*. | Administrador de AWS DevOps, administrador de sistemas de AWS, administrador de nube, arquitecto de nube, DevOps ingeniero | 
| Cree un grupo de registros. | Para crear un grupo de registro, utilice una de las siguientes opciones:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/monitor-application-activity-by-using-cloudwatch-logs-insights.html)[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/monitor-application-activity-by-using-cloudwatch-logs-insights.html) | Administrador de AWS DevOps, administrador de sistemas de AWS, administrador de nube, arquitecto de nube, DevOps ingeniero | 
| Genere una consulta CloudWatch de Logs Insights. | Para crear y guardar una consulta de CloudWatch Logs Insights, haga lo siguiente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/monitor-application-activity-by-using-cloudwatch-logs-insights.html) | Administrador de AWS DevOps, administrador de sistemas de AWS, administrador de nube, arquitecto de nube, DevOps ingeniero | 
| Cree una visualización en un CloudWatch panel de control. | Para usar un CloudWatch panel para crear una visualización, haga lo siguiente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/monitor-application-activity-by-using-cloudwatch-logs-insights.html)Para obtener más información sobre las opciones y capacidades de los paneles, consulte [Uso de CloudWatch paneles de Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html) y [Creación de CloudWatch paneles flexibles con variables de panel](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_dashboard_variables.html) en la Guía del *usuario de Amazon CloudWatch Logs*. | Administrador de AWS DevOps, administrador de sistemas de AWS, administrador de nube, arquitecto de nube, DevOps ingeniero | 

## Resolución de problemas
<a name="monitor-application-activity-by-using-cloudwatch-logs-insights-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| No se pueden ver los resultados de la consulta o parece que la consulta no funciona | Comience con una consulta funcional que haya modificado a partir de una [consulta de ejemplo](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax-examples.html). Realice pequeños cambios incrementales en partes de la consulta (como un filtro o un campo) y aproveche la [función de generación de consultas de CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatchLogs-Insights-Query-Assist.html) registros. | 
| Los grupos de registro no crean flujos de registro | En la política de IAM, asegúrese de que el recurso para las operaciones [CreateLogStream](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateLogStream.html)y las [CreateLogGroup](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateLogGroup.html)operaciones tenga un valor de carácter `(*)` comodín. La operación `create ` no se realizará correctamente sin este permiso de comodín. | 
| Tiempo de espera de la consulta o rendimiento lento | Reduzca el intervalo de tiempo, diríjase a grupos de registros específicos o simplifique la consulta. Los patrones complejos de expresiones regulares (`regex`) y los intervalos de tiempo amplios aumentan el tiempo de consulta. | 
| No se devuelven datos para un intervalo de tiempo válido | Compruebe la selección del grupo de registros y compruebe que los registros se están ingiriendo (revise los flujos de registros) y confirme que el patrón de filtrado coincide con el formato de registro. | 

## Recursos relacionados
<a name="monitor-application-activity-by-using-cloudwatch-logs-insights-resources"></a>
+ [Análisis de los datos de registro con CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html)
+ [Amazon CloudWatch FAQs](https://aws.amazon.com/cloudwatch/faqs/#topic-0)
+ [Creación de CloudWatch paneles flexibles con variables de panel](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_dashboard_variables.html)
+ [Get started with Logs Insights QL: Query tutorials](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_AnalyzeLogData_Tutorials.html)
+ [Utilice un lenguaje natural para generar y actualizar las consultas de CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatchLogs-Insights-Query-Assist.html)
+ [Úselo PutDashboard con un AWS SDK o CLI](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/example_cloudwatch_PutDashboard_section.html)
+ [Trabajar con grupos de registros y flujos de registros](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html)

# Supervise el uso de una imagen de máquina de Amazon compartida en múltiples Cuentas de AWS
<a name="monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts"></a>

*Naveen Suthar y Sandeep Gawande, Amazon Web Services*

## Resumen
<a name="monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts-summary"></a>

[Las imágenes de Amazon Machine (AMIs)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html) se utilizan para crear instancias de Amazon Elastic Compute Cloud (Amazon EC2) en su entorno de Amazon Web Services (AWS). Puede crear una cuenta AMIs de AWS independiente y centralizada, que en este patrón se denomina *cuenta de creador*. A continuación, puede compartir la AMI entre varias Cuentas de AWS que estén en la misma unidad Región de AWS, que en este patrón se denominan *cuentas de consumidores*. La administración AMIs desde una sola cuenta proporciona escalabilidad y simplifica la gobernanza. [En las cuentas de los consumidores, puede hacer referencia a la AMI compartida en las [plantillas de lanzamiento](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-launch-template.html) de Amazon EC2 Auto Scaling y en los grupos de nodos de Amazon Elastic Kubernetes Service (Amazon EKS).](https://docs.aws.amazon.com/eks/latest/userguide/managed-node-groups.html)

Cuando una AMI compartida queda [obsoleta](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-deprecate.html), [se anula su registro](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/deregister-ami.html) o [se deja de compartir](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sharingamis-explicit.html), los servicios de Servicios de AWS que hacen referencia a la AMI en las cuentas de consumidor no pueden usar esta AMI para inicializar nuevas instancias. Se produce un error en cualquier evento de escalado automático o en el relanzamiento de la misma instancia. Esto puede provocar problemas en el entorno de producción, como el tiempo de inactividad de las aplicaciones o la degradación del rendimiento. Cuando los eventos de uso y uso de la AMI se producen de forma múltiple Cuentas de AWS, puede resultar difícil supervisar esta actividad.

Este patrón ayuda a supervisar el uso y el estado de la AMI compartida en cuentas de la misma región. Utiliza servicios sin servidor Servicios de AWS, como Amazon EventBridge, Amazon AWS Lambda DynamoDB y Amazon Simple Email Service (Amazon SES). La infraestructura se aprovisiona como código (IaC) mediante Terraform. HashiCorp Esta solución proporciona alertas cuando un servicio de una cuenta de consumidor hace referencia a una AMI que ya no está registrada o compartida.

## Requisitos previos y limitaciones
<a name="monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts-prereqs"></a>

**Requisitos previos **
+ Dos o más cuentas activas Cuentas de AWS: una cuenta de creador y una o más cuentas de consumidor
+ Una o más AMIs que se comparten desde la cuenta de creador a una cuenta de consumidor
+ Terraform CLI, [instalada](https://developer.hashicorp.com/terraform/cli) (documentación de Terraform)
+ Terraform AWS Provider, [configurado (documentación](https://hashicorp.github.io/terraform-provider-aws/) de Terraform)
+ (Opcional, pero recomendado) Backend de Terraform, [configurado](https://developer.hashicorp.com/terraform/language/backend) (documentación de Terraform)
+ Git, [instalado](https://github.com/git-guides/install-git)

**Limitaciones**
+ Este patrón monitorea AMIs lo que se ha compartido con cuentas específicas mediante el ID de la cuenta. Este patrón no supervisa los datos AMIs que se han compartido con una organización mediante el ID de la organización.
+ AMIs solo se puede compartir con cuentas que estén dentro de la misma Región de AWS. Este patrón se monitorea AMIs dentro de una única región objetivo. Para supervisar el uso AMIs en varias regiones, debe implementar esta solución en cada región.
+ Este patrón no monitorea ninguna de las AMIs que se compartieron antes de implementar esta solución. Si desea supervisar las cuentas compartidas anteriormente AMIs, puede dejar de compartir la AMI y, a continuación, volver a compartirla con las cuentas de los consumidores.

**Versiones de producto**
+ Versión de Terraform 1.2.0 o posterior
+ Terraform AWS Provider, versión 4.20 o posterior

## Arquitectura
<a name="monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts-architecture"></a>

**Pila de tecnología de destino**

Los recursos siguientes se aprovisionan como IaC a través de Terraform:
+ Tablas de Amazon DynamoDB
+  EventBridge Reglas de Amazon
+ AWS Identity and Access Management Función (IAM)
+ AWS Lambda funciones
+ Amazon SES

**Arquitectura de destino**

![\[Arquitectura para supervisar el uso de la AMI compartida y alertar a los usuarios si la AMI no se comparte o su registro se cancela\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/2d709249-0c68-47d7-be5d-46e8a73071ed/images/8c48c4dd-d681-4c32-9ba8-8f5ad2d66f64.png)


En el diagrama, se muestra el siguiente flujo de trabajo:

1. La AMI de la cuenta de creador se comparte con una cuenta de consumidor de la misma Región de AWS.

1. Cuando se comparte la AMI, una EventBridge regla de la cuenta del creador captura el `ModifyImageAttribute` evento e inicia una función Lambda en la cuenta del creador.

1. La función de Lambda almacena los datos relacionados con la AMI en una tabla de DynamoDB de la cuenta de creador.

1. Cuando una Servicio de AWS cuenta de consumidor utiliza la AMI compartida para lanzar una EC2 instancia de Amazon o cuando la AMI compartida está asociada a una plantilla de lanzamiento, una EventBridge regla de la cuenta de consumidor captura el uso de la AMI compartida.

1. La EventBridge regla inicia una función Lambda en la cuenta del consumidor. La función de Lambda lleva a cabo lo siguiente:

   1. La función de Lambda actualiza los datos relacionados con la AMI en una tabla de DynamoDB de la cuenta de consumidor.

   1. La función de Lambda asume un rol de IAM en la cuenta de creador y actualiza la tabla de Lambda de la cuenta de creador. En la tabla `Mapping`, crea un elemento que asigna el ID de instancia o el ID de plantilla de lanzamiento a su ID de AMI correspondiente.

1. La AMI que se administra de forma centralizada en la cuenta de creador está obsoleta, se ha anulado su registro o ha dejado de compartirse.

1. La EventBridge regla de la cuenta del creador captura el `DeregisterImage` evento `ModifyImageAttribute` o con la `remove` acción e inicia la función Lambda.

1. La función de Lambda comprueba la tabla de DynamoDB para determinar si la AMI se utiliza en alguna de las cuentas de consumidor. Si no hay ninguna instancia IDs o plantilla de lanzamiento IDs asociada a la AMI en la `Mapping` tabla, el proceso se ha completado.

1. Si IDs hay alguna instancia IDs o plantilla de lanzamiento asociada a la AMI de la `Mapping` tabla, la función Lambda utiliza Amazon SES para enviar una notificación por correo electrónico a los suscriptores configurados.

## Tools (Herramientas)
<a name="monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts-tools"></a>

**Servicios de AWS**
+ [Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html) es un servicio de base de datos de NoSQL completamente administrado que ofrece un rendimiento rápido, predecible y escalable.
+ [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) es un servicio de bus de eventos sin servidor que le ayuda a conectar sus aplicaciones con datos en tiempo real de diversas fuentes. Por ejemplo, AWS Lambda funciones, puntos finales de invocación HTTP que utilizan destinos de API o buses de eventos en otros. Cuentas de AWS
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) le ayuda a administrar de forma segura el acceso a sus recursos de AWS al controlar quién está autenticado y autorizado a usarlos.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) es un servicio de computación que ayuda a ejecutar código sin necesidad de aprovisionar ni administrar servidores. Ejecuta el código solo cuando es necesario y amplía la capacidad de manera automática, por lo que solo pagará por el tiempo de procesamiento que utilice.
+ [Amazon Simple Email Service (Amazon SES)](https://docs.aws.amazon.com/ses/latest/dg/Welcome.html) facilita poder enviar y recibir correos electrónicos a través de los dominios y direcciones de correo electrónico propios.

**Otras herramientas**
+ [HashiCorp Terraform](https://www.terraform.io/docs) es una herramienta de infraestructura como código (IaC) que facilita usar el código para aprovisionar y administrar los recursos y la infraestructura en la nube.
+ [Python](https://www.python.org/) es un lenguaje de programación informático de uso general.

**Repositorio de código**

El código de este patrón está disponible en el repositorio GitHub [cross-account-ami-monitoring-terraform-samples](https://github.com/aws-samples/cross-account-ami-monitoring-terraform-samples).

## Prácticas recomendadas
<a name="monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts-best-practices"></a>
+ Siga las [prácticas recomendadas para](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html) trabajar con funciones. AWS Lambda 
+ Siga las [mejores prácticas para crear AMIs](https://docs.aws.amazon.com/marketplace/latest/userguide/best-practices-for-building-your-amis.html).
+ Al crear el rol de IAM, siga el principio del privilegio mínimo y conceda los permisos mínimos necesarios para llevar a cabo cada tarea. Para obtener más información, consulte [Otorgar privilegio mínimo](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#grant-least-priv) y [Prácticas recomendadas de seguridad](https://docs.aws.amazon.com/IAM/latest/UserGuide/IAMBestPracticesAndUseCases.html) en la documentación de IAM.
+ Configure el monitoreo y las alertas para las AWS Lambda funciones. Para obtener más información, consulte [Supervisión y solución de problemas de funciones de Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-monitoring.html).

## Epics
<a name="monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts-epics"></a>

### Personalizar los archivos de configuración de Terraform
<a name="customize-the-terraform-configuration-files"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree los perfiles AWS CLI nombrados. | Para la cuenta del creador y para cada cuenta de consumidor, cree un perfil con nombre AWS Command Line Interface (AWS CLI). Para obtener instrucciones, consulte [Configurar el AWS CLI](https://aws.amazon.com/getting-started/guides/setup-environment/module-three/) en el AWS Centro de recursos de introducción. | DevOps ingeniero | 
| Clonar el repositorio. | Escriba el siguiente comando. Esto clona el repositorio [cross-account-ami-monitoring-terraform-samples mediante](https://github.com/aws-samples/cross-account-ami-monitoring-terraform-samples) SSH. GitHub <pre>git clone git@github.com:aws-samples/cross-account-ami-monitoring-terraform-samples.git</pre> | DevOps ingeniero | 
| Actualice el archivo provider.tf. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts.html)Para más información sobre la configuración de proveedores, consulte [Configuraciones de varios proveedores](https://developer.hashicorp.com/terraform/language/providers/configuration#alias-multiple-provider-configurations) en la documentación de Terraform. | DevOps ingeniero | 
| Actualice el archivo terraform.tfvars. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts.html) | DevOps ingeniero | 
| Actualice el archivo main.tf. | Siga estos pasos solo si va a implementar esta solución en más de una cuenta de consumidor. Si va a implementar esta solución en una sola cuenta de consumidor, no es necesario modificar este archivo.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts.html) | DevOps ingeniero | 

### Implementar la solución mediante Terraform
<a name="deploy-the-solution-by-using-terraform"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Implemente la solución. | En la CLI de Terraform, introduzca los siguientes comandos para implementar los AWS recursos en las cuentas del creador y del consumidor:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts.html) | DevOps ingeniero | 
| Verificar la identidad de la dirección de correo electrónico. | Al implementar el plan Terraform, Terraform crea una identidad de dirección de correo electrónico para cada cuenta de consumidor en Amazon SES. Para poder enviar notificaciones a esa dirección de correo electrónico, es necesario verificarla. Para las instrucciones, consulte [Verificación de la identidad de una dirección de correo electrónico](https://docs.aws.amazon.com/ses/latest/dg/creating-identities.html#just-verify-email-proc) en la documentación de Amazon SES. | AWS general | 

### Validar la implementación de recursos
<a name="validate-resource-deployment"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Valide la implementación en la cuenta de creador. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts.html) | DevOps ingeniero | 
| Valide la implementación en la cuenta de consumidor. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts.html) | DevOps ingeniero | 

### Validar la supervisión
<a name="validate-monitoring"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree una AMI en la cuenta de creador. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts.html) | DevOps ingeniero | 
| Use la AMI en la cuenta de consumidor. | En la cuenta del consumidor, usa la AMI compartida para crear una EC2 instancia de Amazon o una plantilla de lanzamiento. Para obtener instrucciones, consulte [Cómo lanzar una EC2 instancia de Amazon desde una AMI personalizada](https://repost.aws/knowledge-center/launch-instance-custom-ami) (AWS re:Post Knowledge Center) o [Crear una plantilla de lanzamiento para un grupo de Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-template.html) (documentación de Amazon EC2 Auto Scaling). | DevOps ingeniero | 
| Valide la supervisión y las alertas. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts.html) | DevOps ingeniero | 

### (Opcional) Deje de monitorear de forma compartida AMIs
<a name="optional-stop-monitoring-shared-amis"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Elimine los recursos. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts.html) | DevOps ingeniero | 

## Resolución de problemas
<a name="monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| No he recibido ninguna alerta por correo electrónico. | Puede haber varios motivos por los que no se envió el correo electrónico de Amazon SES. Comprueba lo siguiente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts.html) | 

## Recursos relacionados
<a name="monitor-use-of-a-shared-amazon-machine-image-across-multiple-aws-accounts-resources"></a>

**AWS documentación**
+ [Creación de funciones de Lambda con Python](https://docs.aws.amazon.com/lambda/latest/dg/lambda-python.html) (documentación de Lambda)
+ [Creación de una AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-ami.html) ( EC2 documentación de Amazon)
+ [Compartir una AMI con información específica Cuentas de AWS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/sharingamis-explicit.html) ( EC2 documentación de Amazon)
+ [Anular el registro de la AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/deregister-ami.html) (documentación de Amazon EC2 )

**Documentación de Terraform**
+ [Instalar Terraform](https://learn.hashicorp.com/tutorials/terraform/install-cli)
+ [Configuración del backend de Terraform](https://www.terraform.io/language/settings/backends/configuration)
+ [Proveedor de AWS para Terraform](https://registry.terraform.io/providers/hashicorp/aws/latest/docs)
+ [Descarga binaria de Terraform](https://developer.hashicorp.com/terraform/install)

# Vea los detalles de la instantánea de EBS de su cuenta u organización de AWS
<a name="view-ebs-snapshot-details-for-your-aws-account-or-organization"></a>

*Arun Chandapillai y Parag Nagwekar, Amazon Web Services*

## Resumen
<a name="view-ebs-snapshot-details-for-your-aws-account-or-organization-summary"></a>

Este patrón describe cómo puede generar automáticamente un informe bajo demanda de todas las instantáneas de Amazon Elastic Block Store (Amazon EBS) de su cuenta de Amazon Web Services (AWS) o unidad organizativa (OU) en AWS Organizations. 

Amazon EBS es un easy-to-use servicio de almacenamiento en bloques escalable y de alto rendimiento diseñado para Amazon Elastic Compute Cloud (Amazon EC2). Un volumen de EBS proporciona un almacenamiento duradero y persistente que puede adjuntar a sus EC2 instancias. Puede utilizar los volúmenes de EBS como almacenamiento principal para sus datos y realizar una point-in-time copia de seguridad de los volúmenes de EBS mediante la creación de una instantánea. Puede utilizar la Consola de administración de AWS o la Interfaz de la línea de comandos de AWS (AWS CLI) para ver los detalles de instantáneas de EBS específicas. Este patrón proporciona una forma programática de recuperar información sobre todas las instantáneas de EBS de su cuenta o unidad organizativa de AWS.

Puede usar el script que proporciona este patrón para generar un archivo de valores separados por comas (CSV) que contenga la siguiente información sobre cada instantánea: Identificador de cuenta, Identificador de instantánea, Identificador de volumen y tamaño, fecha en que se tomó la instantánea, Identificador de instancia y descripción. Si las instantáneas de EBS están etiquetadas, el informe también incluye los atributos del propietario y del equipo.

## Requisitos previos y limitaciones
<a name="view-ebs-snapshot-details-for-your-aws-account-or-organization-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ [Instalación](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html#getting-started-install-instructions) y [configuración](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) de la versión 2 de AWS CLI
+ Rol de AWS Identity and Access Management (IAM) con los permisos adecuados (permisos de acceso para una cuenta específica o para todas las cuentas de una OU si planea ejecutar el script desde AWS Organizations)

## Arquitectura
<a name="view-ebs-snapshot-details-for-your-aws-account-or-organization-architecture"></a>

El siguiente diagrama muestra el flujo de trabajo del script que genera un informe bajo demanda de las instantáneas de EBS distribuidas en varias cuentas de AWS de una OU.

![\[Generar un informe bajo demanda de todas las instantáneas de EBS. OUs\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/4e8b1812-2731-4f46-8385-0dd4d92f2d03/images/62d10408-7c85-46cf-a6a4-fe87a6e446f2.png)


## Tools (Herramientas)
<a name="view-ebs-snapshot-details-for-your-aws-account-or-organization-tools"></a>

**Servicios de AWS**
+ La [interfaz de la línea de comandos de AWS (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) es una herramienta de código abierto que le permite interactuar con los servicios de AWS mediante comandos en su intérprete de comandos de línea de comandos.
+ [Amazon Elastic Block Store (Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)) proporciona volúmenes de almacenamiento a nivel de bloques para su uso con instancias. EC2  
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) le permite administrar de forma segura el acceso a los recursos de AWS mediante el control de quién está autenticado y autorizado a utilizarlos.
+ [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html) es un servicio de administración de cuentas que le permite agrupar varias cuentas de AWS en una organización que usted crea y administra de manera centralizada.

**Código**

El código de la aplicación de muestra utilizada en este patrón está disponible en el GitHub repositorio. [aws-ebs-snapshots-awsorganizations](https://github.com/aws-samples/aws-ebs-snapshots-awsorganizations) Siga las instrucciones de la siguiente sección para utilizar los archivos de muestra.

## Epics
<a name="view-ebs-snapshot-details-for-your-aws-account-or-organization-epics"></a>

### Descargue el script
<a name="download-the-script"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Descargar el script Python. | Descargue el script [GetSnapshotDetailsAllAccountsOU.py](https://github.com/aws-samples/aws-ebs-snapshots-awsorganizations/blob/main/GetSnapshotDetailsAllAccountsOU.py) del [GitHub repositorio](https://github.com/aws-samples/aws-ebs-snapshots-awsorganizations). | AWS general | 

### Obtenga los detalles de las instantáneas de EBS para una cuenta de AWS
<a name="get-ebs-snapshot-details-for-an-aws-account"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Ejecutar el script de Python . | Ejecute el comando:<pre>python3 getsnapshotinfo.py --file <output-file>.csv --region <region-name> </pre>donde `<output-file>` se refiere al archivo de salida CSV en el que desea que se coloque la información sobre las instantáneas de EBS y `<region-name>` es la región de AWS en la que se almacenan las instantáneas. Por ejemplo:<pre>python3 getsnapshotinfo.py --file snapshots.csv --region us-east-1 </pre> | AWS general | 

### Obtenga los detalles de las instantáneas de EBS de una organización
<a name="get-ebs-snapshot-details-for-an-organization"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Ejecutar el script de Python . | Ejecute el comando:<pre>python3 getsnapshotinfo.py --file <output-file>.csv --role <IAM-role> --region <region-name> </pre>donde `<output-file>` se refiere al archivo de salida CSV en el que desea que se coloque la información sobre las instantáneas de EBS, `<IAM-role>` es una función que proporciona permisos para acceder a AWS Organizations y `<region-name>` es la región de AWS en la que se almacenan las instantáneas. Por ejemplo:<pre>python3 getsnapshotinfo.py --file snapshots.csv --role <IAM role> --region us-west-2</pre> | AWS general | 

## Recursos relacionados
<a name="view-ebs-snapshot-details-for-your-aws-account-or-organization-resources"></a>
+ [Documentación de Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)
+ [Acciones de Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/OperationList-query-ebs.html)
+ [Referencia de la API de Amazon EBS](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ebs/index.html)
+ [Mejorar el rendimiento de Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSPerformance.html)
+ [Recursos de Amazon EBS](https://aws.amazon.com/ebs/resources/)
+ [Precios de las instantáneas de EBS](https://aws.amazon.com/ebs/pricing/)

## Información adicional
<a name="view-ebs-snapshot-details-for-your-aws-account-or-organization-additional"></a>

**Tipos de instantáneas de EBS**

Amazon EBS ofrece tres tipos de instantáneas, según la propiedad y el acceso:
+ **De su propiedad**: ** **de manera predeterminada, solo usted puede crear volúmenes de instantáneas que sean de su propiedad.
+ **Instantáneas públicas**: puede compartir las instantáneas públicamente con todas las demás cuentas de AWS. Para crear una instantánea pública, modifique los permisos de la instantánea para compartirla con las cuentas de AWS que especifique. Los usuarios que autorice podrán usar las instantáneas que comparta para crear sus propios volúmenes de EBS, mientras que la instantánea original se mantendrá sin cambios. Puede también poner las instantáneas no cifradas a disposición del público para todos los usuarios de AWS. Sin embargo, no puede poner sus instantáneas cifradas a disposición del público por razones de seguridad. Las instantáneas públicas representan un riesgo de seguridad importante debido a la posibilidad de exponer datos personales y confidenciales. Recomendamos encarecidamente no compartir las instantáneas de EBS con todas las cuentas de AWS. Para obtener más información acerca de cómo compartir instantáneas, consulte [la documentación de AWS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html).
+ **Instantáneas privadas**: puede compartir instantáneas de forma privada con las cuentas de AWS individuales que especifique. Para compartir la instantánea de forma privada con cuentas de AWS específicas, siga las [instrucciones](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html#share-unencrypted-snapshot) de la documentación de AWS y elija **Privado** en la configuración de permisos. Los usuarios que autorice podrán usar las instantáneas que comparta para crear sus propios volúmenes de EBS, mientras que la instantánea original se mantendrá sin cambios.

**Resúmenes y procedimientos**

La siguiente tabla proporciona enlaces a más información sobre las instantáneas de EBS, incluida la forma de reducir los costos de volumen de EBS mediante el resultado y eliminación de las instantáneas no utilizadas, y de archivar las instantáneas a las que se accede con poca frecuencia y que no requieren una recuperación rápida o frecuente. 


| 
| 
| Para obtener más información | Consulte | 
| --- |--- |
| **Las instantáneas, sus características y limitaciones** | [Crear instantáneas de Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-snapshot.html) | 
| **Cómo crear una instantánea** | Consola: [Crear una instantánea](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-creating-snapshot.html#ebs-create-snapshot)AWS CLI: [comando create-snapshot](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/create-snapshot.html)Por ejemplo:<pre>aws ec2 create-snapshot --volume-id vol-1234567890abcdef0 --description " volume snapshot"</pre> | 
| **Eliminar instantáneas (información general)** | [Eliminar una instantánea de Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-deleting-snapshot.html) | 
| **Cómo eliminar una instantánea** | Consola: [Eliminar una instantánea](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-deleting-snapshot.html#ebs-delete-snapshot)AWS CLI: [comando delete-snapshot](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/delete-snapshot.html)Por ejemplo:<pre>aws ec2 delete-snapshot --snapshot-id snap-1234567890abcdef0</pre> | 
| **Archivado de instantáneas (información general)** | [Archivar instantáneas de Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/snapshot-archive.html)[Archivo de instantáneas de Amazon EBS](https://aws.amazon.com/blogs/aws/new-amazon-ebs-snapshots-archive/) (publicación de blog) | 
| **Cómo archivar una instantánea** | Consola: [Archivar una instantánea](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/working-with-snapshot-archiving.html#archive-snapshot)AWS CLI: [modify-snapshot-tier comando](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/modify-snapshot-tier.html) | 
| **¿Cómo recuperar una instantánea archivada?** | Consola: [restaurar una instantánea archivada](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/working-with-snapshot-archiving.html#restore-archived-snapshot)AWS CLI: [restore-snapshot-tier comando](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/restore-snapshot-tier.html) | 
| **Precios de las instantáneas** | [Precios de Amazon EBS](https://aws.amazon.com/ebs/pricing/) | 

**Preguntas frecuentes**

**¿Cuál es el periodo de archivo mínimo?**

El periodo de archivo mínimo es de 90 días.

**¿Cuánto tardaría en restaurarse una instantánea archivada?**

Puede tardar hasta 72 horas en restaurar una instantánea archivada del nivel de archivo al nivel estándar, según el tamaño de la instantánea.

**¿Las instantáneas archivadas son siempre instantáneas completas?**

Las instantáneas archivadas siempre son instantáneas completas.

**¿Qué instantáneas puede archivar un usuario?**

Solo puede archivar instantáneas que posea en su cuenta.

**¿Se puede archivar una instantánea del volumen de dispositivo raíz de una Imagen de máquina de Amazon (AMI) registrada?**

No. No puede archivar una instantánea del volumen de dispositivo raíz de una AMI registrada.

**¿Cuáles son las consideraciones de seguridad al compartir una instantánea?**

Cuando comparte una instantánea, concede a otras personas acceso a todos los datos de la instantánea. Comparta instantáneas solo con aquellas personas en las que confíe sus datos.

**¿Cómo se comparte una instantánea con otra región de AWS?**

Las instantáneas están restringidas a la región en la que se han creado. Para compartir una instantánea con otra región, copie la instantánea en dicha región y, luego, comparta la copia.

**¿Puede compartir instantáneas cifradas?**

No puede compartir instantáneas que estén cifradas con la clave administrada de AWS predeterminada. Solo puede compartir instantáneas que estén cifradas con una clave administrada por el cliente. Cuando comparta una instantánea cifrada, también deberá compartir la clave administrada por el cliente usada para cifrar la instantánea.

**¿Qué pasa con las instantáneas sin cifrar?**

Puede compartir instantáneas sin cifrar de forma pública.

# Más patrones
<a name="governance-more-patterns-pattern-list"></a>

**Topics**
+ [Automatice la creación de cuentas mediante el acelerador de zonas de aterrizaje en AWS](automate-account-creation-lza.md)
+ [Automatice las operaciones de AWS infraestructura con Amazon Bedrock](automate-aws-infrastructure-operations-by-using-amazon-bedrock.md)
+ [Automatice la evaluación de recursos de AWS](automate-aws-resource-assessment.md)
+ [Inventario automático de AWS los recursos en varias cuentas y regiones](automate-aws-resource-inventory.md)
+ [Automatice la implementación de productos y la cartera de AWS Service Catalog mediante AWS CDK](automate-aws-service-catalog-portfolio-and-product-deployment-by-using-aws-cdk.md)
+ [Automatice la gestión dinámica de canalizaciones para implementar soluciones de hotfix en entornos de Gitflow mediante el uso y AWS Service Catalog AWS CodePipeline](automate-dynamic-pipeline-management-for-deploying-hotfix-solutions.md)
+ [Automatización de la ingesta y visualización de métricas personalizadas de Amazon MWAA en Amazon Managed Grafana mediante Terraform](automate-ingestion-and-visualization-of-amazon-mwaa-custom-metrics.md)
+ [Adjunte automáticamente una política gestionada por AWS para Systems Manager a los perfiles de EC2 instancia mediante Cloud Custodian y AWS CDK](automatically-attach-an-aws-managed-policy-for-systems-manager-to-ec2-instance-profiles-using-cloud-custodian-and-aws-cdk.md)
+ [Cifrar automáticamente los volúmenes de Amazon EBS nuevos y existentes](automatically-encrypt-existing-and-new-amazon-ebs-volumes.md)
+ [Construye una AWS landing zone que incluya MongoDB Atlas](build-aws-landing-zone-that-includes-mongodb-atlas.md)
+ [Centralice la supervisión mediante Amazon CloudWatch Observability Access Manager](centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager.md)
+ [Comprueba EC2 las instancias para ver si hay etiquetas obligatorias en el lanzamiento](check-ec2-instances-for-mandatory-tags-at-launch.md)
+ [Limpie los recursos de AWS Account Factory for Terraform (AFT) de forma segura después de la pérdida de archivos estatales](clean-up-aft-resources-safely-after-state-file-loss.md)
+ [Cree una definición de tareas de Amazon ECS y monte un sistema de archivos en EC2 las instancias mediante Amazon EFS](create-an-amazon-ecs-task-definition-and-mount-a-file-system-on-ec2-instances-using-amazon-efs.md)
+ [Cree reglas AWS Config personalizadas mediante AWS CloudFormation Guard políticas](create-aws-config-custom-rules-by-using-aws-cloudformation-guard-policies.md)
+ [Personalice los nombres de los roles predeterminados mediante AWS CDK aspectos y trampillas de escape](customize-default-role-names-by-using-aws-cdk-aspects-and-escape-hatches.md)
+ [Implemente y gestione AWS Control Tower los controles mediante el uso AWS CDK y CloudFormation](deploy-and-manage-aws-control-tower-controls-by-using-aws-cdk-and-aws-cloudformation.md)
+ [Implemente y gestione AWS Control Tower controles mediante Terraform](deploy-and-manage-aws-control-tower-controls-by-using-terraform.md)
+ [Implemente código en varias regiones de AWS mediante AWS CodePipeline CodeCommit, AWS y AWS CodeBuild](deploy-code-in-multiple-aws-regions-using-aws-codepipeline-aws-codecommit-and-aws-codebuild.md)
+ [Implemente aplicaciones en contenedores si se AWS IoT Greengrass V2 ejecutan como un contenedor Docker](deploy-containerized-applications-on-aws-iot-greengrass-version-2-running-as-a-docker-container.md)
+ [Habilita Amazon de GuardDuty forma condicional mediante plantillas AWS CloudFormation](enable-amazon-guardduty-conditionally-by-using-aws-cloudformation-templates.md)
+ [Habilite el archivado de DB2 registros directamente en Amazon S3 en una base de datos IBM Db2](enable-db2-logarchive-directly-to-amazon-s3-in-ibm-db2-database.md)
+ [Exporte un informe de las identidades de AWS IAM Identity Center y sus asignaciones mediante PowerShell](export-a-report-of-aws-iam-identity-center-identities-and-their-assignments-by-using-powershell.md)
+ [Genere una CloudFormation plantilla de AWS que contenga las reglas administradas por AWS Config mediante Troposphere](generate-an-aws-cloudformation-template-containing-aws-config-managed-rules-using-troposphere.md)
+ [Otorgue a las instancias de SageMaker notebook acceso temporal a un CodeCommit repositorio de otra cuenta de AWS](give-sagemaker-notebook-instances-temporary-access-to-a-codecommit-repository-in-another-aws-account.md)
+ [Integrar el controlador universal Stonebranch con AWS Mainframe Modernization](integrate-stonebranch-universal-controller-with-aws-mainframe-modernization.md)
+ [Lance un CodeBuild proyecto en todas las cuentas de AWS mediante Step Functions y una función de proxy Lambda](launch-a-codebuild-project-across-aws-accounts-using-step-functions-and-a-lambda-proxy-function.md)
+ [Administre los conjuntos de AWS permisos de forma dinámica mediante Terraform](manage-aws-permission-sets-dynamically-by-using-terraform.md)
+ [Migre aplicaciones alojadas en IIS a Amazon EC2 mediante appcmd.exe](migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.md)
+ [Migración de los certificados SSL de Windows a un equilibrador de carga de aplicación mediante ACM](migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm.md)
+ [Supervisar la actividad del usuario raíz de IAM](monitor-iam-root-user-activity.md)
+ [Cree una arquitectura IPAM jerárquica y multirregional mediante Terraform AWS](multi-region-ipam-architecture.md)
+ [Optimice las implementaciones sin servidor con varias cuentas mediante los flujos de trabajo y Actions AWS CDK GitHub](optimize-multi-account-serverless-deployments.md)
+ [Preserve el espacio IP enrutable en los diseños de VPC de varias cuentas para subredes que no son de carga de trabajo](preserve-routable-ip-space-in-multi-account-vpc-designs-for-non-workload-subnets.md)
+ [Aprovisionamiento de roles de IAM con privilegio mínimo mediante la implementación de una solución de máquina expendedora de roles](provision-least-privilege-iam-roles-by-deploying-a-role-vending-machine-solution.md)
+ [Registre varios Cuentas de AWS con una sola dirección de correo electrónico mediante Amazon SES](register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses.md)
+ [Elimine EC2 las entradas de Amazon Cuentas de AWS de un lado a otro AWS Managed Microsoft AD mediante AWS Lambda la automatización](remove-amazon-ec2-entries-across-aws-accounts-from-aws-managed-microsoft-ad.md)
+ [Elimine EC2 las entradas de Amazon en el mismo Cuenta de AWS AWS Managed Microsoft AD formulario mediante AWS Lambda la automatización](remove-amazon-ec2-entries-in-the-same-aws-account-from-aws-managed-microsoft-ad.md)
+ [Proteja los datos confidenciales de CloudWatch los registros con Amazon Macie](secure-cloudwatch-logs-using-macie.md)
+ [Envíe notificaciones para una instancia de base de datos de Amazon RDS para SQL Server mediante un servidor SMTP en las instalaciones y el Correo de base de datos](send-notifications-for-an-amazon-rds-for-sql-server-database-instance-by-using-an-on-premises-smtp-server-and-database-mail.md)
+ [Configurar un panel de monitoreo de Grafana para AWS ParallelCluster](set-up-a-grafana-monitoring-dashboard-for-aws-parallelcluster.md)
+ [Configuración del registro centralizado a escala empresarial mediante Terraform](set-up-centralized-logging-at-enterprise-scale-by-using-terraform.md)
+ [Configurar la recuperación de desastres para SAP en IBM Db2 en AWS](set-up-disaster-recovery-for-sap-on-ibm-db2-on-aws.md)
+ [Optimice la gestión EC2 del cumplimiento de Amazon con los agentes de Amazon Bedrock y AWS Config](streamline-amazon-ec2-compliance-management-with-amazon-bedrock-agents-and-aws-config.md)
+ [Etiquete automáticamente las conexiones de puerta de enlace de tránsito con AWS Organizations](tag-transit-gateway-attachments-automatically-using-aws-organizations.md)
+ [Utilice las consultas de BMC Discovery para extraer datos de migración para planificar la migración](use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning.md)
+ [Verifique las mejores prácticas operativas para PCI DSS 4.0 mediante AWS Config](verify-ops-best-practices-pci-dss-4.md)
+ [Visualización de los registros y las métricas de AWS Network Firewall mediante Splunk](view-aws-network-firewall-logs-and-metrics-by-using-splunk.md)
+ [Visualice los informes de credenciales de IAM para todas las cuentas de AWS mediante Amazon Quick Sight](visualize-iam-credential-reports-for-all-aws-accounts-using-amazon-quicksight.md)

# Mensajería y comunicaciones
<a name="messagingandcommunications-pattern-list"></a>

**Topics**
+ [Automatizar la configuración de RabbitMQ en Amazon MQ](automate-rabbitmq-configuration-in-amazon-mq.md)
+ [Mejorar la calidad de las llamadas en las estaciones de trabajo de los agentes en los centros de contacto de Amazon Connect](improve-call-quality-on-agent-workstations-in-amazon-connect-contact-centers.md)
+ [Más patrones](messagingandcommunications-more-patterns-pattern-list.md)

# Automatizar la configuración de RabbitMQ en Amazon MQ
<a name="automate-rabbitmq-configuration-in-amazon-mq"></a>

*Yogesh Bhatia y Afroz Khan, Amazon Web Services*

## Resumen
<a name="automate-rabbitmq-configuration-in-amazon-mq-summary"></a>

[Amazon MQ](https://docs.aws.amazon.com/amazon-mq/) es un servicio de agente de mensajes administrado que proporciona compatibilidad con muchos de los agentes de mensajes más populares. El uso de Amazon MQ con RabbitMQ proporciona un sólido clúster de RabbitMQ que se administra con varios agentes y opciones de configuración. Nube de AWS Amazon MQ proporciona una infraestructura escalable, segura y de alta disponibilidad, y puede procesar una gran cantidad de mensajes por segundo con facilidad. Varias aplicaciones pueden utilizar la infraestructura con distintos hosts virtuales, colas e intercambios. Sin embargo, administrar estas opciones de configuración o crear la infraestructura manualmente puede requerir tiempo y esfuerzo. Este patrón describe una forma de administrar las configuraciones de RabbitMQ en un solo paso, a través de un único archivo. Puede incrustar el código proporcionado con este patrón en cualquier herramienta de integración continua (CI), como Jenkins o Bamboo. 

Puede utilizar este patrón para configurar cualquier clúster de RabbitMQ. Lo único que necesita es conectividad con el clúster. Aunque hay muchas otras maneras de administrar las configuraciones de RabbitMQ, esta solución crea configuraciones de aplicaciones completas en un solo paso, para poder administrar las colas y otros detalles con facilidad.

## Requisitos previos y limitaciones
<a name="automate-rabbitmq-configuration-in-amazon-mq-prereqs"></a>

**Requisitos previos **
+ AWS Command Line Interface [(AWS CLI) instalado y configurado para apuntar a su](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-linux.html) Cuenta de AWS
+ Ansible instalado, para poder ejecutar guías para crear la configuración
+ **rabbitmqadmin** instalado (para obtener instrucciones, consulte [la documentación de RabbitMQ](https://www.rabbitmq.com/management-cli.html))
+ Un clúster de RabbitMQ en Amazon MQ, creado con métricas de Amazon saludables CloudWatch 

**Requisitos adicionales**
+ Asegúrese de crear las configuraciones para los hosts virtuales y los usuarios por separado y no como parte de JSON.
+ Asegúrese de que el JSON de configuración forme parte del repositorio y esté controlado por versiones.
+ La versión de la CLI de **rabbitmqadmin** debe ser la misma que la versión del servidor de RabbitMQ, por lo que la mejor opción es descargar la CLI desde la consola de RabbitMQ.
+ Como parte de la canalización, asegúrese de que la sintaxis JSON esté validada antes de cada ejecución.

**Versiones de producto**
+ AWS CLI versión 2.0
+ Ansible versión 2.9.13
+ **rabbitmqadmin** versión 3.9.13 (debe ser la misma que la versión del servidor RabbitMQ)

## Arquitectura
<a name="automate-rabbitmq-configuration-in-amazon-mq-architecture"></a>

**Pila de tecnología de origen**
+ Un clúster de RabbitMQ que se ejecute en una máquina virtual (VM) existente en las instalaciones o en un clúster de Kubernetes (en las instalaciones o en la nube)

**Pila de tecnología de destino**
+ Configuraciones de RabbitMQ automatizadas en Amazon MQ para RabbitMQ

**Arquitectura de destino**

Existen muchas formas de configurar RabbitMQ. Este patrón utiliza la funcionalidad de configuración de importación, en la que un único archivo JSON contiene todas las configuraciones. Este archivo aplica todos los ajustes y se puede administrar mediante un sistema de control de versiones como Bitbucket o Git. Este patrón utiliza Ansible para implementar la configuración a través de la CLI **rabbitmqadmin**.

![\[Automatizar la configuración de RabbitMQ en Amazon MQ\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/294120b6-c95f-4cc5-bf85-5ad7e2abdad5/images/292e1284-5c9e-4c82-bb41-010fa84d8d74.png)


## Tools (Herramientas)
<a name="automate-rabbitmq-configuration-in-amazon-mq-tools"></a>

**Servicios de AWS**
+ [Amazon MQ](https://docs.aws.amazon.com/amazon-mq/) es un servicio de agente de mensajes administrado que facilita la configuración y el funcionamiento de los agentes de mensajes en la nube.
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)le ayuda a configurar su AWS infraestructura y a acelerar el aprovisionamiento en la nube con la infraestructura como código.
+ [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)le permite interactuar con él Servicios de AWS mediante comandos de una consola de línea de comandos. 

**Otras herramientas**
+ [rabbitmqadmin](https://www.rabbitmq.com/management-cli.html) es una herramienta de línea de comandos para la API basada en HTTP de RabbitMQ. Se usa para administrar y supervisar los nodos y clústeres de RabbitMQ.
+ [Ansible](https://www.ansible.com/) es una herramienta de código abierto para automatizar las aplicaciones y la infraestructura de TI.

**Repositorio de código**

El archivo de configuración JSON utilizado en este patrón y un ejemplo del manual de estrategias de Ansible se incluyen en el archivo adjunto.

## Epics
<a name="automate-rabbitmq-configuration-in-amazon-mq-epics"></a>

### Cree su infraestructura AWS
<a name="create-your-aws-infrastructure"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree un clúster de RabbitMQ en. AWS | Si aún no tienes un clúster de RabbitMQ, puedes usarlo para [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)crear la pila. AWS O bien, puede usar el [CloudFormation módulo de Ansible](https://docs.ansible.com/projects/ansible/latest/collections/amazon/aws/cloudformation_module.html) para crear la pila. Con este último enfoque, puede usar Ansible para ambas tareas: crear la infraestructura de RabbitMQ y administrar las configuraciones.  | AWS general, Ansible | 

### Crear la configuración de Amazon MQ para RabbitMQ
<a name="create-the-amqlong-for-rabbitmq-configuration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Cree un archivo de propiedades. | Descargue el archivo de configuración JSON (`rabbitmqconfig.json`) del archivo adjunto o expórtelo desde la consola RabbitMQ.  Modifíquelo para configurar colas, intercambios y enlaces. En el diagrama siguiente, se muestra esta configuración:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automate-rabbitmq-configuration-in-amazon-mq.html)Estas configuraciones se realizan en el host virtual raíz (/), según lo exige **rabbitmqadmin**.  | JSON | 
| Obtenga los detalles de la infraestructura de Amazon MQ para RabbitMQ. | Obtenga los siguientes detalles de la infraestructura de RabbitMQ en: AWS[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/automate-rabbitmq-configuration-in-amazon-mq.html)Puede utilizar el Consola de administración de AWS o el AWS CLI para recuperar esta información. Estos detalles permiten que el manual de estrategias de Ansible se conecte a su clúster RabbitMQ Cuenta de AWS y lo utilice para ejecutar comandos.*El ordenador que ejecuta el manual de estrategias de Ansible debe poder acceder al suyo y debe estar ya configurado Cuenta de AWS, tal y como se AWS CLI describe en la sección Requisitos previos.* | AWS general | 
| Creación del archivo `hosts_var`. | Cree el archivo `hosts_var` para Ansible y asegúrese de que todas las variables estén definidas en el archivo. Considere la posibilidad de utilizar Ansible Vault para almacenar la contraseña. Puede configurar el archivo `hosts_var` de la siguiente manera (sustituya los asteriscos por su información):<pre>RABBITMQ_HOST: "***********.mq.us-east-2.amazonaws.com"<br />RABBITMQ_VHOST: "/"<br />RABBITMQ_USERNAME: "admin"<br />RABBITMQ_PASSWORD: "*******"</pre> | Ansible | 
| Cree un manual de Ansible. | Para ver un ejemplo de manual, consulte `ansible-rabbit-config.yaml` en el archivo adjunto. Descargue y guarde este archivo. El manual de Ansible importa y administra todas las configuraciones de RabbitMQ, como las colas, los intercambios y los enlaces, que requieren las aplicaciones. Siga las prácticas recomendadas de los manuales de Ansible, como proteger las contraseñas. Utilice Ansible Vault para cifrar las contraseñas y recupere la contraseña de RabbitMQ del archivo cifrado. | Ansible | 

### Implementación de la configuración
<a name="deploy-the-configuration"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Ejecute el manual. | Ejecute el manual de Ansible que creó en la Epics anterior.<pre>ansible-playbook ansible-rabbit-config.yaml</pre>Puede verificar las nuevas configuraciones en la consola RabbitMQ. | Información general sobre AWS, RabbitMQ y Ansible | 

## Recursos relacionados
<a name="automate-rabbitmq-configuration-in-amazon-mq-resources"></a>
+ [Migración de RabbitMQ a Amazon MQ](https://aws.amazon.com/blogs/compute/migrating-from-rabbitmq-to-amazon-mq/) (entrada del blog)AWS 
+ [Management Command Line Tool](https://www.rabbitmq.com/management-cli.html) (Herramienta de línea de comandos de administración) (Documentación de RabbitMQ)
+ [Crear o eliminar una pila (documentación de Ansible AWS CloudFormation](https://docs.ansible.com/ansible/latest/collections/amazon/aws/cloudformation_module.html))
+ [Migración de aplicaciones basadas en mensajes a Amazon MQ para AWS RabbitMQ](https://aws.amazon.com/blogs/compute/migrating-message-driven-applications-to-amazon-mq-for-rabbitmq/) (entrada del blog)

## Conexiones
<a name="attachments-294120b6-c95f-4cc5-bf85-5ad7e2abdad5"></a>

Para acceder al contenido adicional asociado a este documento, descomprima el archivo: [attachment.zip](samples/p-attach/294120b6-c95f-4cc5-bf85-5ad7e2abdad5/attachments/attachment.zip)

# Mejorar la calidad de las llamadas en las estaciones de trabajo de los agentes en los centros de contacto de Amazon Connect
<a name="improve-call-quality-on-agent-workstations-in-amazon-connect-contact-centers"></a>

*Ernest Ozdoba, Amazon Web Services*

## Resumen
<a name="improve-call-quality-on-agent-workstations-in-amazon-connect-contact-centers-summary"></a>

Los problemas de calidad de las llamadas son algunos de las cuestiones más difíciles de solucionar en los centros de contacto. Para evitar problemas de calidad de voz y procedimientos de solución de problemas complejos, debe optimizar el entorno de trabajo y la configuración de la estación de trabajo de sus agentes. Este patrón describe las técnicas de optimización de la calidad de voz para las estaciones de trabajo de los agentes en los centros de contacto de Amazon Connect. Proporciona recomendaciones en las siguientes áreas:
+ Ajustes del entorno de trabajo. El entorno de los agentes no afecta a la forma en que se transmite la voz a través de la red, pero sí afecta a la calidad de las llamadas. 
+ Configuración de la estación de trabajo del agente. Las configuraciones de hardware y red de las estaciones de trabajo de los centros de contacto tienen efectos significativos en la calidad de las llamadas.
+ Configuración del navegador. Los agentes utilizan un navegador web para acceder al sitio web del Panel de control de contactos (CCP) de Amazon Connect y comunicarse con los clientes, por lo que la configuración del navegador puede afectar a la calidad de las llamadas.

Los siguientes componentes también pueden afectar a la calidad de las llamadas, pero quedan fuera del ámbito de la estación de trabajo y no están incluidos en este patrón:
+ El tráfico fluye a la nube de Amazon Web Services (AWS) a través de AWS Direct Connect, una VPN de túnel completo o una VPN de túnel dividido  
+ Condiciones de la red cuando se trabaja dentro o fuera de la oficina corporativa
+ Conectividad a una red telefónica pública conmutada (PSTN)
+ El dispositivo y el operador de telefonía del cliente
+ Infraestructura de escritorio virtual (VDI)

Para obtener más información relacionada con estas áreas, consulte [Problemas comunes del panel de control de contactos (CCP)](https://docs.aws.amazon.com/connect/latest/adminguide/common-ccp-issues.html) y [Utilice la utilidad de prueba de punto de conexión](https://docs.aws.amazon.com/connect/latest/adminguide/check-connectivity-tool.html) en la documentación de Amazon Connect.

## Requisitos previos y limitaciones
<a name="improve-call-quality-on-agent-workstations-in-amazon-connect-contact-centers-prereqs"></a>

**Requisitos previos **
+ Los auriculares y las estaciones de trabajo deben cumplir los requisitos especificados en la [Guía del administrador de Amazon Connect](https://docs.aws.amazon.com/connect/latest/adminguide/ccp-agent-hardware.html). 

**Limitaciones**
+ Las técnicas de optimización de este patrón se aplican a la calidad de la voz suave de los teléfonos. No se aplican al configurar el CCP de Amazon Connect en el modo de teléfono de escritorio. Sin embargo, puede usar el modo de teléfono de escritorio si la configuración de su teléfono virtual no proporciona una calidad de voz aceptable para la llamada.

**Versiones de producto**
+ Para ver los navegadores y las versiones compatibles, consulte la [Guía del administrador de Amazon Connect](https://docs.aws.amazon.com/connect/latest/adminguide/browsers.html).

## Arquitectura
<a name="improve-call-quality-on-agent-workstations-in-amazon-connect-contact-centers-architecture"></a>

Este patrón es independiente de la arquitectura porque se centra en la configuración de la estación de trabajo del agente. Como se muestra en el siguiente diagrama, la ruta de voz del agente al cliente depende de los auriculares, el navegador, el sistema operativo, el hardware de la estación de trabajo y la red del agente.

![\[Ruta de voz del agente al cliente en las llamadas a las estaciones de trabajo Amazon Connect\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/04ac4c80-30c4-4a48-8411-e3aac7bc2887/images/04e94efc-39d1-424d-a299-89ea17d40153.png)


En los centros de contacto de Amazon Connect, la conectividad de audio del usuario se establece con WebRTC. La voz se codifica con el [códec de audio interactivo Opus](https://opus-codec.org/) y se cifra con el Protocolo de transporte seguro en tiempo real (SRTP) en tránsito. Son posibles otras arquitecturas de red, incluidas las redes VPN, WAN/LAN privadas e ISP.

## Tools (Herramientas)
<a name="improve-call-quality-on-agent-workstations-in-amazon-connect-contact-centers-tools"></a>
+ [Utilidad de prueba de punto de conexión de Amazon Connect](https://tools.connect.aws/endpoint-test/): esta utilidad comprueba la conectividad de la red y la configuración del navegador.
+ Editores de configuración del navegador para los ajustes de WebRTC:
  + Para Firefox: **about:config**
  + Para Chrome: **chrome: //flags**
+ [Analizador de registros de CCP](https://tools.connect.aws/ccp-log-parser/index.html): esta herramienta le ayuda a analizar los registros de CCP para solucionar problemas.

## Epics
<a name="improve-call-quality-on-agent-workstations-in-amazon-connect-contact-centers-epics"></a>

### Ajusta el entorno de trabajo
<a name="adjust-the-work-environment"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Reducir el ruido de fondo. | Evitar los entornos ruidosos. Si esto no es posible, optimice el entorno con estos consejos de insonorización:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/improve-call-quality-on-agent-workstations-in-amazon-connect-contact-centers.html) | Agente, administrador | 

### Optimice la configuración de la estación de trabajo del agente
<a name="optimize-agent-workstation-settings"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Elegir los auriculares adecuados. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/improve-call-quality-on-agent-workstations-in-amazon-connect-contact-centers.html) | Agente, administrador | 
| Utilice los auriculares según lo previsto. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/improve-call-quality-on-agent-workstations-in-amazon-connect-contact-centers.html) | Agente | 
| Compruebe los recursos de la estación de trabajo. | Asegúrese de que las computadoras de sus agentes funcionen correctamente. Si utilizan aplicaciones de terceros que consumen recursos, es posible que sus equipos no cumplan con los [requisitos mínimos de hardware](https://docs.aws.amazon.com/connect/latest/adminguide/ccp-agent-hardware.html) para ejecutar CCP. Si los agentes tienen problemas con la calidad de las llamadas, asegúrese de que disponen de suficiente potencia de procesamiento (CPU), espacio en disco, ancho de banda de red y memoria suficientes para el CCP. Los agentes deben cerrar todas las aplicaciones y pestañas innecesarias para mejorar el rendimiento del CCP y la calidad de las llamadas. | Administrador | 
| Configure los ajustes de sonido del sistema operativo. | Los ajustes predeterminados para el nivel y el aumento del micrófono suelen funcionar bien. Si descubre que la voz saliente es baja o que el micrófono capta demasiado, puede que le ayude ajustar estos ajustes. Los ajustes del micrófono se encuentran en la configuración de sonido del sistema de la computadora (**sonido**, **entrada** en [macOS](https://support.apple.com/en-gb/guide/mac-help/mchlp2567/12.0/mac/12.0), **propiedades del micrófono** en [Windows](https://support.microsoft.com/en-us/windows/fix-microphone-problems-5f230348-106d-bfa4-1db5-336f35576011)). Puede acceder a los ajustes avanzados que pueden afectar a la calidad de la voz a través de las herramientas del sistema o de aplicaciones de terceros. Estos son algunos de los ajustes que puede comprobar:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/improve-call-quality-on-agent-workstations-in-amazon-connect-contact-centers.html)Si tiene problemas con la calidad de la voz, intente restablecer estos valores a su configuración predeterminada antes de seguir investigando.Para obtener más información acerca de estos ajustes y otros ajustes, consulte el manual del dispositivo. | Agente, administrador | 
| Utilice una red cableada. | Por lo general, la Ethernet cableada tiene una latencia más baja, por lo que es más fácil proporcionar la calidad de transmisión uniforme requerida para la transmisión de datos de voz.  Recomendamos un ancho de banda mínimo de 100 KB por llamada. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/improve-call-quality-on-agent-workstations-in-amazon-connect-contact-centers.html) | Administrador de red, agente | 
| Actualice los controladores de hardware. | Si utiliza auriculares USB o de otro tipo que tengan su propio firmware, le recomendamos que los mantenga actualizados con la última versión. Los auriculares sencillos que utilizan un puerto auxiliar utilizan el dispositivo de audio integrado en la computadora, así que asegúrese de que el controlador de hardware del sistema operativo esté actualizado. En raras ocasiones, una actualización del controlador de audio puede provocar problemas de audio y es posible que tenga que revertirla. Para obtener más información sobre cómo cambiar las versiones del firmware y del controlador, consulte el manual del dispositivo. | Administrador | 
| Evite los concentradores y dongles USB. | Cuando conecte los auriculares, evite usar dispositivos adicionales, como dongles, convertidores de tipo de puerto, concentradores y cables de extensión.Estos dispositivos pueden afectar a la calidad de las llamadas. En su lugar, conecte el dispositivo directamente al puerto de la computadora. | Agente | 
| Compruebe los registros del CCP. | El analizador de registros CCP proporciona una forma sencilla de comprobar los registros de las aplicaciones.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/improve-call-quality-on-agent-workstations-in-amazon-connect-contact-centers.html) | Agente (habilidades avanzadas) | 

### Optimizar la configuración del navegador
<a name="optimize-browser-settings"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Restaurar la configuración predeterminada de WebRTC. | La WebRTC debe estar habilitada para realizar llamadas telefónicas flexibles con CCP. Le recomendamos que utilice la configuración predeterminada de las funciones relacionadas con WebRTC. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/improve-call-quality-on-agent-workstations-in-amazon-connect-contact-centers.html) | Administrador | 
| Deshabilite las extensiones del navegador al solucionar problemas. | Algunas extensiones del navegador pueden afectar a la calidad de las llamadas o incluso impedir que las llamadas se conecten correctamente. Use la ventana de incógnito o el modo privado de su navegador y desactive todas las extensiones. Si eso soluciona el problema, revise las extensiones de su navegador y busque complementos sospechosos, o desactívelos de forma individual. | Agente, administrador | 
| Compruebe la frecuencia de muestreo del navegador.  | Confirme que la entrada del micrófono esté configurada en la frecuencia de muestreo óptima de 48 kHz. Para obtener instrucciones, consulte la [Guía del administrador de Amazon Connect](https://docs.aws.amazon.com/connect/latest/adminguide/verify-sample-rate.html). | Agente, administrador | 

## Recursos relacionados
<a name="improve-call-quality-on-agent-workstations-in-amazon-connect-contact-centers-resources"></a>

Si ha seguido los pasos de este patrón pero sigue teniendo problemas con la calidad de las llamadas, consulte los siguientes recursos para obtener consejos de solución de problemas.
+ Revise [los problemas más comunes del Panel de control de contactos (CCP).](https://docs.aws.amazon.com/connect/latest/adminguide/common-ccp-issues.html)
+ Compruebe la conexión con la [utilidad de prueba de terminales](https://docs.aws.amazon.com/en_us/connect/latest/adminguide/check-connectivity-tool.html).
+ Siga la [guía de solución de problemas](https://docs.aws.amazon.com/connect/latest/adminguide/troubleshooting.html) para cualquier otro problema. 

Si la solución de problemas y los ajustes no resuelven el problema de calidad de las llamadas, es posible que la causa principal sea externa a la estación de trabajo. Para obtener más información sobre la solución de problemas, póngase en contacto con su equipo de soporte de TI. 

# Más patrones
<a name="messagingandcommunications-more-patterns-pattern-list"></a>

**Topics**
+ [Descomponga monolitos en microservicios mediante CQRS y abastecimiento de eventos](decompose-monoliths-into-microservices-by-using-cqrs-and-event-sourcing.md)
+ [Implemente una ChatOps solución para gestionar los resultados de los escaneos SAST mediante Amazon Q Developer en aplicaciones de chat, acciones personalizadas y CloudFormation](deploy-chatops-solution-to-manage-sast-scan-results.md)
+ [Integre Amazon API Gateway con Amazon SQS para gestionar el REST asíncrono APIs](integrate-amazon-api-gateway-with-amazon-sqs-to-handle-asynchronous-rest-apis.md)
+ [Simplificación del desarrollo y la implementación de los bots de Amazon Lex mediante un flujo de trabajo automatizado](streamline-amazon-lex-bot-development-and-deployment-using-an-automated-workflow.md)

# Estrategia de varias cuentas
<a name="multiaccountstrategy-pattern-list"></a>

**Topics**
+ [Migrar una cuenta de AWS miembro de AWS Organizations a AWS Control Tower](migrate-an-aws-member-account-from-aws-organizations-to-aws-control-tower.md)
+ [Configure alertas para el cierre programático de cuentas en AWS Organizations](set-up-alerts-for-programmatic-account-closures-in-aws-organizations.md)
+ [Más patrones](multiaccountstrategy-more-patterns-pattern-list.md)

# Migrar una cuenta de AWS miembro de AWS Organizations a AWS Control Tower
<a name="migrate-an-aws-member-account-from-aws-organizations-to-aws-control-tower"></a>

*Rodolfo Jr. Cerrada, Amazon Web Services*

## Resumen
<a name="migrate-an-aws-member-account-from-aws-organizations-to-aws-control-tower-summary"></a>

Este patrón describe cómo migrar y Cuenta de AWS desde AWS Organizations, si es una cuenta de miembro regida por una cuenta de administración, a AWS Control Tower. Al inscribir la cuenta AWS Control Tower, puede aprovechar las funciones y los controles preventivos y de detección que simplifican la gestión de la cuenta. Es posible que también desee migrar su cuenta de miembro si su cuenta de administración de AWS Organizations se ha visto comprometida y si quiere mover las cuentas de los miembros a una nueva organización que esté gobernada por AWS Control TowerAWS Control Tower. 

AWS Control Tower proporciona un marco que combina e integra las capacidades de varias otras y Servicios de AWS, entre AWS Organizations otras, garantiza un cumplimiento y una gobernanza uniformes en todo su entorno de múltiples cuentas. Con AWS Control Tower, puede seguir un conjunto de reglas y definiciones prescritas que amplían las capacidades de AWS Organizations. Por ejemplo, puede usar controles para garantizar que los registros de seguridad y los permisos de acceso entre cuentas necesarios se creen y no se modifiquen.

## Requisitos previos y limitaciones
<a name="migrate-an-aws-member-account-from-aws-organizations-to-aws-control-tower-prereqs"></a>

**Requisitos previos **
+ Un activo Cuenta de AWS
+ AWS Control Tower configurarlo en su organización objetivo en AWS Organizations (para obtener instrucciones, consulte [Configuración](https://docs.aws.amazon.com/controltower/latest/userguide/setting-up.html) en la AWS Control Tower documentación)
+ Credenciales de administrador para AWS Control Tower (miembro del **AWSControlTowerAdmins**grupo)
+ Credenciales de administrador de la fuente Cuenta de AWS

**Limitaciones**
+ La cuenta de administración de origen AWS Organizations debe ser diferente de la cuenta de administración de destino de AWS Control Tower.

**Versiones de producto**
+ AWS Control Tower versión 2.3 (febrero de 2020) o posterior (consulte las [notas de la versión](https://docs.aws.amazon.com/controltower/latest/userguide/release-notes.html))

## Arquitectura
<a name="migrate-an-aws-member-account-from-aws-organizations-to-aws-control-tower-architecture"></a>

En el diagrama siguiente se ilustra el proceso de migración y la arquitectura de referencia. Este patrón migra Cuenta de AWS de la organización de origen a una organización de destino regida por AWS Control Tower.  

![\[Proceso de inscripción en AWS Control Tower para una cuenta de AWS que se migró a otra organización y se trasladó a una UO registrada.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/1fc2c2f0-fa5d-4068-a2b2-9e57cea2aff5/images/0654d242-0faa-4810-9e53-40ef89305b5b.png)


El proceso de inscripción consta de estos pasos:

1. La organización de destino envía una invitación para unir la cuenta a la organización. 

1. La cuenta acepta la invitación y pasa a ser miembro de la organización de destino.

1. La cuenta se inscribe en una unidad organizativa (OU) registrada AWS Control Tower y se traslada a ella. (Te recomendamos que consultes el AWS Control Tower panel de control para confirmar la inscripción). En este punto, entran en vigor todos los controles que están habilitados en la unidad organizativa registrada.

## Tools (Herramientas)
<a name="migrate-an-aws-member-account-from-aws-organizations-to-aws-control-tower-tools"></a>

**Servicios de AWS**
+ [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html)es un servicio de administración de cuentas que le permite consolidar varias entidades Cuentas de AWS en una sola entidad (una *organización*) que puede crear y administrar de forma centralizada.
+ [AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/what-is-control-tower.html)integra las capacidades de otros servicios AWS Organizations, entre los que se incluyen AWS IAM Identity Center AWS Service Catalog, y, ayudarle a aplicar y gestionar las normas de gobernanza en materia de seguridad, operaciones y cumplimiento a escala en todas sus organizaciones y cuentas del Nube de AWS.

## Epics
<a name="migrate-an-aws-member-account-from-aws-organizations-to-aws-control-tower-epics"></a>

### Invite a la cuenta a unirse a la nueva organización con AWS Control Tower
<a name="invite-the-account-to-join-the-new-organization-with-ctower"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Inicia sesión en AWS Control Tower. | Inicie sesión en la AWS Control Tower consola como administrador. Actualmente, no existe una forma directa de mover y pasar Cuenta de AWS de una organización de origen a una organización de una unidad organizativa regida por AWS Control Tower. Sin embargo, puede extender AWS Control Tower la gobernanza a una existente Cuenta de AWS al inscribirla en una OU que ya esté gobernada por ella AWS Control Tower. Por eso, debe iniciar sesión en AWS Control Tower para realizar este paso. | Administrador de AWS Control Tower | 
| Invitar la cuenta miembro. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-aws-member-account-from-aws-organizations-to-aws-control-tower.html)Compruebe que la transferencia de la cuenta no afectará a ninguna aplicación ni a la conectividad de red.Esta acción envía un correo electrónico de invitación con un enlace a la cuenta de miembro. Cuando el administrador de la cuenta siga el enlace y acepte la invitación, la cuenta del miembro aparecerá en la **Cuentas de AWS**página. Para obtener más información, consulte [Administrar las invitaciones de cuentas](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_invites.html) en la AWS Organizations documentación. | Administrador de AWS Control Tower | 
| Pruebe las aplicaciones y la conectividad. | Cuando la cuenta del miembro se haya registrado en la nueva organización, aparecerá en la OU dentro de una raíz. También aparece en la [AWS Control Tower consola](https://console.aws.amazon.com/controltower), marcada como no inscrita en las cuentas, porque aún no se ha inscrito en la OU AWS Control Tower registrada.Compruebe lo siguiente:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-aws-member-account-from-aws-organizations-to-aws-control-tower.html) | Administrador de AWS Control Tower, administrador de cuentas de miembros, propietarios de aplicación | 

### Prepare la cuenta para la inclusión
<a name="prepare-the-account-for-enrollment"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Revisa los controles y corrige cualquier infracción. | Revise los controles definidos en la unidad organizativa objetivo, especialmente los controles preventivos, y corrija cualquier infracción. Una serie de [controles preventivos obligatorios](https://docs.aws.amazon.com/controltower/latest/controlreference/preventive-controls.html) están activados por defecto cuando configuras tu AWS Control Tower landing zone. Estas barreras no se pueden desactivar. Debe revisar estos controles obligatorios y corregir la cuenta del miembro (manualmente o mediante un script) antes de inscribirla.Los controles preventivos mantienen las cuentas AWS Control Tower registradas en conformidad y previenen el incumplimiento de las políticas. Cualquier infracción de los controles preventivos podría afectar a la inscripción. Las infracciones de control de los Detectives aparecen en el AWS Control Tower panel de control, si se detectan, después de una inscripción correcta. No afectarán al proceso de inscripción. Para obtener más información, consulte [Acerca de los controles](https://docs.aws.amazon.com/controltower/latest/controlreference/controls.html) en la AWS Control Tower documentación. | Administrador de AWS Control Tower, administrador de cuentas de miembros | 
| Compruebe si hay problemas de conectividad después de corregir las infracciones de control. | En algunos casos, es posible que tengas que cerrar puertos específicos o deshabilitar servicios para corregir las infracciones de control. Asegúrese de corregir las aplicaciones que usan esos puertos y servicios antes de inscribir la cuenta. | Propietario de la aplicación | 

### Inscribe la cuenta en AWS Control Tower
<a name="enroll-the-account-into-ctowerlong"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Inicie sesión en AWS Control Tower. | Inicie sesión en la [consola de AWS Control Tower](https://console.aws.amazon.com/controltower). Utilice credenciales de inicio de sesión para AWS Control Tower las que tenga permisos administrativos. No utilice las credenciales del usuario raíz (cuenta de administración) para registrar una AWS Organizations cuenta. Aparecerá un mensaje de error. | Administrador de AWS Control Tower | 
| Inscriba la cuenta. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/migrate-an-aws-member-account-from-aws-organizations-to-aws-control-tower.html)Para obtener más información, consulte [Acerca de la inscripción de cuentas existentes](https://docs.aws.amazon.com/controltower/latest/userguide/enroll-account.html) en la AWS Control Tower documentación. | Administrador de AWS Control Tower | 

### Verifique la cuenta después de la inscripción
<a name="verify-the-account-after-enrollment"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Verifique la cuenta. | Desde AWS Control Tower, elija **Cuentas**. La cuenta que acaba de inscribir tendrá el estado inicial **Inscribiendo**. Cuando se complete la inscripción, su estado cambiará a **Inscrito**. | Administrador de AWS Control Tower, administrador de cuentas de miembros | 
| Compruebe si hay infracciones de control. | Los controles definidos en la OU se aplicarán automáticamente a la cuenta del miembro inscrito. Supervise el AWS Control Tower panel de control para detectar infracciones y corríjalas en consecuencia. Para obtener más información, consulte [Acerca de los controles](https://docs.aws.amazon.com/controltower/latest/controlreference/controls.html) en la AWS Control Tower documentación. | Administrador de AWS Control Tower, administrador de cuentas de miembros | 

## Resolución de problemas
<a name="migrate-an-aws-member-account-from-aws-organizations-to-aws-control-tower-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| Recibe el mensaje de error: **Se ha producido un error desconocido. Vuelva a intentarlo más tarde o póngase en contacto con AWS Support.**  | Este error se produce al utilizar las credenciales de usuario raíz (cuenta de administración) AWS Control Tower para registrar una cuenta nueva. AWS Service Catalog no puede asignar la cartera o el producto de Account Factory al usuario raíz, lo que genera un mensaje de error. Para corregir este error, introduzca credenciales de usuario (administrador) que no sean raíz y tengan acceso completo para inscribir la nueva cuenta. Para obtener más información sobre cómo asignar el acceso administrativo a un usuario administrativo, consulte [Primeros pasos](https://docs.aws.amazon.com/singlesignon/latest/userguide/getting-started.html) en la documentación del Centro de identidades de IAM. | 
| La página de AWS Control Tower **actividades** muestra la acción **Get Catastrofic Drift**. | Esta acción refleja una revisión del servicio y no indica ningún problema con la AWS Control Tower configuración. No hay que hacer nada más. | 

## Recursos relacionados
<a name="migrate-an-aws-member-account-from-aws-organizations-to-aws-control-tower-resources"></a>

**Documentación**
+ [Terminología y conceptos](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html) (AWS Organizations documentación)
+ [¿Qué es AWS Control Tower?](https://docs.aws.amazon.com/controltower/latest/userguide/) (AWS Control Tower documentación)
+ [Eliminar una cuenta de miembro de una organización](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) (AWS Organizations documentación)
+ [Configuración](https://docs.aws.amazon.com/controltower/latest/userguide/setting-up.html#setting-up-iam) (AWS Control Tower documentación)

**Tutoriales y videos**
+ [AWS Control Tower taller (taller](https://catalog.workshops.aws/control-tower/) a su propio ritmo)
+ [¿Qué es? AWS Control Tower](https://www.youtube.com/watch?v=daLvEb44d5Q) (vídeo)
+ [Aprovisionamiento de usuarios en AWS Control Tower](https://www.youtube.com/watch?v=y_n9xN5mg1g) (vídeo)

# Configure alertas para el cierre programático de cuentas en AWS Organizations
<a name="set-up-alerts-for-programmatic-account-closures-in-aws-organizations"></a>

*Richard Milner-Watts, Debojit Bhadra y Manav Yadav, Amazon Web Services*

## Resumen
<a name="set-up-alerts-for-programmatic-account-closures-in-aws-organizations-summary"></a>

La [CloseAccount API](https://docs.aws.amazon.com/organizations/latest/APIReference/API_CloseAccount.html) para [AWS Organizations](https://aws.amazon.com/organizations/) le permite cerrar las cuentas de los miembros de una organización mediante programación, sin tener que iniciar sesión en la cuenta con las credenciales raíz. La [RemoveAccountFromOrganization API](https://docs.aws.amazon.com/organizations/latest/APIReference/API_RemoveAccountFromOrganization.html) extrae una cuenta de una organización en AWS Organizations, por lo que pasa a ser una cuenta independiente.

Esto APIs podría aumentar el número de operadores que pueden cerrar o eliminar una cuenta de AWS. Todos los usuarios que tengan acceso a la organización a través de AWS Identity and Access Management (IAM) en la cuenta de administración de AWS Organizations pueden llamarlos APIs, por lo que el acceso no se limita al propietario del correo raíz de la cuenta con ningún dispositivo de autenticación multifactor (MFA) asociado.

Este patrón implementa alertas cuando `RemoveAccountFromOrganization` APIs se llama a las `CloseAccount` teclas y, de este modo, puede supervisar estas actividades. Para alertas, utiliza un tema de [Amazon Simple Notification Service (Amazon SNS)](https://aws.amazon.com/sns/) También puede configurar las notificaciones de Slack mediante un [webhook](https://api.slack.com/messaging/webhooks).

## Requisitos previos y limitaciones
<a name="set-up-alerts-for-programmatic-account-closures-in-aws-organizations-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Una organización en AWS Organizations
+ Acceso a la cuenta de administración de la organización, ubicada en la raíz de la organización, para crear los recursos necesarios

**Limitaciones**
+ Como se describe en la [referencia de la API de AWS Organizations](https://docs.aws.amazon.com/organizations/latest/APIReference/API_CloseAccount.html), la API `CloseAccount` permite cerrar solo el 10 % de las cuentas de los miembros activos en un período continuo de 30 días.
+ Cuando se cierra una cuenta de AWS, su estado cambia a SUSPENDIDA. Durante 90 días después de esta transición de estado, AWS Support puede volver a abrir la cuenta. La cuenta se elimina permanentemente después de 90 días.
+ Usuarios que tienen acceso a la cuenta de administración de AWS Organizations y APIs que también pueden tener permisos para deshabilitar estas alertas. Si lo que más preocupa es un comportamiento malicioso en lugar de una eliminación accidental, considere la posibilidad de proteger los recursos creados por este patrón con un [límite de permisos de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html).
+ La API llama a `CloseAccount ` y `RemoveAccountFromOrganization` procesa mediante la región Este de EE. UU. (Norte de Virginia) (`us-east-1`). Por lo tanto, usted debe implementar esta solución en `us-east-1` para poder observar los eventos.

## Arquitectura
<a name="set-up-alerts-for-programmatic-account-closures-in-aws-organizations-architecture"></a>

**Pila de tecnología de destino**
+ AWS Organizations
+ AWS CloudTrail
+ Amazon EventBridge
+ AWS Lambda
+ Amazon SNS

**Arquitectura de destino**

El siguiente diagrama muestra la arquitectura de soluciones para este patrón.

 

![\[Arquitectura para configurar alertas en AWS Organizations para el cierre de cuentas\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/ba9d9db1-fab8-4e3b-a1bb-f0be91ade5c6/images/92caee55-2722-4ba2-bdd2-66f1af35dce5.png)


1. AWS Organizations procesa una solicitud `CloseAccount` o `RemoveAccountFromOrganization`.

1. Amazon EventBridge está integrado con AWS CloudTrail para enviar estos eventos al bus de eventos predeterminado.

1. Una EventBridge regla de Amazon personalizada coincide con las solicitudes de AWS Organizations y llama a una función de AWS Lambda.

1. La función de Lambda envía un mensaje a un tema de SNS, al que los usuarios pueden suscribirse para recibir alertas por correo electrónico o para su posterior procesamiento.

1. Si las notificaciones de Slack están habilitadas, la función de Lambda envía un mensaje a un webhook de Slack.

## Tools (Herramientas)
<a name="set-up-alerts-for-programmatic-account-closures-in-aws-organizations-tools"></a>

**Servicios de AWS**
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) proporciona una forma de modelar un conjunto de recursos relacionados de AWS y de terceros, aprovisionarlos de forma rápida y coherente y gestionarlos a lo largo de sus ciclos de vida, tratando la infraestructura como código.
+ [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) es un servicio de bus de eventos sin servidor que puede utilizar para conectar sus aplicaciones con datos de diversas fuentes. EventBridge recibe un evento, un indicador de un cambio en el entorno, y aplica una regla para enrutar el evento a un objetivo. Las reglas hacen coincidir los eventos con los objetivos o bien en función de la estructura del evento, llamado un *patrón de evento*, o bien de una programación.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) es un servicio de computación que permite ejecutar código sin aprovisionar ni administrar servidores. Lambda ejecuta su código solo cuando es necesario y escala de manera automática, desde unas pocas solicitudes por día hasta miles por segundo. Solo paga por el tiempo de proceso que consume. No se aplican cargos cuando su código no se está ejecutando.
+ [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html) le ayuda a administrar y gobernar su entorno de forma centralizada a medida que hace crecer y escalar sus recursos de AWS. Con AWS Organizations, puede crear nuevas cuentas de AWS y asignar recursos mediante programación, agrupar cuentas para organizar sus flujos de trabajo, aplicar políticas a cuentas o grupos para el control y simplificar la facturación mediante un único método de pago para todas sus cuentas.
+ [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) monitorea y registra la actividad de las cuentas en toda su infraestructura de AWS y le permite controlar las acciones de almacenamiento, análisis y corrección.
+ [Amazon Simple Notification Service (Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/welcome.html)) es un servicio de mensajería totalmente gestionado para application-to-application la comunicación (A2A) application-to-person y (A2P).

**Otras herramientas**
+ La [biblioteca AWS Lambda Powertools para Python](https://docs.powertools.aws.dev/lambda/python/latest/) es un conjunto de utilidades que proporcionan funciones de seguimiento, registro, métricas y gestión de eventos para las funciones de Lambda.

**Code**

El código de este patrón se encuentra en el repositorio GitHub [AWS Account Closer Notifier](https://github.com/aws-samples/aws-account-closure-notifier).

La solución incluye una CloudFormation plantilla que implementa la arquitectura de este patrón. Utilice la [biblioteca AWS Lambda Powertools para Python para](https://docs.powertools.aws.dev/lambda/python/latest/) proporcionar registro y seguimiento.

## Epics
<a name="set-up-alerts-for-programmatic-account-closures-in-aws-organizations-epics"></a>

### Implementación de la arquitectura
<a name="deploy-the-architecture"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Lance la CloudFormation plantilla para la pila de soluciones. | La CloudFormation plantilla para este patrón se encuentra en la rama principal del [GitHub repositorio](https://github.com/aws-samples/aws-account-closure-notifier). Implementa las funciones de IAM, EventBridge las reglas, las funciones de Lambda y el tema SNS.Para iniciar la plantilla:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-alerts-for-programmatic-account-closures-in-aws-organizations.html)Para obtener más información sobre el lanzamiento de una CloudFormation pila, consulte la [documentación de AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html). | Administrador de AWS | 
| Compruebe que la solución se haya lanzado correctamente. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-alerts-for-programmatic-account-closures-in-aws-organizations.html) | Administrador de AWS | 
| Suscríbase al tema de SNS. | (Opcional) Si quiere suscribirse al tema de SNS:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-alerts-for-programmatic-account-closures-in-aws-organizations.html)Para obtener más información acerca de la configuración de notificaciones de SNS, consulte la [documentación de Amazon SNS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html). | Administrador de AWS | 

### Verificación de la solución
<a name="verify-the-solution"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Envíe un evento de prueba al bus de eventos predeterminado. | El [GitHub repositorio](https://github.com/aws-samples/aws-account-closure-notifier) proporciona un ejemplo de evento que puede enviar al bus de eventos EventBridge predeterminado para probarlo. La EventBridge regla también reacciona ante los eventos que utilizan la fuente de eventos personalizada`account.closure.notifier`.No puede usar la fuente del CloudTrail evento para enviar este evento, ya que no es posible enviar un evento como un servicio de AWS.Para enviar un evento de prueba:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-alerts-for-programmatic-account-closures-in-aws-organizations.html) | Administrador de AWS | 
| Compruebe que se ha recibido la notificación por correo electrónico. | Compruebe si hay notificaciones en el buzón de correo que se suscribió al tema de SNS. Usted debería recibir un correo electrónico con la información sobre la cuenta que se cerró y la entidad principal que realizó la llamada a la API. | Administrador de AWS | 
| Verifique que se haya recibido la notificación de Slack. | (Opcional) Si especificaste una URL de webhook para el `SlackWebhookEndpoint` parámetro al implementar la CloudFormation plantilla, comprueba el canal de Slack que está asignado al webhook. Debería mostrar un mensaje con la información de la cuenta que se cerró y de la entidad principal que realizó la llamada a la API. | Administrador de AWS | 

## Recursos relacionados
<a name="set-up-alerts-for-programmatic-account-closures-in-aws-organizations-resources"></a>
+ [CloseAccount acción](https://docs.aws.amazon.com/organizations/latest/APIReference/API_CloseAccount.html) (referencia de la API de AWS Organizations)
+ [RemoveAccountFromOrganization acción](https://docs.aws.amazon.com/organizations/latest/APIReference/API_RemoveAccountFromOrganization.html) (referencia de la API de AWS Organizations)
+ [AWS Lambda Powertools para Python](https://docs.powertools.aws.dev/lambda/python/latest/)

# Más patrones
<a name="multiaccountstrategy-more-patterns-pattern-list"></a>

**Topics**
+ [Automatice la creación de cuentas mediante el acelerador de zonas de aterrizaje en AWS](automate-account-creation-lza.md)
+ [Automatice la eliminación de AWS CloudFormation pilas y recursos asociados](automate-deletion-cloudformation-stacks-associated-resources.md)
+ [Automatice la gestión dinámica de canalizaciones para implementar soluciones de hotfix en entornos de Gitflow mediante el uso y AWS Service Catalog AWS CodePipeline](automate-dynamic-pipeline-management-for-deploying-hotfix-solutions.md)
+ [Cree una malla de datos empresarial con Amazon DataZone y AWS CDK AWS CloudFormation](build-enterprise-data-mesh-amazon-data-zone.md)
+ [Centralice la supervisión mediante Amazon CloudWatch Observability Access Manager](centralize-monitoring-by-using-amazon-cloudwatch-observability-access-manager.md)
+ [Control de los conjuntos de permisos para varias cuentas mediante Account Factory for Terraform](govern-permission-sets-aft.md)
+ [Implementa una estrategia de ramificación de Gitflow para entornos de múltiples cuentas DevOps](implement-a-gitflow-branching-strategy-for-multi-account-devops-environments.md)
+ [Implemente una estrategia GitHub de ramificación de Flow para entornos de cuentas múltiples DevOps](implement-a-github-flow-branching-strategy-for-multi-account-devops-environments.md)
+ [Implemente una estrategia de ramificación troncal para entornos de cuentas múltiples DevOps](implement-a-trunk-branching-strategy-for-multi-account-devops-environments.md)
+ [Administre los conjuntos de AWS permisos de forma dinámica mediante Terraform](manage-aws-permission-sets-dynamically-by-using-terraform.md)
+ [Cree una arquitectura IPAM jerárquica y multirregional mediante Terraform AWS](multi-region-ipam-architecture.md)
+ [Configure la detección de CloudFormation desviaciones en una organización multirregional y multicuenta](set-up-aws-cloudformation-drift-detection-in-a-multi-region-multi-account-organization.md)
+ [Configurar la resolución de DNS para redes híbridas en un entorno de cuentas múltiples AWS](set-up-dns-resolution-for-hybrid-networks-in-a-multi-account-aws-environment.md)