Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Marquez automatiquement les pièces jointes à Transit Gateway à l'aide d'AWS Organizations
Créée par Richard Milner-Watts (AWS), Haris Bin Ayub (AWS) et John Capps (AWS)
Récapitulatif
Sur Amazon Web Services (AWS), vous pouvez utiliser AWS Resource Access Manager
Cette solution fournit un mécanisme automatisé pour recueillir des informations sur chaque pièce jointe à Transit Gateway pour les comptes d'une organisation gérée par AWS Organizations<CIDR-range>-<AccountName>
à la pièce jointe du compte qui contient la passerelle de transit.
Cette solution peut être utilisée conjointement avec une solution telle que le Serverless Transit Network Orchestrator
Conditions préalables et limitations
Prérequis
Un actif Compte AWS
Une AWS Organizations organisation qui contient tous les comptes associés
Accès au compte de gestion de l'organisation, sous la racine de l'organisation, pour créer le rôle AWS Identity and Access Management (IAM) requis
Un compte de membre du réseau partagé contenant une ou plusieurs passerelles de transport partagées avec l'organisation et comportant des pièces jointes
Architecture
La capture d'écran suivante AWS Management Console montre des exemples de pièces jointes Transit Gateway sans étiquette de nom associée et de deux pièces jointes Transit Gateway avec des balises de nom générées par cette solution. La structure de la balise Name générée est<CIDR-range>-<AccountName>
.

Cette solution permet AWS CloudFormation
Une fois que la solution a obtenu les noms des comptes AWS Organizations, la machine d'état Step Functions obtient toutes les pièces jointes Transit Gateway IDs. Elles sont traitées en parallèle par Region. Ce traitement inclut la recherche de la plage CIDR pour chaque pièce jointe. La plage CIDR est obtenue en recherchant dans les tables de routage de Transit Gateway de la région un ID de pièce jointe Transit Gateway correspondant. Si toutes les informations requises sont disponibles, la solution applique un tag Name à la pièce jointe. La solution ne remplacera aucune balise Name existante.
La solution s'exécute selon un calendrier contrôlé par un EventBridge événement Amazon
Pile technologique cible
Amazon EventBridge
AWS Lambda
AWS Organizations
AWS Transit Gateway
Amazon Virtual Private Cloud (Amazon VPC)
AWS X-Ray
Architecture cible
L'architecture de la solution et le flux de travail sont illustrés dans le schéma suivant.

