Tutorial: Konfiguration des privaten Netzwerkzugriffs mit einem AWS Client VPN - Amazon Managed Workflows für Apache Airflow

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.

Tutorial: Konfiguration des privaten Netzwerkzugriffs mit einem AWS Client VPN

Dieses Tutorial führt Sie durch die Schritte zum Erstellen eines VPN-Tunnels von Ihrem Computer zum Apache Airflow-Webserver für Ihre Amazon Managed Workflows for Apache Airflow-Umgebung. Um über einen VPN-Tunnel eine Verbindung zum Internet herzustellen, müssen Sie zunächst einen AWS Client VPN Endpunkt erstellen. Nach der Einrichtung fungiert ein Client-VPN-Endpunkt als VPN-Server, der eine sichere Verbindung von Ihrem Computer zu den Ressourcen in Ihrer VPC ermöglicht. Anschließend stellen Sie von Ihrem Computer aus mithilfe von AWS Client VPN for Desktop eine Verbindung zum Client VPN her.

Privates Netzwerk

In diesem Tutorial wird davon ausgegangen, dass Sie den privaten Netzwerkzugriffsmodus für Ihren Apache Airflow-Webserver ausgewählt haben.

Dieses Bild zeigt die Architektur für eine Amazon MWAA-Umgebung mit einem privaten Webserver.

Der private Netzwerkzugriffsmodus beschränkt den Zugriff auf die Apache Airflow-Benutzeroberfläche auf Benutzer in Ihrer Amazon VPC, denen Zugriff auf die IAM-Richtlinie für Ihre Umgebung gewährt wurde.

Wenn Sie eine Umgebung mit privatem Webserverzugriff erstellen, müssen Sie alle Ihre Abhängigkeiten in einem Python-Radarchiv (.whl) verpacken und dann auf das .whl in Ihrem verweisenrequirements.txt. Anweisungen zum Paketieren und Installieren Ihrer Abhängigkeiten mit Wheel finden Sie unter Abhängigkeiten mit Python Wheel verwalten.

Die folgende Abbildung zeigt, wo Sie die Option Privates Netzwerk auf der Amazon MWAA-Konsole finden.

Dieses Bild zeigt, wo Sie die Option Privates Netzwerk auf der Amazon MWAA-Konsole finden.

Anwendungsfälle

Sie können dieses Tutorial verwenden, bevor oder nachdem Sie eine Amazon MWAA-Umgebung erstellt haben. Sie müssen dieselbe Amazon VPC, dieselben VPC-Sicherheitsgruppen und dieselben privaten Subnetze wie Ihre Umgebung verwenden. Wenn Sie dieses Tutorial verwenden, nachdem Sie eine Amazon MWAA-Umgebung erstellt haben, können Sie nach Abschluss der Schritte zur Amazon MWAA-Konsole zurückkehren und den Zugriffsmodus Ihres Apache Airflow-Webservers auf Privates Netzwerk ändern.

Bevor Sie beginnen

  1. Prüfen Sie die Benutzerberechtigungen. Stellen Sie sicher, dass Ihr Konto in AWS Identity and Access Management (IAM) über ausreichende Berechtigungen zum Erstellen und Verwalten von VPC-Ressourcen verfügt.

  2. Verwenden Sie Ihre Amazon MWAA VPC. In diesem Tutorial wird davon ausgegangen, dass Sie das Client VPN einer vorhandenen VPC zuordnen. Die Amazon VPC muss sich in derselben AWS Region wie eine Amazon MWAA-Umgebung befinden und über zwei private Subnetze verfügen. Wenn Sie keine Amazon VPC erstellt haben, verwenden Sie die AWS CloudFormation Vorlage inOption drei: Erstellen eines Amazon VPC-Netzwerks ohne Internetzugang.

Ziele

