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.
Voraussetzungen
Bei der Einrichtung eines virtuellen privaten Netzwerks mit Cloud Manager-APIs ist Folgendes erforderlich:
-
Adobe-Konto mit Geschäftsinhaber-Berechtigungen in Cloud Manager
-
Zugriff auf die Authentifizierungs-Anmeldeinformationen der Cloud Manager-API
- Organisations-ID (auch als IMS-Org-ID bezeichnet)
- Client-ID (auch als API-Schlüssel bezeichnet)
- Zugriffs-Token (auch als Bearer- oder Träger-Token bezeichnet)
-
Cloud Manager-Programm-ID
-
Cloud Manager-Umgebungs-IDs
-
Ein routenbasiertes virtuelles privates Netzwerk mit Zugriff auf alle erforderlichen Verbindungsparameter.
Für weitere Details lesen Sie nach, wie Sie Cloud Manager-API-Anmeldedaten einrichten, konfigurieren und abrufen, um diese für einen Cloud Manager-API-Aufruf zu verwenden.
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.
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.
-
Melden Sie sich bei Adobe Experience Manager Cloud Manager mit der Cloud Manager-Rolle „Geschäftsinhaber“ an.
-
Navigieren Sie zum gewünschten Programm.
-
Navigieren Sie im linken Menü zu Dienste > Netzwerkinfrastrukturen.
-
Wählen Sie die Schaltfläche Netzwerkinfrastruktur hinzufügen aus.
-
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.
-
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.
-
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.
-
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.
-
Wählen Sie Speichern aus, um das Hinzufügen des VPN und aller konfigurierten Verbindungen zu bestätigen.
-
Warten Sie, bis die Netzwerkinfrastruktur erstellt wurde und als Bereit gekennzeichnet ist. Dieser Vorgang kann bis zu einer Stunde dauern.
Nachdem das VPN erstellt wurde, können Sie es nun mithilfe der Cloud Manager-APIs konfigurieren, wie unten beschrieben.
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.
-
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'
-
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-VorganglistRegions
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.
-
Ü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-AnfragecreateNetworkInfrastructure
.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
-
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
code language-json { "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:table 0-row-5 1-row-5 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. -
Ü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“
code language-shell $ 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'
-
Proxy-Konfigurationen für virtuelle private Netzwerke können mit dem Cloud Manager-API-Vorgang enableEnvironmentAdvancedNetworkingConfiguration aktualisiert werden. Denken Sie daran, dass
enableEnvironmentAdvancedNetworkingConfiguration
einPUT
-Vorgang ist, sodass alle Regeln bei jedem Aufruf dieses Vorgangs angegeben werden müssen. -
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:
- 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.
- 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.
Code-Beispiele
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.
AEM_PROXY_HOST
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.
AEM_PROXY_HOST
portForwards.portOrig
portForwards.name
portForwards.portDest
Code-Beispiele
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.