Dedizierte Ausgangs-IP-Adresse
Erfahren Sie, wie Sie eine dedizierte Ausgangs-IP-Adresse einrichten und verwenden, damit ausgehende Verbindungen von AEM von einer dedizierten IP-Adresse ausgehen können.
Was ist die dedizierte Ausgangs-IP-Adresse?
Die dedizierte Ausgangs-IP-Adresse ermöglicht Anfragen von AEM as a Cloud Service die Verwendung einer dedizierten IP-Adresse, sodass die externen Dienste eingehende Anfragen nach dieser IP-Adresse filtern können. Wie flexible Ausgangs-Ports ermöglicht die dedizierte Ausgangs-IP den Ausgang an nicht standardisierten Ports.
Ein Cloud Manager-Programm kann nur einen einzigen Netzwerkinfrastrukturtyp haben. Stellen Sie sicher, dass die dedizierte Ausgangs-IP-Adresse den für Ihre AEM as a Cloud Service-Umgebung am besten geeigneten Netzwerkinfrastrukturtyp hat, bevor Sie die folgenden Befehle ausführen.
Voraussetzungen
Beim Einrichten einer dedizierten Ausgangs-IP-Adresse mit Cloud Manager-APIs ist Folgendes erforderlich:
-
Cloud Manager-API mit Geschäftsinhaber-Berechtigungen in Cloud Manager
-
Zugriff auf 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
Weitere Informationen finden Sie unter , wie Sie Cloud Manager-API-Anmeldeinformationen einrichten, konfigurieren und abrufen, um sie zum Ausführen eines Cloud Manager-API-Aufrufs 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 dedizierter Ausgangs-IP-Adressen im Programm
Aktivieren und konfigurieren Sie zunächst die dedizierte Ausgangs-IP-Adresse auf AEM as a Cloud Service.
Dedizierte Ausgangs-IP-Adressen können mithilfe von Cloud Manager aktiviert werden. Die folgenden Schritte beschreiben, wie Sie mithilfe von Cloud Manager die dedizierte Ausgangs-IP-Adresse 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 Dedizierte Ausgangs-IP-Adresse und dann die Region aus, um die dedizierte Ausgangs-IP-Adresse zu erstellen.
-
Wählen Sie Speichern aus, um das Hinzufügen der dedizierten Ausgangs-IP-Adresse zu bestätigen.
-
Warten Sie, bis die Netzwerkinfrastruktur erstellt wurde und als Bereit gekennzeichnet ist. Dieser Vorgang kann bis zu einer Stunde dauern.
Nachdem die dedizierte Ausgangs-IP-Adresse erstellt wurde, können Sie sie nun mithilfe der Cloud Manager-APIs konfigurieren, wie unten beschrieben.
Die dedizierte Ausgangs-IP-Adresse kann mithilfe von Cloud Manager-APIs aktiviert werden. Die folgenden Schritte beschreiben, wie Sie mithilfe der Cloud Manager-API die dedizierte Ausgangs-IP-Adresse 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 die dedizierte Ausgangs-IP-Adresse 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 '{ "kind": "dedicatedEgressIp", "region": "va7" }'
Warten Sie 15 Minuten, bis das Cloud Manager-Programm die Netzwerkinfrastruktur bereitgestellt hat.
-
Überprüfen Sie, ob das Programm die Konfiguration der dedizierten Ausgangs-IP-Adresse 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: Bearer <ACCESS_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 die dedizierte Ausgangs-IP-Adresse erstellt wurde, können Sie sie nun mithilfe der Cloud Manager-APIs konfigurieren, wie unten beschrieben.
Konfigurieren dedizierter IP-Adressen-Proxys pro Umgebungen
-
Konfigurieren Sie die Konfiguration der dedizierten Ausgangs-IP-Adresse in 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 @./dedicated-egress-ip-address.json
Definieren Sie die JSON-Parameter in einer
dedicated-egress-ip-address.json
und stellen Sie sie cURL über... -d @./dedicated-egress-ip-address.json
zur Verfügung.Laden Sie das Beispiel „dedicated-egress-ip-address.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 { "nonProxyHosts": [ "example.net", "*.example.org", ], "portForwards": [ { "name": "mysql.example.com", "portDest": 3306, "portOrig": 30001 }, { "name": "smtp.sendgrid.net", "portDest": 465, "portOrig": 30002 } ] }
Die HTTP-Signatur der dedizierten Ausgangs-IP-Adresskonfiguration unterscheidet sich vom flexiblen Ausgangs-Port nur dadurch, dass sie auch die optionale Konfiguration
nonProxyHosts
unterstützt.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 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
-
Überprüfen Sie für jede Umgebung, ob die Ausgangsregeln in Kraft 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: <YOUR_TOKEN>' \ -H 'Content-Type: application/json'
-
Konfigurationen von dedizierten Ausgangs-IP-Adressen können mithilfe des Cloud Manager-API-Vorgangs enableEnvironmentAdvancedNetworkingConfiguration aktualisiert werden. Denken Sie daran, dass
enableEnvironmentAdvancedNetworkingConfiguration
einPUT
-Vorgang ist, sodass alle Regeln bei jedem Aufruf dieses Vorgangs angegeben werden müssen. -
Ermitteln Sie die dedizierte Ausgangs-IP-Adresse mit einem DNS Resolver (z. B. DNSChecker.org) auf dem Host
p{programId}.external.adobeaemcloud.com
oder durch Ausführen vondig
über die Befehlszeile.code language-shell $ dig +short p{programId}.external.adobeaemcloud.com
Der Host-Name kann nicht
pinged
sein, da es sich um einen Ausgang und nicht um einen Eingang handelt.Beachten Sie, dass die dedizierte Ausgangs-IP-Adresse von allen AEM as a Cloud Service-Umgebungen im Programm gemeinsam genutzt wird.
-
Nun können Sie die dedizierte Ausgangs-IP-Adresse in Ihrem benutzerdefinierten AEM-Code und Ihrer Konfiguration verwenden. Wenn Sie eine dedizierte Ausgangs-IP-Adresse verwenden, werden die externen Dienste, mit denen sich AEM as a Cloud Service verbindet, häufig so konfiguriert, dass nur Datenverkehr von dieser dedizierten IP-Adresse zugelassen wird.
Verbinden mit externen Diensten über eine dedizierte Ausgangs-IP-Adresse
Wenn die dedizierte Ausgangs-IP-Adresse aktiviert ist, können der AEM-Code und die Konfiguration die dedizierte Ausgangs-IP verwenden, um Anrufe 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 an Standard-Ports (80/443) sind standardmäßig zulässig, sie verwenden jedoch nicht die dedizierte Ausgangs-IP-Adresse, wenn sie nicht wie unten beschrieben entsprechend konfiguriert sind.
HTTP/HTTPS
Beim Erstellen von HTTP/HTTPS-Verbindungen aus AEM werden bei Verwendung der dedizierten Ausgangs-IP-Adresse HTTP/HTTPS-Verbindungen automatisch über die dedizierte Ausgangs-IP-Adresse aus AEM abgeleitet. Zur Unterstützung von HTTP/HTTPS-Verbindungen ist kein zusätzlicher Code und keine zusätzliche Konfiguration erforderlich.
Code-Beispiele
Nicht-HTTP/HTTPS-Verbindungen zu externen Diensten
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