In diesem Tutorial führen Sie folgende Aufgaben durch:

  1. Erstellen Sie einen AWS Client VPN Endpunkt mithilfe einer AWS CloudFormation Vorlage für eine bestehende Amazon VPC.

  2. Generieren Sie Server- und Client-Zertifikate und Schlüssel und laden Sie dann das Serverzertifikat und den Schlüssel AWS Certificate Manager in dieselbe AWS Region hoch wie eine Amazon MWAA-Umgebung.

  3. Laden Sie eine Client-VPN-Endpunktkonfigurationsdatei für Ihr Client VPN herunter, ändern Sie sie und verwenden Sie die Datei, um ein VPN-Profil für die Verbindung mit dem Client VPN für Desktop zu erstellen.

(Optional) Erster Schritt: Identifizieren Sie Ihre VPC, CIDR-Regeln und VPC-Sicherheit (en)

Im folgenden Abschnitt wird beschrieben, wie Sie IDs für Ihre Amazon VPC und Ihre VPC-Sicherheitsgruppe suchen und wie Sie die CIDR-Regeln identifizieren können, die Sie für die Erstellung Ihres Client VPN in den nachfolgenden Schritten benötigen.

Identifizieren Sie Ihre CIDR-Regeln

Der folgende Abschnitt zeigt, wie Sie die CIDR-Regeln identifizieren, die Sie für die Erstellung Ihres Client VPN benötigen.

Um den CIDR für Ihr Client VPN zu identifizieren
  1. Öffnen Sie die VPCs Seite „Ihr Amazon“ in der Amazon VPC-Konsole.

  2. Verwenden Sie die Regionsauswahl in der Navigationsleiste, um dieselbe AWS Region wie eine Amazon MWAA-Umgebung auszuwählen.

  3. Wählen Sie Ihre Amazon VPC.

  4. Angenommen, CIDRs für Ihre privaten Subnetze gelten:

    • Privates Subnetz 1:10.192.10.0 /24

    • Privates Subnetz 2:10.192.11.0 /24

    Wenn die CIDR für Ihre Amazon VPC 10.192.0.0 ist/16, dann wäre die IPv4 Client-CIDR, die Sie für Ihr Client VPN angeben würden, 10.192.0.0. /22

  5. Speichern Sie diesen CIDR-Wert und den Wert Ihrer VPC-ID für nachfolgende Schritte.

Identifizieren Sie Ihre VPC und Sicherheitsgruppe (n)

Der folgende Abschnitt zeigt, wie Sie die ID Ihrer Amazon VPC und Sicherheitsgruppe (n) finden, die Sie für die Erstellung Ihres Client VPN benötigen.

Anmerkung

Möglicherweise verwenden Sie mehr als eine Sicherheitsgruppe. In den nachfolgenden Schritten müssen Sie alle Sicherheitsgruppen Ihrer VPC angeben.

Um die Sicherheitsgruppe (n) zu identifizieren
  1. Öffnen Sie die Seite Sicherheitsgruppen in der Amazon VPC-Konsole.

  2. Verwenden Sie die Regionsauswahl in der Navigationsleiste, um die AWS Region auszuwählen.

  3. Suchen Sie in der VPC-ID nach der Amazon VPC und identifizieren Sie die Sicherheitsgruppen, die der VPC zugeordnet sind.

  4. Speichern Sie die ID Ihrer Sicherheitsgruppe (n) und VPC für nachfolgende Schritte.

Schritt zwei: Erstellen Sie die Server- und Client-Zertifikate

Client VPN-Endpunkte unterstützen bei RSA nur Schlüsselgrößen von 1024-Bit und 2048-Bit. Der folgende Abschnitt zeigt, wie Sie OpenVPN easy-rsa verwenden, um die Server- und Client-Zertifikate und Schlüssel zu generieren und die Zertifikate dann mit der () auf ACM hochzuladen. AWS Command Line Interface AWS CLI

