Flera klientorganisationer och Azure Private Link
Azure Private Link tillhandahåller privat IP-adressering för Azure-plattformstjänster och för dina egna program som finns på virtuella Azure-datorer. Du kan använda Private Link för att aktivera privat anslutning från klientorganisationens Azure-miljöer. Klienter kan också använda Private Link för att komma åt din lösning från sina lokala miljöer, när de är anslutna via virtuella privata nätverksgatewayer (VPN Gateway) eller ExpressRoute.
Azure Private Link används av många stora SaaS-leverantörer, inklusive Snowflake, Confluent Cloud och MongoDB Atlas.
I den här artikeln går vi igenom hur du kan konfigurera Private Link för en Azure-värdbaserad lösning för flera klientorganisationer.
Viktiga överväganden
Överlappande IP-adressutrymmen
Private Link tillhandahåller kraftfulla funktioner för lösningar med flera klienter, där klienter kan komma åt tjänsten via privata adressutrymmen.
Olika klienter använder ofta samma eller överlappande privata IP-adressutrymmen. Din lösning för flera klientorganisationer kan till exempel använda IP-adressutrymmet 10.1.0.0/16
för . Anta att klient A använder sitt eget lokala nätverk med samma IP-adressutrymme och att klient B av en tillfällighet också använder samma IP-adressutrymme. Du kan inte ansluta eller peerkoppla dina nätverk direkt eftersom IP-adressintervallen överlappar varandra.
När du använder Private Link för att aktivera anslutning från varje klientorganisation till multitenantlösningen tillämpas varje klientorganisations trafik automatiskt på NAT (Network Address Translation). Varje klientorganisation kan använda en privat IP-adress i sitt eget nätverk och trafiken flödar till multitenantlösningen transparent. Private Link utför NAT på trafik, även när klientorganisationer och tjänstleverantören alla använder överlappande IP-adressintervall:
När trafiken kommer till lösningen för flera klienter har den redan översatts. Det innebär att trafiken verkar komma från multitenanttjänstens eget IP-adressutrymme för virtuella nätverk. Private Link tillhandahåller funktionen TCP Proxy Protocol v2 , som gör det möjligt för en tjänst med flera klienter att känna till klientorganisationen som skickade begäran och till och med den ursprungliga IP-adressen från källnätverket.
Tjänstval
När du använder Private Link är det viktigt att tänka på vilken tjänst du vill tillåta inkommande anslutningar till.
Azure Private Link-tjänsten används med virtuella datorer bakom en standardlastbalanserare.
Du kan också använda Private Link med andra Azure-tjänster. Dessa tjänster omfattar programvärdplattformar som Azure App Service. De omfattar även Azure Application Gateway eller Azure API Management, som är nätverks- och API-gatewayer.
Den programplattform som du använder avgör många aspekter av din Private Link-konfiguration och de gränser som gäller. Dessutom stöder vissa tjänster inte Private Link för inkommande trafik. Läs dokumentationen för de Azure-tjänster som du använder för att förstå deras stöd för Private Link.
Gränser
Tänk noga på antalet privata slutpunkter som du kan skapa baserat på lösningens arkitektur. Om du använder en Plattform som en tjänst-programplattform (PaaS) är det viktigt att du är medveten om det maximala antalet privata slutpunkter som en enskild resurs kan stödja. Om du kör virtuella datorer kan du koppla en Private Link-tjänstinstans till en standardlastbalanserare (SLB). I den här konfigurationen kan du vanligtvis ansluta ett högre antal privata slutpunkter, men gränser gäller fortfarande. Dessa gränser kan avgöra hur många klienter du kan ansluta till dina resurser med hjälp av Private Link. Granska Azure-prenumerations - och tjänstgränser, kvoter och begränsningar för att förstå gränserna för antalet slutpunkter och anslutningar.
Dessutom kräver vissa tjänster en specialiserad nätverkskonfiguration för att använda Private Link. Om du till exempel använder Private Link med Azure Application Gateway måste du etablera ett dedikerat undernät utöver standardundernätet för Application Gateway-resursen.
Testa din lösning noggrant, inklusive distributionen och diagnostikkonfigurationen, med private link-konfigurationen aktiverad. När privata slutpunkter är aktiverade på vissa Azure-tjänster blockeras den offentliga Internettrafiken. Det här beteendet kan kräva att du ändrar dina distributions- och hanteringsprocesser.
Private Link i kombination med offentliga tjänster
Du kan välja att distribuera din lösning för att vara både internetuppkopplad och även exponerad via privata slutpunkter. Vissa av dina klienter kan till exempel kräva privat anslutning medan andra förlitar sig på offentlig Internetanslutning. Överväg din övergripande nätverkstopologi och de sökvägar som varje klientorganisations trafik följer.
När din lösning baseras på virtuella datorer som ligger bakom en standardlastbalanserare kan du exponera slutpunkten via Private Link-tjänsten. I det här fallet är en brandvägg för webbprogram och programroutning förmodligen redan en del av din virtuella datorbaserade arbetsbelastning.
Många Azure PaaS-tjänster stöder Private Link för inkommande anslutningar, även för olika Azure-prenumerationer och Microsoft Entra-klienter. Du kan använda tjänstens Private Link-funktioner för att exponera slutpunkten.
När du använder andra internetriktade tjänster, till exempel Azure Front Door, är det viktigt att överväga om de stöder Private Link för inkommande trafik. Om de inte gör det bör du överväga hur trafiken flödar genom varje sökväg till din lösning.
Anta till exempel att du skapar ett Internetanslutet program som körs på en VM-skalningsuppsättning. Du använder Azure Front Door, inklusive brandväggen för webbprogram (WAF), för säkerhets- och trafikacceleration, och du konfigurerar Front Door för att skicka trafiken via en privat slutpunkt till din serverdelstjänst (origin). Klient A ansluter till din lösning med hjälp av en offentlig slutpunkt och klient B ansluter med hjälp av en privat slutpunkt. Eftersom Front Door inte stöder Private Link för inkommande anslutningar kringgår klient B:s trafik din Front Door och dess WAF:
Isoleringsmodeller
Private Link är utformat för att stödja scenarier där en enda programnivå kan användas av flera separata klienter, till exempel dina klienter. När du överväger isolering för Private Link gäller det främst antalet resurser som måste distribueras för att stödja dina krav. Vilka klientisoleringsmodeller du kan använda för Private Link beror på vilken tjänst du använder.
Isoleringsmodeller för Private Link-tjänsten
Om du använder Private Link-tjänsten med virtuella datorer bakom en standardlastbalanserare finns det flera isoleringsmodeller som du kan överväga.
Att tänka på | Delad Private Link-tjänst och delad lastbalanserare | Dedikerad Private Link-tjänst och dedikerad lastbalanserare | Dedikerad Private Link-tjänst och delad lastbalanserare |
---|---|---|---|
Distributionskomplexitet | Låg | Medelhög, beroende på antalet klienter | Medelhög, beroende på antalet klienter |
Driftkomplexitet | Låg | Medelhög, beroende på antalet resurser | Medelhög, beroende på antalet resurser |
Begränsningar att tänka på | Antal privata slutpunkter på samma Private Link-tjänst | Antal Private Link-tjänster per prenumeration | Antal Private Link-tjänster per standardlastbalanserare |
Exempelscenario | Stor lösning för flera klientorganisationer med delad programnivå | Separata distributionsstämplar för varje klientorganisation | Delad programnivå i en enda stämpel, med ett stort antal klienter |
I alla tre modellerna beror nivån på dataisolering och prestanda på de andra elementen i din lösning, och distributionen av Private Link-tjänsten påverkar inte dessa faktorer väsentligt.
Delad Private Link-tjänst och delad standardlastbalanserare
Du kan överväga att distribuera en delad Private Link-tjänst som är ansluten till en standardlastbalanserare. Var och en av dina klienter kan skapa en privat slutpunkt och använda den för att ansluta till din lösning.
En enskild Private Link-tjänstinstans stöder ett stort antal privata slutpunkter. Om du överskrider gränsen kan du distribuera fler Private Link-tjänstinstanser, även om det också finns gränser för antalet Private Link-tjänster som du kan distribuera på en enda lastbalanserare. Om du förväntar dig att du ska närma dig dessa gränser bör du överväga att använda en distributionsstämpelbaserad metod och distribuera delade lastbalanserare och Private Link-tjänstinstanser till varje stämpel.
Dedikerad Private Link-tjänst och dedikerad standardlastbalanserare per klientorganisation
Du kan distribuera en dedikerad Private Link-tjänst och dedikerad lastbalanserare för varje klientorganisation. Den här metoden är lämplig när du har en dedikerad uppsättning virtuella datorer för varje klientorganisation, till exempel när dina klienter har strikta efterlevnadskrav.
Dedikerad Private Link-tjänst per klientorganisation och delad standardlastbalanserare
Du kan också distribuera dedikerade Private Link-tjänstinstanser för varje klientorganisation med en delad standardlastbalanserare. Den här modellen kommer dock sannolikt inte att ge någon större fördel. Eftersom det finns en gräns för antalet Private Link-tjänster som du kan distribuera på en enda standardlastbalanserare kommer den här modellen sannolikt inte att skalas utöver en liten lösning med flera klientorganisationer.
Vanligare är att du kan distribuera flera delade Private Link-tjänster. Med den här metoden kan du utöka antalet privata slutpunkter som lösningen kan stödja på en delad lastbalanserare.
Isoleringsmodeller för Azure PaaS-tjänster med privata slutpunkter
När du distribuerar PaaS-tjänster (Azure Platform as a Service) och vill göra det möjligt för klientorganisationer att få åtkomst till dessa tjänster med privata slutpunkter bör du överväga funktionerna och begränsningarna för den specifika tjänsten. Överväg även om dina programnivåresurser är dedikerade till en specifik klientorganisation eller om de delas mellan klientorganisationer.
Om du distribuerar en dedikerad uppsättning programnivåresurser för varje klientorganisation är det troligt att du kan distribuera en privat slutpunkt för den klientorganisationen att använda för att få åtkomst till deras resurser. Det är osannolikt att du kommer att uttömma några private link-relaterade tjänstgränser, eftersom varje klientorganisation har sina egna resurser dedikerade till dem.
När du delar resurser på programnivå mellan klienter kan du överväga att distribuera en privat slutpunkt för varje klientorganisation. Det finns gränser för antalet privata slutpunkter som kan kopplas till en enskild resurs, och dessa gränser är olika för varje tjänst.
Funktioner i Azure Private Link som stöder flera klientorganisationer
Private Link har flera funktioner som är användbara i en miljö med flera klientorganisationer. De specifika funktioner som är tillgängliga för dig beror dock på vilken tjänst du använder. Den grundläggande Azure Private Link-tjänsten för virtuella datorer och lastbalanserare stöder alla funktioner som beskrivs nedan. Andra tjänster med Private Link-stöd kan endast tillhandahålla en delmängd av dessa funktioner.
Tjänstalias
När en klientorganisation konfigurerar åtkomst till din tjänst med private link måste de kunna identifiera din tjänst så att Azure kan upprätta anslutningen.
Med Private Link-tjänsten och vissa andra Private Link-kompatibla Azure-tjänster kan du konfigurera ett alias som du tillhandahåller dina klienter. Genom att använda ett alias undviker du att avslöja dina Azure-prenumerations-ID:er och resursgruppsnamn.
Tjänstens synlighet
Med Private Link-tjänsten kan du styra synligheten för din privata slutpunkt. Du kan tillåta att alla Azure-kunder ansluter till din tjänst, om de känner till dess alias eller resurs-ID. Du kan också begränsa åtkomsten till bara en uppsättning kända Azure-kunder.
Du kan också ange en uppsättning förgodkända Azure-prenumerations-ID:t som kan ansluta till din privata slutpunkt. Om du väljer att använda den här metoden bör du överväga hur du ska samla in och auktorisera prenumerations-ID:t. Du kan till exempel ange ett administrationsanvändargränssnitt i ditt program för att samla in en klients prenumerations-ID. Sedan kan du dynamiskt konfigurera om din Private Link-tjänstinstans för att förhandsgodkänna prenumerations-ID:t för anslutningar.
Anslutningsgodkännanden
När en anslutning har begärts mellan en klient (till exempel en klient) och en privat slutpunkt kräver Private Link att anslutningen godkänns. Förrän anslutningen har godkänts kan trafiken inte flöda genom den privata slutpunktsanslutningen.
Private Link-tjänsten stöder flera typer av godkännandeflöden, bland annat:
- Manuellt godkännande, där ditt team uttryckligen godkänner varje anslutning. Den här metoden är användbar när du bara har ett fåtal klienter som använder tjänsten via Private Link.
- API-baserat godkännande, där Private Link-tjänsten behandlar anslutningen som att den kräver ett manuellt godkännande, och programmet använder API:et Uppdatera privat slutpunktsanslutning, Azure CLI eller Azure PowerShell för att godkänna en anslutning. Den här metoden kan vara användbar när du har en lista över klienter som har behörighet att använda privata slutpunkter.
- Automatiskt godkännande, där Private Link-tjänsten själv underhåller listan över prenumerations-ID:n som ska få sina anslutningar automatiskt godkända.
Mer information finns i Kontrollera tjänståtkomst.
Proxyprotokoll v2
När du använder Private Link-tjänsten har ditt program som standard endast synlighet för en IP-adress som har gått via NAT (Network Address Translation). Det här beteendet innebär att trafiken verkar flöda inifrån ditt eget virtuella nätverk.
Med Private Link kan du få åtkomst till den ursprungliga klientens IP-adress i klientorganisationens virtuella nätverk. Den här funktionen använder TCP Proxy Protocol v2.
Anta till exempel att klientorganisationens administratörer måste lägga till IP-adressbaserade åtkomstbegränsningar, till exempel värd 10.0.0.10 kan komma åt tjänsten, men värd 10.0.0.20 kan inte. När du använder Proxy Protocol v2 kan du aktivera dina klienter för att konfigurera dessa typer av åtkomstbegränsningar i ditt program. Programkoden måste dock inspektera klientens ursprungliga IP-adress och framtvinga begränsningarna.
Relaterade resurser
- Azure Private Link Service-förklaring och demonstrationer från leverantörsperspektiv (SaaS ISV) och konsumentperspektiv: En video som tittar på Azure Private Link-tjänstfunktionen som gör det möjligt för tjänsteleverantörer med flera klientorganisationer (till exempel oberoende programvaruleverantörer att skapa SaaS-produkter). Den här lösningen gör det möjligt för konsumenter att komma åt leverantörens tjänst med hjälp av privata IP-adresser från konsumentens egna virtuella Azure-nätverk.
- TCP Proxy Protocol v2 med Azure Private Link Service – Djupdykning: En video som visar en djupdykning i TCP Proxy Protocol v2, som är en avancerad funktion i Azure Private Link-tjänsten. Det är användbart i scenarier med flera klientorganisationer och SaaS. Videon visar hur du aktiverar Proxy Protocol v2 i Azure Private Link-tjänsten. Den visar också hur du konfigurerar en NGINX-tjänst för att läsa den ursprungliga klientens privata käll-IP-adress i stället för NAT IP för att få åtkomst till tjänsten via den privata slutpunkten.
- Använda NGINX Plus för att avkoda Proxy Protocol TLV
linkIdentifier
från Azure Private Link-tjänsten: En video som tittar på hur du använder NGINX Plus för att hämta TCP Proxy Protocol v2 TLV från Azure Private Link-tjänsten. Videon visar hur du sedan kan extrahera och avkoda det numeriskalinkIdentifier
, även kallatLINKID
, för den privata slutpunktsanslutningen. Den här lösningen är användbar för leverantörer med flera klienter som behöver identifiera den specifika konsumentklientorganisation som anslutningen gjordes från. - SaaS Private Connectivity-mönster: En exempellösning som illustrerar en metod för att automatisera godkännandet av privata slutpunktsanslutningar med hjälp av Azure Managed Applications.
Deltagare
Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.
Huvudsakliga författare:
- John Downs | Huvudprogramtekniker
- Arsen Vladimirskiy | Huvudkundtekniker, FastTrack för Azure
Annan deltagare:
- Sumeet Mittal | Principal Product Manager, Azure Private Link
Om du vill se icke-offentliga LinkedIn-profiler loggar du in på LinkedIn.
Nästa steg
Granska nätverksmetoderna för flera klientorganisationer.