sql >> Databasteknik >  >> NoSQL >> MongoDB

Distribuera MongoDB i ett Amazon Virtual Private Cloud (VPC)

Uppdatering:Från och med december 2015 erbjuder AWS den hanterade EC2 NAT-gatewayen. Därför är det inte längre nödvändigt att manuellt distribuera och hantera NAT:er för dina privata undernät. Men om du av någon anledning behöver distribuera dina egna NAT-servrar kan du använda instruktionerna nedan.

Amazon Virtual Private Cloud (Amazon VPC) låter dig tillhandahålla en privat, isolerad del av Amazon Web Services (AWS) Cloud där du kan starta AWS-resurser i ett virtuellt nätverk som du definiera. Med VPC kan du definiera dina egna subnät och även styra rutter mellan dina subnät. Du kan också bestämma om du vill exponera dina subnät för internet. VPC "privata" undernät är idealiska värdar för dina MongoDB-servrar. Med en NAT konfigurerad kan dina maskiner på undernätet komma åt internet men ingen på internet kan nå dina servrar. Du kan också skapa en VPN-anslutning från webbplats till plats för att få åtkomst till dina mongo-instanser på plats.

ScaleGrid gör det enkelt att distribuera och hantera MongoDB-värdinstanser i ett VPC-undernät. Alla befintliga funktioner i MongoDB på AWS såsom säkerhetskopior, återställning, övervakning, varningar etc. är fullt funktionella i en VPC-miljö.

Privata VPC-undernät som används för Mongo-distributioner måste ha utgående åtkomst till internet – så se till att du ställer in en NAT innan du distribuerar dina mongo-instanser. Om du distribuerar en replikuppsättning, skapa tre undernät vart och ett i en separat tillgänglighetszon.

Här är ett exempel på VPC (10.20.0.0/16) som jag har konfigurerat i EU-regionen med fyra subnät:

  1. Subnät 1 (10.20.0.0/24) – Offentligt undernät
  2. Subnät 2 (10.20.1.0/24) – Privat undernät mappat till tillgänglighetszon eu-west-1a
  3. Subnät 3 (10.20.2.0/24) – Privat undernät mappat till tillgänglighetszon eu-west-1b
  4. Subnet 4 (10.20.3.0/24) – Privat subnät mappat till tillgänglighetszon eu-west-1c

Målet med det här inlägget är att distribuera en MongoDB-replikuppsättning med tre noder med en replik i vart och ett av undernäten 2, 3 och 4.

En NAT-instans har konfigurerats i det offentliga undernätet för att tillåta internetåtkomst från privata undernät 2, 3 och 4. Jag skapade också en säkerhetsgrupp – ”MongoSecurityGroup” som MongoDB-datorerna i subnät 2,3 &4 kommer att associeras med. Här är detaljerna om säkerhetsgruppens inställningar för NAT (den knepiga delen av NAT-inställningen är att se till att säkerhetsgrupper tillåter inkommande och utgående kommunikation med NAT).

NAT-säkerhetsgrupp
Utgående: Alla tillåtna (Detta är standard)
Inkommande: Tillåt 80 443 och 5671 från MongoSecurity-gruppen

MongoSecurity-grupp
Utgående: Alla tillåtna (Detta är standard)
Inkommande: 27017 från säkerhetsgruppen för applikationer och säkerhetsgruppen Mongo, 27019 från säkerhetsgruppen Mongo (för skärvor)

Felsökning
När du har ställt in dina säkerhetsgruppsregler, kontrollera att allt är korrekt konfigurerat. Det enda riktiga sättet att verifiera om dina säkerhetsgrupper är korrekt inställda är att skapa en instans:

  1. Skapa en instans från AWS-konsolen och placera den i ett av de konfigurerade undernäten.
  2. SSH in i instansen. Kontrollera internetanslutningen genom att köra "wget ​​cnn.com". Om detta misslyckas är din utgående internetåtkomst inte korrekt inställd.

Verifieringssteg när anslutningar inte fungerar:

  1. SSH in i NAT-instansen och verifiera att den har anslutning till internet genom att köra ett wget-kommando.
  2. Verifiera att din instans på det privata undernätet har anslutning till NAT-instansen på portarna 80, 443 och 5671

När du har verifierat din installation här är en detaljerad steg-för-steg-process för hur du distribuerar dina Mongo-instanser i ett VPC-undernät.

Steg 1:Skapa en maskinpool per VPC-undernät

Navigera till maskinpoolerna eller fliken Molnprofil och klicka på skapa för att ansluta till ditt AWS-molnkonto. Ange din Amazon API-nyckel och hemliga nyckel

Välj den region där du har skapat VPC:n.

Välj VPC-distributionskonfigurationen och välj dina VPC, undernät och säkerhetsgrupper. Om du vill distribuera din replikuppsättning över subnät måste du skapa en maskinpool per subnät och sedan i skapa-guiden välja rätt maskinpool för varje instans.

Steg 2:Distribuera dina Mongo-instanser i maskinpoolen i VPC-undernätet

Navigera till fliken distributioner och klicka på Skapa för att skapa ett nytt MongoDB-kluster. I guiden väljer du maskinpoolen som du just skapade som distributionsmål. Detta kommer att skapa dina mongo-instanser i det specifika VPC-undernät som du valde.

Om du har andra frågor/kommentarer eller önskemål om funktioner vill vi gärna höra från dig. Du kan maila oss på [email protected].


  1. Finns det ett bra sätt att stödja popmedlemmar från Redis Sorted Set?

  2. Meteor:oväntad mongo exit kod 100

  3. Implementering av paginering i mongodb

  4. WRONGTYPE Operation mot en tangent som har fel typ av värde php