Virtuelles privates Netzwerk (VPN)

Erfahren Sie, wie Sie mit Ihrem VPN eine Verbindung zu AEM as a Cloud Service herstellen, um sichere Kommunikationskanäle zwischen AEM und internen Diensten zu erstellen.

Was ist ein virtuelles privates Netzwerk?

Ein virtuelles privates Netzwerk (VPN) ermöglicht es Kundinnen und Kunden von AEM as a Cloud Service, die AEM-Umgebungen innerhalb eines Cloud Manager-Programms mit einem vorhandenen, unterstützten VPN zu verbinden. VPN ermöglicht sichere und kontrollierte Verbindungen zwischen AEM as a Cloud Service und Diensten innerhalb des Kundennetzwerks.

Ein Cloud Manager-Programm kann nur einen einzigen Netzwerkinfrastrukturtyp haben. Vergewissern Sie sich, dass das VPN den geeignetsten Typ der Netzwerkinfrastruktur für Ihr AEM as a Cloud Service darstellt, bevor Sie die folgenden Befehle ausführen.

NOTE
Beachten Sie, dass das Verbinden der Build-Umgebung von Cloud Manager mit einem VPN nicht unterstützt wird. Wenn Sie auf binäre Artefakte aus einem privaten Repository zugreifen müssen, müssen Sie ein sicheres und passwortgeschütztes Repository mit einer URL einrichten, die im öffentlichen Internet verfügbar ist, wie hier beschrieben.

Voraussetzungen

Bei der Einrichtung eines virtuellen privaten Netzwerks mit Cloud Manager-APIs ist Folgendes erforderlich:

Weitere Informationen dazu, wie Sie Anmeldeinformationen für die Cloud Manager-API einrichten, konfigurieren sowie abrufen und wie Sie diese zum Ausführen eines Cloud Manager-API-Aufrufs verwenden können, finden Sie in der folgenden Anleitung.

In diesem Tutorial wird curl verwendet, um die Cloud Manager-API-Konfigurationen vorzunehmen. Die bereitgestellten curl-Befehle setzen eine Linux-/macOS-Syntax voraus. Ersetzen Sie bei Verwendung der Windows-Eingabeaufforderung das Zeilenumbruchszeichen \ durch ^.

Aktivieren des virtuellen privaten Netzwerks pro Programm

Aktivieren Sie zunächst das virtuelle private Netzwerk auf AEM as a Cloud Service.

Cloud Manager

Der flexible Port-Ausgang kann mit Cloud Manager aktiviert werden. Die folgenden Schritte beschreiben, wie Sie mithilfe von Cloud Manager den flexiblen Port-Ausgang in AEM as a Cloud Service aktivieren können.

  1. Melden Sie sich bei Adobe Experience Manager Cloud Manager mit der Cloud Manager-Rolle „Geschäftsinhaber“ an.

  2. Navigieren Sie zum gewünschten Programm.

  3. Navigieren Sie im linken Menü zu Dienste > Netzwerkinfrastrukturen.

  4. Wählen Sie die Schaltfläche Netzwerkinfrastruktur hinzufügen aus.

    Netzwerkinfrastruktur hinzufügen

  5. Wählen Sie im Dialogfeld Netzwerkinfrastruktur hinzufügen die Option Virtuelles privates Netzwerk aus. Füllen Sie die Felder aus und wählen Sie Weiter aus. Wenden Sie sich an das Netzwerkadministrator-Team Ihrer Organisation, um die richtigen Werte zu erhalten.

    VPN hinzufügen

  6. Erstellen Sie mindestens eine VPN-Verbindung. Geben Sie der Verbindung einen aussagekräftigen Namen und wählen Sie die Schaltfläche Verbindung hinzufügen aus.

    VPN-Verbindung hinzufügen

  7. Konfigurieren Sie die VPN-Verbindung. Wenden Sie sich an das Netzwerkadministrator-Team Ihrer Organisation, um die richtigen Werte zu erhalten. Wählen Sie Speichern aus, um das Hinzufügen der Verbindung zu bestätigen.

    VPN-Verbindung konfigurieren

  8. Wenn mehrere VPN-Verbindungen erforderlich sind, fügen Sie je nach Bedarf weitere Verbindungen hinzu. Wenn alle VPN-Verbindungen hinzugefügt sind, wählen Sie Weiter aus.

    VPN-Verbindung konfigurieren

  9. Wählen Sie Speichern aus, um das Hinzufügen des VPN und aller konfigurierten Verbindungen zu bestätigen.

    VPN-Erstellung bestätigen

  10. Warten Sie, bis die Netzwerkinfrastruktur erstellt wurde und als Bereit gekennzeichnet ist. Dieser Vorgang kann bis zu einer Stunde dauern.

    VPN – Erstellungssstatus

