VPN (Virtual Private Network)
Lär dig hur du ansluter AEM as a Cloud Service till ditt VPN för att skapa säkra kommunikationskanaler mellan AEM och interna tjänster.
Vad är ett virtuellt privat nätverk?
Med VPN (Virtual Private Network) kan en AEM as a Cloud Service-kund ansluta AEM-miljöerna i ett Cloud Manager-program till en befintlig, stödd VPN. VPN ger säkra och kontrollerade anslutningar mellan AEM as a Cloud Service och tjänster i kundens nätverk.
Ett Cloud Manager-program kan bara ha en enskild nätverksinfrastrukturtyp. Kontrollera att Virtuellt privat nätverk är den lämpligaste typen av nätverksinfrastruktur för din AEM as a Cloud Service innan du kör följande kommandon.
Förutsättningar
Följande krävs när du konfigurerar ett virtuellt privat nätverk med Cloud Manager API
-
Adobe-konto med Cloud Manager Business Owner-behörigheter
-
Åtkomst till Cloud Manager API:ts autentiseringsuppgifter
- Organisations-ID (även IMS Org-ID)
- Klient-ID (även API-nyckel)
- Åtkomsttoken (även Bearer Token)
-
Cloud Manager program-ID
-
Cloud Manager miljö-ID:n
-
Ett Routbaserat virtuellt privat nätverk med åtkomst till alla nödvändiga anslutningsparametrar.
Mer information finns i Konfigurera och hämta API-autentiseringsuppgifter för Cloud Manager så att du kan använda dem för att göra ett Cloud Manager API-anrop.
curl
för att göra Cloud Manager API-konfigurationer -om du föredrar en programmatisk metod. De curl
-kommandon som tillhandahålls förutsätter en Linux®- eller macOS-syntax. Om du använder kommandotolken i Windows ersätter du radbrytningstecknet \
med ^
.Aktivera virtuellt privat nätverk per program
Börja med att aktivera det virtuella privata nätverket på AEM as a Cloud Service.
Flexibel portutgång kan aktiveras med Cloud Manager. I följande steg beskrivs hur du aktiverar flexibel portutgång på AEM as a Cloud Service med Cloud Manager.
-
Logga in på Adobe Experience Manager Cloud Manager som Cloud Manager Business Owner.
-
Navigera till önskat program.
-
Navigera till Tjänster > Nätverksinfrastrukturer på den vänstra menyn.
-
Välj knappen Lägg till nätverksinfrastruktur.
-
Välj alternativet Virtuellt privat nätverk i dialogrutan Lägg till nätverksinfrastruktur. Fyll i fälten och välj Fortsätt. Samarbeta med organisationens nätverksadministratör för att få rätt värden.
-
Skapa minst en VPN-anslutning. Ge anslutningen ett beskrivande namn och välj knappen Lägg till anslutning.
-
Konfigurera VPN-anslutningen. Samarbeta med organisationens nätverksadministratör för att få rätt värden. Välj Spara för att bekräfta att anslutningen har lagts till.
-
Om det krävs flera VPN-anslutningar måste du ange fler anslutningar efter behov. När alla VPN-anslutningar har lagts till väljer du Fortsätt.
-
Välj Spara för att bekräfta att VPN och alla konfigurerade anslutningar lagts till.
-
Vänta tills nätverksinfrastrukturen har skapats och markerats som Ready. Den här processen kan ta upp till 1 timme.
När VPN har skapats kan du nu konfigurera det med Cloud Manager API:er enligt beskrivningen nedan.
Virtuellt privat nätverk kan aktiveras med Cloud Manager API:er. I följande steg beskrivs hur du aktiverar VPN på AEM as a Cloud Service med Cloud Manager API.
-
Ta först reda på i vilken region det avancerade nätverket behövs genom att använda Cloud Manager API-åtgärden listRegions.
region name
krävs för efterföljande Cloud Manager API-anrop. Normalt används regionen där produktionsmiljön finns.Hitta AEM as a Cloud Service-miljöns region i Cloud Manager under miljöns information. Regionnamnet som visas i Cloud Manager kan mappas till regionkoden som används i Cloud Manager API.
listRegions HTTP request
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'
-
Aktivera åtgärden createNetworkInfrastructure för ett Cloud Manager-program med Cloud Manager API:er. Använd rätt
region
-kod som hämtats från Cloud Manager APIlistRegions
-åtgärden.createNetworkInfrastructure HTTP-begäran
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
Definiera JSON-parametrarna i en
vpn-create.json
och tillhandahålls för att rulla med hjälp av... -d @./vpn-create.json
.Hämta exemplet vpn-create.json. Filen är bara ett exempel. Konfigurera filen efter behov baserat på de valfria/obligatoriska fälten som beskrivs i enableEnvironmentAdvancedNetworkingConfiguration.
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 } }] }
Vänta i 45-60 minuter på att Cloud Manager-programmet ska tillhandahålla nätverksinfrastrukturen.
-
Kontrollera att miljön har slutfört konfigurationen Virtuellt privat nätverk med Cloud Manager API getNetworkInfrastructure med hjälp av
id
som returnerades från HTTP-begärancreateNetworkInfrastructure
i föregående steg.getNetworkInfrastructure HTTP-begäran
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'
Kontrollera att HTTP-svaret innehåller status av ready. Om du inte är klar ännu kontrollerar du statusen var några minut.
När VPN har skapats kan du nu konfigurera det med Cloud Manager API:er enligt beskrivningen nedan.
Konfigurera virtuella privata nätverksproxies per miljö
-
Aktivera och konfigurera konfigurationen Virtuellt privat nätverk i varje AEM as a Cloud Service-miljö med Cloud Manager API-åtgärden enableEnvironmentAdvancedNetworkingConfiguration .
enableEnvironmentAdvancedNetworkingConfiguration HTTP-begäran
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
Definiera JSON-parametrarna i en
vpn-configure.json
och tillhandahålls för att rulla med hjälp av... -d @./vpn-configure.json
.
Hämta exemplet vpn-configure.json
{
"nonProxyHosts": [
"example.net",
"*.example.org"
],
"portForwards": [
{
"name": "mysql.example.com",
"portDest": 3306,
"portOrig": 30001
},
{
"name": "smtp.sendgrid.com",
"portDest": 465,
"portOrig": 30002
}
]
}
nonProxyHosts
deklarerar en uppsättning värdar för vilka port 80 eller 443 ska dirigeras via de delade standardadressintervallen i stället för den dedikerade IP-adressen. nonProxyHosts
kan vara användbart som trafikutjämning via delade IP-adresser som Adobe automatiskt optimerar.
För varje portForwards
-mappning definierar det avancerade nätverket följande vidarebefordringsregel:
AEM_PROXY_HOST
portForwards.portOrig
portForwards.name
portForwards.portDest
Om AEM-distributionen endast kräver HTTP/HTTPS-anslutningar till den externa tjänsten lämnar du portForwards
-arrayen tom, eftersom dessa regler bara krävs för icke-HTTP/HTTPS-begäranden.
2. Verifiera VPN-routningsreglerna för varje miljö med Cloud Manager API:ns getEnvironmentAdvancedNetworkingConfiguration -åtgärd.
getEnvironmentAdvancedNetworkingConfiguration HTTP-begäran
$ 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. Proxykonfigurationer för virtuella privata nätverk kan uppdateras med Cloud Manager API:ts enableEnvironmentAdvancedNetworkingConfiguration -åtgärd. Kom ihåg att enableEnvironmentAdvancedNetworkingConfiguration
är en PUT
-åtgärd, så alla regler måste anges med varje anrop av den här åtgärden.
4. Nu kan du använda den virtuella privata nätverkets utgångskonfiguration i din anpassade AEM-kod och konfiguration.
Ansluta till externa tjänster via det virtuella privata nätverket
När det virtuella privata nätverket är aktiverat kan AEM-kod och konfiguration använda dem för att ringa till externa tjänster via VPN. Det finns två varianter av externa anrop som AEM hanterar på olika sätt:
- HTTP/HTTPS-anrop till externa tjänster
- Dessa externa tjänster inkluderar HTTP/HTTPS-anrop till tjänster som körs på andra portar än standardportarna 80 eller 443.
- Andra anrop än HTTP/HTTPS till externa tjänster
- Dessa externa tjänster omfattar alla icke-HTTP-anrop, till exempel anslutningar till e-postservrar, SQL-databaser eller tjänster som använder andra protokoll än HTTP/HTTPS.
HTTP/HTTPS-begäranden från AEM på standardportar (80/443) tillåts som standard, men VPN-anslutningen används inte om den inte är korrekt konfigurerad enligt beskrivningen nedan.
HTTP/HTTPS
När du skapar HTTP/HTTPS-anslutningar från AEM proxideras HTTP/HTTPS-anslutningar automatiskt från AEM när VPN används. Ingen ytterligare kod eller konfiguration krävs för att stödja HTTP/HTTPS-anslutningar.
Exempel på koder
Kodexempel för icke-HTTP/HTTPS-anslutningar
När anslutningar som inte är HTTP/HTTPS skapas (t.ex. SQL, SMTP och så vidare) från AEM måste anslutningen upprättas via ett särskilt värdnamn som tillhandahålls av AEM.
AEM_PROXY_HOST
System.getenv("AEM_PROXY_HOST")
$[env:AEM_PROXY_HOST]
Anslutningar till externa tjänster anropas sedan via AEM_PROXY_HOST
och den mappade porten (portForwards.portOrig
), som AEM sedan dirigerar till det mappade externa värdnamnet (portForwards.name
) och porten (portForwards.portDest
).
AEM_PROXY_HOST
portForwards.portOrig
portForwards.name
portForwards.portDest
Exempel på koder
Begränsa åtkomst till AEM as a Cloud Service via VPN
Konfigurationen Virtuellt privat nätverk begränsar åtkomsten till AEM as a Cloud Service-miljöer till ett VPN.