Créez des objets Infoblox à l'aide de ressources AWS CloudFormation personnalisées et d'Amazon SNS - Recommandations AWS

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.

Créez des objets Infoblox à l'aide de ressources AWS CloudFormation personnalisées et d'Amazon SNS

Créée par Tim Sutton () AWS

Récapitulatif

Remarque : n' AWS Cloud9 est plus disponible pour les nouveaux clients. Les clients existants de AWS Cloud9 peuvent continuer à utiliser le service normalement. En savoir plus

Le système de noms de domaine Infoblox (DNS), le protocole de configuration dynamique des hôtes (DHCP) et la gestion des adresses IP (Infoblox DDI) vous permettent de centraliser et de contrôler efficacement un environnement hybride complexe. Avec InfobloxDDI, vous pouvez découvrir et enregistrer tous les actifs du réseau dans une base de données de gestion des adresses IP (IPAM) faisant autorité, en plus de les gérer DNS sur site et sur le cloud Amazon Web Services (AWS) en utilisant les mêmes appareils.

Ce modèle décrit comment utiliser une ressource AWS CloudFormation personnalisée pour créer des objets Infoblox (par exemple, des DNS enregistrements ou des IPAM objets) en appelant l'Infoblox. WAPI API Pour plus d'informations sur l'InfobloxWAPI, consultez la WAPIdocumentation de la documentation Infoblox.

En utilisant l'approche de ce modèle, vous pouvez obtenir une vue unifiée des DNS enregistrements et des IPAM configurations pour votre environnement AWS et celui sur site, en plus de supprimer les processus manuels qui créent des enregistrements et approvisionnent vos réseaux. Vous pouvez utiliser l'approche de ce modèle pour les cas d'utilisation suivants :

  • Ajouter un enregistrement A après avoir créé une instance Amazon Elastic Compute Cloud (AmazonEC2) 

  • Ajouter un CNAME enregistrement après avoir créé un Application Load Balancer

  • Ajouter un objet réseau après la création d'un cloud privé virtuel (VPC)

  • Fournir la plage réseau suivante et utiliser cette plage pour créer des sous-réseaux

Vous pouvez également étendre ce modèle et utiliser d'autres fonctionnalités de l'appareil Infoblox, telles que l'ajout de différents types d'DNSenregistrement ou la configuration d'Infoblox. vDiscovery 

Le modèle utilise une hub-and-spoke conception dans laquelle le hub nécessite une connectivité à l'appliance Infoblox sur le AWS cloud ou sur site et utilise AWS Lambda pour appeler l'Infoblox. API Le spoke se trouve dans le même compte ou dans un compte différent de la même organisation dans AWS Organizations et appelle la fonction Lambda à l'aide d'une ressource AWS CloudFormation personnalisée.

Conditions préalables et limitations

Prérequis

  • Une appliance ou une grille Infoblox existante, installée sur le AWS cloud, sur site, ou les deux, et configurée avec un utilisateur administrateur capable d'administrer IPAM et d'effectuer des actions. DNS Pour plus d'informations à ce sujet, consultez la section À propos des comptes d'administrateur dans la documentation d'Infoblox. 

  • Zone DNS autoritaire existante à laquelle vous souhaitez ajouter des enregistrements sur l'appliance Infoblox. Pour plus d'informations à ce sujet, consultez la section Configuration des zones faisant autorité dans la documentation d'Infoblox.  

  • Deux AWS comptes actifs dans AWS Organizations. L'un des comptes est le compte hub et l'autre est le compte Spoke.

  • Les comptes hub et spoke doivent se trouver dans la même AWS région. 

  • Les comptes du hub VPC doivent se connecter à l'appliance Infoblox, par exemple en utilisant AWS Transit Gateway ou le peering. VPC

  • AWSModèle d'application sans serveur (AWSSAM), installé et configuré localement avec AWS AWS CloudShell Cloud9 ou.

  • Les ClientTest.yaml fichiers Infoblox-Hub.zip et (joints), téléchargés dans l'environnement local qui contient AWSSAM.