Nachdem das VPN erstellt wurde, können Sie es nun mithilfe der Cloud Manager-APIs konfigurieren, wie unten beschrieben.

Cloud Manager-APIs

Das virtuelle private Netzwerk kann über Cloud Manager-APIs aktiviert werden. Im Folgenden wird beschrieben, wie Sie mithilfe der Cloud Manager-API das VPN in AEM as a Cloud Service aktivieren können.

  1. Bestimmen Sie zunächst die Region, in der das erweiterte Netzwerk benötigt wird, indem Sie den Cloud Manager-API-Vorgang listRegions verwenden. region name ist erforderlich, um nachfolgende Cloud Manager-API-Aufrufe durchzuführen. In der Regel wird die Region verwendet, in der sich die Produktionsumgebung befindet.

    Suchen Sie in Cloud Manager unter Umgebungsdetails nach der Region Ihrer AEM as a Cloud Service-Umgebung. Der in Cloud Manager angezeigte Regionsname kann dem Regions-Code zugeordnet werden, der in der Cloud Manager-API verwendet wird.

    HTTP-Anfrage „listRegions“

    code language-shell
    $ curl -X GET https://cloudmanager.adobe.io/api/program/{programId}/regions \
        -H 'x-gw-ims-org-id: <ORGANIZATION_ID>' \
        -H 'x-api-key: <CLIENT_ID>' \
        -H 'Authorization: Bearer <ACCESS_TOKEN>' \
        -H 'Content-Type: application/json'
    
  2. Aktivieren Sie ein virtuelles privates Netzwerk für ein Cloud Manager-Programm mithilfe des Cloud Manager-API-Vorgangs createNetworkInfrastructure. Verwenden Sie den entsprechenden Code für region, der über den Cloud Manager-API-Vorgang listRegions abgerufen wurde.

    HTTP-Anfrage „createNetworkInfrastructure“

    code language-shell
    $ curl -X POST https://cloudmanager.adobe.io/api/program/{programId}/networkInfrastructures \
        -H 'x-gw-ims-org-id: <ORGANIZATION_ID>' \
        -H 'x-api-key: <CLIENT_ID>' \
        -H 'Authorization: Bearer <ACCESS_TOKEN>' \
        -H 'Content-Type: application/json'
        -d @./vpn-create.json
    

    Definieren Sie die JSON-Parameter in vpn-create.json und stellen Sie sie cURL über ... -d @./vpn-create.json zur Verfügung.

    Laden Sie das Beispiel vpn-create.json herunter. Diese Datei ist nur ein Beispiel. Konfigurieren Sie Ihre Datei nach Bedarf auf der Grundlage der unter enableEnvironmentAdvancedNetworkingConfiguration dokumentierten optionalen/erforderlichen Felder.

    code language-json
    {
        "kind": "vpn",
        "region": "va7",
        "addressSpace": [
            "10.104.182.64/26"
        ],
        "dns": {
            "resolvers": [
                "10.151.201.22",
                "10.151.202.22",
                "10.154.155.22"
            ],
            "domains": [
                "wknd.site",
                "wknd.com"
            ]
        },
        "connections": [{
            "name": "connection-1",
            "gateway": {
                "address": "195.231.212.78",
                "addressSpace": [
                    "10.151.0.0/16",
                    "10.152.0.0/16",
                    "10.153.0.0/16",
                    "10.154.0.0/16",
                    "10.142.0.0/16",
                    "10.143.0.0/16",
                    "10.124.128.0/17"
                ]
            },
            "sharedKey": "<secret_shared_key>",
            "ipsecPolicy": {
                "dhGroup": "ECP256",
                "ikeEncryption": "AES256",
                "ikeIntegrity": "SHA256",
                "ipsecEncryption": "AES256",
                "ipsecIntegrity": "SHA256",
                "pfsGroup": "ECP256",
                "saDatasize": 102400000,
                "saLifetime": 3600
            }
        }]
    }
    

    Warten Sie 45–60 Minuten, bis das Cloud Manager-Programm die Netzwerkinfrastruktur bereitstellt.

  3. Überprüfen Sie, ob die Umgebung die Konfiguration des virtuellen privaten Netzwerks mithilfe des Cloud Manager-API-Vorgangs getNetworkInfrastructure abgeschlossen hat. Verwenden Sie hierzu die id aus der vorherigen HTTP-Anfrage createNetworkInfrastructure.

    HTTP-Anfrage „getNetworkInfrastructure“

    code language-shell
    $ curl -X GET https://cloudmanager.adobe.io/api/program/{programId}/networkInfrastructure/{networkInfrastructureId} \
        -H 'x-gw-ims-org-id: <ORGANIZATION_ID>' \
        -H 'x-api-key: <CLIENT_ID>' \
        -H 'Authorization: <YOUR_BEARER_TOKEN>' \
        -H 'Content-Type: application/json'
    

    Überprüfen Sie, ob die HTTP-Antwort einen Status von ready enthält. Falls noch nicht „ready“, überprüfen Sie den Status alle paar Minuten.

