Accedi privatamente a un endpoint di servizio AWS centrale da più VPC - 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à.

Accedi privatamente a un endpoint di servizio AWS centrale da più VPC

Creato da Martin Guenthner (AWS) e Samuel Gordon (AWS)

Archivio di codice: condivisione degli endpoint VPC

Ambiente: produzione

Tecnologie: rete; infrastruttura

Servizi AWS: AWS RAM; Amazon Route 53; Amazon SNS; AWS Transit Gateway; Amazon VPC

Riepilogo

I requisiti di sicurezza e conformità per il tuo ambiente potrebbero specificare che il traffico verso i servizi o gli endpoint di Amazon Web Services (AWS) non deve attraversare la rete Internet pubblica. Questo modello è una soluzione progettata per una hub-and-spoketopologia, in cui un hub VPC centrale è collegato a più VPC a razze distribuite. In questa soluzione, utilizzi AWS PrivateLink per creare un endpoint VPC di interfaccia per il servizio AWS nell'account dell'hub. Quindi, utilizzi gateway di transito e una regola DNS (Domain Name System) distribuita per risolvere le richieste all'indirizzo IP privato dell'endpoint, attraverso i VPC collegati.

Questo modello descrive come utilizzare AWS Transit Gateway, un endpoint Amazon Route 53 Resolver in entrata e una regola di inoltro Route 53 condivisa per risolvere le query DNS dalle risorse nei VPC connessi. L'endpoint, il gateway di transito, il Resolver e la regola di inoltro vengono creati nell'account dell'hub. Quindi, usi AWS Resource Access Manager (AWS RAM) per condividere il gateway di transito e la regola di inoltro con i VPC spoke. I CloudFormation modelli AWS forniti ti aiutano a distribuire e configurare le risorse nell'hub VPC e negli Spoke VPC.

Prerequisiti e limitazioni

Prerequisiti

Limitazioni

  • Questo modello collega gli account hub e spoke nella stessa regione AWS. Per le distribuzioni in più regioni, è necessario ripetere questo schema per ogni regione.

  • Il servizio AWS deve integrarsi con un PrivateLink endpoint VPC come interfaccia. Per un elenco completo, consulta i servizi AWS che si integrano con AWS PrivateLink (PrivateLink documentazione).

  • L'affinità della zona di disponibilità non è garantita. Ad esempio, le interrogazioni provenienti dalla zona di disponibilità A potrebbero rispondere con un indirizzo IP proveniente dalla zona di disponibilità B.

  • L'interfaccia di rete elastica associata all'endpoint VPC ha un limite di 10.000 query al secondo.

Architettura

Stack tecnologico Target

  • Un hub VPC nell'account AWS dell'hub

  • Uno o più VPC parlati in un account AWS parlato

  • Uno o più endpoint VPC di interfaccia nell'account hub

  • Resolver Route 53 in entrata e in uscita nell'account hub

  • Una regola di inoltro Route 53 Resolver implementata nell'account hub e condivisa con l'account spoke

  • Un gateway di transito distribuito nell'account dell'hub e condiviso con l'account spoke

  • AWS Transit Gateway che collega i VPC hub and spoke

Architettura di destinazione

L'immagine seguente mostra un'architettura di esempio per questa soluzione. In questa architettura, la regola di inoltro di Route 53 Resolver nell'account hub ha la seguente relazione con gli altri componenti dell'architettura:

  1. La regola di inoltro è condivisa con il VPC spoke utilizzando la RAM AWS.

  2. La regola di inoltro è associata al Resolver in uscita nel VPC dell'hub.

  3. La regola di inoltro si rivolge al Resolver in ingresso nel VPC dell'hub.

Diagramma di architettura che mostra le risorse negli account spoke e hub.

L'immagine seguente mostra il flusso di traffico attraverso l'architettura di esempio:

  1. Una risorsa, ad esempio un'istanza Amazon Elastic Compute Cloud (Amazon EC2), nel VPC spoke invia una richiesta DNS a. <service>.<region>.amazonaws.com La richiesta viene ricevuta dallo speaker Amazon DNS Resolver.

  2. La regola di inoltro Route 53, condivisa dall'account dell'hub e associata al VPC spoke, intercetta la richiesta.

  3. Nel VPC dell'hub, il Resolver in uscita utilizza la regola di inoltro per inoltrare la richiesta al Resolver in entrata.

  4. Il Resolver in ingresso utilizza l'hub VPC Amazon DNS Resolver per risolvere l'indirizzo IP nell'indirizzo IP privato di un <service>.<region>.amazonaws.com endpoint VPC. Se non è presente alcun endpoint VPC, si risolve nell'indirizzo IP pubblico.