Limites

  • Le jeton de service de la ressource AWS CloudFormation personnalisée doit provenir de la même région où la pile est créée. Nous vous recommandons d'utiliser un compte hub dans chaque région, au lieu de créer une rubrique Amazon Simple Notification Service (AmazonSNS) dans une région et d'appeler la fonction Lambda dans une autre région.

Versions du produit

  • Infoblox version 2.7 WAPI

Architecture

Les diagrammes suivants montrent le flux de travail de ce modèle. 

Création d'objets Infoblox à l'aide de ressources AWS CloudFormation personnalisées et d'Amazon. SNS

Le schéma montre les composants suivants pour la solution de ce modèle :

  1. AWS CloudFormation les ressources personnalisées vous permettent d'écrire une logique de provisionnement personnalisée dans des modèles qui AWS CloudFormation s'exécutent lorsque vous créez, mettez à jour ou supprimez des piles. Lorsque vous créez une pile, AWS CloudFormation vous envoyez une create demande à un SNS sujet surveillé par une application exécutée sur une EC2 instance.

  2. La SNS notification Amazon provenant de la ressource AWS CloudFormation personnalisée est cryptée via une AWS clé spécifique du service de gestion des clés (AWSKMS) et l'accès est limité aux comptes de votre organisation dans Organizations. La SNS rubrique lance la ressource Lambda qui appelle l'Infoblox. WAPI API

  3. Amazon SNS invoque les fonctions Lambda suivantes qui utilisent l'WAPIURLInfoblox, le nom d'utilisateur et le mot de passe AWS Secrets Manager Amazon Resource Names ARNs () comme variables d'environnement : 

    • dnsapi.lambda_handler— Reçoit les DNSValue valeurs DNSNameDNSType,, et de la ressource AWS CloudFormation personnalisée et les utilise pour créer des enregistrements DNS A etCNAMES.

    • ipaddr.lambda_handler— Reçoit les Network Name valeurs VPCCIDR TypeSubnetPrefix,, et de la ressource AWS CloudFormation personnalisée et les utilise pour ajouter les données réseau dans la IPAM base de données Infoblox ou fournir à la ressource personnalisée le prochain réseau disponible pouvant être utilisé pour créer de nouveaux sous-réseaux.

    • describeprefixes.lambda_handler— Appelle le describe_managed_prefix_lists AWS API en utilisant le "com.amazonaws."+Region+".s3" filtre pour récupérer le fichier requisprefix ID.

    Important

    Ces fonctions Lambda sont écrites en Python et sont similaires les unes aux autres, mais leurs appels sont différents. APIs

  4. Vous pouvez déployer la grille Infoblox sous forme d'appliances réseau physiques, virtuelles ou basées sur le cloud.  Il peut être déployé sur site ou en tant qu'appliance virtuelle à l'aide d'une gamme d'hyperviseurs, notamment VMware ESXi Microsoft Hyper-V, Linux KVM et Xen. Vous pouvez également déployer la grille Infoblox sur le AWS cloud avec une Amazon Machine Image (). AMI

  5. Le schéma montre une solution hybride pour le réseau Infoblox qui fournit DNS et IPAM alimente des ressources sur le AWS cloud et sur site.

Pile technologique

  • AWS CloudFormation

  • IAM

  • AWS KMS

  • AWS Lambda

  • AWS SAM

  • AWS Secrets Manager

  • Amazon SNS

  • Amazon VPC 