Um die Client-Zertifikate zu erstellen
  1. Gehen Sie wie folgt vor, um die Zertifikate zu erstellen und über den AWS CLI Link Client-Authentifizierung und Autorisierung: Gegenseitige Authentifizierung auf ACM hochzuladen.

  2. In diesen Schritten müssen Sie beim Hochladen Ihrer Server- und Client-Zertifikate dieselbe AWS Region wie eine Amazon MWAA-Umgebung im AWS CLI Befehl angeben. Im Folgenden finden Sie einige Beispiele dafür, wie Sie die Region in diesen Befehlen angeben können:

    1. Beispiel Region für das Serverzertifikat
      aws acm import-certificate --certificate fileb://server.crt --private-key fileb://server.key --certificate-chain fileb://ca.crt --region us-west-2
    2. Beispiel Region für das Client-Zertifikat
      aws acm import-certificate --certificate fileb://client1.domain.tld.crt --private-key fileb://client1.domain.tld.key --certificate-chain fileb://ca.crt --region us-west-2
    3. Speichern Sie nach diesen Schritten den in der AWS CLI Antwort zurückgegebenen Wert für das Serverzertifikat und das Client-Zertifikat ARNs. Sie geben diese ARNs in Ihrer AWS CloudFormation Vorlage an, um das Client VPN zu erstellen.

  3. In diesen Schritten werden ein Client-Zertifikat und ein privater Schlüssel auf Ihrem Computer gespeichert. Hier ist ein Beispiel dafür, wo Sie diese Anmeldeinformationen finden können:

    1. Beispiel auf macOS

      Auf macOS werden die Inhalte unter gespeichert/Users/youruser/custom_folder. Wenn Sie den gesamten Inhalt (ls -a) dieses Verzeichnisses auflisten, sollte etwas Ähnliches wie das Folgende angezeigt werden:

      . .. ca.crt client1.domain.tld.crt client1.domain.tld.key server.crt server.key
    2. Speichern Sie nach diesen Schritten den Inhalt oder notieren Sie sich den Speicherort des Client-Zertifikats unter und den privaten Schlüssel unterclient1.domain.tld.key. client1.domain.tld.crt Sie werden diese Werte zur Konfigurationsdatei für Ihr Client VPN hinzufügen.

Schritt drei: Speichern Sie die AWS CloudFormation Vorlage lokal

Der folgende Abschnitt enthält die AWS CloudFormation Vorlage zum Erstellen des Client VPN. Sie müssen dieselbe Amazon VPC, VPC-Sicherheitsgruppe (n) und dieselben privaten Subnetze wie in Ihrer Amazon MWAA-Umgebung angeben.

  • Kopieren Sie den Inhalt der folgenden Vorlage und speichern Sie ihn lokal unter. mwaa_vpn_client.yaml Sie können die Vorlage auch herunterladen.

    Ersetzen Sie die folgenden Werte:

    • YOUR_CLIENT_ROOT_CERTIFICATE_ARN— Der ARN für Ihr client1.domain.tld-Zertifikat in. ClientRootCertificateChainArn

    • YOUR_SERVER_CERTIFICATE_ARN— Der ARN für Ihr Serverzertifikat inServerCertificateArn.

    • Die IPv4 Client-CIDR-Regel inClientCidrBlock. Eine CIDR-Regel von 10.192.0.0/22 wird bereitgestellt.

    • Ihre Amazon VPC-ID inVpcId. Eine VPC von vpc-010101010101 wird bereitgestellt.

    • Ihre VPC-Sicherheitsgruppen-ID (s) inSecurityGroupIds. Eine Sicherheitsgruppe von sg-0101010101 wird bereitgestellt.

    AWSTemplateFormatVersion: 2010-09-09 Description: This template deploys a VPN Client Endpoint. Resources: ClientVpnEndpoint: Type: 'AWS::EC2::ClientVpnEndpoint' Properties: AuthenticationOptions: - Type: "certificate-authentication" MutualAuthentication: ClientRootCertificateChainArn: "YOUR_CLIENT_ROOT_CERTIFICATE_ARN" ClientCidrBlock: 10.192.0.0/22 ClientConnectOptions: Enabled: false ConnectionLogOptions: Enabled: false Description: "MWAA Client VPN" DnsServers: [] SecurityGroupIds: - sg-0101010101 SelfServicePortal: '' ServerCertificateArn: "YOUR_SERVER_CERTIFICATE_ARN" SplitTunnel: true TagSpecifications: - ResourceType: "client-vpn-endpoint" Tags: - Key: Name Value: MWAA-Client-VPN TransportProtocol: udp VpcId: vpc-010101010101 VpnPort: 443
