Crea oggetti Infoblox utilizzando risorse AWS CloudFormation personalizzate e Amazon SNS - Prontuario AWS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Crea oggetti Infoblox utilizzando risorse AWS CloudFormation personalizzate e Amazon SNS

Creato da Tim Sutton () AWS

Ambiente: PoC o pilota

Tecnologie: networking

Carico di lavoro: tutti gli altri carichi di lavoro

AWSservizi: AmazonSNS; AWS CloudFormation; AWS Lambda AWSKMS; Organizations AWS

Riepilogo

Avviso: non AWS Cloud9 è più disponibile per i nuovi clienti. I clienti esistenti di AWS Cloud9 possono continuare a utilizzare il servizio normalmente. Ulteriori informazioni

Infoblox Domain Name System (DNS), Dynamic Host Configuration Protocol (DHCP) e la gestione degli indirizzi IP (Infoblox DDI) consentono di centralizzare e controllare in modo efficiente un ambiente ibrido complesso. Con InfobloxDDI, puoi scoprire e registrare tutte le risorse di rete in un unico database autoritativo di gestione degli indirizzi IP (IPAM), oltre alla gestione DNS in locale e sul cloud Amazon Web Services (AWS) utilizzando le stesse appliance.

Questo modello descrive come utilizzare una risorsa AWS CloudFormation personalizzata per creare oggetti Infoblox (ad esempio DNS record o IPAM oggetti) chiamando Infoblox. WAPI API Per ulteriori informazioni su InfobloxWAPI, consultate la documentazione nella documentazione di Infoblox. WAPI

Utilizzando l'approccio di questo modello, è possibile ottenere una visione unificata dei DNS record e delle IPAM configurazioni per gli ambienti aziendali AWS e locali, oltre a rimuovere i processi manuali che creano record e forniscono le reti. È possibile utilizzare l'approccio di questo pattern per i seguenti casi d'uso:

  • Aggiungere un record A dopo aver creato un'istanza Amazon Elastic Compute Cloud (AmazonEC2) 

  • Aggiungere un CNAME record dopo aver creato un Application Load Balancer

  • Aggiungere un oggetto di rete dopo aver creato un cloud privato virtuale () VPC

  • Fornire l'intervallo di rete successivo e utilizzare tale intervallo per creare sottoreti

È inoltre possibile estendere questo schema e utilizzare altre funzionalità del dispositivo Infoblox, come l'aggiunta di diversi tipi di DNS record o la configurazione di Infoblox. vDiscovery 

Il modello utilizza un hub-and-spoke design in cui l'hub richiede la connettività all'appliance Infoblox sul AWS cloud o in locale e utilizza AWS Lambda per chiamare Infoblox. API Lo spoke si trova nello stesso account o in un altro account della stessa organizzazione in AWS Organizations e richiama la funzione Lambda utilizzando una risorsa AWS CloudFormation personalizzata.

Prerequisiti e limitazioni

Prerequisiti

  • Un'appliance o una griglia Infoblox esistente, installata sul AWS cloud, in locale o in entrambi i modi e configurata con un utente amministratore in grado di eseguire operazioni di amministrazione. IPAM DNS Per ulteriori informazioni a riguardo, vedete Informazioni sugli account di amministrazione nella documentazione di Infoblox. 

  • Una zona DNS autorevole esistente a cui si desidera aggiungere record sull'appliance Infoblox. Per ulteriori informazioni su questo argomento, vedere Configurazione delle zone autoritative nella documentazione di Infoblox.  

  • Due AWS account attivi in AWS Organizations. Un account è l'account hub e l'altro account è l'account spoke.

  • Gli account hub and spoke devono trovarsi nella stessa AWS regione. 

  • Gli account dell'hub VPC devono connettersi all'appliance Infoblox, ad esempio utilizzando AWS Transit Gateway o il peering. VPC

  • AWSServerless Application Model (AWSSAM), installato e configurato localmente con AWS Cloud9 o. AWS CloudShell

  • I ClientTest.yaml file Infoblox-Hub.zip and (allegati), scaricati nell'ambiente locale che contiene. AWS SAM

Limitazioni

  • Il token di servizio della risorsa AWS CloudFormation personalizzata deve provenire dalla stessa regione in cui viene creato lo stack. Ti consigliamo di utilizzare un account hub in ogni regione, anziché creare un argomento Amazon Simple Notification Service (AmazonSNS) in una regione e chiamare la funzione Lambda in un'altra regione.

Versioni del prodotto

  • Infoblox versione 2.7 WAPI

Architettura

I seguenti diagrammi mostrano il flusso di lavoro di questo modello. 

Creazione di oggetti Infoblox utilizzando risorse AWS CloudFormation personalizzate e Amazon. SNS

Il diagramma mostra i seguenti componenti per la soluzione di questo pattern:

  1. AWS CloudFormation le risorse personalizzate consentono di scrivere una logica di provisioning personalizzata in modelli che vengono AWS CloudFormation eseguiti quando si creano, aggiornano o eliminano gli stack. Quando crei uno stack, AWS CloudFormation invia una create richiesta a un SNS argomento monitorato da un'applicazione in esecuzione su un'istanza. EC2

  2. La SNS notifica Amazon proveniente dalla risorsa AWS CloudFormation personalizzata è crittografata tramite una AWS chiave specifica del Key Management Service (AWSKMS) e l'accesso è limitato agli account della tua organizzazione in Organizations. L'SNSargomento avvia la risorsa Lambda che richiama Infoblox. WAPI API

  3. Amazon SNS richiama le seguenti funzioni Lambda che utilizzano Infoblox WAPIURL, il nome utente e la password Secrets AWS Manager Amazon Resource Names () come variabili di ambiente: ARNs 

    • dnsapi.lambda_handler— Riceve i DNSValue valori DNSNameDNSType, e dalla risorsa AWS CloudFormation personalizzata e li utilizza per creare record A e. DNS CNAMES

    • ipaddr.lambda_handler— Riceve i Network Name valori VPCCIDR TypeSubnetPrefix,, e dalla risorsa AWS CloudFormation personalizzata e li utilizza per aggiungere i dati di rete al IPAM database Infoblox o fornire alla risorsa personalizzata la rete successiva disponibile che può essere utilizzata per creare nuove sottoreti.

    • describeprefixes.lambda_handler— Richiama describe_managed_prefix_lists AWS API utilizzando il "com.amazonaws."+Region+".s3" filtro per recuperare i dati richiesti. prefix ID

    Importante: queste funzioni Lambda sono scritte in Python e sono simili tra loro ma chiamano in modo diverso. APIs

  4. È possibile implementare la griglia Infoblox come appliance di rete fisiche, virtuali o basate sul cloud.  Può essere distribuito in locale o come appliance virtuale utilizzando una serie di hypervisor, tra cui VMware ESXi Microsoft Hyper-V, Linux e Xen. KVM Puoi anche distribuire la griglia Infoblox sul AWS cloud con Amazon Machine Image (). AMI

  5. Il diagramma mostra una soluzione ibrida per la griglia Infoblox che fornisce DNS e IPAM alle risorse sul cloud e in locale. AWS

Stack tecnologico

  • AWS CloudFormation

  • IAM

  • AWS KMS

  • AWSLambda

  • AWS SAM

  • AWS Secrets Manager

  • Amazon SNS

  • Amazon VPC 

Strumenti

  • AWS CloudFormationti aiuta a configurare AWS le risorse, fornirle in modo rapido e coerente e gestirle durante tutto il loro ciclo di vita su più AWS account e regioni.

  • AWSIdentity and Access Management (IAM) consente di gestire in modo sicuro l'accesso alle AWS risorse controllando chi è autenticato e autorizzato a utilizzarle.

  • AWSKey Management Service (AWSKMS) consente di creare e controllare chiavi crittografiche per proteggere i dati.

  • AWSLambda è un servizio di elaborazione che ti aiuta a eseguire il codice senza dover effettuare il provisioning o gestire i server. Esegue il codice solo quando necessario e si ridimensiona automaticamente, quindi paghi solo per il tempo di elaborazione che utilizzi.

  • AWSOrganizations è un servizio di gestione degli account che consente di consolidare più AWS account in un'organizzazione da creare e gestire centralmente.

  • AWSSecrets Manager consente di sostituire le credenziali codificate nel codice, comprese le password, con una chiamata a API Secrets Manager per recuperare il segreto a livello di codice.

  • AWSServerless Application Model (AWSSAM) è un framework open source che consente di creare applicazioni serverless nel cloud. AWS

  • Amazon Simple Notification Service (AmazonSNS) ti aiuta a coordinare e gestire lo scambio di messaggi tra editori e clienti, inclusi server Web e indirizzi e-mail.

  • Amazon Virtual Private Cloud (AmazonVPC) ti aiuta a lanciare AWS risorse in una rete virtuale che hai definito. Questa rete virtuale è simile a una rete tradizionale che gestiresti nel tuo data center, con i vantaggi dell'utilizzo dell'infrastruttura scalabile di. AWS

