MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Distribuisci MongoDB in un Amazon Virtual Private Cloud (VPC)

Aggiornamento:a partire da dicembre 2015 AWS offre il gateway NAT EC2 gestito. Quindi non è più necessario distribuire e gestire manualmente i NAT per le tue sottoreti private. Se tuttavia per qualche motivo hai bisogno di distribuire i tuoi server NAT, puoi utilizzare le istruzioni seguenti.

Amazon Virtual Private Cloud (Amazon VPC) ti consente di eseguire il provisioning di una sezione privata e isolata del cloud Amazon Web Services (AWS) in cui puoi avviare le risorse AWS in una rete virtuale definire. Con VPC, puoi definire le tue sottoreti e anche controllare i percorsi tra le tue sottoreti. Puoi anche decidere se vuoi esporre le tue sottoreti a Internet. Le sottoreti "private" VPC sono host ideali per i tuoi server MongoDB. Con un NAT configurato, le tue macchine sulla sottorete possono accedere a Internet ma nessuno su Internet può raggiungere i tuoi server. Puoi anche configurare una connessione VPN da sito a sito per accedere alle tue istanze mongo da locale.

ScaleGrid semplifica il deployment e la gestione delle istanze di hosting MongoDB in una sottorete VPC. Tutte le funzionalità esistenti di MongoDB su AWS come backup, ripristini, monitoraggio, avvisi e così via sono completamente funzionali in un ambiente VPC.

Le sottoreti VPC private utilizzate per le distribuzioni di Mongo devono avere accesso in uscita a Internet, quindi assicurati di configurare un NAT prima di distribuire le tue istanze mongo. Se stai distribuendo un set di repliche, crea tre sottoreti ciascuna in una zona di disponibilità separata.

Ecco un esempio di VPC (10.20.0.0/16) che ho configurato nell'area dell'UE con quattro sottoreti:

  1. Sottorete 1 (10.20.0.0/24) – Sottorete pubblica
  2. Subnet 2 (20.10.1.0/24) – Sottorete privata mappata alla zona di disponibilità eu-west-1a
  3. Subnet 3 (10.20.2.0/24) – Sottorete privata mappata alla zona di disponibilità eu-west-1b
  4. Subnet 4 (10.20.3.0/24) – Sottorete privata mappata alla zona di disponibilità eu-west-1c

L'obiettivo in questo post è distribuire un set di repliche MongoDB a 3 nodi con una replica in ciascuna delle sottoreti 2, 3 e 4.

Un'istanza NAT è stata configurata nella sottorete pubblica per consentire l'accesso a Internet dalle sottoreti private 2, 3 e 4. Ho anche creato un securityGroup - "MongoSecurityGroup" in cui i computer MongoDB la sottorete 2,3 e 4 sarà associata. Ecco i dettagli della configurazione del gruppo di sicurezza per il NAT (la parte difficile della configurazione del NAT è assicurarsi che i gruppi di sicurezza consentano la comunicazione in entrata e in uscita con il NAT).

Gruppo di sicurezza NAT
In uscita: Tutti consentiti (questa è l'impostazione predefinita)
In entrata: Consenti 80.443 e 5671 dal gruppo MongoSecurity

Gruppo MongoSecurity
In uscita: Tutti consentiti (questa è l'impostazione predefinita)
In entrata: 27017 dal gruppo di sicurezza dell'applicazione e dal gruppo di sicurezza Mongo, 27019 dal gruppo di sicurezza Mongo (per frammenti)

Risoluzione dei problemi
Una volta impostate le regole del gruppo di sicurezza, verifica che tutto sia impostato correttamente. L'unico vero modo per verificare se i tuoi gruppi di sicurezza sono impostati correttamente è creare un'istanza:

  1. Crea un'istanza dalla console AWS e posizionala in una delle sottoreti configurate.
  2. SSH nell'istanza. Controlla la connettività Internet eseguendo "wget ​​cnn.com". In caso contrario, l'accesso a Internet in uscita non è configurato correttamente.

Passaggi di verifica quando le connessioni non funzionano:

  1. SSH nell'istanza NAT e verifica che disponga di connettività a Internet eseguendo un comando wget.
  2. Verifica che la tua istanza sulla sottorete privata disponga di connettività all'istanza NAT sulle porte 80, 443 e 5671

Dopo aver verificato la tua configurazione, ecco una procedura dettagliata su come distribuire le tue istanze Mongo in una sottorete VPC.

Passaggio 1:crea un pool di macchine per sottorete VPC

Accedi ai pool di macchine o alla scheda Profilo cloud e fai clic su Crea per connetterti al tuo account cloud AWS. Inserisci la tua chiave API Amazon e la chiave segreta

Seleziona la regione in cui hai creato il VPC.

Seleziona la configurazione di distribuzione del VPC e scegli il VPC, le sottoreti e i gruppi di sicurezza. Se desideri distribuire il tuo set di repliche tra sottoreti, devi creare un pool di macchine per sottorete e quindi nella procedura guidata di creazione scegliere il pool di macchine corretto per ogni istanza.

Passaggio 2:distribuisci le tue istanze Mongo nel pool Machine della sottorete VPC

Vai alla scheda delle distribuzioni e fai clic su Crea per creare un nuovo cluster MongoDB. Nella procedura guidata, seleziona il Machine Pool che hai appena creato come destinazione di distribuzione. Questo creerà le tue istanze mongo nella particolare sottorete VPC che hai selezionato.

Se hai altre domande/commenti o richieste di funzionalità, ci piacerebbe avere tue notizie. Puoi inviarci un'e-mail a [email protected].