Essentiële basislijnarchitectuur met netwerkbeheer

Azure Front Door
Azure Firewall
Azure Virtual Network
Azure Kubernetes Service (AKS)

Deze architectuur biedt richtlijnen voor het ontwerpen van een bedrijfskritieke workload met strikte netwerkcontroles om onbevoegde openbare toegang vanaf internet tot een van de workloadresources te voorkomen. De bedoeling is om aanvalsvectoren op de netwerklaag te stoppen, zodat de algehele betrouwbaarheid van het systeem niet wordt beïnvloed. Een DDoS-aanval (Distributed Denial of Service) kan er bijvoorbeeld toe leiden dat een resource niet meer beschikbaar is door deze te overstelpen met ongeldig verkeer.

Het bouwt voort op de essentiële basislijnarchitectuur, die is gericht op het maximaliseren van betrouwbaarheid en operationele effectiviteit zonder netwerkcontroles. Deze architectuur voegt functies toe om toegangs- en uitgaande paden te beperken met behulp van de juiste cloudeigen mogelijkheden, zoals Azure Virtual Network (VNet) en privé-eindpunten, Azure Private Link, Azure Privé-DNS Zone en andere.

Het is raadzaam om vertrouwd te raken met de basislijn voordat u doorgaat met dit artikel.

Belangrijke ontwerpstrategieën