Anmerkung

Wenn Sie mehr als eine Sicherheitsgruppe für Ihre Umgebung verwenden, können Sie mehrere Sicherheitsgruppen im folgenden Format angeben:

SecurityGroupIds: - sg-0112233445566778b - sg-0223344556677889f

Schritt 4: Erstellen Sie den AWS CloudFormation Client-VPN-Stack

Um das zu erstellen AWS Client VPN
  1. Öffnen Sie die AWS CloudFormation -Konsole.

  2. Wählen Sie Vorlage ist fertig, Laden Sie eine Vorlagendatei hoch.

  3. Wählen Sie Datei auswählen und wählen Sie Ihre mwaa_vpn_client.yaml Datei aus.

  4. Wählen Sie Weiter, Weiter aus.

  5. Wählen Sie die Bestätigung aus und wählen Sie dann Stapel erstellen.

Fünfter Schritt: Subnetze mit Ihrem Client VPN verknüpfen

Um private Subnetze dem zuzuordnen AWS Client VPN
  1. Öffnen Sie die Amazon VPC-Konsole.

  2. Wählen Sie die Seite Client VPN Endpoints.

  3. Wählen Sie Ihr Client VPN und dann auf der Registerkarte Verknüpfungen die Option Assoziieren aus.

  4. Wählen Sie in der Drop-down-Liste Folgendes aus:

    • Ihre Amazon VPC in VPC.

    • Eines Ihrer privaten Subnetze unter Wählen Sie ein Subnetz zum Zuordnen aus.

  5. Wählen Sie Associate aus.

Anmerkung

Es dauert mehrere Minuten, bis die VPC und das Subnetz dem Client VPN zugeordnet sind.

Schritt 6: Fügen Sie Ihrem Client VPN eine Regel für den Autorisierungseingang hinzu

Sie müssen Ihrem Client VPN eine Regel für den Autorisierungseingang hinzufügen, die die CIDR-Regel für Ihre VPC verwendet. Wenn Sie bestimmte Benutzer oder Gruppen aus Ihrer Active Directory-Gruppe oder Ihrem SAML-basierten Identitätsanbieter (IdP) autorisieren möchten, lesen Sie die Autorisierungsregeln im Client-VPN-Handbuch.

Um das CIDR zum hinzuzufügen AWS Client VPN
  1. Öffnen Sie die Amazon VPC-Konsole.

  2. Wählen Sie die Seite Client VPN Endpoints.

  3. Wählen Sie Ihr Client VPN aus und wählen Sie dann auf der Registerkarte Autorisierung die Option Ingress autorisieren.

  4. Machen Sie folgende Angaben:

    • Die CIDR-Regel Ihrer Amazon VPC im Zielnetzwerk soll aktiviert werden. Zum Beispiel:

      10.192.0.0/16
    • Wählen Sie unter Zugriff gewähren für die Option Allen Benutzern Zugriff gewähren aus.

    • Geben Sie im Feld Beschreibung einen aussagekräftigen Namen ein.

  5. Wählen Sie Autorisierungsregel hinzufügen.

Anmerkung

Abhängig von den Netzwerkkomponenten für Ihre Amazon VPC müssen Sie diese Authorization Ingress Rule möglicherweise auch in Ihre Network Access Control List (NACL) aufnehmen.

Schritt 7: Laden Sie die Client-VPN-Endpunktkonfigurationsdatei herunter