Outils

  • AWS CloudFormationvous aide à configurer les AWS ressources, à les approvisionner rapidement et de manière cohérente, et à les gérer tout au long de leur cycle de vie, quels que soient les AWS comptes et les régions.

  • AWSIdentity and Access Management (IAM) vous aide à gérer en toute sécurité l'accès à vos AWS ressources en contrôlant qui est authentifié et autorisé à les utiliser.

  • AWSLe service de gestion des clés (AWSKMS) vous aide à créer et à contrôler des clés cryptographiques afin de protéger vos données.

  • AWSLambda est un service de calcul qui vous permet d'exécuter du code sans avoir à approvisionner ou à gérer des serveurs. Il exécute votre code uniquement lorsque cela est nécessaire et évolue automatiquement, de sorte que vous ne payez que pour le temps de calcul que vous utilisez.

  • AWSOrganizations est un service de gestion de comptes qui vous aide à consolider plusieurs AWS comptes au sein d'une organisation que vous créez et gérez de manière centralisée.

  • AWSSecrets Manager vous permet de remplacer les informations d'identification codées en dur dans votre code, y compris les mots de passe, par un API appel à Secrets Manager pour récupérer le secret par programmation.

  • AWSLe modèle d'application sans serveur (AWSSAM) est un framework open source qui vous aide à créer des applications sans serveur dans le cloud. AWS

  • Amazon Simple Notification Service (AmazonSNS) vous aide à coordonner et à gérer l'échange de messages entre les éditeurs et les clients, y compris les serveurs Web et les adresses e-mail.

  • Amazon Virtual Private Cloud (AmazonVPC) vous aide à lancer AWS des ressources dans un réseau virtuel que vous avez défini. Ce réseau virtuel ressemble à un réseau traditionnel que vous pourriez exécuter dans votre propre centre de données et présente l'avantage d'utiliser l'infrastructure évolutive d'AWS.

Code

Vous pouvez utiliser le AWS CloudFormation modèle ClientTest.yaml d'exemple (ci-joint) pour tester le hub Infoblox. Vous pouvez personnaliser le AWS CloudFormation modèle pour inclure les ressources personnalisées indiquées dans le tableau suivant.

Créez un enregistrement A à l'aide de la ressource personnalisée Infoblox Spoke

Valeurs renvoyées : 

infobloxref — Références d'Infoblox

Exemple de ressource :

ARECORDCustomResource: Type: "Custom::InfobloxAPI" Properties: ServiceToken: !Sub arn:aws:sns:${AWS::Region}:${HubAccountID}:RunInfobloxDNSFunction DNSName: 'arecordtest.company.com' DNSType: 'ARecord' DNSValue: '10.0.0.1'

Créez un CNAME enregistrement à l'aide de la ressource personnalisée Infoblox Spoke

Valeurs renvoyées : 

infobloxref — Références d'Infoblox

Exemple de ressource :

CNAMECustomResource: Type: "Custom::InfobloxAPI" Properties: ServiceToken: !Sub arn:aws:sns:${AWS::Region}:${HubAccountID}:RunInfoblox DNSFunction DNSName: 'cnametest.company.com' DNSType: 'cname' DNSValue: 'aws.amazon.com'

Créez un objet réseau à l'aide de la ressource personnalisée Infoblox Spoke

Valeurs renvoyées :

infobloxref — Références d'Infoblox

network— Portée du réseau (identique àVPCCIDR)

Exemple de ressource :

VPCCustomResource: Type: 'Custom::InfobloxAPI' Properties: ServiceToken: !Sub arn:aws:sns:${AWS::Region}:${HubAccountID}:RunInfobloxNextSubnetFunction VPCCIDR: !Ref VpcCIDR Type: VPC NetworkName: My-VPC

Récupérez le prochain sous-réseau disponible à l'aide de la ressource personnalisée Infoblox Spoke

Valeurs renvoyées :

infobloxref— Références d'Infoblox

network — La portée réseau du sous-réseau

Exemple de ressource :

Subnet1CustomResource: Type: 'Custom::InfobloxAPI' DependsOn: VPCCustomResource Properties: ServiceToken: !Sub arn:aws:sns:${AWS::Region}:${HubAccountID}:RunInfobloxNextSubnetFunction VPCCIDR: !Ref VpcCIDR Type: Subnet SubnetPrefix: !Ref SubnetPrefix NetworkName: My-Subnet

