Delen via


Bedrijfskritieke basislijnarchitectuur met netwerkbesturingselementen

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 van 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 bijvoorbeeld, indien uitgeschakeld, ertoe leiden dat een resource niet meer beschikbaar is door deze te overweldigen met niet-gemachtigd verkeer.

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

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

Belangrijke ontwerpstrategieën

De ontwerpstrategieën voor bedrijfskritieke basislijn zijn nog steeds van toepassing in deze use-case. Hier volgen de aanvullende netwerkoverwegingen voor deze architectuur:

  • Inkomend verkeer beheren

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

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

    Elimineren van openbare connectiviteit met Azure-services. Een benadering is het gebruik van privé-eindpunten.

    Inspecteer verkeer voordat het het netwerk binnenkomt. Netwerkbeveiligingsgroepen (NSG's) op subnetten helpen bij het filteren van verkeer 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 op gegevensexfiltratie door kwaadwillende services van derden.

    Uitgaand verkeer naar internet beperken met behulp van Azure Firewall. Firewall kan verkeer nauwkeurig filteren met FQDN (Fully Qualified Domain Name).

  • Balans tussen compromissen met waardepapier

    Er zijn aanzienlijke afwegingen wanneer beveiligingsfuncties worden toegevoegd aan een workloadarchitectuur. Mogelijk merkt u enige invloed op 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 niet beschikbaar zijn.

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 bedrijfskritieke architectuur.

Architectuur

Diagram met het subnet van het privé-eindpunt in het regionale virtuele netwerk met stempels.

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.

Wereldwijde hulpbronnen

De wereldwijde resources leven 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 worden gemaakt via privé-eindpunten.

Raadpleeg goed ontworpen bedrijfskritieke workloads: wereldwijde verkeersroutering.

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

Raadpleeg goed ontworpen bedrijfskritieke workloads: Wereldwijd gedistribueerd gegevensarchief met meerdere schrijfbewerkingen.

Azure Container Registry wordt gebruikt voor het opslaan van alle containerinstallatiekopieën met geo-replicatiemogelijkheden. Toegang is beperkt tot geautoriseerde privé-eindpuntverbindingen.

Raadpleeg goed ontworpen bedrijfskritieke workloads: Containerregister.

Regionale middelen

De regionale resources worden ingericht als onderdeel van een implementatiestempel in één Azure-regio. Ze hebben een korte levensduur om gebruikers meer flexibiliteit, schaal en nabijheid te bieden. 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 stempelresources voor meer informatie.

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

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

Interne load balancer is de oorsprong van de toepassing. Front Door gebruikt deze oorsprong voor het tot stand brengen van een privé- en directe verbinding met de back-end met behulp van Private Link.

Azure Kubernetes Service (AKS) is de orchestrator voor back-end-compute waarmee een toepassing wordt uitgevoerd en staatloos is. Het AKS-cluster wordt geïmplementeerd als een privécluster. De Kubernetes-API-server wordt dus niet blootgesteld aan 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: Container Orchestration en Kubernetes.

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

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

Raadpleeg goed ontworpen bedrijfskritieke workloads: Losjes gekoppelde gebeurtenisgestuurde architectuur.

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

Raadpleeg goed ontworpen bedrijfskritieke workloads: beveiliging van gegevensintegriteit.

Implementatiepijplijnbronnen

Build- en release-pijplijnen voor een bedrijfskritieke toepassing moeten volledig worden geautomatiseerd 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 vereist 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.

Waarneembaarheidsbronnen

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 Application Insights wordt gebruikt als een APM-hulpprogramma (Application Performance Management) om alle bewakingsgegevens van toepassingen te verzamelen en deze rechtstreeks in Log Analytics op te slaan.

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

Beheerbronnen

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 jump box-exemplaren om hulpprogramma's uit te voeren op het cluster, zoals kubectl.

Azure Bastion biedt veilige toegang tot de jumpbox-VM's en zorgt ervoor dat de VIRTUELE machines geen openbare IP-adressen meer 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 zijn ingericht, binnen de regio en zelfs binnen de stempel. In de basislijnarchitectuur is die communicatie via de openbare eindpunten van de services.

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

Privé-eindpunten moeten worden geplaatst in een toegewezen subnet van het virtuele netwerk van de stempel. 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 wordt aanbevolen dat DNS-records die zijn gekoppeld aan de services, worden bewaard in privé-DNS-zones van Azure die worden onderhouden door Azure DNS. Zorg ervoor dat de FQDN (Fully Qualified Domain Name) wordt omgezet in het privé-IP-adres.

Diagram met het subnet van het privé-eindpunt in het regionale virtuele netwerk met stempels.

In deze architectuur zijn privé-eindpunten geconfigureerd voor Azure Container Registry, Azure Cosmos DB, Key Vault, Opslagbronnen 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 clusternetwerk.

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 de indeling van het virtuele netwerk.

Wanneer u meer onderdelen aan de architectuur toevoegt, kunt u overwegen om meer privé-eindpunten toe te voegen. U kunt bijvoorbeeld beperkingen toevoegen aan de waarneembaarheidsbronnen. Zowel Azure Log Analytics als Azure Application 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 globale toegangspunt voor al het binnenkomende clientverkeer. Het maakt gebruik 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 virtuele netwerken met stempels invoeren.

Deze architectuur maakt ook gebruik van de mogelijkheid van Front Door om Azure Private Link te gebruiken om toegang te krijgen tot de oorsprong van toepassingen zonder gebruik te maken 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. Boven op 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 connectiviteit met de load balancer en statische website in het stempelnetwerk via Private Link.

Zie Hoe Private Link werkt voor meer informatie.

Diagram met Private Link-toegang van Front Door naar toepassingsback-end.

Raadpleeg goed ontworpen bedrijfskritieke workloads: Services voor toepassingslevering.

Beperkte uitgaand verkeer

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

Met behulp van firewall- en netwerkbeveiligingsgroepen (NSG's) kunt u 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 voor subnetten die uitgaand verkeer kunnen genereren, zoals het subnet van de toepassing.

Diagram van Azure Firewall dat wordt 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 beheerbronnen 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 beveiligingsmaatregelen 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 verschilt ook. Regionale middelen zullen naar verwachting kort leven (kortstondig). Ze worden gemaakt als onderdeel van de implementatiestempel en vernietigd wanneer de stempel wordt afgebroken. Beheerbronnen delen de levensduur van de regio en live de stempelbronnen.

In deze architectuur zijn er twee virtuele netwerken: zegelnetwerk en bewerkingsnetwerk. Maak binnen elk virtueel netwerk verdere isolatie 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 een virtueel netwerk in elke regio in.

Diagram met beveiligde wereldwijde 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 subnet van de toepassing en andere onderdelen in het netwerk.

  • Toepassingssubnet

    De AKS-clusterknooppuntgroepen worden 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 zegel

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

    Beide resources worden ingericht als onderdeel van de zegelimplementatie.

  • Postzegelsubnet voor uitgaand verkeer

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

  • Subnet privé-eindpunten

    Het subnet van de toepassing moet toegang hebben tot de PaaS-services in de regionale stempel, Key Vault en andere. Ook is toegang tot globale resources, zoals het containerregister, nodig. In deze architectuur zijn alle PaaS-service 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 NSG die alleen verkeer van de toepassing toestaat.

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

Virtueel netwerk voor bewerkingen

Het operationele verkeer wordt geïsoleerd in een afzonderlijk virtueel netwerk. Omdat de API-service van het AKS-cluster privé is in deze architectuur, moeten alle 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 toepassingsbronnen 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 van 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 regionale zegel virtuele netwerk wordt er een toegewezen subnet voor de privé-eindpunten gemaakt voor de benodigde PaaS-services. NSG op dit subnet zorgt ervoor dat inkomend verkeer alleen is toegestaan vanuit de beheer- en implementatiesubnetten.

Diagram met de beheernetwerkstroom.

Beheersactiviteiten

Een typische use case 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 jumpboxs ingericht waar de operator de hulpprogramma's kan uitvoeren. Er is een apart subnet voor de jumpboxs.

Maar deze jumpboxen moeten ook worden beveiligd tegen onbevoegde toegang. Directe toegang tot jumpboxen door RDP-/SSH-poorten te openen, 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 jumpboxen kunnen invloed hebben op de productiviteit van ontwikkelaars, zoals het uitvoeren van foutopsporingsprogramma's vereist extra proces. Houd rekening met deze gevolgen voordat u besluit om de beveiliging voor uw bedrijfskritieke workload te beveiligen.

U kunt de toegang tot het jump box-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 niet rechtstreeks invloed op de runtimebeschikbaarheid van de workload, maar een betrouwbaarheidsfout kan de mogelijkheid in gevaar brengen om uw bedrijfskritieke omgeving te implementeren of te onderhouden. Daarom moeten betrouwbaarheidsfuncties worden uitgebreid naar deze resources.

Deze architectuur maakt gebruik van Virtuele-machineschaalsets voor zowel buildagents als jumpboxs (in plaats van enkele VM's). Daarnaast wordt netwerksegmentatie geboden via het gebruik van subnetten. Inkomend verkeer is beperkt tot Azure DevOps.

Kostenoverwegingen

Er is een aanzienlijke impact op de kosten voor bedrijfskritieke workloads. In deze architectuur leiden technologiekeuzen 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 verbonden aan onderhoud en operationele resources. Dergelijke compromissen moeten zorgvuldig worden overwogen voordat een netwerkgestuurde versie van de basislijnarchitectuur wordt gebruikt.

Deze architectuur implementeren

De netwerkaspecten van deze architectuur worden geïmplementeerd in de essentiële verbonden implementatie.

Opmerking

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 echter ervan uitgegaan dat er al een virtueel particulier netwerk of azure-privé-DNS-zone bestaat binnen het connectiviteitsabonnement voor Azure-landingszones.

Volgende stappen

Voor meer informatie over de ontwerpbeslissingen die in deze architectuur zijn genomen, bekijkt u het ontwerpgebied voor netwerken en connectiviteit voor bedrijfskritieke workloads in Azure Well-architected Framework.

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