Nachdem das VPN erstellt wurde, können Sie es nun mithilfe der Cloud Manager-APIs konfigurieren, wie unten beschrieben.

Konfigurieren von VPN-Proxys pro Umgebung

  1. Aktivieren und konfigurieren Sie die Konfiguration des virtuellen privaten Netzwerks auf jeder AEM as a Cloud Service-Umgebung mithilfe des Cloud Manager-API-Vorgangs enableEnvironmentAdvancedNetworkingConfiguration.

    HTTP-Anfrage „enableEnvironmentAdvancedNetworkingConfiguration“

    code language-shell
    $ curl -X PUT https://cloudmanager.adobe.io/api/program/{programId}/environment/{environmentId}/advancedNetworking \
        -H 'x-gw-ims-org-id: <ORGANIZATION_ID>' \
        -H 'x-api-key: <CLIENT_ID>' \
        -H 'Authorization: Bearer <ACCESS_TOKEN>' \
        -H 'Content-Type: application/json' \
        -d @./vpn-configure.json
    

    Definieren Sie die JSON-Parameter in vpn-configure.json und stellen Sie sie cURL über ... -d @./vpn-configure.json zur Verfügung.

Laden Sie das Beispiel vpn-configure.json herunter

{
    "nonProxyHosts": [
        "example.net",
        "*.example.org"
    ],
    "portForwards": [
        {
            "name": "mysql.example.com",
            "portDest": 3306,
            "portOrig": 30001
        },
        {
            "name": "smtp.sendgrid.com",
            "portDest": 465,
            "portOrig": 30002
        }
    ]
}

nonProxyHosts bezeichnet einen Satz von Hosts, für die Port 80 oder 443 über die standardmäßigen freigegebenen IP-Adressbereiche und nicht über die dedizierte Ausgangs-IP-Adresse weitergeleitet werden soll. nonProxyHosts kann nützlich sein, da der über gemeinsam genutzte IPs ausgehende Traffic von Adobe automatisch optimiert wird.

Für jede portForwards-Zuordnung definiert das erweiterte Netzwerk die folgende Weiterleitungsregel:

Proxy-Host
Proxy-Port
Externer Host
Externer Port
AEM_PROXY_HOST
portForwards.portOrig
portForwards.name
portForwards.portDest

Wenn Ihre AEM-Bereitstellung nur HTTP/HTTPS-Verbindungen zu externen Diensten erfordert, lassen Sie das Array portForwards leer, da diese Regeln nur für Nicht-HTTP/HTTPS-Anfragen erforderlich sind.

​2. Überprüfen Sie für jede Umgebung, ob die VPN-Routing-Regeln wirksam sind, indem Sie den Cloud Manager-API-Vorgang getEnvironmentAdvancedNetworkingConfiguration verwenden.

HTTP-Anfrage „getEnvironmentAdvancedNetworkingConfiguration“

$ curl -X GET https://cloudmanager.adobe.io/api/program/{programId}/environment/{environmentId}/advancedNetworking \
    -H 'x-gw-ims-org-id: <ORGANIZATION_ID>' \
    -H 'x-api-key: <CLIENT_ID>' \
    -H 'Authorization: Bearer <ACCESS_TOKEN>' \
    -H 'Content-Type: application/json'

​3. Proxy-Konfigurationen für virtuelle private Netzwerke können mit dem Cloud Manager-API-Vorgang enableEnvironmentAdvancedNetworkingConfiguration aktualisiert werden. Denken Sie daran, dass enableEnvironmentAdvancedNetworkingConfiguration ein PUT-Vorgang ist, sodass alle Regeln bei jedem Aufruf dieses Vorgangs angegeben werden müssen.

​4. Nun können Sie die Konfiguration des Ausgangs des virtuellen privaten Netzwerks in Ihrem benutzerdefinierten AEM-Code und Ihrer Konfiguration verwenden.