Flusso di traffico da una risorsa nel VPC spoke a un endpoint di servizio nel VPC dell'hub.

Strumenti

Strumenti e servizi AWS

  • AWS ti CloudFormation aiuta a configurare le risorse AWS, effettuarne il provisioning in modo rapido e coerente e gestirle durante tutto il loro ciclo di vita su account e regioni AWS.

  • Amazon Elastic Compute Cloud (Amazon EC2) Elastic Compute Cloud (Amazon EC2) fornisce capacità di calcolo scalabile nel cloud AWS. Puoi avviare tutti i server virtuali di cui hai bisogno e scalarli rapidamente verso l'alto o verso il basso.

  • AWS Identity and Access Management (IAM) ti aiuta a gestire in modo sicuro l'accesso alle tue risorse AWS controllando chi è autenticato e autorizzato a utilizzarle.

  • AWS Resource Access Manager (AWS RAM) ti aiuta a condividere in modo sicuro le tue risorse tra gli account AWS per ridurre il sovraccarico operativo e fornire visibilità e verificabilità.

  • Amazon Route 53 è un servizio Web DNS (Domain Name System) altamente scalabile e disponibile.

  • AWS Systems Manager ti aiuta a gestire le applicazioni e l'infrastruttura in esecuzione nel cloud AWS. Semplifica la gestione delle applicazioni e delle risorse, riduce i tempi di rilevamento e risoluzione dei problemi operativi e ti aiuta a gestire le tue risorse AWS in modo sicuro su larga scala.

  • AWS Transit Gateway è un hub centrale che collega VPC e reti locali.

  • Amazon Virtual Private Cloud (Amazon VPC) ti aiuta a lanciare le risorse AWS 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.

Altri strumenti e servizi

  • nslookup è uno strumento da riga di comando utilizzato per interrogare i record DNS. In questo modello, si utilizza questo strumento per testare la soluzione.

Deposito di codici

Il codice per questo pattern è disponibile su GitHub, nel vpc-endpoint-sharingrepository. Questo modello fornisce due CloudFormation modelli AWS:

  • Un modello per la distribuzione delle seguenti risorse nell'account dell'hub:

    • rSecurityGroupEndpoints— Il gruppo di sicurezza che controlla l'accesso all'endpoint VPC.

    • rSecurityGroupResolvers— Il gruppo di sicurezza che controlla l'accesso al Route 53 Resolver.

    • rKMSEndpoint, rSSMMessagesEndpointrSSMEndpoint, e rEC2MessagesEndpoint — Esempio di endpoint VPC di interfaccia nell'account hub. Personalizza questi endpoint per il tuo caso d'uso.

    • rInboundResolver— Un Route 53 Resolver che risolve le query DNS sull'hub Amazon DNS Resolver.

    • rOutboundResolver— Un Route 53 Resolver in uscita che inoltra le interrogazioni al Resolver in entrata.

    • rAWSApiResolverRule— La regola di inoltro di Route 53 Resolver condivisa con tutti i VPC spoke.

    • rRamShareAWSResolverRule— La condivisione RAM AWS che consente ai VPC spoke di utilizzare la regola di rAWSApiResolverRule inoltro.

    • * rVPC — L'hub VPC, utilizzato per modellare i servizi condivisi.

    • * rSubnet1 — Una sottorete privata utilizzata per ospitare le risorse dell'hub.

    • * rRouteTable1 — La tabella delle rotte per il VPC dell'hub.

    • * rRouteTableAssociation1 — Per la tabella delle rRouteTable1 rotte nel VPC dell'hub, l'associazione per la sottorete privata.

    • * rRouteSpoke — Il percorso dal VPC dell'hub al VPC a raggi.

    • * rTgw — Il gateway di transito condiviso con tutti i VPC spoke.

    • * rTgwAttach — L'allegato che consente al VPC dell'hub di indirizzare il traffico verso il gateway di rTgw transito.

    • * rTgwShare — La condivisione RAM AWS che consente agli account spoke di utilizzare il gateway di rTgw transito.

  • Un modello per distribuire le seguenti risorse negli account spoke:

    • rAWSApiResolverRuleAssociation— Un'associazione che consente a Spoke VPC di utilizzare la regola di inoltro condiviso nell'account hub.

    • * rVPC — Il VPC a raggi.

    • * rSubnet1, rSubnet2, rSubnet3 — Una sottorete per ogni zona di disponibilità, utilizzata per ospitare le risorse private parlate.

    • * rTgwAttach — L'allegato che consente al VPC Spoke di indirizzare il traffico verso il gateway di rTgw transito.

    • * rRouteTable1 — La tabella di routing per il VPC a raggi.

    • * rRouteEndpoints — Il percorso dalle risorse nel VPC spoke al gateway di transito.

    • * rRouteTableAssociation1/2/3 — Per la tabella di rRouteTable1 routing nel VPC spoke, le associazioni per le sottoreti private.

    • * rInstanceRole — Il ruolo IAM utilizzato per testare la soluzione.

    • * rInstancePolicy — La policy IAM utilizzata per testare la soluzione.

    • * rInstanceSg — Il gruppo di sicurezza utilizzato per testare la soluzione.

    • * rInstanceProfile — Il profilo dell'istanza IAM utilizzato per testare la soluzione.

    • * rInstance — Un'istanza EC2 preconfigurata per l'accesso tramite AWS Systems Manager. Usa questa istanza per testare la soluzione.

* Queste risorse supportano l'architettura di esempio e potrebbero non essere necessarie quando si implementa questo modello in una landing zone esistente.

Epiche

AttivitàDescrizioneCompetenze richieste

Clona il repository del codice.

  1. In un'interfaccia a riga di comando, modificate la directory di lavoro nella posizione in cui desiderate archiviare i file di esempio.

  2. Immetti il comando seguente:

    git clone https://github.com/aws-samples/vpc-endpoint-sharing.git
Amministratore di rete, architetto del cloud

Modifica i modelli.

  1. Nel repository clonato, apri i file hub.yml e spoke.yml.

  2. Esamina le risorse create da questi modelli e modifica i modelli in base alle esigenze del tuo ambiente. Per un elenco completo, consultate la sezione Code repository in Strumenti. Se i tuoi account dispongono già di alcune di queste risorse, rimuovile dal CloudFormation modello. Per ulteriori informazioni, consulta Lavorare con i modelli (CloudFormation documentazione).

  3. Salvate e chiudete i file hub.yml e spoke.yml.

Amministratore di rete, architetto cloud
AttivitàDescrizioneCompetenze richieste

Implementa le risorse dell'hub.

Usando il modello hub.yml, crea uno stack. CloudFormation Quando richiesto, fornite i valori per i parametri nel modello. Per ulteriori informazioni, consultate Creazione di uno stack (CloudFormation documentazione).

Architetto del cloud, amministratore di rete

Implementa le risorse parlate.

Usando il modello spoke.yml, crea uno stack. CloudFormation Quando richiesto, fornite i valori per i parametri nel modello. Per ulteriori informazioni, consultate Creazione di uno stack (CloudFormation documentazione).

Architetto del cloud, amministratore di rete
AttivitàDescrizioneCompetenze richieste

Esegui il test delle query DNS private sul servizio AWS.

  1. Connect all'istanza rInstance EC2 utilizzando Session Manager, una funzionalità di AWS Systems Manager. Per ulteriori informazioni, consulta Connect alla tua istanza Linux usando Session Manager (documentazione Amazon EC2).

  2. Per un servizio AWS con un endpoint VPC nell'account hub, utilizza nslookup per confermare che gli indirizzi IP privati per il Route 53 Resolver in entrata vengano restituiti.

    Di seguito è riportato un esempio di utilizzo nslookup per raggiungere un endpoint Amazon Systems Manager.

    nslookup ssm.<region>.amazonaws.com
  3. In AWS Command Line Interface (AWS CLI), inserisci un comando che può aiutarti a confermare che le modifiche non hanno influito sulla funzionalità del servizio. Per un elenco di comandi, consulta AWS CLI Command Reference.

    Ad esempio, il comando seguente dovrebbe restituire un elenco di documenti di Amazon Systems Manager.

    aws ssm list-documents
Amministratore di rete

Esegui il test delle query DNS pubbliche su un servizio AWS.

  1. Per un servizio AWS che non dispone di un endpoint VPC nell'account dell'hub, utilizza nslookup per confermare che gli indirizzi IP pubblici vengano restituiti. Di seguito è riportato un esempio di utilizzo nslookup per raggiungere un endpoint Amazon Simple Notification Service (Amazon SNS).

    nslookup sns.<region>.amazonaws.com
  2. Nella CLI di AWS, inserisci un comando che può aiutarti a confermare che le modifiche non hanno influito sulla funzionalità del servizio. Per un elenco di comandi, consulta AWS CLI Command Reference.

    Ad esempio, se nell'account hub sono presenti argomenti di Amazon SNS, il comando seguente dovrebbe restituire un elenco di argomenti.

    aws sns list-topics
Amministratore di rete

Risorse correlate