L'événement planifié initie la règle.
La EventBridge règle démarre la machine d'état Step Functions.
La machine à états invoque la fonction
tgw-tagger-organizations-account-query
Lambda.La fonction
tgw-tagger-organizations-account-query
Lambda assume le rôle dans le compte de gestion de l'organisation.La fonction
tgw-tagger-organizations-account-query
Lambda appelle l'API Organizations pour renvoyer Compte AWS des métadonnées.La machine à états invoque la fonction
tgw-tagger-attachment-query
Lambda.Pour chaque région, en parallèle, la machine à états invoque la fonction
tgw-tagger-rtb-query
Lambda pour lire la plage CIDR de chaque pièce jointe.Pour chaque région, en parallèle, la machine à états invoque la fonction
tgw-tagger-attachment-tagger
Lambda.Des étiquettes nominatives sont créées pour les pièces jointes Transit Gateway dans le compte Shared Networking.
Automatisation et mise à l'échelle
La solution traite chaque région en parallèle afin de réduire la durée totale de l'exécution.
Outils
Services AWS
AWS CloudFormationpermet de modéliser un ensemble de ressources connexes AWS et tierces, de les approvisionner rapidement et de manière cohérente, et de les gérer tout au long de leur cycle de vie, en traitant l'infrastructure comme du code.
Amazon vous CloudWatch aide à surveiller les indicateurs de vos ressources AWS et des applications que vous exécutez AWS en temps réel.
Amazon EventBridge est un service de bus d'événements sans serveur que vous pouvez utiliser pour connecter vos applications à des données provenant de diverses sources. EventBridge reçoit un événement, un indicateur d'un changement d'environnement, et applique une règle pour acheminer l'événement vers une cible. Les règles associent les événements aux cibles en fonction de la structure de l'événement, appelée schéma d'événements, ou d'un calendrier.
AWS Lambdaest un service de calcul qui prend en charge l'exécution de code sans provisionnement ni gestion de serveurs. Lambda exécute votre code uniquement lorsque cela est nécessaire et évolue automatiquement, passant de quelques requêtes par jour à des milliers par seconde. Vous payez uniquement pour le temps de calcul consommé. Aucun frais n'est facturé si votre code n'est pas en cours d'exécution.
AWS Organizationsvous permet de gérer et de gouverner votre environnement de manière centralisée à mesure que vous développez et faites évoluer vos AWS ressources. Organizations vous permet de créer de nouvelles ressources Comptes AWS et de les allouer par programmation, de regrouper des comptes pour organiser vos flux de travail, d'appliquer des politiques aux comptes ou aux groupes à des fins de gouvernance et de simplifier la facturation en utilisant un mode de paiement unique pour tous vos comptes.
AWS Step Functionsest un service de flux de travail visuel à faible code utilisé pour orchestrer Services AWS, automatiser les processus métier et créer des applications sans serveur. Les flux de travail gèrent les échecs, les nouvelles tentatives, la parallélisation, les intégrations de services et l'observabilité afin que les développeurs puissent se concentrer sur une logique métier à plus forte valeur ajoutée.
AWS Transit Gateway
connecte VPCs et met en place des réseaux sur site via un hub central. Cela simplifie votre réseau et met fin aux relations de peering complexes. Il agit comme un routeur cloud, de sorte que chaque nouvelle connexion n'est établie qu'une seule fois. Amazon Virtual Private Cloud (Amazon VPC) est un service permettant de lancer AWS des ressources dans un réseau virtuel logiquement isolé que vous définissez.
AWS X-Raycollecte des données sur les demandes traitées par votre application et fournit des outils que vous pouvez utiliser pour afficher, filtrer et obtenir des informations sur ces données afin d'identifier les problèmes et les opportunités d'optimisation.
Code
Le code source de cette solution est disponible dans le GitHub référentiel Transit Gateway Attachment Tagger
tgw-attachment-tagger-main-stack.yaml
crée toutes les ressources nécessaires à la prise en charge de cette solution dans le compte réseau partagé.tgw-attachment-tagger-organizations-stack.yaml
crée un rôle dans le compte de gestion de l'organisation.
Épopées
Tâche | Description | Compétences requises |
---|---|---|
Rassemblez les informations préalables requises. | Pour configurer l'accès entre comptes depuis la fonction Lambda vers AWS Organizations l'API, vous avez besoin de l'ID de compte du compte de gestion de l'organisation. NoteL'ordre dans lequel les deux AWS CloudFormation piles sont créées est important. Vous devez d'abord déployer des ressources dans le compte réseau partagé. Le rôle dans le compte de réseau partagé doit déjà exister avant de déployer des ressources dans le compte de gestion de l'organisation. Pour plus d’informations, consultez la documentation AWS | DevOps ingénieur |
Lancez le AWS CloudFormation modèle pour la pile de solutions principale. | Le modèle de la pile de solutions principale déploiera les rôles IAM, le flux de travail Step Functions, les fonctions Lambda et l'événement Amazon CloudWatch . Ouvrez le compte AWS Management Console pour le réseau partagé, puis ouvrez la console : &CFN. Créez la pile en utilisant le
Pour plus d'informations sur le lancement d'une AWS CloudFormation pile, consultez la AWS documentation. | DevOps ingénieur |
Vérifiez que la solution a été lancée avec succès. | Attendez que la CloudFormation pile atteigne le statut CREATE_COMPLETE. Cela devrait prendre moins d'une minute. Ouvrez la console Step Functions et vérifiez qu'une nouvelle machine à états a été créée avec le nom tgw-attachment-tagger-state-machine. | DevOps ingénieur |
Tâche | Description | Compétences requises |
---|---|---|
Rassemblez les informations préalables requises. | Pour configurer l'accès entre comptes depuis la fonction Lambda vers l'API AWS Organizations, vous avez besoin de l'ID de compte du compte réseau partagé. | DevOps ingénieur |
Lancez le CloudFormation modèle pour la pile Organizations | Le modèle de la pile AWS Organizations déploiera le rôle IAM dans le compte de gestion de l'organisation. Accédez à la console AWS pour le compte de gestion de l'organisation, puis ouvrez la CloudFormation console. Créez la pile en utilisant le
Pour les autres options de création de pile, utilisez les valeurs par défaut. | DevOps ingénieur |
Vérifiez que la solution a été lancée avec succès. | Attendez que la AWS CloudFormation pile atteigne le statut CREATE_COMPLETE. Cela devrait prendre moins d'une minute. Ouvrez la console AWS Identity and Access Management (IAM) et vérifiez qu'un nouveau rôle a été créé avec le nom tgw-attachment-tagger-organization-query-role. | DevOps ingénieur |
Tâche | Description | Compétences requises |
---|---|---|
Lancez la machine d'état. | Ouvrez la console Step Functions pour le compte Shared Networking et choisissez State machines dans le volet de navigation. Sélectionnez l'état machine tgw-attachment-tagger-state-machine, puis choisissez Start Execution. Comme l'entrée de cette machine à états n'est pas utilisée par la solution, vous pouvez utiliser la valeur par défaut.
Choisissez Démarrer une exécution. | DevOps ingénieur |
Surveillez la machine à états jusqu'à ce qu'elle soit terminée. | Sur la nouvelle page qui s'ouvre, vous pouvez regarder la machine d'état fonctionner. La durée dépendra du nombre de pièces jointes Transit Gateway à traiter. Sur cette page, vous pouvez examiner chaque étape de la machine à états. Vous pouvez consulter les différentes tâches de la machine à états et suivre les liens vers les CloudWatch journaux des fonctions Lambda. Pour les tâches exécutées en parallèle sur la carte, vous pouvez utiliser la liste déroulante Index pour afficher les implémentations spécifiques à chaque région. | DevOps ingénieur |
Vérifiez les balises de pièce jointe de Transit Gateway. | Ouvrez la console VPC pour le compte réseau partagé et choisissez Transit Gateway Attachments. Sur la console, un tag Name est fourni pour les pièces jointes répondant aux critères (la pièce jointe est propagée vers une table de routage Transit Gateway et le propriétaire de la ressource est membre de l'organisation). | DevOps ingénieur |
Vérifiez le déclenchement de l' CloudWatch événement. | Attendez que l' CloudWatch événement démarre. Cela est prévu pour 06h00 UTC. Ouvrez ensuite la console Step Functions pour le compte Shared Networking et choisissez State machines dans le volet de navigation. Sélectionnez l'état machine tgw-attachment-tagger-state-machine. Vérifiez que la solution a été exécutée à 6 h 00 UTC. | DevOps ingénieur |