Verbindung zu externen Diensten über das virtuelle private Netzwerk

Wenn das virtuelle private Netzwerk aktiviert ist, können AEM-Code und Konfiguration sie verwenden, um über den VPN Aufrufe an externe Dienste zu tätigen. Es gibt zwei Varianten von externen Aufrufen, die AEM unterschiedlich behandelt:

  1. HTTP/HTTPS-Aufrufe an externe Dienste
    • Einschließlich HTTP/HTTPS-Aufrufe an Dienste, die auf anderen Ports als den Standard-Ports 80 oder 443 ausgeführt werden.
  2. Nicht-HTTP-/HTTPS-Aufrufe an externe Dienste
    • Enthält alle Nicht-HTTP-Aufrufe, z. B. Verbindungen mit Mail-Servern, SQL-Datenbanken oder Dienste, die mit anderen Nicht-HTTP-/HTTPS-Protokollen ausgeführt werden.

HTTP-/HTTPS-Anfragen von AEM über Standard-Ports (80/443) sind standardmäßig zulässig, sie verwenden jedoch nicht die VPN-Verbindung, wenn sie nicht wie unten beschrieben entsprechend konfiguriert sind.

HTTP/HTTPS

Beim Erstellen von HTTP/HTTPS-Verbindungen aus AEM werden HTTP/HTTPS-Verbindungen bei Verwendung eines VPN automatisch aus AEM abgeleitet. Zur Unterstützung von HTTP/HTTPS-Verbindungen ist kein zusätzlicher Code und keine zusätzliche Konfiguration erforderlich.

TIP
In der Dokumentation zum virtuellen privaten Netzwerk von AEM as a Cloud Service finden Sie den vollständigen Satz an Routing-Regeln.

Code-Beispiele

HTTP/HTTPS

HTTP/HTTPS

Java™-Code-Beispiel, das die HTTP-/HTTPS-Verbindung mithilfe des HTTP-/HTTPS-Protokolls von AEM as a Cloud Service zu einem externen Dienst herstellt.

Code-Beispiele für Verbindungen ohne HTTP/HTTPS

Beim Erstellen von Nicht-HTTP-/HTTPS-Verbindungen (z. B. SQL, SMTP usw.) aus AEM, muss die Verbindung über einen speziellen Host-Namen hergestellt werden, der von AEM bereitgestellt wird.

Variablenname
Verwenden Sie
Java™-Code
OSGi-Konfiguration
AEM_PROXY_HOST
Proxy-Host für Verbindungen ohne HTTP/HTTPS
System.getenv("AEM_PROXY_HOST")
$[env:AEM_PROXY_HOST]

Verbindungen zu externen Diensten werden dann über AEM_PROXY_HOST und den zugeordneten Port (portForwards.portOrig) aufgerufen und anschließend von AEM zum zugeordneten externen Host-Namen (portForwards.name) und Port (portForwards.portDest) geleitet.

Proxy-Host
Proxy-Port
Externer Host
Externer Port
AEM_PROXY_HOST
portForwards.portOrig
portForwards.name
portForwards.portDest

Code-Beispiele

SQL-Verbindung über JDBC DataSourcePool

SQL-Verbindung über JDBC DataSourcePool

Java™-Code-Beispiel für die Verbindung mit externen SQL-Datenbanken durch die Konfiguration von JDBC-Datenquellen-Pools von AEM.

SQL-Verbindung über Java-APIs

SQL-Verbindung über Java™-APIs

Java™-Code-Beispiel für die Verbindung mit externen SQL-Datenbanken über die SQL-APIs von Java™.

Virtuelles privates Netzwerk (VPN)

E-Mail-Dienst

Beispiel für eine OSGi-Konfiguration mit AEM für die Verbindung mit externen E-Mail-Diensten.

Zugriff auf AEM as a Cloud Service über VPN beschränken

Die Konfiguration des virtuellen privaten Netzwerks beschränkt den Zugriff auf AEM as a Cloud Service-Umgebungen auf ein VPN.

Konfigurationsbeispiele

Übernehmen einer IP-Zulassungsliste

Anwenden einer IP-Zulassungsliste

Konfigurieren Sie eine IP-Zulassungsliste so, dass nur VPN-Traffic auf AEM zugreifen kann.

Pfadbasierte VPN-Zugriffsbeschränkungen für AEM Publish

Pfadbasierte VPN-Zugriffsbeschränkungen für AEM Publish

VPN-Zugriff für bestimmte Pfade in AEM Publish erforderlich machen.

recommendation-more-help
4859a77c-7971-4ac9-8f5c-4260823c6f69