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:

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.

Cloud Manager

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.

  1. Login aan Adobe Experience Manager Cloud Managerals Bedrijfseigenaar van Cloud Manager.

  2. Navigeer naar het gewenste programma.

  3. In het linkermenu, navigeer aan Diensten > de Infrastructuur van het Netwerk.

  4. Selecteer toevoegen netwerkinfrastructuur knoop.

    voeg netwerkinfrastructuur toe

  5. In voeg netwerkinfrastructuur dialoog toe, selecteer de Flexibele havenuitgang optie, en selecteer het Gebied om het specifieke uitgangIP adres tot stand te brengen.

    voeg flexibele havenuitgang toe

  6. Selecteer sparen om de toevoeging van de flexibele havenuitgang te bevestigen.

    bevestigt de flexibele verwezenlijking van de havenuitgang

  7. Wacht op de netwerkinfrastructuur die moet worden gecreeerd en als Klaar worden gemerkt. Dit proces kan tot 1 uur duren.

    Flexibele status van de havenegress creatie

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.

Cloud Manager APIs

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.

  1. 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'
    
  2. 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 API listRegions -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.

  3. Controleer dat het milieu flexibele havenuitgang configuratie gebruikend de Cloud Manager API getNetworkInfrastructureverrichting heeft gebeëindigd, gebruikend id teruggekeerd van het createNetworkInfrastructure 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

  1. 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.

  2. 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'
    
  3. De flexibele configuraties van de havenuitgang kunnen worden bijgewerkt gebruikend Cloud Manager API enableEnvironmentAdvancedNetworkingConfigurationverrichting. Vergeet niet dat enableEnvironmentAdvancedNetworkingConfiguration een PUT -bewerking is. Alle regels moeten daarom bij elke aanroep van deze bewerking worden opgegeven.

  4. 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:

  1. 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.
  2. 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.

Naam variabele
Gebruiken
Java™-code
OSGi-configuratie
AEM_PROXY_HOST
Proxyhost voor zowel HTTP/HTTPS-verbindingen
System.getenv().getOrDefault("AEM_PROXY_HOST", "proxy.tunnel")
$[env:AEM_PROXY_HOST;default=proxy.tunnel]
AEM_HTTP_PROXY_PORT
Proxypoort voor HTTPS-verbindingen (fallback instellen op 3128)
System.getenv().getOrDefault("AEM_HTTP_PROXY_PORT", 3128)
$[env:AEM_HTTP_PROXY_PORT;default=3128]
AEM_HTTPS_PROXY_PORT
Proxypoort voor HTTPS-verbindingen (fallback instellen op 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.

TIP
Zie de flexibele documentatie van de havenuitgang van AEM as a Cloud Service voor de volledige reeks het verpletteren van regels.

Codevoorbeelden

HTTP/HTTPS op niet-standaardpoorten

HTTP/HTTPS op niet-standaardhavens

Java™-codevoorbeeld waarbij een HTTP/HTTPS-verbinding wordt gemaakt van AEM as a Cloud Service naar een externe service op niet-standaard HTTP/HTTPS-poorten.

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.

Naam variabele
Gebruiken
Java™-code
OSGi-configuratie
AEM_PROXY_HOST
Proxyhost voor niet-HTTP/HTTPS-verbindingen
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).

Proxyhost
Proxypoort
Externe host
Externe poort
AEM_PROXY_HOST
portForwards.portOrig
portForwards.name
portForwards.portDest

Codevoorbeelden

SQL-verbinding met JDBC DataSourcePool

SQL verbinding gebruikend JDBC DataSourcePool

Java™ codevoorbeeld die met externe SQL gegevensbestanden verbinden door AEM JDBC datasource pool te vormen.

SQL-verbinding met Java API's

SQL verbinding gebruikend Java™ APIs

Java™-codevoorbeeld voor verbinding met externe SQL-databases met SQL API's van Java™.

Virtual Private Network (VPN)

E-maildienst

OSGi configuratievoorbeeld dat AEM gebruikt om met externe e-maildiensten te verbinden.

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