Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Zugriff auf Ihren Cluster
Ihre MemoryDB-Instances sind für den Zugriff über eine EC2 Amazon-Instance konzipiert.
Sie können von einer EC2 Amazon-Instance in derselben Amazon VPC aus auf Ihren MemoryDB-Knoten zugreifen. Oder Sie können mithilfe von VPC-Peering von einem Amazon EC2 in einer anderen Amazon-VPC auf Ihren MemoryDB-Knoten zugreifen.
Gewähren Sie Zugriff auf Ihren Cluster
Sie können nur von einer EC2 Amazon-Instance aus, die in derselben Amazon VPC läuft, eine Verbindung zu Ihrem MemoryDB-Cluster herstellen. In diesem Fall müssen Sie Netzwerkzugang zum Cluster gewähren.
So gewähren Sie einem Cluster den Netzwerkeingang aus einer Amazon-VPC-Sicherheitsgruppe
Melden Sie sich bei der an AWS Management Console und öffnen Sie die EC2 Amazon-Konsole unter https://console.aws.amazon.com/ec2/
. -
Wählen Sie im linken Navigationsbereich unter Netzwerk und Sicherheit die Option Sicherheitsgruppen aus.
-
Wählen Sie aus der Liste der Sicherheitsgruppen die Sicherheitsgruppe Ihrer Amazon VPC aus. Sofern Sie keine Sicherheitsgruppe für die Verwendung von MemoryDB erstellt haben, erhält diese Sicherheitsgruppe den Namen Standard.
-
Wählen Sie die Registerkarte Inbound und verfahren Sie dann wie folgt:
-
Wählen Sie Edit aus.
-
Wählen Sie Regel hinzufügen aus.
-
Wählen Sie in der Spalte Typ die Option Benutzerdefinierte TCP-Regel aus.
-
Geben Sie in das Feld Port Range die Portnummer Ihres Clusterknotens ein. Diese Nummer muss mit der Nummer übereinstimmen, die Sie beim Starten des Clusters angegeben haben. Der Standardport für Valkey und Redis OSS ist.
6379
-
Wählen Sie im Feld Quelle die Option Anywhere mit dem Portbereich (0.0.0.0/0) aus, sodass jede EC2 Amazon-Instance, die Sie in Ihrer Amazon VPC starten, eine Verbindung zu Ihren MemoryDB-Knoten herstellen kann.
Wichtig
Durch das Öffnen des MemoryDB-Clusters für 0.0.0.0/0 wird der Cluster nicht dem Internet zugänglich gemacht, da er keine öffentliche IP-Adresse hat und daher nicht von außerhalb der VPC darauf zugegriffen werden kann. Die Standardsicherheitsgruppe kann jedoch auf andere EC2 Amazon-Instances im Kundenkonto angewendet werden, und diese Instances können eine öffentliche IP-Adresse haben. Wenn diese Instances zufälligerweise eine Aktion auf dem Standardport ausführen, dann könnte dieser Service unbeabsichtigt zugänglich gemacht werden. Daher empfehlen wir, eine VPC-Sicherheitsgruppe zu erstellen, die ausschließlich von MemoryDB verwendet wird. Weitere Informationen finden Sie unter Benutzerdefinierte Sicherheitsgruppen.
-
Wählen Sie Save (Speichern) aus.
-
Wenn Sie eine EC2 Amazon-Instance in Ihrer Amazon VPC starten, kann diese Instance eine Verbindung zu Ihrem MemoryDB-Cluster herstellen.
Zugriff auf MemoryDB-Ressourcen von außen AWS
MemoryDB ist ein Dienst, der für die interne Verwendung in Ihrer VPC konzipiert wurde. Von einem externen Zugriff wird wegen der Latenz des Internetverkehrs und aufgrund von Sicherheitsbedenken abgeraten. Wenn jedoch für Test- oder Entwicklungszwecke ein externer Zugriff auf MemoryDB erforderlich ist, kann dieser über ein VPN erfolgen.
Mit dem AWS Client VPN ermöglichen Sie externen Zugriff auf Ihre MemoryDB-Knoten mit den folgenden Vorteilen:
Eingeschränkter Zugriff auf zugelassene Benutzer oder Authentifizierungsschlüssel;
Verschlüsselter Verkehr zwischen dem VPN-Client und dem AWS VPN-Endpunkt;
beschränkter Zugriff auf bestimmte Subnetze oder Knoten,
einfacher Widerruf des Zugriffs von Benutzern oder Authentifizierungsschlüsseln,
Prüfung von Verbindungen.
Die folgenden Verfahren veranschaulichen, wie Sie:
Themen
Anlegen einer Zertifizierungsstelle
Es ist möglich, eine Zertifizierungsstelle (Certificate Authority, CA) mit verschiedenen Methoden oder Tools zu erstellen. Wir schlagen dazu das Dienstprogramm easy-rsa vor, das vom OpenVPN
Um die ersten Zertifikate zu erstellen, öffnen Sie ein Terminal und gehen Sie folgendermaßen vor:
git clone
https://github.com/OpenVPN/easy-rsacd easy-rsa
./easyrsa3/easyrsa init-pki
./easyrsa3/easyrsa build-ca nopass
./easyrsa3/easyrsa build-server-full server nopass
./easyrsa3/easyrsa build-client-full client1.domain.tld nopass
Es wird ein pki-Unterverzeichnis mit den Zertifikaten unter easy-rsa erstellt.
Senden Sie das Serverzertifikat an den AWS Certificate Manager (ACM):
Wählen Sie in der ACM-Konsole die Option Certificate Manager (Zertifikatmanager)aus.
Wählen Sie Import Certificate (Zertifikat importieren)aus.
Geben Sie das in der Datei
easy-rsa/pki/issued/server.crt
zur Verfügung stehende Zertifikat des öffentlichen Schlüssels in das Feld Certificate body (Zertifikattext) ein.Fügen Sie den unter
easy-rsa/pki/private/server.key
zur Verfügung stehenden privaten Schlüssel in das Feld Private Certificate Key (Privater Zertifikatsschlüssel) ein. Achten Sie darauf, dass Sie alle Zeilen zwischenBEGIN AND END PRIVATE KEY
(einschließlich der ZeilenBEGIN
undEND
) auswählen.Fügen Sie den in der Datei
easy-rsa/pki/ca.crt
verfügbaren öffentlichen CA-Schlüssel in das Feld Certificate chain (Zertifikatskette) ein.Wählen Sie die Option Review and import (Überprüfen und Importieren) aus.
Klicken Sie auf Import (Importieren).
Führen Sie den folgenden Befehl aus, um die Serverzertifikate mithilfe der AWS CLI an ACM zu senden:
aws acm import-certificate --certificate fileb://easy-rsa/pki/issued/server.crt --private-key file://easy-rsa/pki/private/server.key --certificate-chain file://easy-rsa/pki/ca.crt --region
region
Notieren Sie sich den Zertifikats-ARN für eine spätere Verwendung.
Konfiguration der AWS Client-VPN-Komponenten
Verwendung der AWS Konsole
Wählen Sie auf der AWS Konsole Dienste und dann VPC aus.
Wählen Sie unter Virtual Private Network (Virtuelles privates Netzwerk) die Option Client VPN Endpoints (Client-VPN-Endpunkte) aus und führen Sie die folgenden Schritte aus:
Konfiguration von AWS Client-VPN-Komponenten
Wählen Sie Create Client VPN Endpoint (Client-VPN-Endpunkt erstellen) aus.
Folgende Optionen stehen Ihnen zur Verfügung:
Client IPv4 CIDR: Verwenden Sie ein privates Netzwerk mit einer Netzmaske im Bereich /22. Stellen Sie sicher, dass das ausgewählte Subnetz nicht mit den Adressen der VPC-Netzwerke in Konflikt steht. Beispiel: 10.0.0.0/22.
Wählen Sie unter Server certificate ARN (Serverzertifikat-ARN) den ARN des zuvor importierten Zertifikats aus.
Wählen Sie die Option Use mutual authentication (Gegenseitige Authentifizierung verwenden) aus.
-
Wählen Sie unter Client certificate ARN (Client-Zertifikats-ARN) den ARN des zuvor importierten Zertifikats aus.
-
Wählen Sie Create Client VPN Endpoint (Client-VPN-Endpunkt erstellen) aus.
Mit dem AWS CLI
Führen Sie den folgenden Befehl aus:
aws ec2 create-client-vpn-endpoint --client-cidr-block "10.0.0.0/22" --server-certificate-arn arn:aws:acm:us-east-1:012345678912:certificate/0123abcd-ab12-01a0-123a-123456abcdef --authentication-options Type=certificate-authentication,,MutualAuthentication={ClientRootCertificateChainArn=arn:aws:acm:us-east-1:012345678912:certificate/123abcd-ab12-01a0-123a-123456abcdef} --connection-log-options Enabled=false
Beispielausgabe:
"ClientVpnEndpointId": "cvpn-endpoint-0123456789abcdefg",
"Status": {
"Code": "pending-associate"
},
"DnsName": "cvpn-endpoint-0123456789abcdefg.prod.clientvpn.us-east-1.amazonaws.com"
}
Zuordnen der Zielnetzwerke zum VPN-Endpunkt
Wählen Sie den neuen VPN-Endpunkt und dann die Registerkarte Associations (Zuordnungen) aus.
Wählen Sie Associate (Zuordnen) aus und nutzen Sie die folgenden Optionen:
VPC: Wählen Sie die VPC des MemoryDB-Clusters aus.
Wählen Sie eines der Netzwerke des MemoryDB-Clusters aus. Überprüfen Sie im Zweifelsfall die Netzwerke in den Subnetzgruppen im MemoryDB-Dashboard.
Wählen Sie Associate (Zuordnen)aus. Wiederholen Sie ggf. die Schritte für die verbleibenden Netzwerke.
Mit dem AWS CLI
Führen Sie den folgenden Befehl aus:
aws ec2 associate-client-vpn-target-network --client-vpn-endpoint-id cvpn-endpoint-0123456789abcdefg --subnet-id subnet-0123456789abdcdef
Beispielausgabe:
"Status": {
"Code": "associating"
},
"AssociationId": "cvpn-assoc-0123456789abdcdef"
}
Überprüfen der VPN-Sicherheitsgruppe
Der VPN-Endpunkt übernimmt automatisch die Standard-Sicherheitsgruppe der VPC. Überprüfen Sie die Regeln für eingehenden und ausgehenden Datenverkehr und bestätigen Sie, ob die Sicherheitsgruppe den Datenverkehr vom VPN-Netzwerk (definiert in den VPN-Endpunkteinstellungen) zu den MemoryDB-Netzwerken an den Serviceports zulässt (standardmäßig 6379 für Redis).
Wenn Sie die Sicherheitsgruppe ändern müssen, die dem VPN-Endpunkt zugewiesen ist, gehen Sie wie folgt vor:
Wählen Sie die aktuelle Sicherheitsgruppe aus.
Klicken Sie auf Apply Security Group (Sicherheitsgruppe anwenden).
Wählen Sie die neue Sicherheitsgruppe aus.
Verwenden der AWS CLI
Führen Sie den folgenden Befehl aus:
aws ec2 apply-security-groups-to-client-vpn-target-network --client-vpn-endpoint-id cvpn-endpoint-0123456789abcdefga --vpc-id vpc-0123456789abdcdef --security-group-ids sg-0123456789abdcdef
Beispielausgabe:
"SecurityGroupIds": [
"sg-0123456789abdcdef"
]
}
Anmerkung
Die MemoryDB-Sicherheitsgruppe muss auch den Datenverkehr zulassen, der von den VPN-Clients kommt. Die Adressen der Clients werden entsprechend dem VPC-Netzwerk mit der VPN-Endpunktadresse maskiert. Berücksichtigen Sie daher das VPC-Netzwerk (nicht das Netzwerk der VPN-Clients), wenn Sie die Regel für eingehenden Datenverkehr für die MemoryDB-Sicherheitsgruppe erstellen.
Autorisieren des VPN-Zugriffs auf die Zielnetzwerke
Wählen Sie auf der Registerkarte Authorization (Autorisierung) die Option Authorize Ingress (Autorisierung eingehender Daten) aus und geben Sie Folgendes an:
Zielnetzwerk, um den Zugriff zu ermöglichen: Verwenden Sie entweder 0.0.0.0/0, um den Zugriff auf jedes Netzwerk (einschließlich des Internets) zu ermöglichen, oder schränken Sie die MemoryDB-Netzwerke/Hosts ein.
Wählen Sie unter Grant access to: (Zugriff gewähren für:) die Option Allow access to all users (Zugriff für alle Benutzer zulassen)aus.
Wählen Sie Add Authorization Rules (Autorisierungsregeln hinzufügen)aus.
Mit dem AWS CLI
Führen Sie den folgenden Befehl aus:
aws ec2 authorize-client-vpn-ingress --client-vpn-endpoint-id cvpn-endpoint-0123456789abcdefg --target-network-cidr 0.0.0.0/0 --authorize-all-groups
Beispielausgabe:
{
"Status": {
"Code": "authorizing"
}
}
Ermöglichen des Zugriffs auf das Internet über VPN-Clients
Wenn Sie über das VPN im Internet surfen müssen, müssen Sie eine zusätzliche Route erstellen. Wählen Sie die Registerkarte Route Table (Routentabelle) und dann die Option Create Route (Route erstellen) aus:
Routenziel: 0.0.0.0/0
Target VPC Subnet ID (Ziel-VPC-Subnetz-ID): Wählen Sie eines der zugeordneten Subnetze mit Zugang zum Internet aus.
Klicken Sie auf Create Route (Route erstellen).
Mit dem AWS CLI
Führen Sie den folgenden Befehl aus:
aws ec2 create-client-vpn-route --client-vpn-endpoint-id cvpn-endpoint-0123456789abcdefg --destination-cidr-block 0.0.0.0/0 --target-vpc-subnet-id subnet-0123456789abdcdef
Beispielausgabe:
{
"Status": {
"Code": "creating"
}
}
Konfigurieren des VPN-Clients
Wählen Sie im AWS Client-VPN-Dashboard den kürzlich erstellten VPN-Endpunkt aus und wählen Sie Client-Konfiguration herunterladen aus. Kopieren Sie die Konfigurationsdatei sowie die Dateien easy-rsa/pki/issued/client1.domain.tld.crt
und easy-rsa/pki/private/client1.domain.tld.key
. Bearbeiten Sie die Konfigurationsdatei und ändern oder fügen Sie die folgenden Parameter hinzu:
cert: Fügen Sie eine neue Zeile hinzu, wobei der Parameter „cert“ auf die Datei
client1.domain.tld.crt
verweist. Verwenden Sie den vollständigen Pfad zu der Datei. Beispiel:cert /home/user/.cert/client1.domain.tld.crt
cert: key: Fügen Sie eine neue Zeile hinzu, wobei der Parameter „key“ auf die Datei
client1.domain.tld.key
verweist. Verwenden Sie den vollständigen Pfad zu der Datei. Beispiel:key /home/user/.cert/client1.domain.tld.key
Stellen Sie die VPN-Verbindung mit folgendem Befehl her: sudo openvpn --config downloaded-client-config.ovpn
Aufheben des Zugriffs
Soll die Gültigkeit des Zugriffs eines bestimmten Clientschlüssels aufgehoben werden, muss der Schlüssel in der Zertifizierungsstelle widerrufen werden. Senden Sie dann die Sperrliste an AWS Client VPN.
Widerrufen des Schlüssels mit easy-rsa:
cd easy-rsa
./easyrsa3/easyrsa revoke client1.domain.tld
Geben Sie „yes“ (Ja) ein, um fortzufahren, oder nehmen Sie zum Abbrechen eine andere Eingabe vor.
Continue with revocation: `yes` ... * `./easyrsa3/easyrsa gen-crl
Es wurde eine aktualisierte CRL erstellt. CRL-Datei:
/home/user/easy-rsa/pki/crl.pem
Import der Sperrliste in das AWS Client VPN:
Wählen Sie auf dem AWS Management ConsoleDienste und dann VPC aus.
Wählen Sie Client VPN Endpoints (Client-VPN-Endpunkte aus.
Wählen Sie den Client-VPN-Endpunkt aus und klicken Sie dann auf Actions (Aktionen) -> Import Client Certificate CRL (Client-Zertifikats-CRL importieren).
Fügen Sie den Inhalt der Datei
crl.pem
-Datei ein:
Verwenden Sie den AWS CLI
Führen Sie den folgenden Befehl aus:
aws ec2 import-client-vpn-client-certificate-revocation-list --certificate-revocation-list file://./easy-rsa/pki/crl.pem --client-vpn-endpoint-id cvpn-endpoint-0123456789abcdefg
Beispielausgabe:
Example output:
{
"Return": true
}