

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
<a name="accessing-memorydb"></a>

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.

**Topics**
+ [

## Gewähren Sie Zugriff auf Ihren Cluster
](#grant-access)
+ [

## Zugriff auf MemoryDB-Ressourcen von außen AWS
](#access-from-outside-aws)

## Gewähren Sie Zugriff auf Ihren Cluster
<a name="grant-access"></a>

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**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die EC2 Amazon-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Wählen Sie im linken Navigationsbereich unter **Netzwerk und Sicherheit** die Option **Sicherheitsgruppen** aus.

1. 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.*

1. Wählen Sie die Registerkarte **Inbound** und verfahren Sie dann wie folgt:

   1. Wählen Sie **Bearbeiten** aus.

   1. Wählen Sie **Regel hinzufügen** aus.

   1. Wählen Sie in der Spalte **Typ** die Option **Benutzerdefinierte TCP-Regel** aus.

   1. 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**

   1. 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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#creating-your-own-security-groups).

   1. Wählen Sie **Speichern**.

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
<a name="access-from-outside-aws"></a>

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:

**Topics**
+ [

### Anlegen einer Zertifizierungsstelle
](#create-cert)
+ [

### Konfiguration der AWS Client-VPN-Komponenten
](#configure-vpn-components)
+ [

### Konfigurieren des VPN-Clients
](#configure-vpn-client)

### Anlegen einer Zertifizierungsstelle
<a name="create-cert"></a>

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](https://openvpn.net/community-resources/openvpn-project/)-Projekt bereitgestellt wird. Unabhängig von der Option, die Sie wählen, achten Sie darauf, die Schlüssel sicher zu halten. Über das folgende Verfahren werden die easy-rsa-Skripte heruntergeladen, die Zertifizierungsstelle und die Schlüssel zur Authentifizierung des ersten VPN-Clients erstellt:
+ Um die ersten Zertifikate zu erstellen, öffnen Sie ein Terminal und gehen Sie folgendermaßen vor:
  + `git clone`[https://github.com/OpenVPN/easy-rsa](https://github.com/OpenVPN/easy-rsa)
  + `cd 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 zwischen `BEGIN AND END PRIVATE KEY` (einschließlich der Zeilen `BEGIN` und `END`) 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
<a name="configure-vpn-components"></a>

**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
<a name="configure-vpn-client"></a>

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-Managementkonsole**Dienste** 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 } `