Codice

È possibile utilizzare il AWS CloudFormation modello di ClientTest.yaml esempio (allegato) per testare l'hub Infoblox. È possibile personalizzare il AWS CloudFormation modello per includere le risorse personalizzate della tabella seguente.

Crea un record A utilizzando la risorsa personalizzata Infoblox Spoke

Valori restituiti

infobloxref — Riferimenti Infoblox

Risorsa di esempio:

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'

Crea un CNAME record utilizzando la risorsa personalizzata Infoblox spoke

Valori restituiti

infobloxref — Riferimenti Infoblox

Risorsa di esempio:

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'

Crea un oggetto di rete utilizzando la risorsa personalizzata Infoblox spoke

Valori restituiti:

infobloxref — Riferimenti Infoblox

network— Intervallo di rete (uguale a) VPCCIDR

Risorsa di esempio:

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

Recupera la prossima sottorete disponibile utilizzando la risorsa personalizzata Infoblox spoke

Valori restituiti:

infobloxref— Riferimenti Infoblox

network — L'intervallo di rete della sottorete

Risorsa di esempio:

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

Epiche

AttivitàDescrizioneCompetenze richieste

Crea un VPC con una connessione all'appliance Infoblox.

Accedi alla Console di AWS gestione per il tuo account hub e creane uno VPC seguendo i passaggi della distribuzione di riferimento Amazon VPC on the AWS Cloud Quick Start di AWS Quick Starts.

Importante: è VPC necessaria la HTTPS connettività all'appliance Infoblox e si consiglia di utilizzare una sottorete privata per questa connessione.

Amministratore di rete, amministratore di sistema

(Facoltativo) Crea gli VPC endpoint per le sottoreti private.

VPCgli endpoint forniscono connettività ai servizi pubblici per le sottoreti private. Sono richiesti i seguenti endpoint:

  • Un endpoint gateway per Amazon Simple Storage Service (Amazon S3) con cui consentire a Lambda di comunicare con AWS CloudFormation

  • Un endpoint di interfaccia per Secrets Manager per abilitare la connettività con Secrets Manager

  • Un endpoint di interfaccia AWS KMS per consentire la crittografia dell'SNSargomento e del segreto di Secrets Manager

Per ulteriori informazioni sulla creazione di endpoint per sottoreti private, consulta gli VPCendpoint nella documentazione di Amazon. VPC

Amministratore di rete, amministratore di sistema
AttivitàDescrizioneCompetenze richieste

Crea il AWS SAM modello.

  1. Esegui il unzip Infoblox-Hub.zip comando nell'ambiente che contiene AWSSAM.

  2. Esegui il cd Hub/ comando per cambiare la tua directory nella Hub directory.

  3. Esegui il sam build comando per elaborare il file AWS SAM modello, il codice dell'applicazione e tutti i file e le dipendenze specifici della lingua. Il sam build comando copia anche gli elementi della build nel formato e nella posizione previsti per la storia seguente.

Sviluppatore, amministratore di sistema

Implementa il AWS SAM modello.

Il sam deploy comando prende i parametri richiesti e li salva nel samconfig.toml file, archivia il AWS CloudFormation modello e le funzioni Lambda in un bucket S3, quindi distribuisce il AWS CloudFormation modello nell'account hub.  

Il codice di esempio seguente mostra come distribuire il modello: AWS SAM

$ 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]:

Importante: è necessario utilizzare l'--guidedopzione ogni volta perché le credenziali di accesso a Infoblox non sono memorizzate nel file. samconfig.toml

Sviluppatore, amministratore di sistema

Risorse correlate

Allegati

Per accedere a contenuti aggiuntivi associati a questo documento, decomprimi il seguente file: attachment.zip