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.
Étiquetez automatiquement les pièces jointes de Transit Gateway à l'aide de AWS Organizations
Créé par Richard Milner-Watts (AWS), Haris Bin Ayub (AWS) et John Capps () AWS
Dépôt de code : Transit Gateway Attachment Tagger | Environnement : Production | Technologies : mise en réseau ; infrastructure ; gestion et gouvernance ; opérations |
AWSservices : AWS Step Functions ; AWS Transit Gateway ; Amazon VPC ; AWS Lambda |
Récapitulatif
Sur Amazon Web Services (AWS), vous pouvez utiliser AWSResource 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 AWSOrganizations<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 AWS compte actif
AWSOrganisations contenant 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 de la console de AWS gestion 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 de compte auprès d'AWSOrganizations, la machine d'état Step Functions obtient toutes les pièces jointes Transit GatewayIDs. Elles sont traitées en parallèle par AWS Region. Ce traitement inclut la recherche de la CIDR plage pour chaque pièce jointe. La CIDR plage 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
AWSLambda
AWSOrganisations
AWS Transit Gateway
Amazon Virtual Private Cloud (AmazonVPC)
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 les Organizations API pour renvoyer les métadonnées des AWS comptes.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 CIDR la plage 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
AWSservices
AWS CloudFormation— AWS CloudFormation permet 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 EventBridge — 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.
AWSLambda — AWS Lambda est un service de calcul qui prend en charge l'exécution de code sans provisionner ni gérer 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.
AWSOrganizations — AWS Organizations vous aide à gérer et à gouverner de manière centralisée votre environnement à mesure que vous développez et faites évoluer vos AWS ressources. AWSOrganizations vous permet de créer de nouveaux AWS comptes et d'allouer des ressources 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.
AWSStep Functions — AWS Step Functions est un service de flux de travail visuel à faible code utilisé pour orchestrer les AWS services, 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.
AWSTransit Gateway
— AWS Transit Gateway connecte VPCs les 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 VPC — Amazon Virtual Private Cloud (AmazonVPC) est un service permettant de lancer AWS des ressources dans un réseau virtuel logiquement isolé que vous définissez.
AWSX-Ray — AWS X-Ray collecte des données sur les demandes traitées par votre application et fournit des outils que vous pouvez utiliser pour visualiser, 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 aux AWS API Organizations, vous avez besoin de l'ID de compte du compte de gestion de l'organisation. Remarque : L'ordre dans lequel les deux 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 AWSdocumentation | DevOps ingénieur |
Lancez le CloudFormation modèle pour la pile de solutions principale. | Le modèle de la pile de solutions principale déploiera les IAM rôles, le flux de travail Step Functions, les fonctions Lambda et l' CloudWatch événement. Ouvrez la console AWS de gestion du compte réseau partagé, puis CloudFormation ouvrez-la. Créez la pile en utilisant le
Pour plus d'informations sur le lancement d'une CloudFormation pile, consultez la AWSdocumentation. | 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 les AWS API 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 IAM rôle dans le compte de gestion de l'organisation. Accédez à la AWS console du compte de gestion de l'organisation, puis ouvrez-la CloudFormation . 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 CloudFormation pile atteigne le statut CREATE_ COMPLETE. Cela devrait prendre moins d'une minute. Ouvrez la console 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. Étant donné que 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 VPC console du 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 06h00UTC. 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 à 06h00UTC. | DevOps ingénieur |