Ich hatte ein ähnliches Problem beim Versuch, remote auf die Mongo-Shell zuzugreifen, und mehrere dieser Antworten halfen bei Teilen der Lösung. Zusammenfassend:
-
Öffentliche IP/DNS :Wählen Sie Ihre Instance in der EC2-Verwaltungskonsole aus und stellen Sie sicher, dass sie über eine öffentliche IP oder ein öffentliches DNS verfügt. AWS verschiebt mehr der Standardeinstellungen in eine Virtual Private Cloud (VPC), und es ist möglich, in einer nur mit einer privaten IP-Adresse (innerhalb der VPC) zu starten. Wenn Sie kein öffentliches DNS oder keine öffentliche IP haben, müssen Sie eine elastische IP zuweisen.
-
Ports der Sicherheitsgruppe :Sehen Sie sich erneut die Instanzdetails in der EC2-Konsole an, suchen Sie die Sicherheitsgruppen und wählen Sie „Regeln anzeigen“. Angenommen, Sie verwenden standardmäßige Mongo-Ports, sollten Sie
27017
haben und28017
offen für TCP ab0.0.0.0/0
oder (sicherer) von Ihrer IP-Adresse. Wenn nicht, wählen Sie eine Sicherheitsgruppe für Ihre Instanz aus und gehen Sie in der Konsole zuInbound
>Edit
>Add Rule
>Custom TCP Rule
,Port Range: 27017
, und eine entsprechende IP-Source
. Fügen Sie für die HTTP-Schnittstelle eine weitere Regel fürPort Range: 28017
hinzu . -
/etc/mongod.conf :
- Entkommentieren Sie
port=27017
um sicherzustellen, dass Sie den Standardport haben (ich glaube nicht, dass das wirklich notwendig ist, aber es hat mir ein besseres Gefühl gegeben und es ist gut zu wissen, wo man den Standardport ändern kann ...) - Kommentieren Sie
bind_ip=127.0.0.1
aus um externe Schnittstellen (z. B. Remote-Verbindungen) abzuhören - Entkommentieren Sie
httpinterface=true
wenn Sie die http-Schnittstelle verwenden möchten
- Entkommentieren Sie
-
Benutzer erstellen :Sie müssen einen Administrator und/oder Benutzer erstellen, um remote auf die Datenbank zuzugreifen.