Épopées

TâcheDescriptionCompétences requises

Créez un VPC avec une connexion à l'appliance Infoblox.

Connectez-vous à la console de AWS gestion de votre compte hub et créez-en un VPC en suivant les étapes du déploiement de référence Amazon VPC on the AWS Cloud Quick Start à partir de AWS Quick Starts.

Important

Ils VPC doivent être connectés à l'appliance Infoblox et nous vous recommandons d'utiliser un sous-réseau privé pour cette HTTPS connexion.

Administrateur réseau, administrateur système

(Facultatif) Créez les VPC points de terminaison pour les sous-réseaux privés.

VPCles points de terminaison fournissent une connectivité aux services publics pour vos sous-réseaux privés. Les points de terminaison suivants sont requis :

  • Un point de terminaison de passerelle pour Amazon Simple Storage Service (Amazon S3) permettant à Lambda de communiquer avec AWS CloudFormation

  • Un point de terminaison d'interface permettant à Secrets Manager d'activer la connectivité avec Secrets Manager

  • Un point de terminaison d'interface AWS KMS pour autoriser le chiffrement du SNS sujet et du secret de Secrets Manager

Pour plus d'informations sur la création de points de terminaison pour les sous-réseaux privés, consultez la section VPCPoints de terminaison dans la documentation Amazon. VPC

Administrateur réseau, administrateur système
TâcheDescriptionCompétences requises

Créez le AWS SAM modèle.

  1. Exécutez la unzip Infoblox-Hub.zip commande dans l'environnement qui contient AWSSAM.

  2. Exécutez la cd Hub/ commande pour remplacer votre répertoire par le Hub répertoire.

  3. Exécutez la sam build commande pour traiter le fichier AWS SAM modèle, le code de l'application, ainsi que tous les fichiers et dépendances spécifiques à la langue. La sam build commande copie également les artefacts de construction au format et à l'emplacement attendus pour l'histoire suivante.

Développeur, administrateur système

Déployez le AWS SAM modèle.

La sam deploy commande prend les paramètres requis et les enregistre dans le samconfig.toml fichier, stocke le AWS CloudFormation modèle et les fonctions Lambda dans un compartiment S3, puis déploie le AWS CloudFormation modèle dans votre compte hub.  

L'exemple de code suivant montre comment déployer le AWS SAM modèle :

$ sam deploy --guided Configuring SAM deploy ====================== Looking for config file [samconfig.toml] : Found Reading default arguments : Success Setting default arguments for 'sam deploy' ========================================= Stack Name [Infoblox-Hub]: AWS Region [eu-west-1]: Parameter InfobloxUsername: Parameter InfobloxPassword: Parameter InfobloxIPAddress [xxx.xxx.xx.xxx]: Parameter AWSOrganisationID [o-xxxxxxxxx]: Parameter VPCID [vpc-xxxxxxxxx]: Parameter VPCCIDR [xxx.xxx.xxx.xxx/16]: Parameter VPCSubnetID1 [subnet-xxx]: Parameter VPCSubnetID2 [subnet-xxx]: Parameter VPCSubnetID3 [subnet-xxx]: Parameter VPCSubnetID4 []: #Shows you resources changes to be deployed and require a 'Y' to initiate deploy Confirm changes before deploy [Y/n]: y #SAM needs permission to be able to create roles to connect to the resources in your template Allow SAM CLI IAM role creation [Y/n]: n Capabilities [['CAPABILITY_NAMED_IAM']]: Save arguments to configuration file [Y/n]: y SAM configuration file [samconfig.toml]: SAM configuration environment [default]:
Important

Vous devez utiliser --guided cette option à chaque fois car les informations de connexion à Infoblox ne sont pas stockées dans le fichier. samconfig.toml

Développeur, administrateur système

Ressources connexes

Pièces jointes

Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip