

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.

# Etiquete automáticamente las conexiones de puerta de enlace de tránsito con AWS Organizations
<a name="tag-transit-gateway-attachments-automatically-using-aws-organizations"></a>

*Richard Milner-Watts, Haris Bin Ayub y John Capps, Amazon Web Services*

## Resumen
<a name="tag-transit-gateway-attachments-automatically-using-aws-organizations-summary"></a>

En Amazon Web Services (AWS), se puede utilizar [AWS Resource Access Manager](https://aws.amazon.com/ram/)para compartir a [AWS Transit Gateway](https://aws.amazon.com/transit-gateway/)través de Cuenta de AWS fronteras. Sin embargo, cuando crea conexiones de puerta de enlace de tránsito más allá de los límites de la cuenta, los archivos adjuntos se crean sin una etiqueta de nombre. Esto puede hacer que la identificación de los archivos adjuntos lleve mucho tiempo. 

Esta solución proporciona un mecanismo automatizado para recopilar información sobre cada conexión de puerta de enlace de tránsito para las cuentas de una organización administrada por [AWS Organizations](https://aws.amazon.com/organizations/). El proceso incluye buscar el rango de [enrutamiento entre dominios sin clase](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) (CIDR) en la tabla de enrutamiento de puerta de enlace de tránsito. Luego, la solución aplica una etiqueta con el nombre en forma de `<CIDR-range>-<AccountName>` a la conexión de la cuenta que contiene la puerta de enlace de tránsito.

Esta solución se puede utilizar junto con una solución como el [Serverless Transit Network Orchestrator](https://aws.amazon.com/solutions/implementations/serverless-transit-network-orchestrator/) de la biblioteca de AWS soluciones. El orquestador de redes de tránsito sin servidor permite la creación automatizada de conexiones de puerta de enlace de tránsito a escala.

## Requisitos previos y limitaciones
<a name="tag-transit-gateway-attachments-automatically-using-aws-organizations-prereqs"></a>

**Requisitos previos **
+ Un activo Cuenta de AWS
+ Una AWS Organizations organización que contiene todas las cuentas relacionadas
+ Acceda a la cuenta de administración de la organización, ubicada en la raíz de la organización, para crear el rol necesario AWS Identity and Access Management (IAM)
+ Una cuenta de miembro de una red compartida que contiene una o más puertas de enlace de tránsito que se comparten con la organización y tienen archivos adjuntos

## Arquitectura
<a name="tag-transit-gateway-attachments-automatically-using-aws-organizations-architecture"></a>

La siguiente captura de pantalla Consola de administración de AWS muestra ejemplos de archivos adjuntos de Transit Gateway sin etiqueta de nombre asociada y dos archivos adjuntos de Transit Gateway con etiquetas de nombre generados por esta solución. La estructura de la etiqueta de nombre generada es `<CIDR-range>-<AccountName>`.

![\[La consola muestra los archivos adjuntos sin etiquetas de nombre y dos archivos adjuntos con etiquetas de nombre.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/4b10dfec-43be-4337-9945-c64df921934a/images/7e7d4a47-f07a-4708-8022-a1d22855bb5d.png)


 

Esta solución se utiliza [AWS CloudFormation](https://aws.amazon.com/cloudformation/)para implementar un [AWS Step Functions](https://aws.amazon.com/step-functions/)flujo de trabajo que gestiona la creación de etiquetas de nombre de Transit Gateway en todas las configuraciones Regiones de AWS. El flujo de trabajo invoca las funciones de [AWS Lambda](https://aws.amazon.com/lambda/), que hacen las tareas subyacentes.

Una vez que la solución haya obtenido los nombres de las cuentas AWS Organizations, la máquina de estados Step Functions recibirá todos los archivos adjuntos de Transit Gateway IDs. La región las procesa en paralelo. Este procesamiento incluye la búsqueda del rango de CIDR para cada archivo adjunto. El rango CIDR se obtiene buscando en las tablas de enrutamiento de puerta de enlace de tránsito de la región un identificador de la conexión de puerta de enlace de tránsito coincidente. Si toda la información requerida está disponible, la solución aplica una etiqueta con el nombre al archivo adjunto. La solución no sobrescribirá ninguna etiqueta de nombre existente.

La solución se ejecuta según un cronograma controlado por un EventBridge evento de [Amazon](https://aws.amazon.com/eventbridge/). El evento inicia la solución todos los días a las 6:00 UTC.

**Pila de tecnología de destino**
+ Amazon EventBridge
+ AWS Lambda
+ AWS Organizations
+ AWS Transit Gateway
+ Amazon Virtual Private Cloud (Amazon VPC)
+ AWS X-Ray

**Arquitectura de destino**

La arquitectura de la solución y el flujo de trabajo se muestran en el siguiente diagrama.

![\[Proceso de nueve pasos para cuentas compartidas de administración de redes y organizaciones.\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/4b10dfec-43be-4337-9945-c64df921934a/images/873cc89f-c6e3-43cd-94ed-59b6ea2b8d49.png)


1. El evento programado inicia la regla.

1. La EventBridge regla inicia la máquina de estados Step Functions.

1. La máquina de estados invoca la función de Lambda `tgw-tagger-organizations-account-query`.

1. La función de Lambda `tgw-tagger-organizations-account-query` asume la función en la cuenta de administración de la organización.

1. La función `tgw-tagger-organizations-account-query` Lambda llama a la API de Organizations para devolver Cuenta de AWS los metadatos.

1. La máquina de estados invoca la función de Lambda `tgw-tagger-attachment-query`.

1. Para cada región, en paralelo, la máquina de estados invoca la función de Lambda `tgw-tagger-rtb-query` para leer el rango CIDR de cada adjunto.

1. Para cada región, en paralelo, la máquina de estados invoca la función de Lambda para `tgw-tagger-attachment-tagger`** **

1. Las etiquetas de nombre se crean para las conexiones de puerta de enlace de tránsito en la cuenta Shared Networking.

**Automatizar y escalar**

La solución procesa cada región en paralelo para reducir la duración total de la ejecución.

## Tools (Herramientas)
<a name="tag-transit-gateway-attachments-automatically-using-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 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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) le CloudWatch ayuda a supervisar las métricas de sus recursos de AWS y las aplicaciones en las que se ejecuta AWS en tiempo real.
+ [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 crece y escala sus AWS recursos. Con Organizations, puede crear recursos nuevos Cuentas de AWS y asignarlos mediante programación, agrupar cuentas para organizar sus flujos de trabajo, aplicar políticas a cuentas o grupos para la gobernanza y simplificar la facturación mediante el uso de un único método de pago para todas sus cuentas.
+ [AWS Step Functions](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html)es un servicio de flujo de trabajo visual de bajo código que se utiliza para organizar Servicios de AWS, automatizar los procesos empresariales y crear aplicaciones sin servidor. Los flujos de trabajo gestionan los errores, los reintentos, la paralelización, las integraciones de servicios y la observabilidad para que los desarrolladores puedan centrarse en una lógica empresarial de mayor valor.
+ [AWS Transit Gateway](https://aws.amazon.com/transit-gateway/)conecta VPCs y conecta redes locales a través de un hub central. Esto simplifica su red y pone fin a las complejas relaciones de interconexión. Actúa como un router en la nube, de modo que cada nueva conexión se realiza solo una vez.
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) es un servicio para lanzar AWS recursos en una red virtual aislada de forma lógica que usted defina.
+ [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) recopila datos sobre las solicitudes que atiende la aplicación y proporciona herramientas que puede utilizar para consultar, filtrar y obtener información sobre dichos datos para identificar problemas y oportunidades de optimización.

**Código**

El código fuente de esta solución está disponible en el GitHub repositorio [Transit Gateway Attachment Tagger](https://github.com/aws-samples/tgw-attachment-tagger). El repositorio incluye los siguientes archivos:
+ `tgw-attachment-tagger-main-stack.yaml` crea todos los recursos necesarios para respaldar esta solución en la cuenta Shared Networking.
+ `tgw-attachment-tagger-organizations-stack.yaml`**** crea un rol en la cuenta de administración de la organización.

## Epics
<a name="tag-transit-gateway-attachments-automatically-using-aws-organizations-epics"></a>

### Implemente el conjunto principal de soluciones
<a name="deploy-the-main-solution-stack"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Reúna la información necesaria sobre los requisitos previos. | Para configurar el acceso entre cuentas desde la función Lambda a AWS Organizations la API, necesita el ID de cuenta de la cuenta de administración de la organización.****El orden en el que se crean las dos CloudFormation pilas es importante. Primero debe implementar los recursos en la cuenta de red compartida. El rol en la cuenta Shared Networking ya debe existir antes de implementar los recursos en la cuenta de administración de la organización. Para obtener más información, consulte la [Documentación de AWS](https://docs.amazonaws.cn/en_us/IAM/latest/UserGuide/id_roles_create_for-user.html). | DevOps ingeniero | 
| Inicie la CloudFormation plantilla para la pila de soluciones principal. | La plantilla de la pila de soluciones principal implementará las funciones de IAM, el flujo de trabajo de Step Functions, las funciones de Lambda y el evento de Amazon CloudWatch .Abra la cuenta Consola de administración de AWS de red compartida y, a continuación, abra la consola: &CFN.  Cree la pila con la plantilla `tgw-attachment-tagger-main-stack.yaml` y los siguientes valores:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/tag-transit-gateway-attachments-automatically-using-aws-organizations.html)[Para obtener más información sobre cómo lanzar una CloudFormation pila, consulte la documentación.AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html) | DevOps ingeniero | 
| Compruebe que la solución se haya lanzado correctamente. | Espere a que la CloudFormation pila alcance el estado **CREATE\$1COMPLETE**. Este proceso no debería tardar más de un minuto.Abra la consola Step Functions y compruebe que se ha creado una nueva máquina de estados con el nombre **tgw-attachment-tagger-state-machine**. | DevOps ingeniero | 

### Implemente el paquete de AWS Organizations
<a name="deploy-the-aws-organizations-stack"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Reúna la información necesaria sobre los requisitos previos. | Para configurar el acceso entre cuentas desde la función de Lambda a la API de AWS Organizations, necesita el ID de cuenta de la cuenta Shared Networking. | DevOps ingeniero | 
| Inicie la CloudFormation plantilla para la pila Organizations | En la plantilla de AWS Organizations stack, se implementará el rol de IAM en la cuenta de gestión de la organización. Acceda a la consola de AWS de la cuenta de administración de la organización y, a continuación, abra la CloudFormation consola.  Cree la pila con la plantilla `tgw-attachment-tagger-organizations-stack.yaml` y los siguientes valores:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/tag-transit-gateway-attachments-automatically-using-aws-organizations.html)Para las demás opciones de creación de pilas, usa los valores predeterminados. | DevOps ingeniero | 
| Compruebe que la solución se haya lanzado correctamente. | Espere a que la CloudFormation pila alcance el estado **CREATE\$1COMPLETE**. Este proceso no debería tardar más de un minuto.**Abra la consola AWS Identity and Access Management (IAM) y compruebe que se ha creado un nuevo rol con el nombre -query-role. tgw-attachment-tagger-organization** | DevOps ingeniero | 

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


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Ejecuta la máquina de estado. | Abra la consola Step Functions de la cuenta Shared Networking y elija **Equipos de estado** en el panel de navegación.Seleccione el estado machine **tgw-attachment-tagger-state-machine** y elija **Iniciar ejecución**.  Como la solución no utiliza la entrada de esta máquina de estados, puede utilizar el valor predeterminado.<pre>{<br />    "Comment": "Insert your JSON here"<br />}</pre>Seleccione **Iniciar ejecución**. | DevOps ingeniero | 
| Vigile la máquina de estados hasta su finalización. | En la nueva página que se abre, puede ver cómo funciona la máquina de estados. La duración dependerá de la cantidad de conexiones de puerta de enlace de tránsito que se procesen.En esta página, puede examinar cada paso de la máquina de estados. Puede ver las distintas tareas de la máquina de estados y seguir los enlaces a los CloudWatch registros de las funciones de Lambda. Para las tareas que se ejecutan en paralelo dentro del mapa, puede usar la lista desplegable del **Índice** para ver las implementaciones específicas de cada región. | DevOps ingeniero | 
| Compruebe las etiquetas de conexión de puerta de enlace de tránsito. | Abra la consola de VPC de la cuenta Shared Networking y elija **Conexiones de puerta de enlace de tránsito**.  En la consola, se proporciona una etiqueta de nombre para los archivos adjuntos que cumplen los criterios (el archivo adjunto se propaga a una tabla de enrutamiento de puerta de enlace de tránsito y el propietario del recurso es miembro de la organización). | DevOps ingeniero | 
| Verifique el inicio CloudWatch del evento. | Espere a que se inicie el CloudWatch evento. Está programado para las 06:00 UTC. Abra la consola Step Functions de la cuenta Shared Networking y elija **State machines** (Máquinas de estado) en el panel de navegación.Seleccione el estado machine **tgw-attachment-tagger-state-machine.** Compruebe que la solución se haya ejecutado a las 06:00 UTC. | DevOps ingeniero | 

## Recursos relacionados
<a name="tag-transit-gateway-attachments-automatically-using-aws-organizations-resources"></a>
+ [AWS Organizations](https://aws.amazon.com/organizations/)
+ [AWS Resource Access Manager](https://aws.amazon.com/ram/)
+ [Orquestador de redes de tránsito sin servidor](https://aws.amazon.com/solutions/implementations/serverless-transit-network-orchestrator/)
+ [Creación de roles de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html)
+ [Crear una pila en la AWS CloudFormation consola](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html)