Flexibele poortuitgang
Leer hoe u flexibele poorttoegang instelt en gebruikt om externe verbindingen van AEM as a Cloud Service naar externe services te ondersteunen.
Wat is Flexibele havenuitgang?
De flexibele havenuitgang staat voor douane, specifieke haven toe die regels door:sturen om aan AEM as a Cloud Service worden vastgemaakt, die verbindingen van AEM aan externe diensten toestaan om worden gemaakt.
Een programma van Cloud Manager kan het type van a enige netwerkinfrastructuur slechts hebben. Zorg ervoor dat de flexibele havenuitgang het meest aangewezen type van netwerkinfrastructuurvoor uw AEM as a Cloud Service is alvorens de volgende bevelen uit te voeren.
Vereisten
Het volgende is vereist wanneer u flexibele poorttoegang instelt of configureert met Cloud Manager API's:
-
Adobe Developer Console-project met Cloud Manager API ingeschakeld en Cloud Manager Business Owner-machtigingen
-
Toegang tot de authentificatiegeloofsbrieven van Cloud Manager API
- Organisatie-id (ook bekend als IMS Org ID)
- Client-id (ook bekend als API-sleutel)
- Toegangstoken (ook bekend als Dragertoken)
-
Cloud Manager-programma-id
-
De milieu-id's van Cloud Manager
Voor meer details overzicht hoe te opstelling, vorm, en verkrijg de geloofsbrieven van de Manager van de Wolk API, om hen te gebruiken om een Cloud Manager API vraag te maken.
Deze zelfstudie gebruikt curl
om de Cloud Manager API-configuraties te maken. De opgegeven curl
-opdrachten nemen een Linux/macOS-syntaxis aan. Als u de Windows-opdrachtregel gebruikt, vervangt u het teken voor het \
regeleinde door ^
.
Flexibele poorttoegang per programma inschakelen
Begin door het flexibele havenuitgang op AEM as a Cloud Service toe te laten.
Flexibele poortuitgang kan worden ingeschakeld met Cloud Manager. In de volgende stappen wordt beschreven hoe u flexibele poorttoegang op AEM as a Cloud Service kunt inschakelen met de Cloud Manager.
-
Login aan Adobe Experience Manager Cloud Managerals Bedrijfseigenaar van Cloud Manager.
-
Navigeer naar het gewenste programma.
-
In het linkermenu, navigeer aan Diensten > de Infrastructuur van het Netwerk.
-
Selecteer toevoegen netwerkinfrastructuur knoop.
toe
-
In voeg netwerkinfrastructuur dialoog toe, selecteer de Flexibele havenuitgang optie, en selecteer het Gebied om het specifieke uitgangIP adres tot stand te brengen.
toe
-
Selecteer sparen om de toevoeging van de flexibele havenuitgang te bevestigen.
-
Wacht op de netwerkinfrastructuur die moet worden gecreeerd en als Klaar worden gemerkt. Dit proces kan tot 1 uur duren.
Met het flexibele gemaakte poortegres kunt u nu de regels voor het doorsturen van poorten configureren met behulp van de Cloud Manager API's, zoals hieronder beschreven.
Flexibele poortuitgang kan worden ingeschakeld met Cloud Manager API's. In de volgende stappen wordt beschreven hoe u flexibele poorttoegang op AEM as a Cloud Service kunt inschakelen met de Cloud Manager API.
-
Eerst, bepaal het gebied Geavanceerd Voorzien van een netwerk binnen door de Cloud Manager API listRegionsverrichting te gebruiken.
region name
is vereist om volgende Cloud Manager API-aanroepen te kunnen uitvoeren. Doorgaans wordt de regio waarin de productieomgeving zich bevindt, gebruikt.Vind het gebied van uw milieu van AEM as a Cloud Service in Cloud Manageronder de details van het milieu. De gebiedsnaam die in Cloud Manager wordt getoond kan aan de gebiedscodeworden in kaart gebracht die in Cloud Manager API wordt gebruikt.
listRegions HTTP- verzoek
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'
-
Laat flexibele havenuitgang voor een Programma van Cloud Manager toe gebruikend Cloud Manager API createNetworkInfrastructureverrichting. Gebruik de juiste
region
-code die is verkregen via de Cloud Manager APIlistRegions
-bewerking.createNetworkInfrastructure HTTP- verzoek
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": "flexiblePortEgress", "region": "va7" }'
Wacht 15 minuten op het Cloud Manager-programma om de netwerkinfrastructuur te voorzien.
-
Controleer dat het milieu flexibele havenuitgang configuratie gebruikend de Cloud Manager API getNetworkInfrastructureverrichting heeft gebeëindigd, gebruikend
id
teruggekeerd van hetcreateNetworkInfrastructure
HTTP- verzoek in de vorige stap.getNetworkInfrastructure HTTP- verzoek
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'
Verifieer dat de reactie van HTTP a status van klaar bevat. Controleer de status om de paar minuten als u dat nog niet hebt gedaan.
Met het flexibele gemaakte poortegres kunt u nu de regels voor het doorsturen van poorten configureren met behulp van de Cloud Manager API's, zoals hieronder beschreven.
Flexibele proxy's voor poortuitgang per omgeving configureren
-
Laat en vorm toe de flexibele configuratie van de havenuitgang op elk milieu van AEM as a Cloud Service toe gebruikend de Cloud Manager API enableEnvironmentAdvancedNetworkingConfigurationverrichting.
enableEnvironmentAdvancedNetworkingConfiguration HTTP- verzoek
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 @./flexible-port-egress.json
Definieer de JSON-parameters in een
flexible-port-egress.json
en opgegeven voor krullen via... -d @./flexible-port-egress.json
.Download het voorbeeld flexibel-haven-egress.json. Dit bestand is slechts een voorbeeld. Vorm uw dossier zoals vereist gebaseerd op de facultatieve/vereiste gebieden die bij worden gedocumenteerd enableEnvironmentAdvancedNetworkingConfiguration.
code language-json { "portForwards": [ { "name": "mysql.example.com", "portDest": 3306, "portOrig": 30001 }, { "name": "smtp.sendgrid.com", "portDest": 465, "portOrig": 30002 } ] }
Voor elke
portForwards
afbeelding, bepaalt het geavanceerde voorzien van een netwerk de volgende het door:sturen regel:table 0-row-5 1-row-5 Proxyhost Proxypoort Externe host Externe poort AEM_PROXY_HOST
portForwards.portOrig
→ portForwards.name
portForwards.portDest
Als uw AEM plaatsing slechts verbindingen HTTP/HTTPS (haven 80/443) aan externe dienst vereist, verlaat de
portForwards
serie leeg, aangezien deze regels slechts voor niet-HTTP/HTTPS verzoeken worden vereist. -
Voor elk milieu, bevestig de spelregels in feite gebruikend Cloud Manager API getEnvironmentAdvancedNetworkingConfigurationverrichting.
getEnvironmentAdvancedNetworkingConfiguration HTTP- verzoek
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 'Authorization: Bearer <ACCESS_TOKEN>' \ -H 'x-api-key: <CLIENT_ID>' \ -H 'Content-Type: application/json'
-
De flexibele configuraties van de havenuitgang kunnen worden bijgewerkt gebruikend Cloud Manager API enableEnvironmentAdvancedNetworkingConfigurationverrichting. Vergeet niet dat
enableEnvironmentAdvancedNetworkingConfiguration
eenPUT
-bewerking is. Alle regels moeten daarom bij elke aanroep van deze bewerking worden opgegeven. -
Nu, kunt u de flexibele configuratie van de havenuitgang in uw douane AEM code en configuratie gebruiken.
Verbinding maken met externe services via flexibele poortuitgang
Met de flexibele toegelaten volmacht van de havenuitgang, AEM code en configuratie kunnen hen gebruiken om vraag aan externe diensten te maken. Er zijn twee vlotten van externe vraag die AEM verschillend behandelt:
- HTTP/HTTPS-aanroepen naar externe services op niet-standaard poorten
- Omvat HTTP/HTTPS vraag die aan de diensten wordt gemaakt die op havens buiten standaard 80 of 443 havens lopen.
- niet-HTTP/HTTPS-aanroepen naar externe services
- Omvat om het even welke niet-HTTP vraag, zoals verbindingen met de servers van de Post, SQL gegevensbestanden, of de diensten die op andere niet-HTTP/HTTPS protocollen lopen.
HTTP/HTTPS-aanvragen van AEM op standaardpoorten (80/443) zijn standaard toegestaan en hebben geen extra configuratie of overwegingen nodig.
HTTP/HTTPS op niet-standaardpoorten
Bij het maken van HTTP/HTTPS-verbindingen met niet-standaardpoorten (niet-80/443) vanaf AEM, moeten de verbindingen tot stand worden gebracht via speciale host en poorten, die via plaatsaanduidingen worden geleverd.
AEM biedt twee sets speciale Java™-systeemvariabelen die zijn toegewezen aan AEM HTTP/HTTPS-proxy's.
AEM_PROXY_HOST
System.getenv().getOrDefault("AEM_PROXY_HOST", "proxy.tunnel")
$[env:AEM_PROXY_HOST;default=proxy.tunnel]
AEM_HTTP_PROXY_PORT
3128
)System.getenv().getOrDefault("AEM_HTTP_PROXY_PORT", 3128)
$[env:AEM_HTTP_PROXY_PORT;default=3128]
AEM_HTTPS_PROXY_PORT
3128
)System.getenv().getOrDefault("AEM_HTTPS_PROXY_PORT", 3128)
$[env:AEM_HTTPS_PROXY_PORT;default=3128]
Wanneer u HTTP/HTTPS-aanroepen uitvoert naar externe services op niet-standaard poorten, hoeft er geen corresponderend portForwards
te worden gedefinieerd met de Cloud Manager API enableEnvironmentAdvancedNetworkingConfiguration
-bewerking, aangezien de 'regels' voor het doorsturen van poorten 'in code' zijn gedefinieerd.
Codevoorbeelden
Niet-HTTP/HTTPS-verbindingen met externe services
Bij het maken van niet-HTTP/HTTPS-verbindingen (bijvoorbeeld SQL, SMTP, etc.) van AEM, moet de verbinding door een speciale gastheernaam worden gemaakt die door AEM wordt verstrekt.
AEM_PROXY_HOST
System.getenv().getOrDefault("AEM_PROXY_HOST", "proxy.tunnel")
$[env:AEM_PROXY_HOST;default=proxy.tunnel]
De verbindingen aan externe diensten worden dan geroepen door AEM_PROXY_HOST
en de in kaart gebrachte haven (portForwards.portOrig
), die dan aan toegewezen externe hostname (portForwards.name
) en haven AEM (portForwards.portDest
).
AEM_PROXY_HOST
portForwards.portOrig
portForwards.name
portForwards.portDest