So laden Sie die Konfigurationsdatei herunter
  1. Folgen Sie diesen schnellen Schritten, um die Client-VPN-Konfigurationsdatei unter Laden Sie die Client-VPN-Endpunktkonfigurationsdatei herunterzuladen.

  2. In diesen Schritten werden Sie aufgefordert, dem DNS-Namen Ihres Client-VPN-Endpunkts eine Zeichenfolge voranzustellen. Ein Beispiel:

    1. Beispiel DNS-Name des Endpunkts

      Wenn der DNS-Name Ihres Client-VPN-Endpunkts wie folgt aussieht:

      remote cvpn-endpoint-0909091212aaee1.prod.clientvpn.us-west-1.amazonaws.com 443

      Sie können eine Zeichenfolge hinzufügen, um Ihren Client-VPN-Endpunkt wie folgt zu identifizieren:

      remote mwaavpn.cvpn-endpoint-0909091212aaee1.prod.clientvpn.us-west-1.amazonaws.com 443
  3. In diesen Schritten werden Sie aufgefordert, den Inhalt des Client-Zertifikats zwischen einem neuen Satz von <cert></cert> Tags und den Inhalt des privaten Schlüssels zwischen einem neuen Satz von <key></key> Tags hinzuzufügen. Ein Beispiel:

    1. Öffnen Sie eine Befehlszeile und ändern Sie die Verzeichnisse zum Speicherort Ihres Client-Zertifikats und Ihres privaten Schlüssels.

    2. Beispiel macOS client1.domain.tld.crt

      Um den Inhalt der client1.domain.tld.crt Datei auf macOS anzuzeigen, können Sie verwendencat client1.domain.tld.crt.

      Kopieren Sie den Wert aus dem Terminal und fügen Sie ihn downloaded-client-config.ovpn wie folgt ein:

      ZZZ1111dddaBBB -----END CERTIFICATE----- </ca> <cert> -----BEGIN CERTIFICATE----- YOUR client1.domain.tld.crt -----END CERTIFICATE----- </cert>
    3. Beispiel macOS client1.domain.tld.key

      Um den Inhalt von anzuzeigen, können Sie verwenden. client1.domain.tld.key cat client1.domain.tld.key

      Kopieren Sie den Wert aus dem Terminal und fügen Sie ihn downloaded-client-config.ovpn wie folgt ein:

      ZZZ1111dddaBBB -----END CERTIFICATE----- </ca> <cert> -----BEGIN CERTIFICATE----- YOUR client1.domain.tld.crt -----END CERTIFICATE----- </cert> <key> -----BEGIN CERTIFICATE----- YOUR client1.domain.tld.key -----END CERTIFICATE----- </key>

Schritt acht: Stellen Sie eine Verbindung zum her AWS Client VPN

Der Client für AWS Client VPN wird kostenlos zur Verfügung gestellt. Sie können Ihren Computer direkt mit verbinden, AWS Client VPN um ein end-to-end VPN-Erlebnis zu nutzen.

So stellen Sie eine Verbindung zum Client VPN her
  1. Laden Sie das AWS Client VPN für Desktop herunter und installieren Sie es.

  2. Öffnen Sie das AWS Client VPN.

  3. Wählen Sie im VPN-Client-Menü Datei, Verwaltete Profile aus.

  4. Wählen Sie Profil hinzufügen und dann diedownloaded-client-config.ovpn.

  5. Geben Sie im Feld Anzeigename einen aussagekräftigen Namen ein.

  6. Wählen Sie Profil hinzufügen, Fertig.

  7. Wählen Sie Connect aus.

Nachdem Sie sich mit dem Client VPN verbunden haben, müssen Sie die Verbindung zu anderen Verbindungen trennen VPNs , um die Ressourcen in Ihrer Amazon VPC anzeigen zu können.

Anmerkung

Möglicherweise müssen Sie den Client beenden und erneut beginnen, bevor Sie eine Verbindung herstellen können.

Als nächstes