De ontwerpstrategieën voor bedrijfskritieke basislijnen zijn nog steeds van toepassing in deze use case. Dit zijn de aanvullende netwerkoverwegingen voor deze architectuur:

  • Inkomend verkeer beheren

    Inkomend verkeer of binnenkomende communicatie naar het virtuele netwerk moet worden beperkt om schadelijke aanvallen te voorkomen.

    Pas waf-mogelijkheden (Web Application Firewall) toe op wereldwijd niveau om aanvallen aan de netwerkrand dichter bij de aanvalsbron te stoppen.

    Openbare connectiviteit met Azure-services elimineren. Eén benadering is het gebruik van privé-eindpunten.

    Controleer het verkeer voordat het het netwerk binnenkomt. Netwerkbeveiligingsgroepen (NSG's) op subnetten helpen verkeer te filteren door stroom naar de geconfigureerde IP-adressen en poorten toe te staan of te weigeren. Dit controleniveau helpt ook bij gedetailleerde logboekregistratie.

  • Uitgaand verkeer beheren

    Uitgaand verkeer van een virtueel netwerk naar entiteiten buiten dat netwerk moet worden beperkt. Het ontbreken van controles kan leiden tot aanvallen van gegevensexfiltratie door schadelijke services van derden.

    Beperk uitgaand verkeer naar internet met behulp van Azure Firewall. Firewall kan verkeer gedetailleerd filteren met behulp van FQDN (Fully Qualified Domain Name).

  • Afwegingen maken met beveiliging

    Er zijn aanzienlijke compromissen wanneer beveiligingsfuncties worden toegevoegd aan een workloadarchitectuur. Mogelijk merkt u enige invloed op de prestaties, operationele flexibiliteit en zelfs betrouwbaarheid. Aanvallen, zoals Denial-Of-Service (DDoS), gegevensinbraak en andere, kunnen echter gericht zijn op de algehele betrouwbaarheid van het systeem en uiteindelijk leiden tot onbeschikbaarheid.

De strategieën zijn gebaseerd op de algemene richtlijnen voor bedrijfskritieke workloads in goed ontworpen bedrijfskritieke workloads. We raden u aan het ontwerpgebied van netwerken en connectiviteit te verkennen voor aanbevelingen en best practices bij het definiëren van uw eigen essentiële architectuur.

Architectuur

Diagram van het subnet van het privé-eindpunt in het virtuele regionale zegelnetwerk.

Een Visio-bestand van deze architectuur downloaden.

De onderdelen van deze architectuur kunnen op deze manier breed worden gecategoriseerd. Zie Verwante resources voor productdocumentatie over Azure-services.

Globale resources

De globale resources zijn lang en delen de levensduur van het systeem. Ze hebben de mogelijkheid om wereldwijd beschikbaar te zijn binnen de context van een implementatiemodel voor meerdere regio's. Zie Globale resources voor meer informatie.

Azure Front Door Premium SKU wordt gebruikt als de globale load balancer voor het betrouwbaar routeren van verkeer naar de regionale implementaties, die beschikbaar zijn via privé-eindpunten.

Raadpleeg Goed ontworpen bedrijfskritieke workloads: Wereldwijde verkeersroutering.

Azure Cosmos DB voor NoSQL wordt nog steeds gebruikt voor het opslaan van de status buiten het rekencluster en heeft basislijnconfiguratie-instellingen voor betrouwbaarheid. Toegang is beperkt tot geautoriseerde privé-eindpuntverbindingen.

Raadpleeg Goed ontworpen bedrijfskritieke workloads: Wereldwijd gedistribueerd gegevensarchief voor meerdere schrijfbewerkingen.

Azure Container Registry wordt gebruikt om alle containerinstallatiekopieën met geo-replicatiemogelijkheden op te slaan. Toegang is beperkt tot geautoriseerde privé-eindpuntverbindingen.

Raadpleeg Goed ontworpen bedrijfskritieke workloads: Containerregister.

Regionale bronnen

De regionale resources worden ingericht als onderdeel van een implementatiestempel voor één Azure-regio. Ze zijn van korte duur en bieden meer tolerantie, schaal en nabijheid voor gebruikers. Deze resources delen niets met resources in een andere regio. Ze kunnen onafhankelijk worden verwijderd of gerepliceerd naar andere regio's. Ze delen echter globale resources tussen elkaar. Zie Regionale zegelresources voor meer informatie.

Statische website in een Azure Storage-account host een toepassing met één pagina (SPA) die aanvragen verzendt naar back-endservices. Dit onderdeel heeft dezelfde configuratie als de front-end van de basislijn. Toegang is beperkt tot geautoriseerde privé-eindpuntverbindingen.

Azure Virtual Networks bieden beveiligde omgevingen voor het uitvoeren van de workload en beheerbewerkingen.

De interne load balancer is de oorsprong van de toepassing. Front Door gebruikt deze oorsprong voor het tot stand brengen van persoonlijke en directe connectiviteit met de back-end met behulp van Private Link.

Azure Kubernetes Service (AKS) is de orchestrator voor back-endberekening die een toepassing uitvoert en staatloos is. Het AKS-cluster wordt geïmplementeerd als een privécluster. De Kubernetes API-server is dus niet beschikbaar op het openbare internet. Toegang tot de API-server is beperkt tot een particulier netwerk. Zie het artikel Compute cluster van deze architectuur voor meer informatie.

Raadpleeg Goed ontworpen bedrijfskritieke workloads: ContainerIndeling en Kubernetes.

Azure Firewall inspecteert en beveiligt al het uitgaande verkeer van de Azure Virtual Network-resources.

Azure Event Hubs wordt gebruikt als berichtenbroker. Toegang is beperkt tot geautoriseerde privé-eindpuntverbindingen.

Raadpleeg Goed ontworpen bedrijfskritieke workloads: Losjes gekoppelde gebeurtenisgestuurde architectuur.

Azure Key Vault wordt gebruikt als het regionale geheimarchief. Toegang is beperkt tot geautoriseerde privé-eindpuntverbindingen.

Raadpleeg Goed ontworpen bedrijfskritieke workloads: Bescherming van gegevensintegriteit.

Implementatiepijplijnresources

Build- en release-pijplijnen voor een bedrijfskritieke toepassing moeten volledig geautomatiseerd zijn om een consistente manier te garanderen voor het implementeren van een gevalideerde zegel.

GitHub wordt nog steeds gebruikt voor broncodebeheer als een maximaal beschikbaar Git-platform.

Azure Pipelines wordt gekozen voor het automatiseren van pijplijnen die nodig zijn voor het bouwen, testen en implementeren van een workload in preproductie- en productieomgevingen.

Raadpleeg Goed ontworpen bedrijfskritieke workloads: DevOps-processen.

Zelf-hostende Azure DevOps-buildagentgroepen worden gebruikt om meer controle te hebben over de builds en implementaties. Dit niveau van autonomie is nodig omdat het rekencluster en alle PaaS-resources privé zijn. Hiervoor is een integratie op netwerkniveau vereist die niet mogelijk is op door Microsoft gehoste buildagents.

Waarneembaarheidsresources

Bewakingsgegevens voor globale resources en regionale resources worden onafhankelijk opgeslagen. Eén gecentraliseerd waarneembaarheidsarchief wordt niet aanbevolen om een Single Point of Failure te voorkomen. Zie Waarneembaarheidsresources voor meer informatie.

  • Azure Log Analytics wordt gebruikt als een geïntegreerde sink voor het opslaan van logboeken en metrische gegevens voor alle toepassings- en infrastructuuronderdelen.

  • Azure-toepassing Insights wordt gebruikt als een APM-hulpprogramma (Application Performance Management) om alle toepassingsbewakingsgegevens te verzamelen en deze rechtstreeks in Log Analytics op te slaan.

Raadpleeg Goed ontworpen bedrijfskritieke workloads: Voorspellende actie en AI-bewerkingen.

Beheerresources

Een belangrijke ontwerpwijziging ten opzichte van de basislijnarchitectuur is het rekencluster. In dit ontwerp is het AKS-cluster privé. Voor deze wijziging moeten extra resources worden ingericht om toegang te krijgen.

Azure Virtual Machine Scale Sets voor de privé-buildagents en jumpbox-exemplaren om hulpprogramma's uit te voeren op het cluster, zoals kubectl.

Azure Bastion biedt beveiligde toegang tot de jumpbox-VM's en zorgt ervoor dat de VM's geen openbare IP-adressen meer nodig hebben.

Privé-eindpunten voor PaaS-services

Voor het verwerken van bedrijfs- of implementatiebewerkingen moeten de toepassing en de buildagents verschillende Azure PaaS-services bereiken die wereldwijd, binnen de regio en zelfs binnen de stempel zijn ingericht. In de basislijnarchitectuur verloopt die communicatie over de openbare eindpunten van de services.

In dit ontwerp zijn deze services beveiligd met privé-eindpunten om ze van openbare internettoegang te verwijderen. Deze benadering vermindert de totale kwetsbaarheid voor aanvallen om directe manipulatie van services door onverwachte bronnen te beperken. Het introduceert echter een ander potentieel storingspunt en verhoogt de complexiteit. Overweeg zorgvuldig de compromissen met beveiliging voordat u deze benadering gebruikt.

Privé-eindpunten moeten in een toegewezen subnet van het virtuele netwerk van de zegel worden geplaatst. Privé-IP-adressen aan de privé-eindpunten worden toegewezen vanuit dat subnet. In wezen kan elke resource in het virtuele netwerk communiceren met de service door het privé-IP-adres te bereiken. Zorg ervoor dat de adresruimte groot genoeg is voor alle privé-eindpunten die nodig zijn voor die stempel.

Als u verbinding wilt maken via een privé-eindpunt, hebt u een DNS-record nodig. Het is raadzaam dat DNS-records die zijn gekoppeld aan de services, worden bewaard in Azure Privé-DNS zones die worden onderhouden door Azure DNS. Zorg ervoor dat de FQDN (Fully Qualified Domain Name) wordt omgezet in het privé-IP-adres.

Diagram van het subnet van het privé-eindpunt in het virtuele netwerk van de regionale zegel.

In deze architectuur zijn privé-eindpunten geconfigureerd voor Azure Container Registry, Azure Cosmos DB, Key Vault, Opslagresources en Event Hubs. Het AKS-cluster wordt ook geïmplementeerd als een privécluster, waarmee een privé-eindpunt wordt gemaakt voor de Kubernetes API-service in het netwerk van het cluster.

Er zijn twee virtuele netwerken ingericht in dit ontwerp en beide hebben toegewezen subnetten voor het opslaan van privé-eindpunten voor al deze services. De netwerkindeling wordt beschreven in Indeling van virtueel netwerk.

Naarmate u meer onderdelen aan de architectuur toevoegt, kunt u overwegen om meer privé-eindpunten toe te voegen. U kunt bijvoorbeeld beperkingen toevoegen aan de waarneembaarheidsresources. Zowel Azure Log Analytics als Azure-toepassing Insights ondersteunen het gebruik van privé-eindpunten. Zie Azure Private Link gebruiken om netwerken te verbinden met Azure Monitor voor meer informatie.

Ze kunnen worden gemaakt op dezelfde of verschillende subnetten binnen hetzelfde virtuele netwerk. Er gelden limieten voor het aantal privé-eindpunten dat u in een abonnement kunt maken. Zie Azure-limieten voor meer informatie.

Beheer de toegang tot de services verder met behulp van netwerkbeveiligingsgroepen in het subnet.

Privé-inkomend verkeer

Azure Front Door Premium SKU wordt gebruikt als het algemene toegangspunt voor al het binnenkomende clientverkeer. Er wordt gebruikgemaakt van waf-mogelijkheden (Web Application Firewall) om verkeer aan de netwerkrand toe te staan of te weigeren. De geconfigureerde WAF-regels voorkomen aanvallen, zelfs voordat ze de zegel virtuele netwerken binnenkomen.

Deze architectuur maakt ook gebruik van de mogelijkheid van Front Door om Azure Private Link te gebruiken voor toegang tot de oorsprong van toepassingen zonder het gebruik van openbare IP-adressen/eindpunten op de back-ends. Hiervoor is een interne load balancer in het virtuele zegelnetwerk vereist. Deze resource bevindt zich vóór de Kubernetes-ingangscontroller die wordt uitgevoerd in het cluster. Naast deze privé-Load Balancer wordt een Private Link-service gemaakt door AKS, die wordt gebruikt voor de privéverbinding van Front Door.

Nadat de verbinding tot stand is gebracht, hebben privé-eindpunten in het Front Door-netwerk directe verbinding met de load balancer en statische website in het zegelnetwerk via Private Link.

Zie Hoe Private Link werkt voor meer informatie.

Diagram met Private Link toegang van Front Door naar de back-end van de toepassing.

Raadpleeg Goed ontworpen bedrijfskritieke workloads: Application Delivery Services.

Beperkt uitgaand verkeer

Voor toepassingen is mogelijk een uitgaande internetverbinding vereist. Het beheren van dat verkeer biedt een manier om uitgaand verkeer te beperken, te bewaken en te beperken. Anders kan onverwachte toegang binnenuit leiden tot inbreuk en mogelijk een onbetrouwbare systeemstatus. Met een beperkt uitgaand verkeer kunt u ook andere beveiligingsproblemen oplossen, zoals gegevensexfiltratie.

Het gebruik van een firewall en netwerkbeveiligingsgroepen (NSG's) kan ervoor zorgen dat uitgaand verkeer van de toepassing wordt geïnspecteerd en geregistreerd.

In deze architectuur is Azure Firewall het enige uitgangspunt en wordt gebruikt om al het uitgaande verkeer te inspecteren dat afkomstig is van het virtuele netwerk. Door de gebruiker gedefinieerde routes (UDR's) worden gebruikt in subnetten die uitgaand verkeer kunnen genereren, zoals het subnet van de toepassing.

Diagram met Azure Firewall gebruikt om uitgaand verkeer te beperken.

Zie Uitgaand verkeer beheren voor clusterknooppunten in Azure Kubernetes Service (AKS) voor informatie over het beperken van uitgaand verkeer.

Indeling van virtueel netwerk

Regionale resources en beheerresources isoleren in afzonderlijke virtuele netwerken. Ze hebben verschillende kenmerken, doelen en beveiligingsoverwegingen.

  • Type verkeer: regionale resources, die deelnemen aan de verwerking van bedrijfsactiviteiten, hebben hogere beveiligingscontroles nodig. Het rekencluster moet bijvoorbeeld worden beveiligd tegen direct internetverkeer. Beheerresources worden alleen ingericht voor toegang tot de regionale resources voor bewerkingen.

  • Levensduur: De verwachte levensduur van deze resources is ook verschillend. Regionale bronnen zullen naar verwachting van korte duur (kortstondig) zijn. Ze worden gemaakt als onderdeel van de implementatiestempel en vernietigd wanneer de zegel wordt afgebroken. Beheerresources delen de levensduur van de regio en live de zegelresources.

In deze architectuur zijn er twee virtuele netwerken: stempelnetwerk en operationeel netwerk. Maak verdere isolatie binnen elk virtueel netwerk met behulp van subnetten en netwerkbeveiligingsgroepen (NSG's) om de communicatie tussen de subnetten te beveiligen.

Raadpleeg Goed ontworpen bedrijfskritieke workloads: Geïsoleerde virtuele netwerken.

Regionaal stempel virtueel netwerk

Het implementatiestempel richt in elke regio een virtueel netwerk in.

Diagram met beveiligde globale routering voor een bedrijfskritieke workload.

Het virtuele netwerk is onderverdeeld in deze hoofdsubnetten. Aan alle subnetten zijn netwerkbeveiligingsgroepen (NSG's) toegewezen om onbevoegde toegang vanuit het virtuele netwerk te blokkeren. NSG's beperken het verkeer tussen het toepassingssubnet en andere onderdelen in het netwerk.

  • Toepassingssubnet

    De AKS-clusterknooppuntgroepen zijn geïsoleerd in een subnet. Als u de systeemknooppuntgroep verder wilt isoleren van de werkknooppuntgroep, kunt u deze in afzonderlijke subnetten plaatsen.

  • Subnet voor inkomend verkeer stempelen

    Het toegangspunt voor elke stempel is een interne Azure-Standard Load Balancer die in een toegewezen subnet wordt geplaatst. Hier wordt ook de Private Link service voor de privéverbinding van Front Door geplaatst.

    Beide resources worden ingericht als onderdeel van de zegelimplementatie.

  • Postzegel van uitgaand subnet

    Azure Firewall wordt in een afzonderlijk subnet geplaatst en inspecteert uitgaand verkeer van het toepassingssubnet met behulp van een door de gebruiker gedefinieerde route (UDR).

  • Subnet voor privé-eindpunten

    Het subnet van de toepassing moet toegang hebben tot de PaaS-services in de regionale zegel, Key Vault en andere. Er is ook toegang nodig tot globale resources, zoals het containerregister. In deze architectuur zijn alle PaaS-services vergrendeld en kunnen ze alleen worden bereikt via privé-eindpunten. Er wordt dus een ander subnet gemaakt voor deze eindpunten. Binnenkomende toegang tot dit subnet wordt beveiligd door een netwerkbeveiligingsgroep die alleen verkeer van de toepassing toestaat.

    U kunt verdere beperkingen toevoegen met behulp van UDR-ondersteuning voor privé-eindpunten, zodat dit verkeer ook via het zegelsubnet voor uitgaand verkeer kan gaan.

Bewerkingen virtueel netwerk

Het operationele verkeer wordt geïsoleerd in een afzonderlijk virtueel netwerk. Omdat de API-service van het AKS-cluster privé is in deze architectuur, moet al het implementatie- en operationeel verkeer ook afkomstig zijn van privéresources, zoals zelf-hostende buildagents en jumpboxs. Deze resources worden geïmplementeerd in een afzonderlijk virtueel netwerk met directe connectiviteit met de toepassingsresources via hun eigen set privé-eindpunten. De buildagents en jumpboxen bevinden zich in afzonderlijke subnetten.

In plaats van privé-eindpunten te gebruiken, kunt u ook peering voor virtuele netwerken gebruiken. Peering voegt echter complexiteit toe die moeilijk te beheren kan zijn, met name wanneer virtuele netwerken zijn ontworpen om kortstondig te zijn.

Zowel de buildagents (als optioneel jumpboxen) moeten toegang hebben tot PaaS-services die zich wereldwijd en binnen de regionale stempel bevinden. Net als bij het virtuele regionale zegelnetwerk wordt er een toegewezen subnet gemaakt voor de privé-eindpunten naar de benodigde PaaS-services. NSG op dit subnet zorgt ervoor dat inkomend verkeer alleen wordt toegestaan vanuit de beheer- en implementatiesubnetten.

Diagram met de beheernetwerkstroom.

Beheerbewerkingen

Een typisch gebruiksvoorbeeld is wanneer een operator toegang moet hebben tot het rekencluster om beheerhulpprogramma's en -opdrachten uit te voeren. De API-service in een privécluster kan niet rechtstreeks worden geopend. Daarom worden jumpboxen ingericht waar de operator de hulpprogramma's kan uitvoeren. Er is een apart subnet voor de jumpboxen.

Maar deze jumpboxen moeten ook worden beschermd tegen onbevoegde toegang. Directe toegang tot jumpboxen door HET openen van RDP-/SSH-poorten moet worden vermeden. Azure Bastion wordt aanbevolen voor dit doel en vereist een toegewezen subnet in dit virtuele netwerk.

Waarschuwing

Connectiviteit via Azure Bastion en jumpboxs kan van invloed zijn op de productiviteit van ontwikkelaars, zoals het uitvoeren van hulpprogramma's voor foutopsporing vereist extra proces. Houd rekening met deze gevolgen voordat u besluit om de beveiliging voor uw bedrijfskritieke workload te verbeteren.

U kunt de toegang tot het jumpbox-subnet verder beperken met behulp van een NSG die alleen inkomend verkeer van het Bastion-subnet via SSH toestaat.

Implementatiebewerkingen

Als u implementatiepijplijnen wilt bouwen, moet u extra rekenkracht inrichten om buildagents uit te voeren. Deze resources hebben geen directe invloed op de beschikbaarheid van de runtime van de workload, maar een betrouwbaarheidsfout kan de mogelijkheid om uw bedrijfskritieke omgeving te implementeren of te onderhouden in gevaar brengen. Betrouwbaarheidsfuncties moeten daarom worden uitgebreid naar deze resources.

Deze architectuur maakt gebruik van Virtual Machine Scale Sets voor zowel buildagents als jumpboxs (in tegenstelling tot afzonderlijke VM's). Netwerksegmentatie wordt ook geboden via het gebruik van subnetten. Inkomend verkeer is beperkt tot Azure DevOps.

Kostenoverwegingen

Er is een aanzienlijke invloed op de kosten voor bedrijfskritieke workloads. In deze architectuur leiden technologische keuzes zoals het gebruik van Azure Front Door Premium SKU en het inrichten van Azure Firewall in elke zegel tot hogere kosten. Er zijn ook extra kosten met betrekking tot onderhoud en operationele resources. Dergelijke afwegingen moeten zorgvuldig worden overwogen voordat een netwerkgestuurde versie van de basislijnarchitectuur wordt aangenomen.

Deze architectuur implementeren

De netwerkaspecten van deze architectuur worden geïmplementeerd in de mission-critical Connected-implementatie.

Notitie

De verbonden implementatie is bedoeld om een bedrijfskritieke workload te illustreren die afhankelijk is van organisatieresources, integreert met andere workloads en gebruikmaakt van gedeelde services. Het bouwt voort op deze architectuur en maakt gebruik van de netwerkbesturingselementen die in dit artikel worden beschreven. In het scenario Verbonden wordt er echter van uitgegaan dat er al een virtueel particulier netwerk of Azure Privé-DNS-zone bestaat binnen het connectiviteitsabonnement voor Azure-landingszones.

Volgende stappen

Raadpleeg het ontwerpgebied voor netwerken en connectiviteit voor bedrijfskritieke workloads in Azure Well-architected Framework voor meer informatie over de ontwerpbeslissingen die in deze architectuur worden genomen.

Zie deze artikelen voor productdocumentatie over de Azure-services die in deze architectuur worden gebruikt.