Az 700
Az 700
Az 700
Official
Course
AZ-700T00
Designing and
Implementing Microsoft
Azure Networking
Solutions
AZ-700T00
Designing and Implementing
Microsoft Azure Networking
Solutions
II Disclaimer
Information in this document, including URL and other Internet Web site references, is subject to change
without notice. Unless otherwise noted, the example companies, organizations, products, domain names,
e-mail addresses, logos, people, places, and events depicted herein are fictitious, and no association with
any real company, organization, product, domain name, e-mail address, logo, person, place or event is
intended or should be inferred. Complying with all applicable copyright laws is the responsibility of the
user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in
or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical,
photocopying, recording, or otherwise), or for any purpose, without the express written permission of
Microsoft Corporation.
Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property
rights covering subject matter in this document. Except as expressly provided in any written license
agreement from Microsoft, the furnishing of this document does not give you any license to these
patents, trademarks, copyrights, or other intellectual property.
The names of manufacturers, products, or URLs are provided for informational purposes only and
Microsoft makes no representations and warranties, either expressed, implied, or statutory, regarding
these manufacturers or the use of the products with any Microsoft technologies. The inclusion of a
manufacturer or product does not imply endorsement of Microsoft of the manufacturer or product. Links
may be provided to third party sites. Such sites are not under the control of Microsoft and Microsoft is
not responsible for the contents of any linked site or any link contained in a linked site, or any changes or
updates to such sites. Microsoft is not responsible for webcasting or any other form of transmission
received from any linked site. Microsoft is providing these links to you only as a convenience, and the
inclusion of any link does not imply endorsement of Microsoft of the site or the products contained
therein.
1 http://www.microsoft.com/trademarks
EULA III
13. “Personal Device” means one (1) personal computer, device, workstation or other digital electronic
device that you personally own or control that meets or exceeds the hardware level specified for
the particular Microsoft Instructor-Led Courseware.
14. “Private Training Session” means the instructor-led training classes provided by MPN Members for
corporate customers to teach a predefined learning objective using Microsoft Instructor-Led
Courseware. These classes are not advertised or promoted to the general public and class attend-
ance is restricted to individuals employed by or contracted by the corporate customer.
15. “Trainer” means (i) an academically accredited educator engaged by a Microsoft Imagine Academy
Program Member to teach an Authorized Training Session, (ii) an academically accredited educator
validated as a Microsoft Learn for Educators – Validated Educator, and/or (iii) a MCT.
16. “Trainer Content” means the trainer version of the Microsoft Instructor-Led Courseware and
additional supplemental content designated solely for Trainers’ use to teach a training session
using the Microsoft Instructor-Led Courseware. Trainer Content may include Microsoft PowerPoint
presentations, trainer preparation guide, train the trainer materials, Microsoft One Note packs,
classroom setup guide and Pre-release course feedback form. To clarify, Trainer Content does not
include any software, virtual hard disks or virtual machines.
2. USE RIGHTS. The Licensed Content is licensed, not sold. The Licensed Content is licensed on a one
copy per user basis, such that you must acquire a license for each individual that accesses or uses the
Licensed Content.
●● 2.1 Below are five separate sets of use rights. Only one set of rights apply to you.
1. If you are a Microsoft Imagine Academy (MSIA) Program Member:
1. Each license acquired on behalf of yourself may only be used to review one (1) copy of the
Microsoft Instructor-Led Courseware in the form provided to you. If the Microsoft Instruc-
tor-Led Courseware is in digital format, you may install one (1) copy on up to three (3)
Personal Devices. You may not install the Microsoft Instructor-Led Courseware on a device
you do not own or control.
2. For each license you acquire on behalf of an End User or Trainer, you may either:
1. distribute one (1) hard copy version of the Microsoft Instructor-Led Courseware to one
(1) End User who is enrolled in the Authorized Training Session, and only immediately
prior to the commencement of the Authorized Training Session that is the subject matter
of the Microsoft Instructor-Led Courseware being provided, or
2. provide one (1) End User with the unique redemption code and instructions on how they
can access one (1) digital version of the Microsoft Instructor-Led Courseware, or
3. provide one (1) Trainer with the unique redemption code and instructions on how they
can access one (1) Trainer Content.
3. For each license you acquire, you must comply with the following:
1. you will only provide access to the Licensed Content to those individuals who have
acquired a valid license to the Licensed Content,
2. you will ensure each End User attending an Authorized Training Session has their own
valid licensed copy of the Microsoft Instructor-Led Courseware that is the subject of the
Authorized Training Session,
3. you will ensure that each End User provided with the hard-copy version of the Microsoft
Instructor-Led Courseware will be presented with a copy of this agreement and each End
EULA V
User will agree that their use of the Microsoft Instructor-Led Courseware will be subject
to the terms in this agreement prior to providing them with the Microsoft Instructor-Led
Courseware. Each individual will be required to denote their acceptance of this agree-
ment in a manner that is enforceable under local law prior to their accessing the Micro-
soft Instructor-Led Courseware,
4. you will ensure that each Trainer teaching an Authorized Training Session has their own
valid licensed copy of the Trainer Content that is the subject of the Authorized Training
Session,
5. you will only use qualified Trainers who have in-depth knowledge of and experience with
the Microsoft technology that is the subject of the Microsoft Instructor-Led Courseware
being taught for all your Authorized Training Sessions,
6. you will only deliver a maximum of 15 hours of training per week for each Authorized
Training Session that uses a MOC title, and
7. you acknowledge that Trainers that are not MCTs will not have access to all of the trainer
resources for the Microsoft Instructor-Led Courseware.
2. If you are a Microsoft Learning Competency Member:
1. Each license acquire may only be used to review one (1) copy of the Microsoft Instruc-
tor-Led Courseware in the form provided to you. If the Microsoft Instructor-Led Course-
ware is in digital format, you may install one (1) copy on up to three (3) Personal Devices.
You may not install the Microsoft Instructor-Led Courseware on a device you do not own or
control.
2. For each license you acquire on behalf of an End User or MCT, you may either:
1. distribute one (1) hard copy version of the Microsoft Instructor-Led Courseware to one
(1) End User attending the Authorized Training Session and only immediately prior to
the commencement of the Authorized Training Session that is the subject matter of the
Microsoft Instructor-Led Courseware provided, or
2. provide one (1) End User attending the Authorized Training Session with the unique
redemption code and instructions on how they can access one (1) digital version of the
Microsoft Instructor-Led Courseware, or
3. you will provide one (1) MCT with the unique redemption code and instructions on how
they can access one (1) Trainer Content.
3. For each license you acquire, you must comply with the following:
1. you will only provide access to the Licensed Content to those individuals who have
acquired a valid license to the Licensed Content,
2. you will ensure that each End User attending an Authorized Training Session has their
own valid licensed copy of the Microsoft Instructor-Led Courseware that is the subject of
the Authorized Training Session,
3. you will ensure that each End User provided with a hard-copy version of the Microsoft
Instructor-Led Courseware will be presented with a copy of this agreement and each End
User will agree that their use of the Microsoft Instructor-Led Courseware will be subject
to the terms in this agreement prior to providing them with the Microsoft Instructor-Led
Courseware. Each individual will be required to denote their acceptance of this agree-
ment in a manner that is enforceable under local law prior to their accessing the Micro-
soft Instructor-Led Courseware,
VI EULA
4. you will ensure that each MCT teaching an Authorized Training Session has their own
valid licensed copy of the Trainer Content that is the subject of the Authorized Training
Session,
5. you will only use qualified MCTs who also hold the applicable Microsoft Certification
credential that is the subject of the MOC title being taught for all your Authorized
Training Sessions using MOC,
6. you will only provide access to the Microsoft Instructor-Led Courseware to End Users,
and
7. you will only provide access to the Trainer Content to MCTs.
3. If you are a MPN Member:
1. Each license acquired on behalf of yourself may only be used to review one (1) copy of the
Microsoft Instructor-Led Courseware in the form provided to you. If the Microsoft Instruc-
tor-Led Courseware is in digital format, you may install one (1) copy on up to three (3)
Personal Devices. You may not install the Microsoft Instructor-Led Courseware on a device
you do not own or control.
2. For each license you acquire on behalf of an End User or Trainer, you may either:
1. distribute one (1) hard copy version of the Microsoft Instructor-Led Courseware to one
(1) End User attending the Private Training Session, and only immediately prior to the
commencement of the Private Training Session that is the subject matter of the Micro-
soft Instructor-Led Courseware being provided, or
2. provide one (1) End User who is attending the Private Training Session with the unique
redemption code and instructions on how they can access one (1) digital version of the
Microsoft Instructor-Led Courseware, or
3. you will provide one (1) Trainer who is teaching the Private Training Session with the
unique redemption code and instructions on how they can access one (1) Trainer
Content.
3. For each license you acquire, you must comply with the following:
1. you will only provide access to the Licensed Content to those individuals who have
acquired a valid license to the Licensed Content,
2. you will ensure that each End User attending an Private Training Session has their own
valid licensed copy of the Microsoft Instructor-Led Courseware that is the subject of the
Private Training Session,
3. you will ensure that each End User provided with a hard copy version of the Microsoft
Instructor-Led Courseware will be presented with a copy of this agreement and each End
User will agree that their use of the Microsoft Instructor-Led Courseware will be subject
to the terms in this agreement prior to providing them with the Microsoft Instructor-Led
Courseware. Each individual will be required to denote their acceptance of this agree-
ment in a manner that is enforceable under local law prior to their accessing the Micro-
soft Instructor-Led Courseware,
4. you will ensure that each Trainer teaching an Private Training Session has their own valid
licensed copy of the Trainer Content that is the subject of the Private Training Session,
EULA VII
5. you will only use qualified Trainers who hold the applicable Microsoft Certification
credential that is the subject of the Microsoft Instructor-Led Courseware being taught
for all your Private Training Sessions,
6. you will only use qualified MCTs who hold the applicable Microsoft Certification creden-
tial that is the subject of the MOC title being taught for all your Private Training Sessions
using MOC,
7. you will only provide access to the Microsoft Instructor-Led Courseware to End Users,
and
8. you will only provide access to the Trainer Content to Trainers.
4. If you are an End User:
For each license you acquire, you may use the Microsoft Instructor-Led Courseware solely for
your personal training use. If the Microsoft Instructor-Led Courseware is in digital format, you
may access the Microsoft Instructor-Led Courseware online using the unique redemption code
provided to you by the training provider and install and use one (1) copy of the Microsoft
Instructor-Led Courseware on up to three (3) Personal Devices. You may also print one (1) copy
of the Microsoft Instructor-Led Courseware. You may not install the Microsoft Instructor-Led
Courseware on a device you do not own or control.
5. If you are a Trainer.
1. For each license you acquire, you may install and use one (1) copy of the Trainer Content in
the form provided to you on one (1) Personal Device solely to prepare and deliver an
Authorized Training Session or Private Training Session, and install one (1) additional copy
on another Personal Device as a backup copy, which may be used only to reinstall the
Trainer Content. You may not install or use a copy of the Trainer Content on a device you do
not own or control. You may also print one (1) copy of the Trainer Content solely to prepare
for and deliver an Authorized Training Session or Private Training Session.
2. If you are an MCT, you may customize the written portions of the Trainer Content that are
logically associated with instruction of a training session in accordance with the most recent
version of the MCT agreement.
3. If you elect to exercise the foregoing rights, you agree to comply with the following: (i)
customizations may only be used for teaching Authorized Training Sessions and Private
Training Sessions, and (ii) all customizations will comply with this agreement. For clarity, any
use of “customize” refers only to changing the order of slides and content, and/or not using
all the slides or content, it does not mean changing or modifying any slide or content.
●● 2.2 Separation of Components. The Licensed Content is licensed as a single unit and you
may not separate their components and install them on different devices.
●● 2.3 Redistribution of Licensed Content. Except as expressly provided in the use rights
above, you may not distribute any Licensed Content or any portion thereof (including any permit-
ted modifications) to any third parties without the express written permission of Microsoft.
●● 2.4 Third Party Notices. The Licensed Content may include third party code that Micro-
soft, not the third party, licenses to you under this agreement. Notices, if any, for the third party
code are included for your information only.
●● 2.5 Additional Terms. Some Licensed Content may contain components with additional
terms, conditions, and licenses regarding its use. Any non-conflicting terms in those conditions
and licenses also apply to your use of that respective component and supplements the terms
described in this agreement.
VIII EULA
laws and treaties. Microsoft or its suppliers own the title, copyright, and other intellectual property
rights in the Licensed Content.
6. EXPORT RESTRICTIONS. The Licensed Content is subject to United States export laws and regula-
tions. You must comply with all domestic and international export laws and regulations that apply to
the Licensed Content. These laws include restrictions on destinations, end users and end use. For
additional information, see www.microsoft.com/exporting.
7. SUPPORT SERVICES. Because the Licensed Content is provided “as is”, we are not obligated to
provide support services for it.
8. TERMINATION. Without prejudice to any other rights, Microsoft may terminate this agreement if you
fail to comply with the terms and conditions of this agreement. Upon termination of this agreement
for any reason, you will immediately stop all use of and delete and destroy all copies of the Licensed
Content in your possession or under your control.
9. LINKS TO THIRD PARTY SITES. You may link to third party sites through the use of the Licensed
Content. The third party sites are not under the control of Microsoft, and Microsoft is not responsible
for the contents of any third party sites, any links contained in third party sites, or any changes or
updates to third party sites. Microsoft is not responsible for webcasting or any other form of trans-
mission received from any third party sites. Microsoft is providing these links to third party sites to
you only as a convenience, and the inclusion of any link does not imply an endorsement by Microsoft
of the third party site.
10. ENTIRE AGREEMENT. This agreement, and any additional terms for the Trainer Content, updates and
supplements are the entire agreement for the Licensed Content, updates and supplements.
11. APPLICABLE LAW.
1. United States. If you acquired the Licensed Content in the United States, Washington state law
governs the interpretation of this agreement and applies to claims for breach of it, regardless of
conflict of laws principles. The laws of the state where you live govern all other claims, including
claims under state consumer protection laws, unfair competition laws, and in tort.
2. Outside the United States. If you acquired the Licensed Content in any other country, the laws of
that country apply.
12. LEGAL EFFECT. This agreement describes certain legal rights. You may have other rights under the
laws of your country. You may also have rights with respect to the party from whom you acquired the
Licensed Content. This agreement does not change your rights under the laws of your country if the
laws of your country do not permit it to do so.
13. DISCLAIMER OF WARRANTY. THE LICENSED CONTENT IS LICENSED "AS-IS" AND "AS AVAILA-
BLE." YOU BEAR THE RISK OF USING IT. MICROSOFT AND ITS RESPECTIVE AFFILIATES GIVES NO
EXPRESS WARRANTIES, GUARANTEES, OR CONDITIONS. YOU MAY HAVE ADDITIONAL CON-
SUMER RIGHTS UNDER YOUR LOCAL LAWS WHICH THIS AGREEMENT CANNOT CHANGE. TO
THE EXTENT PERMITTED UNDER YOUR LOCAL LAWS, MICROSOFT AND ITS RESPECTIVE AFFILI-
ATES EXCLUDES ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICU-
LAR PURPOSE AND NON-INFRINGEMENT.
14. LIMITATION ON AND EXCLUSION OF REMEDIES AND DAMAGES. YOU CAN RECOVER FROM
MICROSOFT, ITS RESPECTIVE AFFILIATES AND ITS SUPPLIERS ONLY DIRECT DAMAGES UP TO
US$5.00. YOU CANNOT RECOVER ANY OTHER DAMAGES, INCLUDING CONSEQUENTIAL, LOST
PROFITS, SPECIAL, INDIRECT OR INCIDENTAL DAMAGES.
X EULA
Start Here
About this Course
Course Description
This course teaches Network Engineers how to design, implement, and maintain Azure networking
solutions. This course covers the process of designing, implementing, and managing core Azure network-
ing infrastructure, Hybrid Networking connections, load balancing traffic, network routing, private access
to Azure services, network security and monitoring. Learn how to design and implement a secure, reliable,
network infrastructure in Azure and how to establish hybrid connectivity, routing, private access to Azure
services, and monitoring in Azure.
Level: Intermediate
Audience
This course is for Network Engineers looking to specialize in Azure networking solutions. An Azure
Network engineer designs and implements core Azure networking infrastructure, hybrid networking
connections, load balance traffic, network routing, private access to Azure services, network security and
monitoring. The azure network engineer will manage networking solutions for optimal performance,
resiliency, scale, and security.
Prerequisites
Successful Azure Network Engineers start this role with experience in enterprise networking, on-premises
or cloud infrastructure, and network security.
●● Understanding on-premises virtualization technologies, including: VMs, virtual networking, and virtual
hard disks.
●● Understanding of network configurations, including TCP/IP, Domain Name System (DNS), virtual
private networks (VPNs), firewalls, and encryption technologies.
●● Understanding of software defined networking
●● Understanding hybrid network connectivity methods, such as VPN
2
●● Understanding resilience and disaster recovery, including high availability, and restore operations
regarding networking.
You can gain the prerequisites and a better understanding of Azure by reviewing these Learn Modules:
●● Azure Fundamentals part 1: Describe core Azure concepts1
●● Azure Fundamentals part 2: Describe core Azure services2
●● Azure Fundamentals part 3: Describe core solutions and management tools on Azure3
●● Azure Fundamentals part 4: Describe general security and network security features4
●● AZ-104: Configure and manage virtual networks for Azure administrators5
Expected learning
●● Design, implement and manage hybrid network connections such as S2S, P2S, and ExpressRoute
●● Design and implement core Azure networking infrastructure such as VNets, DNS, Public IPs, and Vnet
Peering
●● Design and implement routing and load balancing in Azure using VNet routing, Load balancers, Appli-
cation Gateway, Front Door, Traffic Manager, and Azure Virtual Network NAT
●● Secure and monitor networks with Firewall, NSGs, Web Application Firewall, and Azure monitor
●● Design and implement private access to Azure Services
Syllabus
The course content includes a mix of content, demonstrations, hands-on labs, reference links, and
knowledge check questions.
Module 01 - Introduction to Azure virtual networks
In this module you will learn how to design and implement fundamental Azure Networking resources
such as virtual networks, public and private IPs, DNS, virtual network peering, routing, and Azure Virtual
NAT.
●● Explore Azure virtual networks
●● Configure public IP services
●● Exercise: design and implement a virtual network in Azure
●● Design name resolution for your virtual network
●● Exercise: configure DNS settings in Azure
●● Enable cross-VNet connectivity with peering
●● Exercise: connect two Azure virtual networks using global virtual network peering
●● Implement virtual network traffic routing
●● Configure internet access with Azure Virtual NAT
Module 02 - Design and implement Hybrid Networking
1 https://docs.microsoft.com/en-us/learn/paths/az-900-describe-cloud-concepts/
2 https://docs.microsoft.com/en-us/learn/paths/az-900-describe-core-azure-services/
3 https://docs.microsoft.com/en-us/learn/paths/az-900-describe-core-solutions-management-tools-azure/
4 https://docs.microsoft.com/en-us/learn/paths/az-900-describe-general-security-network-security-features/
5 https://docs.microsoft.com/en-us/learn/paths/az-104-manage-virtual-networks/
3
In this module you will learn how to design and implement hybrid networking solutions such as Site-to-
Site VPN connections, Point-to-Site VPN connections, Azure Virtual WAN and Virtual WAN hubs.
●● Design and implement Azure VPN Gateway
●● Exercise: create and configure a virtual network gateway
●● Connect networks with Site-to-site VPN connections
●● Connect devices to networks with Point-to-site VPN connections
●● Connect remote resources by using Azure Virtual WANs
●● Exercise: create a Virtual WAN by using Azure portal
●● Create a network virtual appliance (NVA) in a virtual hub
Module 03 - Design and implement Azure ExpressRoute
In this module you will learn how to design and implement Azure ExpressRoute, ExpressRoute Global
Reach, ExpressRoute FastPath and ExpressRoute peering options.
●● Explore Azure ExpressRoute
●● Design an ExpressRoute deployment
●● Exercise: configure an ExpressRoute gateway
●● Exercise: provision an ExpressRoute circuit
●● Configure peering for an ExpressRoute deployment
●● Connect an ExpressRoute circuit to a VNet
●● Connect geographically dispersed networks with ExpressRoute Global Reach
●● Improve data path performance between networks with ExpressRoute FastPath
●● Troubleshoot ExpressRoute connection issues
Module 04 - load balance non-HTTP(S) traffic in Azure
In this module you will learn how to design and implement load balancing solutions for non-HTTP(S)
traffic in Azure with Azure Load balancer and Traffic Manager.
●● Explore load balancing
●● Design and implement Azure load balancer using the Azure portal
●● Exercise: create and configure an Azure load balancer
●● Explore Azure Traffic Manager
●● Exercise: create a Traffic Manager profile using the Azure portal
Module 05 - load balance HTTP(S) traffic in Azure
In this module you will learn how to design and implement load balancing solutions for HTTP(S) traffic in
Azure with Azure Application gateway and Azure Front Door.
●● Design Azure application gateway
●● Configure Azure application gateway
●● Exercise: deploy Azure application gateway
●● Design and configure Azure front door
●● Exercise: create a front door for a highly available web application
4
6 https://docs.microsoft.com/learn/certifications/exams/az-700
5
Candidates for this exam should have expert Azure administration skills, in addition to extensive experi-
ence and knowledge of networking, hybrid connections, and network security.
The exam includes five study areas. The percentages indicate the relative weight of each area on the
exam. The higher the percentage, the more questions the exam will contain.
7 https://docs.microsoft.com/learn/paths/az-104-manage-virtual-networks/
8 https://azure.microsoft.com/support/community/
9 https://docs.microsoft.com/azure/
10 https://azure.microsoft.com/blog/
11 https://techcommunity.microsoft.com/t5/microsoft-learn-blog/bg-p/MicrosoftLearnBlog
Module 1 Introduction to Azure Virtual Net-
works
Learning objectives
In this module, you will:
●● Implement virtual networks
●● Configure public IP services
●● Design and implement name resolution
●● Design and implement cross-VNET connectivity
●● Design and implement an Azure Virtual Network NAT
●● Implement virtual network routing
Prerequisites
●● You should have experience with networking concepts, such as IP addressing, Domain Name System
(DNS), and routing
●● You should have experience with network connectivity methods, such as VPN or WAN
●● You should have experience with the Azure portal and Azure PowerShell
8
When creating a VNet, it is recommended that you use the address ranges enumerated in RFC 1918,
which have been set aside by the IETF for private, non-routable address spaces:
●● 10.0.0.0 - 10.255.255.255 (10/8 prefix)
●● 172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
●● 192.168.0.0 - 192.168.255.255 (192.168/16 prefix)
In addition, you cannot add the following address ranges:
●● 224.0.0.0/4 (Multicast)
●● 255.255.255.255/32 (Broadcast)
●● 127.0.0.0/8 (Loopback)
●● 169.254.0.0/16 (Link-local)
●● 168.63.129.16/32 (Internal DNS)
Azure assigns resources in a virtual network a private IP address from the address space that you provi-
sion. For example, if you deploy a VM in a VNet with address space 10.0.0.0/16, the VM will be assigned a
private IP like 10.0.0.4. it is important to note that Azure reserves 5 IP addresses within each subnet. These
are x.x.x.0-x.x.x.3 and the last address of the subnet. x.x.x.1-x.x.x.3 is reserved in each subnet for Azure
services.
●● x.x.x.0: Network address
●● x.x.x.1: Reserved by Azure for the default gateway
●● x.x.x.2, x.x.x.3: Reserved by Azure to map the Azure DNS IPs to the VNet space
●● x.x.x.255: Network broadcast address
When planning to implement virtual networks, you need to consider the following:
●● Ensure non-overlapping address spaces. Make sure your VNet address space (CIDR block) does not
overlap with your organization's other network ranges.
●● Is any security isolation required?
●● Do you need to mitigate any IP addressing limitations?
●● Will there be connections between Azure VNets and on-premises networks?
●● Is there any isolation required for administrative purposes?
●● Are you using any Azure services that create their own VNets?
Subnets
A subnet is a range of IP address in the VNet. You can segment VNets into different size subnets, creating
as many subnets as you require for organization and security within the subscription limit. You can then
deploy Azure resources in a specific subnet. Just like in a traditional network, subnets allow you to
segment your VNet address space into segments that are appropriate for the organization's internal
network. This also improves address allocation efficiency. The smallest supported IPv4 subnet is /29, and
the largest is /8 (using CIDR subnet definitions). IPv6 subnets must be exactly /64 in size. When planning
to implement subnets, you need to consider the following:
●● Each subnet must have a unique address range, specified in Classless Inter-Domain Routing (CIDR)
format.
●● Certain Azure services require their own subnet.
10
●● Subnets can be used for traffic management. For example, you can create subnets to route traffic
through a network virtual appliance.
●● You can limit access to Azure resources to specific subnets with a virtual network service endpoint.
You can create multiple subnets, and enable a service endpoint for some subnets, but not others.
Micro-segmentation
Although subnets are the smallest unit you can create based on IP addressing, you can further segment
your network by using Network Security Groups (NSGs) to control access to the subnet. Each network
security group contains rules, which allow or deny traffic to and from sources and destinations.
You can associate zero or one NSG to each subnet in a virtual network. You can associate the same, or a
different, network security group to each subnet.
All Azure resource types have a scope that defines the level that resource names must be unique. A
resource must have a unique name within its scope. There are four levels you can specify a scope:
management group1, subscription, resource group2, and resource. Scopes are hierarchical, with each
level of hierarchy making the scope more specific.
For example, a virtual network has a resource group scope, which means that there can be only one
network named vnet-prod-westus-001 in each resource group. Other resource groups could have their
own virtual network named vnet-prod-westus-001. Subnets are scoped to virtual networks, so each
subnet within a virtual network must have a distinct name.
1 https://docs.microsoft.com/en-us/azure/governance/management-groups/overview
2 https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/overview
11
You should consider availability zones when designing your Azure network, and plan for services that
support availability zones.
Azure services that support Availability Zones fall into three categories:
●● Zonal services: Resources can be pinned to a specific zone. For example, virtual machines, managed
disks, or standard IP addresses can be pinned to a specific zone, which allows for increased resilience
by having one or more instances of resources spread across zones.
12
●● Zone-redundant services: Resources are replicated or distributed across zones automatically. Azure
replicates the data across three zones so that a zone failure does not impact its availability.
●● Non-regional services: Services are always available from Azure geographies and are resilient to
zone-wide outages as well as region-wide outages.
In the search box, enter Virtual Network. Select Virtual Network in the search results.
13
In Create virtual network, enter or select this information in the Basics tab:
Setting Value
Project details
Subscription Select your subscription.
14
In the Create virtual network tab, you can enable security features like BastionHost, DDoS Protection
Standard, and Firewall.
BastionHost
The Azure Bastion service is a new fully platform-managed PaaS service that you provision inside your
virtual network. It provides secure and seamless RDP/SSH connectivity to your virtual machines directly in
the Azure portal over SSL. When you connect via Azure Bastion, your virtual machines do not need a
public IP address.
Distributed Denial of Service (DDoS) protection
You can select to enable Standard DDoS protection. Standard DDoS Protection is a plan is a paid service
that offers enhanced DDoS mitigation capabilities via adaptive tuning, attack notification, and telemetry
to protect against the impacts of a DDoS attack for all protected resources within this virtual network.
Basic DDoS protection is integrated into the Azure platform by default and at no additional cost.
Firewall
Azure Firewall is a managed cloud-based network security service that protects your Azure Virtual
Network resources.
16
In the Review + create tab, you can define tags, which can help you to organize and manage your Azure
resources.
17
Public networks like the Internet communicate by using public IP addresses. Private networks like your
Azure Virtual Network use private IP addresses, which are not routable on public networks. To support a
network that exists both in Azure and on-premises, you must configure IP addressing for both types of
networks.
Public IP addresses enable Internet resources to communicate with Azure resources and enable Azure
resources to communicate outbound with Internet and public-facing Azure services. A public IP address
in Azure is dedicated to a specific resource, until it's unassigned by a network engineer. A resource
without a public IP assigned can communicate outbound through network address translation services,
where Azure dynamically assigns an available IP address that isn't dedicated to the resource.
As an example, public resources like web servers must be accessible from the internet. You want to
ensure that you plan IP addresses that support these requirements.
18
In this unit, you will learn about requirements for IP addressing when integrating an Azure network with
on-premises networks, and you'll explore the constraints and limitations for public and private IP ad-
dresses in Azure. You also will look at the capabilities that are available in Azure to reassign IP addresses
in your network.
Basic SKU
Basic SKU public IPs can be assigned by using static or dynamic allocation methods. Basic IPs have an
adjustable inbound originated flow idle timeout of 4-30 minutes, with a default of 4 minutes, and a fixed
outbound originated flow idle timeout of 4 minutes. Basic IPs are open by default, so the use of Network
security groups is recommended but optional for restricting inbound or outbound traffic.
Basic public IPs can be assigned to any Azure resource that can be assigned a public IP address, such as
network interfaces, VPN gateways, application gateways, and internet-facing load balancers. They do not
support availability zone scenarios. You must use a Standard SKU public IP for an availability zone
scenario.
3 https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-public-ip-address
19
Standard SKU
Standard SKU public IP addresses always use the static allocation method. They have an adjustable
inbound originated flow idle timeout of 4-30 minutes, with a default of 4 minutes, and a fixed outbound
originated flow idle timeout of 4 minutes.
Standard IPs are secure by default and closed to inbound traffic. You must explicitly allow inbound traffic
by using a network security group.
Standard IPs can be assigned to network interfaces, Standard public load balancers, application gateways,
or VPN gateways. Standard IPs are zone-redundant by default and optionally zonal (they can be created
zonal and guaranteed in a specific availability zone).
quiz title:
Multiple choice
Which of the following statements about Azure VNets is correct?
Outbound communication with the internet must be configured for each resource on the VNet.
{{Incorrect. All resources in a VNet can communicate outbound to the internet, by default.}}
Azure VNets enable communication between Azure resources. {{Correct. Virtual Networks can connect
Azure resources including VMs, the App Service Environment, Azure Kubernetes Service, and Azure
virtual machine scale sets. You can use service endpoints to connect to other Azure resource types,
such as Azure SQL databases and storage accounts.}}
Azure VNets cannot be configured to communicate with on-premises resources. {{Incorrect. You can
connect your on-premises computers and networks to a virtual network using any of the following
options: Point-to-site virtual private network (VPN), Site-to-site VPN, Azure ExpressRoute.}}
20
Multiple choice
Which of the following statements about subnets is NOT correct?
You can assign the same IP address range to multiple subnets within the same VNet. {{That is correct.
Each subnet must have a unique address range, specified in Classless Inter-Domain Routing (CIDR)
format.}}
You can create multiple subnets within one VNet. {{That is incorrect. You can create multiple virtual
networks per subscription and per region, and multiple subnets within each virtual network.}}
You can use Network Security Groups (NSGs) to control access to a subnet and the resources on it.
{{That is incorrect. You can associate zero or one NSG to each subnet to control access to the subnet
and the resources on it.}}
Exercise scenario
Now you're ready to deploy virtual networks in the Azure portal.
Consider the fictional organization Contoso Ltd, which is in the process of migrating infrastructure and
applications to Azure. In your role as network engineer, you must plan and implement three virtual
networks and subnets to support resources in those virtual networks.
The CoreServicesVnet virtual network is deployed in the US West region. This virtual network will have
the largest number of resources. It will have connectivity to on-premises networks through a VPN
connection. This network will have web services, databases, and other systems that are key to the opera-
tions of the business. Shared services, such as domain controllers and DNS also will be located here. A
large amount of growth is anticipated, so a large address space is necessary for this virtual network.
The ManufacturingVnet virtual network is deployed in the North Europe region, near the location of
your organization's manufacturing facilities. This virtual network will contain systems for the operations of
the manufacturing facilities. The organization is anticipating a large number of internal connected devices
for their systems to retrieve data from, such as temperature, and will need an IP address space that it can
expand into.
The ResearchVnet virtual network is deployed in the West India region, near the location of the organi-
zation's research and development team. The research and development team uses this virtual network.
The team has a small, stable set of resources that is not expected to grow. The team needs a small
number of IP addresses for a few virtual machines for their work.
21
4 https://portal.azure.com/
23
4. Use the information in the following table to create the CoreServicesVnet virtual network.
2. Verify that the CoreServicesVnet, ManufacturingVnet, and ResearchVnet are listed. Your list should
look like this:
26
3. Note that Azure creates NetworkWatchers for each region that you use.
4. Select CoreServicesVnet.
5. In CoreServicesVnet, under Settings, select Subnets.
6. In CoreServicesVnet | Subnets, verify that the subnets you created are listed, and that the IP address
ranges are correct.
Depending on how you use Azure to host IaaS, PaaS, and hybrid solutions, you might need to allow the
virtual machines (VMs), and other resources deployed in a virtual network to communicate with each
other. Although you can enable communication by using IP addresses, it is much simpler to use names
that can be easily remembered, and do not change.
DNS is split into two areas: Public, and Private DNS for resources accessible from your own internal
networks.
Considerations
●● The name of the zone must be unique within the resource group, and the zone must not exist already.
●● The same zone name can be reused in a different resource group or a different Azure subscription.
●● Where multiple zones share the same name, each instance is assigned different name server address-
es.
●● Root/Parent domain is registered at the registrar and pointed to Azure NS.
●● Child domains are registered in AzureDNS directly.
[!NOTE]
You do not have to own a domain name to create a DNS zone with that domain name in Azure DNS.
However, you do need to own the domain to configure the domain.
28
Child Domains
If you want to set up a separate child zone, you can delegate a subdomain in Azure DNS. For example,
after configuring contoso.com in Azure DNS, you could configure a separate child zone for partners.
contoso.com.
Setting up a subdomain follows the same process as typical delegation. The only difference is that NS
records must be created in the parent zone contoso.com in Azure DNS, rather than in the domain
registrar.
[!NOTE]
The parent and child zones can be in the same or different resource group. Notice that the record set
name in the parent zone matches the child zone name, in this case partners.
It's important to understand the difference between DNS record sets and individual DNS records. A
record set is a collection of records in a zone that have the same name and are the same type.
A record set cannot contain two identical records. Empty record sets (with zero records) can be created,
but do not appear on the Azure DNS name servers. Record sets of type CNAME can contain one record at
most.
29
The Add record set page will change depending on the type of record you select. For an A record, you
will need the TTL (Time to Live) and IP address. The time to live, or TTL, specifies how long each record is
host names (via the forwarder). Access to the recursive resolvers in Azure is provided via the virtual IP
168.63.129.16.
DNS forwarding also enables DNS resolution between virtual networks and allows your on-premises
machines to resolve Azure-provided host names. In order to resolve a VM's host name, the DNS server
VM must reside in the same virtual network and be configured to forward host name queries to Azure.
Because the DNS suffix is different in each virtual network, you can use conditional forwarding rules to
send DNS queries to the correct virtual network for resolution. The following image shows two virtual
networks and an on-premises network doing DNS resolution between virtual networks, by using this
method.
You can create a private DNS zone using the Azure portal, Azure PowerShell, or Azure CLI.
When the new DNS zone is deployed, you can manually create resource records, or use auto-registration,
which will create resource records based on the Azure resource name.
Private DNS zones support the full range of records including pointers, MX, SOA, service, and text
records.
quiz title:
Multiple choice
What is the difference between a static public IP address and a dynamic public IP address?
A dynamic IP address remains the same over the lifespan of the resource to which it is assigned.{{That
is incorrect. A dynamic public IP address is an assigned address that can change over the lifespan of
the Azure resource. The dynamic IP address is allocated when you create or start a VM.}}
A static IP address can use an IPv4 address only.{{That is incorrect. Static IP addresses are created with
either an IPv4 or an IPv6 address.}}
A static IP address remains the same over the lifespan of the resource to which it is assigned. {{That is
correct. A static public IP address is an assigned address that will not change over the lifespan of the
Azure resource. To configure a static IP address, set the allocation method explicitly to static.}}
Multiple choice
Application owners need to use dynamic IP addresses for specific resources on their VNet. Which SKU must
they choose?
Basic SKU {{That is correct. Basic SKU public IPs can be assigned by using static or dynamic allocation
methods.}}
Standard SKU{{That is incorrect. Standard SKU public IP addresses always use the static allocation
method.}}
Either Basic or Standard SKU{{That is incorrect. Standard SKU public IP addresses always use the static
allocation method. Basic SKU public IPs can be assigned by using static or dynamic allocation meth-
ods.}}
Exercise scenario
In this unit, you will configure DNS name resolution for Contoso Ltd. You will create a private DNS zone
named contoso.com, link the VNets for registration and resolution, and then create two virtual machines
and test the configuration.
In this exercise, you will:
●● Task 1: Create a private DNS Zone
●● Task 2: Link subnet for auto registration
●● Task 3: Create Virtual Machines to test the configuration
●● Task 4: Verify records are present in the DNS zone
2. On the Azure home page, in the search bar, type dns, and then select Private DNS zones.
3. In Private DNS zones, select + Create.
4. Use the information in the following table to create the private DNS zone.
5 https://portal.azure.com/
36
3. Use the information in the following table to add the virtual network link.
Option Value
Link name CoreServicesVnetLink
Subscription No changes required
Virtual Network CoreServicesVnet (ContosoResourceGroup)
Enable auto registration Selected
Review your settings and select OK.
4. Select Refresh.
5. Verify that the CoreServicesVnetLink has been created, and that auto-registration is enabled.
6. Repeat steps 2 - 5 for the ManufacturingVnet, using the information in the following table:
37
Option Value
Link name ManufacturingVnetLink
Subscription No changes required
Virtual Network ManufacturingVnet (ContosoResourceGroup)
Enable auto registration Selected
Review your settings and select OK.
7. Select Refresh.
8. Verify that the ManufacturingVnetLink has been created, and that auto-registration is enabled.
9. Repeat steps 2 - 5 for the ResearchVnet, using the information in the following table:
Option Value
Link name ResearchVnetLink
Subscription No changes required
Virtual Network ResearchVnet (ContosoResourceGroup)
Enable auto registration Selected
Review your settings and select OK.
10. Select Refresh.
11. Verify that the ResearchVnetLink has been created, and that auto-registration is enabled.
Create TestVM1
1. On the Azure home page, select Virtual Machines.
2. In Virtual Machines, select + Add > + Start with a preset configuration.
38
3. In Choose recommended defaults that match your workload, under Select a workload environment,
select Dev/Test.
4. Under Select a workload type, select General purpose (D-Series), and then select Continue to
create a VM.
5. Use the information in the following table to create your first VM.
Create TestVM2
1. On the Azure home page, select Virtual Machines.
2. In Virtual Machines, select + Add > + Start with a preset configuration.
3. In Choose recommended defaults that match your workload, under Select a workload environment,
select Dev/Test.
4. Under Select a workload type, select General purpose (D-Series), and then select Continue to
create a VM.
5. Use the information in the following table to create your second VM.
Organizations with large scale operations will often need to create connections between different parts of
their virtual network infrastructure. Virtual network peering enables you to seamlessly connect separate
VNets with optimal network performance, whether they are in the same Azure region (VNet peering) or in
different regions (Global VNet peering). Network traffic between peered virtual networks is private. The
virtual networks appear as one for connectivity purposes. The traffic between virtual machines in peered
virtual networks uses the Microsoft backbone infrastructure, and no public Internet, gateways, or encryp-
tion is required in the communication between the virtual networks.
Virtual network peering enables you to seamlessly connect two Azure virtual networks. Once peered, the
virtual networks appear as one, for connectivity purposes. There are two types of VNet peering.
●● Regional VNet peering connects Azure virtual networks in the same region.
●● Global VNet peering connects Azure virtual networks in different regions. When creating a global
peering, the peered virtual networks can exist in any Azure public cloud region or China cloud regions,
but not in Government cloud regions. You can only peer virtual networks in the same region in Azure
Government cloud regions.
43
The benefits of using virtual network peering, whether local or global, include:
●● A low-latency, high-bandwidth connection between resources in different virtual networks.
●● The ability to apply network security groups in either virtual network to block access to other virtual
networks or subnets.
●● The ability to transfer data between virtual networks across Azure subscriptions, Azure Active Directo-
ry tenants, deployment models, and Azure regions.
●● The ability to peer virtual networks created through the Azure Resource Manager.
●● The ability to peer a virtual network created through Resource Manager to one created through the
classic deployment model.
●● No downtime to resources in either virtual network is required when creating the peering, or after the
peering is created.
The following diagram shows a scenario where resources on the Contoso VNet and resources on the
Fabrikam VNet need to communicate. The Contoso subscription in the US West region, is connected to
the Fabrikam subscription in the US West region.
44
The routing tables show the routes known to the resources in each subscription. The following routing
table shows the routes known to Contoso, with the final entry being the Global VNet peering entry to the
To configure the peering use the Add peering page. There are only a few optional configuration parame-
ters to consider.
[!NOTE]
When you add a peering on one virtual network, the second virtual network configuration is automatical-
ly added.
To enable service chaining, add user-defined routes pointing to virtual machines in the peered virtual
network as the next hop IP address. User-defined routes can also point to virtual network gateways.
Azure virtual networks can be deployed in a hub-and-spoke topology, with the hub VNet acting as a
central point of connectivity to all the spoke VNets. The hub virtual network hosts infrastructure compo-
nents such as an NVA, virtual machines and a VPN gateway. All the spoke virtual networks peer with the
hub virtual network. Traffic flows through network virtual appliances or VPN gateways in the hub virtual
network. The benefits of using a hub and spoke configuration include cost savings, overcoming subscrip-
tion limits, and workload isolation.
The following diagram shows a scenario in which hub VNet hosts a VPN gateway that manages traffic to
the on-premises network, enabling controlled communication between the on-premises network and the
quiz title:
Multiple choice
When one needs the resources in one VNet to communicate with resources in a subnet in a different VNet.
Which Azure network feature should be used?
Internal DNS. {{That is incorrect, internal DNS is a service provided by Azure.}}
Azure Availability Zones. {{That is incorrect, Azure Availability Zones are a high availability feature.
Each zone is made up of one or more datacenters equipped with independent power, cooling, and
networking.}}
VNet peering. {{That is correct, virtual network peering enables you to seamlessly connect separate
VNets with optimal network performance, whether they are in the same Azure region (VNet peering)
or in different regions (Global VNet peering).}}
Multiple choice
When configure global peering, what changes will see in the peered VNets?
A peering entry is added to the routing table in the source VNet only. {{That is incorrect, the VNets
communicate as peers, so resources in each VNet must be able to communicate with each other.
Adding a single peering entry only allows traffic to be routed one way.}}
All traffic on the Vnet must be routed through a Gateway. {{That is incorrect, resources on each VNet
can communicate seamlessly with one another.}}
A peering entry is added to the routing table in each VNet. {{That is correct, VNet Global Peering
entries are added to the routing tables in each VNet to direct traffic to the peered VNet.}}
Exercise scenario
In this unit, you will configure connectivity between the CoreServicesVnet and the ManufacturingVnet by
adding peerings to allow traffic flow.
In this unit, you will:
●● Task 1: Create a Virtual Machine to test the configuration
●● Task 2: Connect to the Test VMs using RDP
●● Task 3: Test the connection between the VMs
●● Task 4: Create VNet peerings between CoreServicesVnet and ManufacturingVnet
●● Task 5: Test the connection between the VMs
●● Task 6: Clean up resources
48
Create ManufacturingVM
1. On the Azure home page, select Virtual Machines.
PowerShell
Test-NetConnection 10.20.20.4 -port 3389
3. The test connection should fail, and you will see a result similar to the following:
PowerShell
Test-NetConnection 10.20.20.4 -port 3389
3. The test connection should succeed, and you will see a result similar to the following:
Congratulations! You have successful configured connectivity between VNets by adding peerings.
[!NOTE] The command executes asynchronously (as determined by the -AsJob parameter), so while you
will be able to run another PowerShell command immediately afterwards within the same PowerShell
session, it will take a few minutes before the resource groups are actually removed.
System routes
Azure automatically creates system routes and assigns the routes to each subnet in a virtual network. You
can't create system or remove routes, but you can override some system routes with custom routes.
Azure creates default system routes for each subnet, and adds additional optional default routes to
specific subnets, or every subnet, when you use specific Azure capabilities.
Default routes
Each route contains an address prefix and next hop type. When traffic leaving a subnet is sent to an IP
address within the address prefix of a route, the route that contains the prefix is the route Azure uses.
Whenever a virtual network is created, Azure automatically creates the following default system routes for
each subnet within the virtual network:
6 https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-udr-overview
54
rather than routing the traffic to the Internet. You can override Azure's default system route for the
0.0.0.0/0 address prefix with a custom route.
●● None: Traffic routed to the None next hop type is dropped, rather than routed outside the subnet.
Azure automatically creates default routes for the following address prefixes:
●● 10.0.0.0/8 and 192.168.0.0/16: Reserved for private use in RFC 1918.
●● 100.64.0.0/10: Reserved in RFC 6598.
If you assign any of the previous address ranges within the address space of a virtual network, Azure
automatically changes the next hop type for the route from None to Virtual network. If you assign an
address range to the address space of a virtual network that includes, but isn't the same as, one of the
four reserved address prefixes, Azure removes the route for the prefix and adds a route for the address
prefix you added, with Virtual network as the next hop type.
7 https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-udr-overview
8 https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits?toc=/azure/virtual-
network/toc.json
55
VirtualNetworkServiceEndpoint: Azure adds the public IP addresses for certain services to the route
table when you enable a service endpoint to the service. Service endpoints are enabled for individual
subnets within a virtual network, so the route is only added to the route table of a subnet a service
endpoint is enabled for. The public IP addresses of Azure services change periodically, and Azure manag-
es the updates to the routing tables when necessary.
The VNet peering and VirtualNetworkServiceEndpoint next hop types are only added to route tables
of subnets within virtual networks created through the Azure Resource Manager deployment model. The
next hop types are not added to route tables that are associated to virtual network subnets created
through the classic deployment model.
Custom routes
To control the way network traffic is routed more precisely, you can override the default routes that Azure
creates by using your own user-defined routes (UDR). This technique can be useful when you want to
ensure that traffic between two subnets passes through a firewall appliance, or if you want to ensure that
no traffic from a VNet could be routed to the internet.
User-defined routes
You can create custom, or user-defined(static), routes in Azure to override Azure's default system routes,
or to add additional routes to a subnet's route table.
In Azure, each subnet can have zero or one associated route table. When you create a route table and
associate it to a subnet, the routes within it are combined with, or override, the default routes Azure adds
to a subnet.
You can specify the following next hop types when creating a user-defined route:
Virtual appliance: A virtual appliance is a virtual machine that typically runs a network application, such
as a firewall. When you create a route with the virtual appliance hop type, you also specify a next hop IP
address. The IP address can be:
●● The private IP address of a network interface attached to a virtual machine.
●● The private IP address of an Azure internal load balancer.
Virtual network gateway: Specify when you want traffic destined for specific address prefixes routed to
a virtual network gateway. The virtual network gateway must be created with type VPN.
None: Specify when you want to drop traffic to an address prefix, rather than forwarding the traffic to a
destination.
Virtual network: Specify when you want to override the default routing within a virtual network.
Internet: Specify when you want to explicitly route traffic destined to an address prefix to the Internet, or
if you want traffic destined for Azure services with public IP addresses kept within the Azure backbone
network.
Routes are automatically added to the route table for all subnets with Virtual network gateway propaga-
tion enabled. When you are using ExpressRoute, propagation ensures all subnets get the routing infor-
mation.
In summary, this route applies to any address prefixes in 10.0.1.0/24 (private subnet). Traffic headed to
these addresses will be sent to the virtual appliance with a 10.0.2.4 address.
[!NOTE] By default, using system routes traffic would go directly to the private subnet. However, with a
user-defined route you can force the traffic through the virtual appliance.
[!NOTE] In this example, the virtual appliance shouldn't have a public IP address and IP forwarding should
be enabled.
58
name.
9 https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-network-interface
59
5. Under Support + troubleshooting, select Effective routes. The effective routes for a network
-NetworkInterfaceName myVMNic1 `
-ResourceGroupName myResourceGroup `
10 https://docs.microsoft.com/en-us/azure/virtual-network/manage-route-table
11 https://docs.microsoft.com/en-us/azure/virtual-network/manage-route-table
12 https://docs.microsoft.com/en-us/azure/virtual-network/manage-route-table
13 https://docs.microsoft.com/en-us/azure/virtual-network/manage-route-table
60
●● Forced tunneling must be associated with a VNet that has a route-based VPN gateway.
●● You must set a default site connection among the cross-premises local sites connected to the
virtual network.
●● The on-premises VPN device must be configured using 0.0.0.0/0 as traffic selectors.
Using forced tunneling allows you to restrict and inspect Internet access from your VMs and cloud
services in Azure, while continuing to enable your multi-tier service architecture the Internet access it
requires.
Globally, IPv4 address ranges are in very short supply, and can be an expensive way to grant access to
Internet resources. Network Address Translation (NAT) arose out of this need for internal resources on a
private network to share routable IPv4 addresses to gain access to external resources on a public net-
work. Rather than purchasing an IPv4 address for each resource that requires internet access, you can use
a NAT service to map outgoing requests from internal resources to an external IP address, so that
communication can take place.
NAT services provide mappings for a single IP address, a range of IP addresses defined by an IP Prefix,
and a range of ports associated with an IP address. NAT is compatible with standard SKU public IP
address resources or public IP prefix resources or a combination of both. You can use a public IP prefix
directly or distribute the public IP addresses of the prefix across multiple NAT gateway resources. NAT will
map all traffic to the range of IP addresses of the prefix. NAT allows flows to be created from the virtual
network to the Internet. Return traffic from the Internet is only allowed in response to an active flow.
The following diagram shows outbound traffic flow from Subnet 1 through the NAT gateway to be
mapped to a Public IP address or a Public IP prefix.
You define the NAT configuration for each subnet within a VNet to enable outbound connectivity by
specifying which NAT gateway resource to use. After NAT is configured, all UDP and TCP outbound flows
62
from any virtual machine instance will use NAT for internet connectivity. No further configuration is
necessary, and you don’t need to create any user-defined routes. NAT takes precedence over other
outbound scenarios and replaces the default Internet destination of a subnet.
Limitations of NAT
●● NAT is compatible with standard SKU public IP, public IP prefix, and load balancer resources. Basic
resources (for example basic load balancer) and any products derived from them aren't compatible
with NAT. Basic resources must be placed on a subnet not configured with NAT.
●● IPv4 address family is supported. NAT doesn't interact with IPv6 address family. NAT can't be deployed
on a subnet with an IPv6 prefix.
●● NAT can't span multiple virtual networks.
●● IP fragmentation is not supported.
quiz title:
Multiple choice
What is the purpose of NAT?
NAT enables you to share a single public IPv4 address among multiple internal resources. {{Correct,
NAT enables internal resources to share an IP address for communication with Internet resources.}}
NAT allows you to assign multiple private IPv4 addresses to a single virtual machine. {{Incorrect, you
can assign multiple IPv4 addresses to a single virtual machine, but the NAT service is not used for
this.}}
NAT enables you to configure an external IPv4 address on each individual virtual machine. {{Incorrect,
the NAT service is configured as a gateway, providing shared IPv4 address(es) for internal resources. It
is not configured on individual virtual machines.}}
Multiple choice
How does NAT scale to support dynamic workloads?
NAT supports up to 16 public IP addresses, and for each of those, uses port network address transla-
tion (PNAT or PAT) to provide up to 64,000 concurrent traffic flows. {{ Correct, NAT supports up to 16
public IP addresses. Using port network address translation (PNAT or PAT), NAT provides up to 64,000
concurrent flows for UDP and TCP respectively, for each attached public IP address.}}
NAT supports up to 4 public IP addresses. {{ Incorrect, NAT supports up to 16 public IP addresses.
Additionally, by using port network address translation (PNAT or PAT), NAT provides up to 64,000
concurrent flows for UDP and TCP respectively, for each attached public IP address.}}
NAT does not scale dynamically. You must configure NAT to scale manually, by adding additional NAT
Gateways. {{ Incorrect, NAT scales automatically to support dynamic workloads. You do not need to
add extra NAT gateways.}}
11-Summary
As your organization moves to Azure, you must design a secure virtual networking environment that
provides connectivity and name resolution for both virtual and on-premises resources. Users must be
able to access the resources they need smoothly and securely, regardless of where they are accessing the
network from.
In this module you saw a broad overview of some of the most crucial aspects of designing and planning
an Azure virtual network, including planning VNets, subnets and micro-segmentation, assigning appro-
priate IP addresses to resources and configuring DNS name resolution.
You now have the fundamental knowledge required to design and implement virtual networking in Azure.
Summary
Now that you have reviewed this module, you should be able to:
●● Implement virtual networks
●● Configure public IP services
●● Design and implement name resolution
65
Resources
Use these resources to discover more.
●● What is Azure Virtual Network?14
●● Azure networking services overview15
●● Azure for network engineers16
14 https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-overview
15 https://docs.microsoft.com/en-us/azure/networking/fundamentals/networking-overview
16 https://docs.microsoft.com/en-us/azure/networking/azure-for-network-engineers
66
Answers
Multiple choice
Which of the following statements about Azure VNets is correct?
Outbound communication with the internet must be configured for each resource on the VNet.
{{Incorrect. All resources in a VNet can communicate outbound to the internet, by default.}}
■■ Azure VNets enable communication between Azure resources. {{Correct. Virtual Networks can connect
Azure resources including VMs, the App Service Environment, Azure Kubernetes Service, and Azure
virtual machine scale sets. You can use service endpoints to connect to other Azure resource types,
such as Azure SQL databases and storage accounts.}}
Azure VNets cannot be configured to communicate with on-premises resources. {{Incorrect. You can
connect your on-premises computers and networks to a virtual network using any of the following
options: Point-to-site virtual private network (VPN), Site-to-site VPN, Azure ExpressRoute.}}
Explanation
Multiple choice
Which of the following statements about subnets is NOT correct?
■■ You can assign the same IP address range to multiple subnets within the same VNet. {{That is correct.
Each subnet must have a unique address range, specified in Classless Inter-Domain Routing (CIDR)
format.}}
You can create multiple subnets within one VNet. {{That is incorrect. You can create multiple virtual
networks per subscription and per region, and multiple subnets within each virtual network.}}
You can use Network Security Groups (NSGs) to control access to a subnet and the resources on it.
{{That is incorrect. You can associate zero or one NSG to each subnet to control access to the subnet
and the resources on it.}}
Explanation
Multiple choice
What is the difference between a static public IP address and a dynamic public IP address?
A dynamic IP address remains the same over the lifespan of the resource to which it is assigned.{{That
is incorrect. A dynamic public IP address is an assigned address that can change over the lifespan of
the Azure resource. The dynamic IP address is allocated when you create or start a VM.}}
A static IP address can use an IPv4 address only.{{That is incorrect. Static IP addresses are created with
either an IPv4 or an IPv6 address.}}
■■ A static IP address remains the same over the lifespan of the resource to which it is assigned. {{That is
correct. A static public IP address is an assigned address that will not change over the lifespan of the
Azure resource. To configure a static IP address, set the allocation method explicitly to static.}}
Explanation
67
Multiple choice
Application owners need to use dynamic IP addresses for specific resources on their VNet. Which SKU
must they choose?
■■ Basic SKU {{That is correct. Basic SKU public IPs can be assigned by using static or dynamic allocation
methods.}}
Standard SKU{{That is incorrect. Standard SKU public IP addresses always use the static allocation
method.}}
Either Basic or Standard SKU{{That is incorrect. Standard SKU public IP addresses always use the static
allocation method. Basic SKU public IPs can be assigned by using static or dynamic allocation meth-
ods.}}
Explanation
Multiple choice
When one needs the resources in one VNet to communicate with resources in a subnet in a different
VNet. Which Azure network feature should be used?
Internal DNS. {{That is incorrect, internal DNS is a service provided by Azure.}}
Azure Availability Zones. {{That is incorrect, Azure Availability Zones are a high availability feature.
Each zone is made up of one or more datacenters equipped with independent power, cooling, and
networking.}}
■■ VNet peering. {{That is correct, virtual network peering enables you to seamlessly connect separate
VNets with optimal network performance, whether they are in the same Azure region (VNet peering)
or in different regions (Global VNet peering).}}
Explanation
Multiple choice
When configure global peering, what changes will see in the peered VNets?
A peering entry is added to the routing table in the source VNet only. {{That is incorrect, the VNets
communicate as peers, so resources in each VNet must be able to communicate with each other.
Adding a single peering entry only allows traffic to be routed one way.}}
All traffic on the Vnet must be routed through a Gateway. {{That is incorrect, resources on each VNet
can communicate seamlessly with one another.}}
■■ A peering entry is added to the routing table in each VNet. {{That is correct, VNet Global Peering
entries are added to the routing tables in each VNet to direct traffic to the peered VNet.}}
Explanation
68
Multiple choice
What is the purpose of NAT?
■■ NAT enables you to share a single public IPv4 address among multiple internal resources. {{Correct,
NAT enables internal resources to share an IP address for communication with Internet resources.}}
NAT allows you to assign multiple private IPv4 addresses to a single virtual machine. {{Incorrect, you
can assign multiple IPv4 addresses to a single virtual machine, but the NAT service is not used for
this.}}
NAT enables you to configure an external IPv4 address on each individual virtual machine. {{Incorrect,
the NAT service is configured as a gateway, providing shared IPv4 address(es) for internal resources. It
is not configured on individual virtual machines.}}
Explanation
Multiple choice
How does NAT scale to support dynamic workloads?
■■ NAT supports up to 16 public IP addresses, and for each of those, uses port network address transla-
tion (PNAT or PAT) to provide up to 64,000 concurrent traffic flows. {{ Correct, NAT supports up to 16
public IP addresses. Using port network address translation (PNAT or PAT), NAT provides up to 64,000
concurrent flows for UDP and TCP respectively, for each attached public IP address.}}
NAT supports up to 4 public IP addresses. {{ Incorrect, NAT supports up to 16 public IP addresses.
Additionally, by using port network address translation (PNAT or PAT), NAT provides up to 64,000
concurrent flows for UDP and TCP respectively, for each attached public IP address.}}
NAT does not scale dynamically. You must configure NAT to scale manually, by adding additional NAT
Gateways. {{ Incorrect, NAT scales automatically to support dynamic workloads. You do not need to
add extra NAT gateways.}}
Explanation
Module 2 Design and implement hybrid net-
working
Learning objectives
In this module, you will:
●● Design and implement a site-to-site VPN connection
●● Design and implement a point-to-site VPN connection
●● Design and implement authentication for point-to-site VPN connections
●● Design and implement Azure Virtual WAN
Prerequisites
●● You should have experience with networking concepts, such as IP addressing, Domain Name System
(DNS), and routing
●● You should have experience with network connectivity methods, such as VPN or WAN
70
●● You should have experience with the Azure portal and Azure PowerShell
Networks that connect on-premises resources and virtual resources are known as hybrid networks. One
option for connecting an on-premises network to an Azure VNET is a VPN connection. A virtual private
network (VPN) is a type of private interconnected network. VPNs use an encrypted tunnel within another
network. They are typically deployed to connect two or more trusted private networks to one another
over an untrusted network, usually the public Internet. Traffic is encrypted while traveling over the
untrusted network to prevent eavesdropping or other attacks.
To integrate your on-premises environment with Azure, you need the ability to create an encrypted
connection. You can connect over the internet, or over a dedicated link. Here, we'll look at Azure VPN
Gateway, which provides an endpoint for incoming connections from on-premises environments.
When you're working toward integrating your on-premises network with Azure, there needs to be a
bridge between them. VPN Gateway is an Azure service that provides this functionality. A VPN gateway
can send encrypted traffic between the two networks. VPN gateways support multiple connections, which
enable them to route VPN tunnels that use any available bandwidth. Each virtual network can have only
one VPN gateway. All connections to that VPN gateway share the available network bandwidth. VPN
gateways can also be used for connections between virtual networks in Azure.
Planning factors
Factors that you need to cover during your planning process include:
●● Throughput - Mbps or Gbps
71
Genera- VpnGw5AZ Max. 30* Max. 128 Max. 10 Gbps Supported Yes
tion2 10000
(*) Use Virtual WAN if you need more than 30 S2S VPN tunnels.
●● The resizing of VpnGw SKUs is allowed within the same generation, except resizing of the Basic SKU.
The Basic SKU is a legacy SKU and has feature limitations. To move from Basic to another VpnGw SKU,
you must delete the Basic SKU VPN gateway and create a new gateway with the desired Generation
and SKU size combination.
●● These connection limits are separate. For example, you can have 128 SSTP connections and 250 IKEv2
connections on a VpnGw1 SKU.
●● On a single tunnel a maximum of 1 Gbps throughput can be achieved. Aggregate Throughput
Benchmark in the above table is based on measurements of multiple tunnels aggregated through a
single gateway. The Aggregate Throughput Benchmark for a VPN Gateway is S2S + P2S combined. If
you have a lot of P2S connections, it can negatively impact a S2S connection due to throughput
limitations. The Aggregate Throughput Benchmark is not a guaranteed throughput due to Internet
traffic conditions and your application behaviors.
VPN types
When you create the virtual network gateway for a VPN gateway configuration, you must specify a VPN
type. The VPN type that you choose depends on the connection topology that you want to create. For
example, a P2S connection requires a RouteBased VPN type. A VPN type can also depend on the hard-
ware that you are using. S2S configurations require a VPN device. Some VPN devices only support a
certain VPN type.
The VPN type you select must satisfy all the connection requirements for the solution you want to create.
For example, if you want to create a S2S VPN gateway connection and a P2S VPN gateway connection for
the same virtual network, use VPN type RouteBased because P2S requires a RouteBased VPN type. You
would also need to verify that your VPN device supported a RouteBased VPN connection.
Once a virtual network gateway has been created, you can't change the VPN type. You must delete the
virtual network gateway and create a new one. There are two VPN types:
PolicyBased
PolicyBased VPNs were previously called static routing gateways in the classic deployment model.
Policy-based VPNs encrypt and direct packets through IPsec tunnels based on the IPsec policies config-
ured with the combinations of address prefixes between your on-premises network and the Azure VNet.
The policy (or traffic selector) is usually defined as an access list in the VPN device configuration. The
value for a PolicyBased VPN type is PolicyBased. When using a PolicyBased VPN, keep in mind the
following limitations:
PolicyBased VPNs can only be used on the Basic gateway SKU. This VPN type is not compatible with other
gateway SKUs.
You can have only 1 tunnel when using a PolicyBased VPN.
You can only use PolicyBased VPNs for S2S connections, and only for certain configurations. Most VPN
Gateway configurations require a RouteBased VPN.
73
RouteBased
RouteBased VPNs were previously called dynamic routing gateways in the classic deployment model.
RouteBased VPNs use “routes” in the IP forwarding or routing table to direct packets into their corre-
sponding tunnel interfaces. The tunnel interfaces then encrypt or decrypt the packets in and out of the
tunnels. The policy (or traffic selector) for RouteBased VPNs are configured as any-to-any (or wild cards).
The value for a RouteBased VPN type is RouteBased.
The VPN gateway settings that you chose are critical to creating a successful connection.
●● Gateway type. VPN or ExpressRoute.
●● VPN Type. Route based or Policy based. Most VPN types are Route-based. The type of VPN you
choose depends on the make and model of your VPN device, and the kind of VPN connection you
intend to create. Typical route-based gateway scenarios include point-to-site, inter-virtual network, or
multiple site-to-site connections. Route-based is also selected when you coexist with an ExpressRoute
gateway or if you need to use IKEv2. Policy-based gateways support only IKEv1.
●● SKU. Use the drop-down to select a gateway SKU. Your choice will affect the number of tunnels you
can have and the aggregate throughput benchmark. The benchmark is based on measurements of
multiple tunnels aggregated through a single gateway. It is not a guaranteed throughput due to
Internet traffic conditions and your application behaviors.
●● Generation. Generation1 or Generation2. You cannot change generations or SKUs across generations.
Basic and VpnGw1 SKUs are only supported in Generation1. VpnGw4 and VpnGw5 SKUs are only
supported in Generation2.
●● Virtual Networks. The virtual network that will be able to send and receive traffic through the virtual
network gateway. A virtual network cannot be associated with more than one gateway.
Note: You can view the IP address assigned to the gateway. The gateway should appear as a connected
device.
Gateway subnet
VPN Gateways require a gateway subnet. You can create a Gateway subnet before you create a VPN
gateway, or you can create it during the creation of the VPN Gateway. The gateway subnet contains the
IP addresses that the virtual network gateway VMs and services use. When you create your virtual
network gateway, gateway VMs are deployed to the gateway subnet and configured with the required
VPN gateway settings. Never deploy anything else (for example, additional VMs) to the gateway subnet.
The gateway subnet must be named GatewaySubnet to work properly. Naming the gateway subnet
GatewaySubnet tells Azure know that this is the subnet to deploy the virtual network gateway VMs and
services to.
75
When you create the gateway subnet, you specify the number of IP addresses that the subnet contains.
The IP addresses in the gateway subnet are allocated to the gateway VMs and gateway services. Some
configurations require more IP addresses than others.
When you are planning your gateway subnet size, refer to the documentation for the configuration that
you are planning to create. For example, the ExpressRoute/VPN Gateway coexist configuration requires a
larger gateway subnet than most other configurations. Additionally, you may want to make sure your
gateway subnet contains enough IP addresses to accommodate possible future additional configurations.
While you can create a gateway subnet as small as /29, we recommend that you create a gateway subnet
of /27 or larger (/27, /26 etc.) if you have the available address space to do so. This will accommodate
most configurations.
A shared key. The same shared key that you specify when creating the VPN connection.
The public IP address of your VPN gateway. The IP address can be new or existing.
[!NOTE]
Depending on the VPN device that you have, you may be able to download a VPN device configura-
tion script1 .
1 https://docs.microsoft.com/azure/vpn-gateway/vpn-gateway-download-vpndevicescript
77
This configuration provides multiple active tunnels from the same Azure VPN gateway to your on-premis-
es devices in the same location. There are some requirements and constraints:
1. You need to create multiple S2S VPN connections from your VPN devices to Azure. When you connect
multiple VPN devices from the same on-premises network to Azure, you need to create one local
network gateway for each VPN device, and one connection from your Azure VPN gateway to each
local network gateway.
2. The local network gateways corresponding to your VPN devices must have unique public IP addresses
in the GatewayIpAddress property.
3. BGP is required for this configuration. Each local network gateway representing a VPN device must
have a unique BGP peer IP address specified in the BgpPeerIpAddress property.
4. You should use BGP to advertise the same prefixes of the same on-premises network prefixes to your
Azure VPN gateway, and the traffic will be forwarded through these tunnels simultaneously.
5. You must use Equal-cost multi-path routing (ECMP).
6. Each connection is counted against the maximum number of tunnels for your Azure VPN gateway, 10
for Basic and Standard SKUs, and 30 for HighPerformance SKU.
78
In this configuration, the Azure VPN gateway is still in active-standby mode, so the same failover behavior
and brief interruption will still happen as described above. But this setup guards against failures or
interruptions on your on-premises network and VPN devices.
In this configuration, each Azure gateway instance will have a unique public IP address, and each will
establish an IPsec/IKE S2S VPN tunnel to your on-premises VPN device specified in your local network
gateway and connection. Note that both VPN tunnels are part of the same connection. You will still need
to configure your on-premises VPN device to accept or establish two S2S VPN tunnels to those two Azure
VPN gateway public IP addresses.
Because the Azure gateway instances are in active-active configuration, the traffic from your Azure virtual
network to your on-premises network will be routed through both tunnels simultaneously, even if your
on-premises VPN device may favor one tunnel over the other. For a single TCP or UDP flow, Azure
attempts to use the same tunnel when sending packets to your on-premises network. However, your
on-premises network could use a different tunnel to send packets to Azure.
When a planned maintenance or unplanned event happens to one gateway instance, the IPsec tunnel
from that instance to your on-premises VPN device will be disconnected. The corresponding routes on
your VPN devices should be removed or withdrawn automatically so that the traffic will be switched over
to the other active IPsec tunnel. On the Azure side, the switch over will happen automatically from the
affected instance to the active instance.
Here you create and set up the Azure VPN gateway in an active-active configuration and create two local
network gateways and two connections for your two on-premises VPN devices as described above. The
79
result is a full mesh connectivity of 4 IPsec tunnels between your Azure virtual network and your
on-premises network.
All gateways and tunnels are active from the Azure side, so the traffic will be spread among all 4 tunnels
simultaneously, although each TCP or UDP flow will again follow the same tunnel or path from the Azure
side. Even though by spreading the traffic, you may see slightly better throughput over the IPsec tunnels,
the primary goal of this configuration is for high availability. And due to the statistical nature of the
spreading, it is difficult to provide the measurement on how different application traffic conditions will
affect the aggregate throughput.
This topology will require two local network gateways and two connections to support the pair of
on-premises VPN devices, and BGP is required to allow the two connections to the same on-premises
network. These requirements are the same as the above.
This ensures there are always a pair of tunnels between the two virtual networks for any planned mainte-
nance events, providing even better availability. Even though the same topology for cross-premises
connectivity requires two connections, the VNet-to-VNet topology shown above will need only one
connection for each gateway. Additionally, BGP is optional unless transit routing over the VNet-to-VNet
connection is required.
2 https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-validate-throughput-to-vnet
3 https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-troubleshoot-vpn-point-to-site-connection-problems
80
Site-to-Site connections
After you configure a site-to-site VPN connection between an on-premises network and an Azure virtual
network, the VPN connection suddenly stops working and cannot be reconnected. This article provides
troubleshooting steps to help you resolve this problem. See Troubleshoot an Azure site-to-site VPN
connection that cannot connect - Azure VPN Gateway4.
VPN and Firewall device settings
This article provides several suggested solutions for third-party VPN or firewall devices that are used with
VPN Gateway. Technical support for third-party VPN or firewall devices is provided by the device vendor.
See Community-suggested third-party VPN or firewall device settings for Azure VPN Gateway5.
Multiple choice
What are the two types of VPNs?
PolicyBased and RouteBased. {{Correct, VPNs can be RouteBased or PolicyBased.}}
PolicyBased and static. {{Incorrect, VPNs can be PolicyBased. Static is the name used for PolicyBased
VPNs in the classic deployment model.}}
RouteBased and dynamic. {{Incorrect, VPNs can be RouteBased. Dynamic is the name used for Route-
Based VPNs in the classic deployment model.}}
4 https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-troubleshoot-site-to-site-cannot-connect
5 https://docs.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-third-party-settings
81
Multiple choice
What is the default high availability configuration for VPN gateways?
Active-standby {{Correct, Every Azure VPN gateway consists of two instances in an active-standby
configuration.}}
Active-active {{Incorrect, You can create an Azure VPN gateway in an active-active configuration, but
this is not the default.}}
Dual-redundancy {{Incorrect, This is the most reliable option, combining the active-active gateways on
both your network and Azure, but it is not the default.}}
6 https://github.com/MicrosoftLearning/AZ-700-Designing-and-Implementing-Microsoft-Azure-Networking-Solutions/tree/master/Allfiles/
Exercises/M02
82
3. In Choose recommended defaults that match your workload, under Select a workload environment,
select Dev/Test.
4. Under Select a workload type, select General purpose (D-Series), and then select Continue to
create a VM.
5. Use the information in the following table to create your VM.
3. In Choose recommended defaults that match your workload, under Select a workload environment,
select Dev/Test.
4. Under Select a workload type, select General purpose (D-Series), and then select Continue to
create a VM.
5. Use the information in the following table to create your VM.
Subnet ManufacturingSystemSubnet
(10.40.40.0/24)
Public IP (new) ManufacturingTestVM-ip
NIC network security group Basic
Public inbound ports Allow selected ports
Select inbound ports RDP (3389)
Load balancing Not selected
Management No changes required
Advanced No changes required
Tags No changes required
Review + create Review your settings and select
Create
6. When the deployment is complete, select Go to resource.
3. The test connection should fail, and you will see a result similar to the following:
Option Value
Name CoreServicesGW-to-ManufacturingGW
Connection type VNet-to-VNet
First virtual network gateway CoreServicesVnetGateway
Second virtual network gateway ManufacturingVnetGateway
Shared key (PSK) abc123
Use Azure Private IP Address Not selected
Enable BGP Not selected
IKE Protocol IKEv2
Subscription No changes required
Resource group No changes required
Location West US
5. To create the connection, select Create.
Option Value
Name ManufacturingGW-to-CoreServicesGW
Connection type VNet-to-VNet
First virtual network gateway ManufacturingVnetGateway
Second virtual network gateway CoreServicesVnetGateway
Shared key (PSK) abc123
Use Azure Private IP Address Not selected
Enable BGP Not selected
IKE Protocol IKEv2
Subscription No changes required
Resource group No changes required
Location North Europe
89
3. The test connection should succeed, and you will see a result similar to the following:
Congratulations! You have configured a VNet-to-VNet connection by using a virtual network gateway.
In the diagram:
●● The on-premises network represents your on-premises Active Directory and any data or resources.
●● The gateway is responsible for sending encrypted traffic to a virtual IP address when it uses a public
connection.
●● The Azure virtual network holds all your cloud applications and any Azure VPN gateway components.
●● An Azure VPN gateway provides the encrypted link between the Azure virtual network and your
on-premises network. An Azure VPN gateway is made up of these elements:
●● Virtual network gateway
●● Local network gateway
●● Connection
●● Gateway subnet
●● Cloud applications are the ones you've made available through Azure.
●● An internal load balancer, located in the front end, routes cloud traffic to the correct cloud-based
application or resource.
Using this architecture offers several benefits, including:
●● Configuration and maintenance are simplified.
●● Having a VPN gateway helps ensure that all data and traffic are encrypted between the on-premises
gateway and the Azure gateway.
●● The architecture can be scaled and extended to meet your organization's networking needs.
This architecture isn't applicable in all situations because it uses an existing internet connection as the link
between the two gateway points. Bandwidth constraints can cause latency issues that result from reuse of
the existing infrastructure.
91
A Point-to-Site (P2S) VPN gateway connection lets you create a secure connection to your virtual network
from an individual client computer. A P2S connection is established by starting it from the client comput-
er. This solution is useful for telecommuters who want to connect to Azure VNets from a remote location,
such as from home or a conference. P2S VPN is also a useful solution to use instead of S2S VPN when
you have only a few clients that need to connect to a VNet.
Point-to-site protocols
Point-to-site VPN can use one of the following protocols:
●● OpenVPN® Protocol, an SSL/TLS based VPN protocol. A TLS VPN solution can penetrate firewalls,
since most firewalls open TCP port 443 outbound, which TLS uses. OpenVPN can be used to connect
from Android, iOS (versions 11.0 and above), Windows, Linux, and Mac devices (macOS versions 10.13
and above).
●● Secure Socket Tunneling Protocol (SSTP), a proprietary TLS-based VPN protocol. A TLS VPN solution
can penetrate firewalls, since most firewalls open TCP port 443 outbound, which TLS uses. SSTP is only
supported on Windows devices. Azure supports all versions of Windows that have SSTP (Windows 7
and later).
●● IKEv2 VPN, a standards-based IPsec VPN solution. IKEv2 VPN can be used to connect from Mac
devices (macOS versions 10.11 and above).
The zip file also provides the values of some of the important settings on the Azure side that you can use
to create your own profile for these devices. Some of the values include the VPN gateway address,
configured tunnel types, routes, and the root certificate for gateway validation.
Note: That for Windows clients, you must have administrator rights on the client device to initiate the
VPN connection from the client device to Azure.
Multiple choice
What is a site-to-site VPN Gateway connection?
A site-to-site VPN Gateway connection securely connects two networks. {{Correct, A site-to-site (S2S)
VPN gateway connection lets you create a secure connection to your virtual network from another
virtual network or a physical network.}}
A site-to-site VPN Gateway connection securely connects an individual client computer to a network.
{{Incorrect, A point-to-site (P2S) VPN gateway connection lets you create a secure connection to your
virtual network from an individual client computer.}}
A site-to-site VPN Gateway connection securely connects two individual computers. {{Incorrect, A
site-to-site (S2S)VPN gateway connection does not connect two individual computers.}}
95
Multiple choice
To authenticate a user connecting through a point-to-site connection using Active Directory Domain Server,
what type of server is required?
RADIUS {{Correct, AD Domain authentication allows users to connect to Azure using their organization
domain credentials. It requires a RADIUS server that integrates with the AD server.}}
Active Directory Domain Controller only {{Incorrect, An Active Directory Domain Controller alone is
not sufficient. Another type of server is required.}}
DNS server {{Incorrect, A DNS server may be required for name resolution, but it is not sufficient for
authentication.}}
Today’s workforce is more distributed than ever before. Organizations are exploring options that enable
their employees, partners, and customers to connect to the resources they need from wherever they are.
It’s not unusual for organizations to operate across regional and national boundaries, and across time
zones.
The following diagram shows an organization with a single Virtual WAN hub connecting the spokes.
VNets, Site-to-site and point-to-site VPNs, SD WANs, and ExpressRoute connectivity are all supported.
Gateway scale
Gateway scale units allow you pick the aggregate throughput of the VPN gateway being created in the
virtual hub to connect sites to. If you pick 1 scale unit = 500 Mbps, it implies that two instances for
redundancy will be created, each having a maximum throughput of 500 Mbps. For example, if you had
five branches, each doing 10 Mbps at the branch, you will need an aggregate of 50 Mbps at the head
end. Planning for aggregate capacity of the Azure VPN gateway should be done after assessing the
capacity needed to support the number of branches to the hub.
Before you can connect a cross-tenant VNet to a Virtual WAN hub, you must have the following configu-
ration already set up:
●● A Virtual WAN and virtual hub in the parent subscription.
●● A virtual network configured in a subscription in the remote tenant.
●● Non-overlapping address spaces in the remote tenant and address spaces within any other VNets
already connected to the parent virtual hub.
Assign permissions
For the parent subscription with the virtual hub to modify and access the virtual networks in the remote
tenant, you need to assign Contributor permissions to your parent subscription from the remote tenant
subscription.
●● Add the Contributor role assignment to the parent account (the one with the virtual WAN hub). You
can use PowerShell or the Azure portal to assign this role.
●● Add the remote tenant subscription and the parent tenant subscription to the current session of
PowerShell by running the Add-AzAccount command. If you are signed into the parent, you only need
to run the command for the remote tenant.
●● Verify that the role assignment is successful by logging into Azure PowerShell using the parent
credentials and running the Get-AzSubscription command. If the permissions have successfully
98
propagated to the parent and have been added to the session, the output of the command will list
the subscription owned by the remote tenant.
Connections
Connections are Resource Manager resources that have a routing configuration. The four types of
connections are:
●● VPN connection: Connects a VPN site to a virtual hub VPN gateway.
●● ExpressRoute connection: Connects an ExpressRoute circuit to a virtual hub ExpressRoute gateway.
●● P2S configuration connection: Connects a User VPN (Point-to-site) configuration to a virtual hub User
VPN (Point-to-site) gateway.
●● Hub virtual network connection: Connects virtual networks to a virtual hub.
You can set up the routing configuration for a virtual network connection during setup. By default, all
connections associate and propagate to the Default route table.
Association
Each connection is associated to one route table. Associating a connection to a route table allows the
traffic to be sent to the destinations indicated as routes in the route table. The routing configuration of
the connection will show the associated route table. Multiple connections can be associated to the same
route table. All VPN, ExpressRoute, and User VPN connections are associated to the same (default) route
table.
By default, all connections are associated to a Default route table in a virtual hub. Each virtual hub has its
own Default route table, which can be edited to add a static route(s). Routes added statically take
precedence over dynamically learned routes for the same prefixes.
7 https://docs.microsoft.com/en-us/azure/virtual-wan/how-to-virtual-hub-routing
99
Propagation
Connections dynamically propagate routes to a route table. With a VPN connection, ExpressRoute
connection, or P2S configuration connection, routes are propagated from the virtual hub to the on-prem-
ises router using BGP. Routes can be propagated to one or multiple route tables.
A None route table is also available for each virtual hub. Propagating to the None route table implies that
no routes are required to be propagated from the connection. VPN, ExpressRoute, and User VPN connec-
tions propagate routes to the same set of route tables.
Labels
Labels provide a mechanism to logically group route tables. This is especially helpful during propagation
of routes from connections to multiple route tables. For example, the Default Route Table has a built-in
100
label called ‘Default’. When users propagate connection routes to 'Default' label, it automatically applies
to all the Default Route Tables across every hub in the Virtual WAN.
Multiple choice
What is an Azure Virtual WAN?
Azure Virtual WAN is a collection of connectivity resources like VPNs, which enables organizations to
use the Microsoft backbone. {{Correct, Azure Virtual WAN is a centrally managed collection of connec-
tivity resources like VPNs, which enables organizations to use the Microsoft backbone in a self-con-
tained, security isolated manner.}}
Azure WAN describes two or more VNets connected through peering. {{Incorrect, Azure WAN con-
nects VNets, on-premises networks and individual computers to the Microsoft backbone.}}
Azure WAN is a collection of on-premises networks connected to each other through VPNs. {{Incor-
rect, Azure WAN connects VNets, on-premises networks and individual computers to the Microsoft
backbone.}}
101
Multiple choice
What is the purpose of associating a connection to a route table?
Associating a connection to a route table allows the traffic to be sent to the destinations indicated as
routes in the route table. {{Correct, Associating a connection to a route table allows the traffic to be
sent to the destination indicated as routes in the route table. Each connection is associated to one
route table.}}
Associating a connection to a route table allows the connection to dynamically propagate routes to
other route tables. {{Incorrect, Connections dynamically propagate routes to a specified route table.}}
Associating a connection to a route table allows users to be authenticated. {{Incorrect, Users are not
authenticated using route tables.}}
3. On the Hubs page, select +New Hub to open the Create virtual hub page.
4. On the Create virtual hub page Basics tab, complete the following fields:
●● Region: West US
●● Name: ContosoVirtualWANHub-WestUS
●● Hub private address space: 10.60.0.0/24
5. Select Next: Site-to-site.
6. On the Site-to-site tab, complete the following fields:
●● Do you want to create a Site to site (VPN gateway)?: Yes
●● The AS Number field cannot be edited.
●● Gateway scale units: 1 scale unit = 500 Mbps
7. Select Review + Create to validate.
8. Select Create to create the hub.
9. After 30 minutes, Refresh to view the hub on the Hubs page.
104
Note: The command executes asynchronously (as determined by the -AsJob parameter), so while you will
be able to run another PowerShell command immediately afterwards within the same PowerShell session,
it will take a few minutes before the resource groups are actually removed.
One of the benefits of Azure Virtual WAN is the ability to support reliable connections from many
different technologies, whether Microsoft based, such as ExpressRoute or a VPN Gateway, or from a
networking partner, such as Barracuda CloudGen WAN, Cisco Cloud OnRamp for Multi-Cloud, and
VMware SD-WAN. These types of devices are known as network virtual appliances (NVAs); they are
deployed directly into a Virtual WAN hub and have an externally facing public IP address. This enables
customers who want to connect their branch Customer Premises Equipment (CPE) to the same brand
NVA in the virtual hub to take advantage of proprietary end-to-end SD-WAN capabilities. Once VNets are
connected to the virtual hub, NVAs enable transitive connectivity throughout the organization's Virtual
WAN.
Although each NVA offers support for different CPEs and has a slightly different user experience, they all
offer a Managed Application experience through Azure Marketplace, NVA Infrastructure Unit-based
capacity and billing, and Health Metrics surfaced through Azure Monitor.
devices. When you create an NVA in the Virtual WAN hub, like all Managed Applications, there will be two
Resource Groups created in your subscription.
●● Customer Resource Group - This will contain an application placeholder for the Managed Applica-
tion. Partners can use this to expose whatever customer properties they choose here.
●● Managed Resource Group - Customers cannot configure or change resources in this resource group
directly, as this is controlled by the publisher of the Managed Application. This Resource Group will
contain the NetworkVirtualAppliances resource.
The NVA is configured automatically as part of the deployment process. Once the NVA has been provi-
sioned into the virtual hub, any additional configuration must be performed via the NVA partners portal
or management application. You cannot access the NVA directly.
Unlike Azure VPN Gateway configurations, you do not need to create Site resources, Site-to-Site connec-
tion resources, or point-to-site connection resources to connect your branch sites to your NVA in the
Virtual WAN hub. This is all managed via the NVA partner.
You still need to create Hub-to-VNet connections to connect your Virtual WAN hub to your Azure VNets.
1. Locate the Virtual WAN hub you created in the previous step and open it.
2. Find the Network Virtual Appliances tile and select the Create link.
107
3. On the Network Virtual Appliance blade, select Barracuda CloudGen WAN, then select the Create
button.
4. This will take you to the Azure Marketplace offer for the Barracuda CloudGen WAN gateway. Read the
●● Resource Group - Choose the same Resource Group you used to deploy the Virtual WAN and
hub.
●● Region - Choose the same Region in which your Virtual hub resource is located.
●● Application Name - The Barracuda NextGen WAN is a Managed Application. Choose a name that
makes it easy to identify this resource, as this is what it will be called when it appears in your
subscription.
●● Managed Resource Group - This is the name of the Managed Resource Group in which Barracuda
will deploy resources that are managed by them. The name should be pre-populated for this.
an NVA in the Virtual WAN hub. An NVA Infrastructure Unit is similar to a VPN Scale Unit in terms of the
way you think about capacity and sizing.
●● 1 NVA Infrastructure Unit represents 500 Mbps of aggregate bandwidth for all branch site connec-
tions coming into this NVA.
●● Azure supports from 1-80 NVA Infrastructure Units for a given NVA virtual hub deployment.
●● Each partner may offer different NVA Infrastructure Unit bundles that are a subset of all supported
NVA Infrastructure Unit configurations.
To learn more about deploying an NVA, see How to create a Network Virtual Appliance in an Azure
Virtual WAN hub (Preview)8.
Multiple choice
A network engineer wants to provide VMware SD-WAN connectivity for their clients. Which Azure resource
should they deploy?
Network Virtual Appliance (NVA). {{Correct, Azure Virtual WAN supports connections from networking
partners, such as VMware SD-WAN. These types of devices are known as network virtual appliances
(NVAs).}}
Point-to-site VPN Gateway {{Incorrect, A point-to-site VPN Gateway supports connections from
individual computers.}}
Local network gateway {{Incorrect, A local network gateway represents the on-premises network.}}
Multiple choice
Where can an NVA be deployed?
NVAs are deployed directly into a Virtual WAN hub. {{Correct, NVAs are deployed directly into a
Virtual WAN hub and have an externally facing public IP address.}}
NVAs are deployed into an on-premises subnet. {{Incorrect, NVAs are not deployed into an on-prem-
ises subnet.}}
NVAs are deployed into a security-isolated subnet. {{Incorrect, NVAs do not require security isolation.}}
9-Summary
As your organization moves to Azure, you must design and implement a hybrid connectivity solution that
will address the short term and long-term goals of the organization's global enterprise IT footprint.
In this module you learned about three ways to connect your on premises data center and remote users
to an Azure virtual network.
You now have the fundamental knowledge required to design and implement hybrid networking in
Azure.
Now that you have reviewed this module, you should be able to:
●● Design and implement a site-to-site VPN connection
8 https://docs.microsoft.com/en-us/azure/virtual-wan/how-to-nva-hub
110
Answers
Multiple choice
What are the two types of VPNs?
■■ PolicyBased and RouteBased. {{Correct, VPNs can be RouteBased or PolicyBased.}}
PolicyBased and static. {{Incorrect, VPNs can be PolicyBased. Static is the name used for PolicyBased
VPNs in the classic deployment model.}}
RouteBased and dynamic. {{Incorrect, VPNs can be RouteBased. Dynamic is the name used for Route-
Based VPNs in the classic deployment model.}}
Explanation
Multiple choice
What is the default high availability configuration for VPN gateways?
■■ Active-standby {{Correct, Every Azure VPN gateway consists of two instances in an active-standby
configuration.}}
Active-active {{Incorrect, You can create an Azure VPN gateway in an active-active configuration, but
this is not the default.}}
Dual-redundancy {{Incorrect, This is the most reliable option, combining the active-active gateways on
both your network and Azure, but it is not the default.}}
Explanation
Multiple choice
What is a site-to-site VPN Gateway connection?
■■ A site-to-site VPN Gateway connection securely connects two networks. {{Correct, A site-to-site (S2S)
VPN gateway connection lets you create a secure connection to your virtual network from another
virtual network or a physical network.}}
A site-to-site VPN Gateway connection securely connects an individual client computer to a network.
{{Incorrect, A point-to-site (P2S) VPN gateway connection lets you create a secure connection to your
virtual network from an individual client computer.}}
A site-to-site VPN Gateway connection securely connects two individual computers. {{Incorrect, A
site-to-site (S2S)VPN gateway connection does not connect two individual computers.}}
Explanation
Multiple choice
To authenticate a user connecting through a point-to-site connection using Active Directory Domain
Server, what type of server is required?
■■ RADIUS {{Correct, AD Domain authentication allows users to connect to Azure using their organization
domain credentials. It requires a RADIUS server that integrates with the AD server.}}
Active Directory Domain Controller only {{Incorrect, An Active Directory Domain Controller alone is
not sufficient. Another type of server is required.}}
DNS server {{Incorrect, A DNS server may be required for name resolution, but it is not sufficient for
authentication.}}
Explanation
112
Multiple choice
What is an Azure Virtual WAN?
■■ Azure Virtual WAN is a collection of connectivity resources like VPNs, which enables organizations to
use the Microsoft backbone. {{Correct, Azure Virtual WAN is a centrally managed collection of connec-
tivity resources like VPNs, which enables organizations to use the Microsoft backbone in a self-con-
tained, security isolated manner.}}
Azure WAN describes two or more VNets connected through peering. {{Incorrect, Azure WAN con-
nects VNets, on-premises networks and individual computers to the Microsoft backbone.}}
Azure WAN is a collection of on-premises networks connected to each other through VPNs. {{Incor-
rect, Azure WAN connects VNets, on-premises networks and individual computers to the Microsoft
backbone.}}
Explanation
Multiple choice
What is the purpose of associating a connection to a route table?
■■ Associating a connection to a route table allows the traffic to be sent to the destinations indicated as
routes in the route table. {{Correct, Associating a connection to a route table allows the traffic to be
sent to the destination indicated as routes in the route table. Each connection is associated to one
route table.}}
Associating a connection to a route table allows the connection to dynamically propagate routes to
other route tables. {{Incorrect, Connections dynamically propagate routes to a specified route table.}}
Associating a connection to a route table allows users to be authenticated. {{Incorrect, Users are not
authenticated using route tables.}}
Explanation
Multiple choice
A network engineer wants to provide VMware SD-WAN connectivity for their clients. Which Azure
resource should they deploy?
■■ Network Virtual Appliance (NVA). {{Correct, Azure Virtual WAN supports connections from networking
partners, such as VMware SD-WAN. These types of devices are known as network virtual appliances
(NVAs).}}
Point-to-site VPN Gateway {{Incorrect, A point-to-site VPN Gateway supports connections from
individual computers.}}
Local network gateway {{Incorrect, A local network gateway represents the on-premises network.}}
Explanation
Multiple choice
Where can an NVA be deployed?
■■ NVAs are deployed directly into a Virtual WAN hub. {{Correct, NVAs are deployed directly into a
Virtual WAN hub and have an externally facing public IP address.}}
NVAs are deployed into an on-premises subnet. {{Incorrect, NVAs are not deployed into an on-prem-
ises subnet.}}
NVAs are deployed into a security-isolated subnet. {{Incorrect, NVAs do not require security isolation.}}
Explanation
Module 3 Design and implement Azure Ex-
pressRoute
Learning objectives
In this module, you will:
●● Learn about Express Route and how to design your network with ExpressRoute
●● Learn about Express Route configuration choices and how to decide on the appropriate SKU based on
your requirements
●● Learn about ExpressRoute Global Reach
●● Explore Express Route FastPath
●● Understand Express Route peering, Private and Microsoft peering
Prerequisites
●● You should have experience with networking concepts, such as IP addressing, Domain Name System
(DNS), and routing
●● You should have experience with network connectivity methods, such as VPN or WAN
114
ExpressRoute lets you extend your on-premises networks into the Microsoft cloud over a private connec-
tion with the help of a connectivity provider. With ExpressRoute, you can establish connections to various
Microsoft cloud services, such as Microsoft Azure and Microsoft 365. Connectivity can be from an
any-to-any (IP VPN) network, a point-to-point Ethernet network, or a virtual cross-connection through a
connectivity provider at a colocation facility. Since ExpressRoute connections do not go over the public
Internet, this approach allows ExpressRoute connections to offer more reliability, faster speeds, consistent
latencies, and higher security.
ExpressRoute capabilities
Some key benefits of ExpressRoute are:
●● Layer 3 connectivity between your on-premises network and the Microsoft Cloud through a connec-
tivity provider
●● Connectivity can be from an any-to-any (IPVPN) network, a point-to-point Ethernet connection, or
through a virtual cross-connection via an Ethernet exchange
●● Connectivity to Microsoft cloud services across all regions in the geopolitical region
●● Global connectivity to Microsoft services across all regions with the ExpressRoute premium add-on
●● Built-in redundancy in every peering location for higher reliability
Azure ExpressRoute is used to create private connections between Azure datacenters and infrastructure
on your premises or in a colocation environment. ExpressRoute connections do not go over the public
Internet, and they offer more reliability, faster speeds, and lower latencies than typical Internet connec-
tions.
Predictable, reliable, and high-throughput connections - With predictable, reliable, and high-through-
put connections offered by ExpressRoute, enterprises can build applications that span on-premises
infrastructure and Azure without compromising privacy or performance. For example, run a corporate
intranet application in Azure that authenticates your customers with an on-premises Active Directory
service, and serve all your corporate customers without traffic ever routing through the public Internet.
Route advertisement
When Microsoft peering gets configured on your ExpressRoute circuit, the Microsoft Edge routers
establish a pair of Border Gateway Protocol (BGP) sessions with your edge routers through your connec-
tivity provider. No routes are advertised to your network. To enable route advertisements to your net-
work, you must associate a route filter.
In order to associate a route filter:
●● You must have an active ExpressRoute circuit that has Microsoft peering provisioned.
●● Create an ExpressRoute circuit and have the circuit enabled by your connectivity provider before you
continue. The ExpressRoute circuit must be in a provisioned and enabled state.
●● Create Microsoft peering if you manage the BGP session directly. Or, have your connectivity provider
provision Microsoft peering for your circuit.
117
Enabling BFD
1 https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing
2 https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing
118
BFD is configured by default under all the newly created ExpressRoute private peering interfaces on the
MSEEs. As such, to enable BFD, you only need to configure BFD on both your primary and secondary
devices. Configuring BFD is two-step process. You configure the BFD on the interface and then link it to
the BGP session.
When you disable a peering, the Border Gateway Protocol (BGP) session for both the primary and the
secondary connection of your ExpressRoute circuit is shut down. When you enable a peering, the BGP
session on both the primary and the secondary connection of your ExpressRoute circuit is restored.
[!NOTE]
The first time you configure the peering on your ExpressRoute circuit, the Peerings are enabled by
default.
Resetting your ExpressRoute Peerings might be helpful in the following scenarios:
You are testing your disaster recovery design and implementation. For example, assume that you have
two ExpressRoute circuits. You can disable the Peerings of one circuit and force your network traffic to
use the other circuit.
You want to enable Bidirectional Forwarding Detection (BFD) on Azure private peering or Microsoft
peering. If your ExpressRoute circuit was created before August 1, 2018, on Azure private peering or
before January 10, 2020, on Microsoft peering, BFD was not enabled by default. Reset the peering to
enable BFD.
The diagram shows a network within the on-premises network connected to the Azure hub VPN gateway
over ExpressRoute private peering. The connectivity establishment is straightforward:
●● Establish ExpressRoute connectivity with an ExpressRoute circuit and private peering.
●● Establish the VPN connectivity.
An important aspect of this configuration is routing between the on-premises networks and Azure over
both the ExpressRoute and VPN paths.
Traffic from on-premises networks to Azure
For traffic from on-premises networks to Azure, the Azure prefixes (including the virtual hub and all the
spoke virtual networks connected to the hub) are advertised via both the ExpressRoute private peering
119
BGP and the VPN BGP. This results in two network routes (paths) toward Azure from the on-premises
networks:
●● One over the IPsec-protected path
●● One directly over ExpressRoute without IPsec protection
To apply encryption to the communication, you must make sure that for the VPN-connected network in
the diagram, the Azure routes via on-premises VPN gateway are preferred over the direct ExpressRoute
path.
Traffic from Azure to on-premises networks
The same requirement applies to the traffic from Azure to on-premises networks. To ensure that the IPsec
path is preferred over the direct ExpressRoute path (without IPsec), you have two options:
●● Advertise more specific prefixes on the VPN BGP session for the VPN-connected network. You can
advertise a larger range that encompasses the VPN-connected network over ExpressRoute private
peering, then more specific ranges in the VPN BGP session. For example, advertise 10.0.0.0/16 over
ExpressRoute, and 10.0.1.0/24 over VPN.
●● Advertise disjoint prefixes for VPN and ExpressRoute. If the VPN-connected network ranges are
disjoint from other ExpressRoute connected networks, you can advertise the prefixes in the VPN and
ExpressRoute BGP sessions, respectively. For example, advertise 10.0.0.0/24 over ExpressRoute, and
10.0.1.0/24 over VPN.
In both examples, Azure will send traffic to 10.0.1.0/24 over the VPN connection rather than directly over
ExpressRoute without VPN protection.
[!WARNING]
If you advertise the same prefixes over both ExpressRoute and VPN connections, Azure will use the
ExpressRoute path directly without VPN protection.
Zonal gateways
3 https://docs.microsoft.com/en-us/azure/availability-zones/az-overview
121
To deploy gateways in a specific zone, you can use zonal gateways. When you deploy a zonal gateway, all
instances of the gateway are deployed in the same Availability Zone.
Gateway SKUs
Zone-redundant and zonal gateways are available as gateway SKUs. There is a new virtual network
gateway SKUs in Azure AZ regions. These SKUs are like the corresponding existing SKUs for ExpressRoute
and VPN Gateway, except that they are specific to zone-redundant and zonal gateways. You can identify
these SKUs by the “AZ” in the SKU name.
Public IP SKUs
Zone-redundant gateways and zonal gateways both rely on the Azure public IP resource Standard SKU.
The configuration of the Azure public IP resource determines whether the gateway that you deploy is
zone-redundant, or zonal. If you create a public IP resource with a Basic SKU, the gateway will not have
any zone redundancy, and the gateway resources will be regional.
●● Zone-redundant gateways
●● When you create a public IP address using the Standard public IP SKU without specifying a zone,
the behavior differs depending on whether the gateway is a VPN gateway, or an ExpressRoute
gateway.
●● For a VPN gateway, the two gateway instances will be deployed in any 2 out of these three zones
to provide zone-redundancy.
●● For an ExpressRoute gateway, since there can be more than two instances, the gateway can span
across all the three zones.
●● Zonal gateways
●● When you create a public IP address using the Standard public IP SKU and specify the Zone (1, 2,
or 3), all the gateway instances will be deployed in the same zone.
●● Regional gateways
●● When you create a public IP address using the Basic public IP SKU, the gateway is deployed as a
regional gateway and does not have any zone-redundancy built into the gateway.
122
You can enable ExpressRoute Global Reach to exchange data across your on-premises sites by connecting
your ExpressRoute circuits. For example, if you have a private data center in California connected to an
ExpressRoute circuit in Silicon Valley and another private data center in Texas connected to an Express-
Route circuit in Dallas. With ExpressRoute Global Reach, you can connect your private data centers
together through these two ExpressRoute circuits. Your cross-data-center traffic will traverse through
Microsoft's network.
Rich connectivity partner ecosystem
ExpressRoute has a constantly growing ecosystem of connectivity providers and systems integrator
partners. You can refer to ExpressRoute partners and peering locations4.
Connectivity to national clouds
Microsoft operates isolated cloud environments for special geopolitical regions and customer segments.
ExpressRoute Direct
ExpressRoute Direct provides customers the opportunity to connect directly into Microsoft’s global
network at peering locations strategically distributed across the world. ExpressRoute Direct provides dual
100-Gbps connectivity, which supports Active/Active connectivity at scale.
Multiple choice
Which one of the following is the most effective use of ExpressRoute?
Provide reliable and secure connectivity to Azure services.{{Correct. Azure ExpressRoute is used to
create private connections between Azure data centers, Azure services, and infrastructure on your
premises or in a colocation environment.}}
Connect your network to the public internet.{{Incorrect. Azure ExpressRoute isn't the most effective
way to connect your network to the public internet.}}
Connect data center services internal to an organization.{{Incorrect. Azure ExpressRoute isn't used to
connect data center services internal to an organization.}}
Multiple choice
What is the benefit of Bidirectional forwarding?
Bidirectional forwarding reduces the failure deduction time.{{Correct. Enabling BFD over an Express-
Route circuit can reduce the failure deduction time from a few tens of seconds to less than a second.}}
Bidirectional forwarding allows traffic to flow in both directions.{{Incorrect. Bidirectional forwarding
isn't concerned with normal traffic flow.}}
Bidirectional forwarding enables you to configure BGP keep-alive times of less than 3 seconds.
{{Incorrect. The BGP keep-alive can be set as low as three seconds, but this aggressive schedule isn't
recommended.}}
4 https://docs.microsoft.com/en-us/azure/expressroute/expressroute-locations
124
ExpressRoute enables us to connect on Premises to Azure services seamlessly. lets review some design
decisions you will make before deploying an ExpressRoute circuit.
5 https://docs.microsoft.com/en-us/azure/expressroute/expressroute-faqs
6 https://docs.microsoft.com/en-us/azure/expressroute/expressroute-faqs
7 https://azure.microsoft.com/pricing/calculator/
125
8 https://docs.microsoft.com/azure/expressroute/expressroute-locations
9 https://docs.microsoft.com/azure/expressroute/expressroute-locations-providers
126
Please refer to the Express Route pricing10 for details on metered and unlimited data plan based on the
bandwidth.
you can purchase ExpressRoute circuits for a wide range of bandwidths. The supported bandwidths are
listed as followed. Be sure to check with your connectivity provider to determine the bandwidths they
support.
50 Mbps
100 Mbps
200 Mbps
500 Mbps
1 Gbps
2 Gbps
5 Gbps
10 Gbps
Multiple choice
Which of the following can be connected with ExpressRoute Premium?
Resources in different Geopolitical regions.{{Correct. You can enable ExpressRoute Premium to extend
connectivity across geopolitical boundaries. For example, if you connect to Microsoft in Amsterdam
10 https://azure.microsoft.com/pricing/details/expressroute/
127
through ExpressRoute, you'll have access to all Microsoft cloud services hosted in all regions across
the world.}}
Resources within local regions.{{Incorrect. Azure Premium can connect more than resources within
local regions.}}
Resources within a single metropolitan area only.{{Incorrect. Azure Premium can connect more than
resources within a single metropolitan area.}}
Multiple choice
How can one provide a failover path for ExpressRoute?
Configure a Site-to-Site VPN connection as a backup for ExpressRoute.{{Correct. You can configure a
Site-to-Site VPN connection as a backup for ExpressRoute. This connection applies only to virtual
networks linked to the Azure private peering path.}}
Configure a Point-to-Site VPN connection as a backup for ExpressRoute.{{Incorrect. A Point-to-Site
VPN connection will not function as a backup for ExpressRoute.}}
You cannot configure a backup path for ExpressRoute.{{Incorrect. It is possible to configure a backup
path for ExpressRoute.}}
Setting Value
Virtual Network Name CoreServicesVNet
Resource Group ContosoResourceGroup
Location West US
4. Select Next : IP addresses.
5. On the IP Addresses tab, in IPv4 address space, remove the default and enter 10.20.0.0/16, and then
select + Add subnet.
6. In the Add subnet pane, use the information in the following table to create the subnet:
Setting Value
Gateway Subnet name GatewaySubnet
Gateway Subnet address space 10.20.0.0/27
7. And then select Add.
8. On the Create virtual network page, select Review + Create.
11
9. Confirm that the VNet passes the validation and then select Create.
Note: If you are using a dual stack virtual network and plan to use IPv6-based private peering over
ExpressRoute, click Add IP6 address space and input IPv6 address range values.
Setting Value
Project details
Resource Group ContosoResourceGroup
Instance details
Name CoreServicesVnetGateway
Region West US
Gateway type ExpressRoute
11 https://microsoftdigitallearning.visualstudio.com/DefaultCollection/Courseware/_git/LP_AZ_designing-implementing-microsoft-azure-
networking?path=%2FModules%2FM03-design-implement-azure-expressroute%2Fmedia%2Fadd-gateway-subnet.png&version=GBmaste
r&anchor=lightbox
129
SKU Standard
Virtual network CoreServicesVNet
Public IP address
Public IP address Create new
Public IP address name CoreServicesVnetGateway-IP
Public IP address SKU Basic
Assignment Not configurable
Enable active-active mode Disabled
Configure BGP Disabled
3. Select Review + Create.
4. Confirm that the Gateway configuration passes validation and then select Create.
5. When the deployment is complete, select Go to Resource.
Note: It can take up to 45 minutes to deploy a Gateway.
Congratulations! You have successfully created a Virtual network, a gateway subnet, and an ExpressRoute
Gateway.
To watch a demonstration of how to create an ExpressRoute circuit, see Azure ExpressRoute - How to
create an ExpressRoute circuit | Azure | Channel 9 (msdn.com)12.
In this exercise, you will:
●● Task 1: Create and provision an ExpressRoute circuit
●● Task 2: Retrieve your Service key
●● Task 3: Deprovisioning an ExpressRoute circuit
●● Task 4: Clean up resources
12 https://channel9.msdn.com/Blogs/Azure/Azure-ExpressRoute-How-to-create-an-ExpressRoute-circuit?term=ExpressRoute&lang-
en=true&pageSize=15&skip=15
130
3. On the Create ExpressRoute page, provide the Resource Group, Region, and Name for the circuit
with the following: ExpressRouteResourceGroup, West US 2, TestERCircuit . Then select Next: Config-
uration >.
13 https://portal.azure.com/
131
4. When you are filling in the values on this page, make sure that you specify the correct SKU tier (Local,
Standard, or Premium) and data metering billing model (Unlimited or Metered).
132
●● Port type determines if you are connecting to a service provider or directly into Microsoft's global
network at a peering location.
●● Create new or import from classic determines if a new circuit is being created or if you are migrating a
classic circuit to Azure Resource Manager.
●● Provider is the internet service provider who you will be requesting your service from.
●● Peering Location is the physical location where you are peering with Microsoft.
[!Important]
The Peering Location indicates the physical location14 where you are peering with Microsoft. This is not
linked to “Location” property, which refers to the geography where the Azure Network Resource Provider
is located. While they are not related, it is a good practice to choose a Network Resource Provider
geographically close to the Peering Location of the circuit.
●● SKU determines whether an ExpressRoute local, ExpressRoute standard, or an ExpressRoute premium
add-on is enabled. You can specify Local to get the local SKU, Standard to get the standard SKU or
Premium for the premium add-on. You can change the SKU to enable the premium add-on.
14 https://docs.microsoft.com/en-us/azure/expressroute/expressroute-locations
133
[!Important]
You cannot change the SKU from Standard/Premium to Local.
●● Billing model determines the billing type. You can specify Metered for a metered data plan and
Unlimited for an unlimited data plan. You can change the billing type from Metered to Unlimited.
[!Important]
You cannot change the type from Unlimited to Metered.
●● Allow classic operation will allow classic virtual networks to be link to the circuit.
3. The circuit page displays the properties of the circuit. The service key appears in the service key field.
Your service provider will need the Service Key to complete the provisioning process. The service key is
134
specific to your circuit. **You must send the service key to your connectivity provider for provisioning.**
4. On this page, Provider status gives you the current state of provisioning on the service-provider side.
Circuit status provides you the state on the Microsoft side.
5. When you create a new ExpressRoute circuit, the circuit is in the following state:
●● Provider status: Not provisioned
●● Circuit status: Enabled
●● The circuit changes to the following state when the connectivity provider is currently enabling it
for you:
●● Provider status: Provisioning
●● Circuit status: Enabled
●● To use the ExpressRoute circuit, it must be in the following state:
●● Provider status: Provisioned
●● Circuit status: Enabled
●● You should periodically check the provisioning status and the state of the circuit key.
6. You can view the properties of the circuit that you are interested in by selecting it. Check the Provider
status and ensure that it has moved to Provisioned before you continue.
135
Watch this demonstration of how to create and provision an ExpressRoute circuit: Azure ExpressRoute
- How to create an ExpressRoute circuit | Azure | Channel 9 (msdn.com)15.
Congratulations! You have created an ExpressRoute circuit and located the Service key, which you would
need to complete the provisioning of the circuit.
15 https://channel9.msdn.com/Blogs/Azure/Azure-ExpressRoute-How-to-create-an-ExpressRoute-circuit?term=ExpressRoute&lang-
en=true&pageSize=15&skip=15
136
Note: Remember to remove any newly created Azure resources that you no longer use. Removing
unused resources ensures you will not see unexpected charges.
1. In the Azure portal, open the PowerShell session within the Cloud Shell pane.
2. Delete all resource groups you created throughout the labs of this module by running the following
command:
Remove-AzResourceGroup -Name 'NAME OF THE RG' -Force -AsJob
[!NOTE] The command executes asynchronously (as determined by the -AsJob parameter), so while you
will be able to run another PowerShell command immediately afterwards within the same PowerShell
session, it will take a few minutes before the resource groups are actually removed.
An ExpressRoute circuit two peering options associated with it: Azure private, and Microsoft. Each peering
is configured identically on a pair of routers (in active-active or load sharing configuration) for high
availability. Azure services are categorized as Azure public and Azure private to represent the IP address-
ing schemes.
137
IP protocols supported Private and public AS numbers. Private and public AS numbers.
You must own the public AS However, you must prove
number if you choose to use ownership of public IP addresses.
one.
Routing Interface IP addresses IPv4, IPv6 (preview) IPv4, IPv6
Routing Interface IP addresses RFC1918 and public IP addresses Public IP addresses registered to
you in routing registries.
MD5 Hash support Yes Yes
You may enable one or more of the routing domains as part of your ExpressRoute circuit. You can choose
to have all the routing domains put on the same VPN if you want to combine them into a single routing
domain. The recommended configuration is that private peering is connected directly to the core net-
work, and the public and Microsoft peering links are connected to your DMZ.
Each peering requires separate BGP sessions (one pair for each peering type). The BGP session pairs
provide a highly available link. If you are connecting through layer 2 connectivity providers, you are
responsible for configuring and managing routing.
[!Important]
IPv6 support for private peering is currently in Public Preview. If you would like to connect your virtual
network to an ExpressRoute circuit with IPv6-based private peering configured, please make sure that
your virtual network is dual stack and follows the guidelines for IPv6 for Azure VNet16.
16 https://docs.microsoft.com/en-us/azure/virtual-network/ipv6-overview
17 https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/azure-subscription-service-limits
18 https://channel9.msdn.com/Blogs/Azure/Azure-ExpressRoute-How-to-set-up-Azure-private-peering-for-your-ExpressRoute-
circuit?term=ExpressRoute&lang-en=true&pageSize=15&skip=15
139
To watch a demonstration of configuring Microsoft peering, see Azure ExpressRoute - How to set up
Microsoft peering for your ExpressRoute circuit | Azure | Channel 9 (msdn.com)19.
19 https://channel9.msdn.com/Blogs/Azure/Azure-ExpressRoute-How-to-set-up-Microsoft-peering-for-your-ExpressRoute-
circuit?term=ExpressRoute&lang-en=true&pageSize=15&skip=15
140
●● Place the route filter in a resource group. Ensure the location is the same as the ExpressRoute circuit.
Select Review + create and then Create.
To add and update rules, select the manage rule tab for your route filter.
●● Select the services you want to connect to from the drop-down list and save the rule when done.
142
●● If the connectivity provider configures peering for your ExpressRoute circuit, refresh the circuit from
the ExpressRoute circuit page before you select the + Add Circuit button.
Common tasks
To get the properties of a route filter
●● You can view properties of a route filter when you open the resource in the portal.
144
●● Select the service communities you want and then select Save.
145
Clean up resources
●● You can delete a route filter by selecting the Delete button. Ensure the Route filter is not associate to
any circuits before doing so.
147
Reset peering
Sign into the Azure portal
From a browser, go to the Azure portal20, and then sign in with your Azure account.
Reset a peering
You can reset the Microsoft peering and the Azure private peering on an ExpressRoute circuit inde-
pendently.
●● Choose the circuit that you want to change.
●● Clear the Enable Peering check box, and then select Save to disable the peering configuration.
20 https://portal.azure.com/
148
●● Select the Enable Peering check box, and then select Save to re-enable the peering configuration.
Multiple choice
An engineer wants to consume a specific set of services through Microsoft peering. Which feature should be
configured?
Route filters.{{Correct. Route filters are a way to consume a subset of supported services through
Microsoft peering.}}
Network Firewall.{{Incorrect. Network Firewall allows control traffic flow using rules that specify
allowed or blocked IP address and ports.}}
You cannot consume only a subset of services.{{Incorrect. You can configure Microsoft peering to
consume only a subset of services.}}
Multiple choice
To provide connectivity to Microsoft 365 and PaaS services. Which peering service should select?
Microsoft Peering.{{Correct. Connectivity to Microsoft online services (Microsoft 365 and Azure PaaS
services) occurs through Microsoft peering.}}
Private peering.{{Incorrect. Connectivity to Microsoft online services (Microsoft 365 and Azure PaaS
services) does not occur through private peering.}}
Public peering.{{Incorrect. Connectivity to Microsoft online services (Microsoft 365 and Azure PaaS
services) does not occur through public peering.}}
149
21 https://channel9.msdn.com/Blogs/Azure/Azure-ExpressRoute-How-to-create-a-connection-between-your-VPN-Gateway-and-
ExpressRoute-circuit?term=ExpressRoute&lang-en=true&pageSize=15&skip=15
150
Note: When you set up site-to-site VPN over Microsoft peering, you are charged for the VPN gateway
and VPN egress.
For high availability and redundancy, you can configure multiple tunnels over the two MSEE-PE pairs of
an ExpressRoute circuit and enable load balancing between the tunnels.
VPN tunnels over Microsoft peering can be terminated either using VPN gateway or using an appropriate
Network Virtual Appliance (NVA) available through Azure Marketplace. You can exchange routes statically
or dynamically over the encrypted tunnels without exposing the route exchange to the underlying
Microsoft peering. In this section, BGP (different from the BGP session used to create the Microsoft
peering) is used to dynamically exchange prefixes over the encrypted tunnels.
[!IMPORTANT] For the on-premises side, typically Microsoft peering is terminated on the DMZ and
private peering is terminated on the core network zone. The two zones would be segregated using
firewalls. If you are configuring Microsoft peering exclusively for enabling secure tunneling over Express-
Route, remember to filter through only the public IPs of interest that are getting advertised via Microsoft
peering.
Steps
●● Configure Microsoft peering for your ExpressRoute circuit.
●● Advertise selected Azure regional public prefixes to your on-premises network via Microsoft peering.
●● Configure a VPN gateway and establish IPsec tunnels
●● Configure the on-premises VPN device.
●● Create the site-to-site IPsec/IKE connection.
●● (Optional) Configure firewalls/filtering on the on-premises VPN device.
●● Test and validate the IPsec communication over the ExpressRoute circuit.
ExpressRoute is a private and resilient way to connect your on-premises networks to the Microsoft Cloud.
You can access many Microsoft cloud services such as Azure and Microsoft 365 from your private data
center or your corporate network. For example, you may have a branch office in San Francisco with an
ExpressRoute circuit in Silicon Valley and another branch office in London with an ExpressRoute circuit in
the same city. Both branch offices have high-speed connectivity to Azure resources in US West and UK
South. However, the branch offices cannot connect and send data directly with one another. In other
words, 10.0.1.0/24 can send data to 10.0.3.0/24 and 10.0.4.0/24 network, but NOT to 10.0.2.0/24 network.
151
Enable connectivity
Enable connectivity between your on-premises networks. There are separate sets of instructions for
circuits that are in the same Azure subscription, and circuits that are different subscriptions.
ExpressRoute circuits in the same Azure subscription
1. Select the Azure private peering configuration.
153
2. Select Add Global Reach to open the Add Global Reach configuration page.
3. On the Add Global Reach configuration page, give a name to this configuration. Select the Express-
Route circuit you want to connect this circuit to and enter in a /29 IPv4 for the Global Reach subnet.
Azure uses IP addresses in this subnet to establish connectivity between the two ExpressRoute circuits.
Do not use the addresses in this subnet in your Azure virtual networks, or in your on-premises
network. Select Add to add the circuit to the private peering configuration.
154
4. Select Save to complete the Global Reach configuration. When the operation completes, you will have
connectivity between your two on-premises networks through both ExpressRoute circuits.
Disable connectivity
To disable connectivity between an individual circuit, select the delete button next to the Global Reach
name to remove connectivity between them. Then select Save to complete the operation.
156
Multiple choice
What is ExpressRoute Global Reach primarily designed for?
Connect branch offices across the world.{{Correct. ExpressRoute Global Reach is designed to comple-
ment your service provider’s WAN implementation and connect your branch offices across the world.}}
Connect a data center to the public internet.{{Incorrect. ExpressRoute Global Reach was not primarily
designed to connect a data center to public internet.}}
Connect a local service provider to a data center.{{Incorrect. ExpressRoute Global Reach was not
primarily designed to connect a local service provider to a data center.}}
Multiple choice
How can a network engineer for a company with offices in London and Tokyo configure communications
between the two offices?
Use a local service provider in London and a different local service provider in Tokyo. GlobalReach
connects the branches using ExpressRoute and the Microsoft global network.{{Correct. You can use a
local service provider wherever your offices are, and GlobalReach will connect the branches using
ExpressRoute and the Microsoft global network.}}
Use a local service provider that has a presence in both London and Tokyo, and enable GlobalReach to
connect to each local service provider location.{{Incorrect. You can use different local service providers
in each location.}}
Use GlobalReach to connect each location to a private VPN, and use local service providers for
point-to-site access.{{Incorrect. Each location should connect to GlobalNet through a local service
provider.}}
ExpressRoute virtual network gateway is designed to exchange network routes and route network traffic.
FastPath is designed to improve the data path performance between your on-premises network and your
virtual network. When enabled, FastPath sends network traffic directly to virtual machines in the virtual
network, bypassing the gateway.
Circuits
FastPath is available on all ExpressRoute circuits.
Gateways
FastPath still requires a virtual network gateway to be created to exchange routes between virtual
network and on-premises network.
157
●● A single VNet can be linked to up to 16 ExpressRoute circuits. Use the following process to create a
new connection object for each ExpressRoute circuit you are connecting to. The ExpressRoute circuits
can be in the same subscription, different subscriptions, or a mix of both.
●● If you enable the ExpressRoute premium add-on, you can link virtual networks outside of the geopo-
litical region of the ExpressRoute circuit. The premium add-on will also allow you to connect more
than 10 virtual networks to your ExpressRoute circuit depending on the bandwidth chosen.
●● To create the connection from the ExpressRoute circuit to the target ExpressRoute virtual network
gateway, the number of address spaces advertised from the local or peered virtual networks needs to
be equal to or less than 200. Once the connection has been successfully created, you can add addi-
tional address spaces, up to 1,000, to the local or peered virtual networks.
Connect a VNet to a circuit - same subscription
[!NOTE] BGP configuration information will not appear if the layer 3 provider configured your peering. If
your circuit is in a provisioned state, you should be able to create connections.
1. To create a connection Ensure that your ExpressRoute circuit and Azure private peering have been
configured successfully. Your ExpressRoute circuit should look like the following image:
2. You can now start provisioning a connection to link your virtual network gateway to your Express-
Route circuit. Select Connection > Add to open the Add connection page.
159
3. Enter a name for the connection and then select Next: Settings >.
4. Select the gateway that belongs to the virtual network that you want to link to the circuit and select
Review + create. Then select Create after validation completes.
160
5. After your connection has been successfully configured, your connection object will show the infor-
mation for the connection.
The circuit owner has the power to modify and revoke authorizations at any time. Revoking an authoriza-
tion results in all link connections being deleted from the subscription whose access was revoked.
Circuit owner operations
To create a connection authorization
The circuit owner creates an authorization, which creates an authorization key to be used by a circuit user
to connect their virtual network gateways to the ExpressRoute circuit. An authorization is valid for only
one connection.
[!NOTE] Each connection requires a separate authorization.
1. In the ExpressRoute page, select Authorizations and then type a name for the authorization and
select Save.
2. Once the configuration is saved, copy the Resource ID and the Authorization Key.
If you want to delete the connection but retain the authorization key, you can delete the connection from
the connection page of the circuit.
2. Make sure the Connection type is set to ExpressRoute. Select the Resource group and Location, then
select OK in the Basics page.
[!Note] The location must match the virtual network gateway location you are creating the connection
for.
164
3. In the Settings page, Select the Virtual network gateway and check the Redeem authorization check
box. Enter the Authorization key and the Peer circuit URI and give the connection a name. Select OK.
[!Note] The Peer Circuit URI is the Resource ID of the ExpressRoute circuit (which you can find under the
Properties Setting pane of the ExpressRoute Circuit).
165
Clean up resources
You can delete a connection and unlink your VNet to an ExpressRoute circuit by selecting the Delete icon
on the page for your connection.
166
Multiple choice
How does ExpressRoute FastPath send network traffic?
Directly to virtual machines in the virtual network.{{Correct. FastPath sends network traffic directly to
virtual machines in the virtual network, bypassing the gateway.}}
Through the gateway to Virtual machines.{{Incorrect. ExpressRoute FastPath does not send traffic
through the gateway to virtual machines.}}
Through the public internet.{{Incorrect. ExpressRoute FastPath does not send traffic through the public
internet.}}
Multiple choice
A network has multiple VNets peered with the VNet that is connected to ExpressRoute. How should the
ExpressRoute FastPath deployment be modified?
Connect all the virtual networks to the ExpressRoute FastPath circuit directly.{{Correct. To avoid traffic
being routed through the VNet gateways, connect all the VNets to ExpressRoute FastPath circuit
directly.}}
Connect the VNet gateways to ExpressRoute FastPath.{{Incorrect. The VNet gateways still support
VNet-to-Vnet peering and should not be connected directly to FastPath.}}
Modify the VNet peering configuration.{{Incorrect. The VNet gateways can still support VNet-to-Vnet
peering and do not have to be modified.}}
167
As an Azure network engineer supporting an ExpressRoute deployment, you will have to diagnose and
resolve any ExpressRoute connection issues that arise.
ExpressRoute connectivity traditionally involves three distinct network zones, as follows:
●● Customer Network
●● Provider Network
●● Microsoft Datacenter
[!NOTE] In the ExpressRoute direct connectivity model (offered at 10/100 Gbps bandwidth), customers
can directly connect to Microsoft Enterprise Edge (MSEE) routers' port. Therefore, in the direct connectivi-
ty model, there are only customer and Microsoft network zones.
In the ExpressRoute Essentials, Circuit status indicates the status of the circuit on the Microsoft side.
Provider status indicates if the circuit has been Provisioned/Not provisioned on the service-provider side.
For an ExpressRoute circuit to be operational, the Circuit status must be Enabled, and the Provider status
must be Provisioned.
[!NOTE] After configuring an ExpressRoute circuit, if the Circuit status is stuck in not enabled status,
contact Microsoft Support22. On the other hand, if the Provider status is stuck in not provisioned status,
contact your service provider.
In the preceding example, as noted Azure private peering is provisioned, whereas Azure public and
Microsoft peering are not provisioned. A successfully provisioned peering context would also have the
primary and secondary point-to-point subnets listed. The /30 subnets are used for the interface IP
address of the MSEEs and CEs/PE-MSEEs. For the peering that are provisioned, the listing also indicates
who last modified the configuration.
[!NOTE] If enabling a peering fails, check if the primary and secondary subnets assigned match the
configuration on the linked CE/PE-MSEE. Also check if the correct VlanId, AzureASN, and PeerASN are
22 https://portal.azure.com/?
169
used on MSEEs and if these values map to the ones used on the linked CE/PE-MSEE. If MD5 hashing is
chosen, the shared key should be same on MSEE and PE-MSEE/CE pair. Previously configured shared key
would not be displayed for security reasons. Should you need to change any of these configuration on an
MSEE router, refer to Create and modify routing for an ExpressRoute circuit23.
[!NOTE] On a /30 subnet assigned for interface, Microsoft will pick the second usable IP address of the
subnet for the MSEE interface. Therefore, ensure that the first usable IP address of the subnet has been
assigned on the peered CE/PE-MSEE.
23 https://docs.microsoft.com/en-us/azure/expressroute/expressroute-howto-routing-portal-resource-manager
170
Multiple choice
What property of an ExpressRoute circuit is useful when opening a support ticket with the service provider?
Service key.{{Correct. A service key uniquely identifies an ExpressRoute circuit. If you need assistance
from Microsoft or from an ExpressRoute partner to troubleshoot an ExpressRoute issue, provide the
service key to readily identify the circuit.}}
Circuit name.{{Incorrect. The Circuit name may not be unique or easily searchable for the service
provider.}}
Circuit number.{{Incorrect. There is no circuit number property.}}
Multiple choice
An engineer wants to know if their service provider has made any changes that affect their circuit. Where
can they check for this information?
Check the Last modified by property of the relevant peering.{{Correct. Azure resources record
information about changes, in this case, who made the last change.}}
Call the service provider and ask them.{{Incorrect. This may get you the correct answer, but it is not
the quickest way to check.}}
Raise a support ticket with Microsoft.{{Incorrect. This may get you the correct answer, but it is not the
quickest way to check.}}
Resources
Use these resources to discover more.
●● ExpressRoute documentation | Microsoft Docs24
24 https://docs.microsoft.com/en-us/azure/expressroute/
171
Answers
Multiple choice
Which one of the following is the most effective use of ExpressRoute?
■■ Provide reliable and secure connectivity to Azure services.{{Correct. Azure ExpressRoute is used to
create private connections between Azure data centers, Azure services, and infrastructure on your
premises or in a colocation environment.}}
Connect your network to the public internet.{{Incorrect. Azure ExpressRoute isn't the most effective
way to connect your network to the public internet.}}
Connect data center services internal to an organization.{{Incorrect. Azure ExpressRoute isn't used to
connect data center services internal to an organization.}}
Explanation
Multiple choice
What is the benefit of Bidirectional forwarding?
■■ Bidirectional forwarding reduces the failure deduction time.{{Correct. Enabling BFD over an Express-
Route circuit can reduce the failure deduction time from a few tens of seconds to less than a second.}}
Bidirectional forwarding allows traffic to flow in both directions.{{Incorrect. Bidirectional forwarding
isn't concerned with normal traffic flow.}}
Bidirectional forwarding enables you to configure BGP keep-alive times of less than 3 seconds.
{{Incorrect. The BGP keep-alive can be set as low as three seconds, but this aggressive schedule isn't
recommended.}}
Explanation
Multiple choice
Which of the following can be connected with ExpressRoute Premium?
■■ Resources in different Geopolitical regions.{{Correct. You can enable ExpressRoute Premium to extend
connectivity across geopolitical boundaries. For example, if you connect to Microsoft in Amsterdam
through ExpressRoute, you'll have access to all Microsoft cloud services hosted in all regions across
the world.}}
Resources within local regions.{{Incorrect. Azure Premium can connect more than resources within
local regions.}}
Resources within a single metropolitan area only.{{Incorrect. Azure Premium can connect more than
resources within a single metropolitan area.}}
Explanation
172
Multiple choice
How can one provide a failover path for ExpressRoute?
■■ Configure a Site-to-Site VPN connection as a backup for ExpressRoute.{{Correct. You can configure a
Site-to-Site VPN connection as a backup for ExpressRoute. This connection applies only to virtual
networks linked to the Azure private peering path.}}
Configure a Point-to-Site VPN connection as a backup for ExpressRoute.{{Incorrect. A Point-to-Site
VPN connection will not function as a backup for ExpressRoute.}}
You cannot configure a backup path for ExpressRoute.{{Incorrect. It is possible to configure a backup
path for ExpressRoute.}}
Explanation
Multiple choice
An engineer wants to consume a specific set of services through Microsoft peering. Which feature should
be configured?
■■ Route filters.{{Correct. Route filters are a way to consume a subset of supported services through
Microsoft peering.}}
Network Firewall.{{Incorrect. Network Firewall allows control traffic flow using rules that specify
allowed or blocked IP address and ports.}}
You cannot consume only a subset of services.{{Incorrect. You can configure Microsoft peering to
consume only a subset of services.}}
Explanation
Multiple choice
To provide connectivity to Microsoft 365 and PaaS services. Which peering service should select?
■■ Microsoft Peering.{{Correct. Connectivity to Microsoft online services (Microsoft 365 and Azure PaaS
services) occurs through Microsoft peering.}}
Private peering.{{Incorrect. Connectivity to Microsoft online services (Microsoft 365 and Azure PaaS
services) does not occur through private peering.}}
Public peering.{{Incorrect. Connectivity to Microsoft online services (Microsoft 365 and Azure PaaS
services) does not occur through public peering.}}
Explanation
Multiple choice
What is ExpressRoute Global Reach primarily designed for?
■■ Connect branch offices across the world.{{Correct. ExpressRoute Global Reach is designed to comple-
ment your service provider’s WAN implementation and connect your branch offices across the world.}}
Connect a data center to the public internet.{{Incorrect. ExpressRoute Global Reach was not primarily
designed to connect a data center to public internet.}}
Connect a local service provider to a data center.{{Incorrect. ExpressRoute Global Reach was not
primarily designed to connect a local service provider to a data center.}}
Explanation
173
Multiple choice
How can a network engineer for a company with offices in London and Tokyo configure communications
between the two offices?
■■ Use a local service provider in London and a different local service provider in Tokyo. GlobalReach
connects the branches using ExpressRoute and the Microsoft global network.{{Correct. You can use a
local service provider wherever your offices are, and GlobalReach will connect the branches using
ExpressRoute and the Microsoft global network.}}
Use a local service provider that has a presence in both London and Tokyo, and enable GlobalReach to
connect to each local service provider location.{{Incorrect. You can use different local service providers
in each location.}}
Use GlobalReach to connect each location to a private VPN, and use local service providers for
point-to-site access.{{Incorrect. Each location should connect to GlobalNet through a local service
provider.}}
Explanation
Multiple choice
How does ExpressRoute FastPath send network traffic?
■■ Directly to virtual machines in the virtual network.{{Correct. FastPath sends network traffic directly to
virtual machines in the virtual network, bypassing the gateway.}}
Through the gateway to Virtual machines.{{Incorrect. ExpressRoute FastPath does not send traffic
through the gateway to virtual machines.}}
Through the public internet.{{Incorrect. ExpressRoute FastPath does not send traffic through the public
internet.}}
Explanation
Multiple choice
A network has multiple VNets peered with the VNet that is connected to ExpressRoute. How should the
ExpressRoute FastPath deployment be modified?
■■ Connect all the virtual networks to the ExpressRoute FastPath circuit directly.{{Correct. To avoid traffic
being routed through the VNet gateways, connect all the VNets to ExpressRoute FastPath circuit
directly.}}
Connect the VNet gateways to ExpressRoute FastPath.{{Incorrect. The VNet gateways still support
VNet-to-Vnet peering and should not be connected directly to FastPath.}}
Modify the VNet peering configuration.{{Incorrect. The VNet gateways can still support VNet-to-Vnet
peering and do not have to be modified.}}
Explanation
174
Multiple choice
What property of an ExpressRoute circuit is useful when opening a support ticket with the service
provider?
■■ Service key.{{Correct. A service key uniquely identifies an ExpressRoute circuit. If you need assistance
from Microsoft or from an ExpressRoute partner to troubleshoot an ExpressRoute issue, provide the
service key to readily identify the circuit.}}
Circuit name.{{Incorrect. The Circuit name may not be unique or easily searchable for the service
provider.}}
Circuit number.{{Incorrect. There is no circuit number property.}}
Explanation
Multiple choice
An engineer wants to know if their service provider has made any changes that affect their circuit. Where
can they check for this information?
■■ Check the Last modified by property of the relevant peering.{{Correct. Azure resources record
information about changes, in this case, who made the last change.}}
Call the service provider and ask them.{{Incorrect. This may get you the correct answer, but it is not
the quickest way to check.}}
Raise a support ticket with Microsoft.{{Incorrect. This may get you the correct answer, but it is not the
quickest way to check.}}
Explanation
Module 4 Load balance non-HTTP(S) traffic in
Azure
Learning objectives
In this module, you will:
●● Understand options for load balancing
●● Design and implement an Azure Load Balancer
●● Implement a Traffic Manager profile
Prerequisites
●● You should have experience with networking concepts, such as IP addressing, Domain Name System
(DNS), and routing
●● You should have experience with network connectivity methods, such as VPN or WAN
●● You should have experience with the Azure portal and Azure PowerShell
176
The term load balancing refers to the even distribution of workloads (that is, incoming network traffic),
across a group of backend computing resources or servers. Load balancing aims to optimize resource
use, maximize throughput, minimize response time, and avoid overloading any single resource. It can also
improve availability by sharing a workload across redundant computing resources.
1 https://azure.microsoft.com/pricing/details/load-balancer/
2 https://docs.microsoft.com/azure/azure-resource-manager/management/azure-subscription-service-limits
178
As every application will have its own unique requirements, you should only use this flowchart and
the suggested recommendation as a starting point, and then perform a more detailed evaluation
yourself in order to select the best option for your environment.
If your application consists of multiple workloads, evaluate each workload separately. A complete
solution may incorporate two or more load-balancing solutions.
179
3 https://portal.azure.com/
180
●● Depending on what answers you give, the list of potential load balancing services will change.
●● Optionally, you can also click the Service comparison or Tutorial tabs for more information and
training on the different load balancing services.
Now let's look at each of the main Azure load balancing services in more detail.
Multiple choice
An engineer has a secure web application that experiences high traffic, and they want to use a load balanc-
er to distribute the workload. Which load balancers will support this type of traffic?
Azure Application Gateway and Azure Front Door.{{Correct, Secure web applications use HTTPS traffic.
Azure Application Gateway and Azure Front Door support HTTPS traffic.}}
Azure Load Balancer and Traffic Manager.{{Incorrect, Secure web applications use HTTPS traffic. Azure
Load Balancer and Traffic Manager support non-HTTPS traffic.}}
Azure Application Gateway only.{{Incorrect, Secure web applications use HTTPS traffic. Azure Applica-
tion Gateway does support HTTPS traffic, but it's not the only load balancer that does.}}
Multiple choice
Which type of load balancing services distribute traffic within virtual networks across virtual machines?
Regional.{{Correct, Regional load-balancing services distribute traffic within virtual networks across
virtual machines (VMs) or zonal and zone-redundant service endpoints within a region.}}
Global.{{Incorrect, Global load-balancing services distribute traffic across regional backends, clouds,
or hybrid on-premises services.}}
Regional and Global.{{Incorrect, Regional load-balancing services distribute traffic within virtual
networks across virtual machines (VMs) or zonal and zone-redundant service endpoints within a
region, whereas Global load-balancing services distribute traffic across regional backends, clouds, or
hybrid on-premises services.}}
181
Azure Load Balancer operates at layer 4 of the Open Systems Interconnection (OSI) model. It's the single
point of contact for clients. Azure Load Balancer distributes inbound flows that arrive at the load balanc-
er's front end to backend pool instances. These flows are according to configured load-balancing rules
and health probes. The backend pool instances can be Azure Virtual Machines or instances in a virtual
machine scale set.
4 https://docs.microsoft.com/en-us/azure/load-balancer/components
5 https://docs.microsoft.com/en-us/azure/load-balancer/components
182
Zone redundant
In a region with Availability Zones, a Standard Load Balancer can be zone-redundant. This traffic is served
by a single IP address.
A single frontend IP address will survive zone failure. The frontend IP may be used to reach all (non-im-
pacted) backend pool members no matter the zone. One or more availability zones can fail and the data
path survives as long as one zone in the region remains healthy.
The frontend's IP address is served simultaneously by multiple independent infrastructure deployments in
multiple availability zones. Any retries or reestablishment will succeed in other zones not affected by the
zone failure.
Zonal
You can choose to have a frontend guaranteed to a single zone, which is known as a zonal. This scenario
means any inbound or outbound flow is served by a single zone in a region. Your frontend shares fate
with the health of the zone. The data path is unaffected by failures in zones other than where it was
guaranteed. You can use zonal frontends to expose an IP address per Availability Zone.
Additionally, the use of zonal frontends directly for load balanced endpoints within each zone is support-
ed. You can use this configuration to expose per zone load-balanced endpoints to individually monitor
each zone. For public endpoints, you can integrate them with a DNS load-balancing product like Traffic
Manager and use a single DNS name.
184
For a public load balancer frontend, you add a zones parameter to the public IP. This public IP is refer-
enced by the frontend IP configuration used by the respective rule.
For an internal load balancer frontend, add a zones parameter to the internal load balancer frontend IP
configuration. A zonal frontend guarantees an IP address in a subnet to a specific zone.
To narrow down the search results, you can use the filters to the right of the search box. For example,
●● Resource group - here you can select an existing resource group or create a new one.
●● Name - provide a unique name for the instance.
●● Region - select the region where the virtual machines were created.
●● Type - this is where you select whether your load balancer is going to be Internal (private) or Public
(external). If you choose Internal, you will need to specify a virtual network and IP address assign-
ment, but if you choose Public, you will need to specify several Public IP address details.
●● SKU - here you can select either the Standard SKU or the Basic SKU (for production workloads you
should choose Standard, but for testing and evaluation and training purposes, you could choose
Basic, but you will not get all the possible load balancer features). Depending on which SKU you
select here, the remaining configuration options will differ slightly.
●● Tier - this is where you select whether your load balancer is balancing within a region (Regional) or
across regions (Global) - If you select the Basic SKU above, this setting is greyed out.
●● Public IP address - here you specify whether to create a new public IP address for your public-facing
front-end, or use an existing one, and you also specify a name for your public IP address, and whether
to use a dynamic or statically assigned IP address. You can optionally also assign an IPv6 address to
your load balancer in addition to the default IPv4 one.
188
After you click Review + Create, the configuration settings for the new load balancer resource will be
validated, and then you can click Create to start creating it.
When it completes, you can click Go to resource to view the new load balancer resource in the portal.
Under the Settings section choose Backend pools, and then Add to add a pool.
191
You need to enter the following information on the Add backend pool page.
●● Name: Enter a unique name for the backend pool
●● Virtual network: Specify the name of the virtual network where the resources are located that you
will be adding to the backend pool
●● Associated to: You need to associate the backend pool with one or more virtual machines, or to a
virtual machine scale set
●● IP Version: Select either IPv4 or IPv6
You could add existing virtual machines to the backend pool at this point, or you can create and add
them later. You then click Add to add the backend pool.
192
You need to enter the following information to add the virtual machine to the backend pool.
●● Virtual network: Specify the name of the virtual network where the resources are located that you
will be adding to the backend pool
●● Associated to: You need to associate the backend pool with one or more virtual machines, or to a
virtual machine scale set
●● IP Version: Select either IPv4 or IPv6
Then under the Virtual machines section, click Add.
194
Select the virtual machines you want to add to the backend pool and click Add.
195
You need to enter the following information on the Add health probe page.
●● Name: Enter a unique name for the health probe
●● Protocol: Select either TCP or HTTP
●● Port: Specify the destination port number for the health signal. The default is port 80
●● Interval: Specify the interval time in seconds between probe attempts. The default is 5 seconds
●● Unhealthy threshold: Specify the number of consecutive probe failures that must occur before a
virtual machine is considered to be in an unhealthy state. The default is 2 failures
You then click Add to add the health probe.
197
You need to enter the following information on the Add load balancing rule page.
●● Name: Enter a unique name for the load balancing rule
●● IP Version: Select either IPv4 or IPv6
●● Frontend IP address: Select the existing public-facing IP address of the load balancer
●● Protocol: Select either the TCP or UDP protocol
198
●● Port: Specify the port number for the load balancing rule. The default is port 80
●● Backend port: You can choose to route traffic to the virtual machine in the backend pool using a
different port than the one that clients use by default to communicate with the load balancer (port 80)
●● Backend pool: Select an existing backend pool. The virtual machines in this backend pool will be the
target for the load balanced traffic of this rule.
●● Health probe: Select an existing health probe or create a new one. The load balancing rule uses the
health probe to determine which virtual machines in the backend pool are healthy and therefore can
receive load balanced traffic.
●● Session persistence: You can choose None, or Client IP, or Client IP and protocol. Session persis-
tence specifies that traffic from a client should be handled by the same virtual machine in the backend
pool for the duration of a session. None specifies that successive requests from the same client may
be handled by any virtual machine. Client IP specifies that successive requests from the same client IP
address will be handled by the same virtual machine. Client IP and protocol specifies that successive
requests from the same client IP address and protocol combination will be handled by the same
virtual machine.
●● Idle timeout(minutes): Specify the time to keep a TCP or HTTP connection open without relying on
clients to send keep-alive messages. The default idle timeout is 4 minutes, which is also the minimum
setting. The maximum setting is 30 minutes.
●● Floating IP: Choose between Disabled or Enabled. With Floating IP set to Disabled, Azure exposes a
traditional load balancing IP address mapping scheme for ease of use (the VM instances' IP). With
Floating IP set to Enabled, it changes the IP address mapping to the Frontend IP of the load balancer
to allow for additional flexibility.
You then click Add to add the load balancing rule.
199
200
Multiple choice
Which of the following statement about external load balancers is correct?
They have a public IP address.{{Correct, External load balancers have public IP addresses.}}
They don't have a listener IP address.{{Incorrect, External load balancers have public IP addresses.}}
They have a private, front-facing IP address.{{Incorrect, External load balancers have public IP address-
es.}}
Multiple choice
When deploying a new Azure Load Balancer that must support outbound traffic rules. Which SKU should be
selected?
Standard{{Correct, Standard SKU supports outbound rules through declarative outbound NAT config-
uration.}}
Basic{{Incorrect, Basic SKU does not support outbound rules.}}
Either Standard or Basic{{Incorrect, Basic SKU does not support outbound rules.}}
4. On the Basics tab, use the information in the table below to create the virtual network.
Setting Value
Subscription Select your subscription
Resource group Select Create new Name: IntLB-RG
Name IntLB-VNet
Region (US) West US
5. Click Next : IP Addresses.
6. On the IP Addresses tab, in the IPv4 address space box, remove the default and type 10.1.0.0/16.
7. Under Subnet name, select the word default.
8. In the Edit subnet pane, provide a subnet name of myBackendSubnet, and a subnet address range
of 10.1.0.0/24.
9. Click Save.
10. Click Add subnet, provide a subnet name of myFrontEndSubnet, and a subnet address range of
10.1.2.0/24. Click Add
11. Click Next : Security.
12. Under BastionHost select Enable, then enter the information from the table below.
Setting Value
Bastion name myBastionHost
AzureBastionSubnet address space 10.1.1.0/24
Public IP address Select Create new Name: myBastionIP
13. Click Review + create.
14. Click Create.
203
6 https://github.com/MicrosoftLearning/AZ-700-Designing-and-Implementing-Microsoft-Azure-Networking-Solutions/tree/master/Allfiles/
Exercises/M04
204
2. Click Create.
3. On the Basics tab, use the information in the table below to create the load balancer.
Setting Value
Subscription Select your subscription
Resource group IntLB-RG
Name myIntLoadBalancer
Region (US) West US
Type Internal
SKU Standard
4. Click Next: Frontend IP configurations.
5. Click Add a frontend IP
6. On the Add frontend IP address blade, enter the information from the table below.
Setting Value
Name LoadBalancerFrontEnd
Virtual network IntLB-VNet
Subnet myFrontEndSubnet
Assignment Dynamic
7. Click Review + create.
8. Click Create.
Setting Value
Name myBackendPool
Virtual network IntLB-VNet
Associated to Virtual machines
4. Under Virtual machines, click Add.
5. Select the checkboxes for all 3 VMs (myVM1, myVM2, and myVM3), then click Add
6. Click Add.
Setting Value
Name myHealthProbe
Protocol HTTP
Port 80
Path /
206
Interval 15
Unhealthy threshold 2
3. Click Add.
Setting Value
Name myHTTPRule
IP Version IPv4
Frontend IP address LoadBalancerFrontEnd
Protocol TCP
Port 80
Backend port 80
Backend pool myBackendPool
Health probe myHealthProbe
Session persistence None
Idle timeout (minutes) 15
Floating IP Disabled
207
3. Click Add.
Create test VM
1. On the Azure portal home page, click Create a resource, then Compute, then select Virtual machine
(if this resource type is not listed on the page, use the search box at the top of the page to search for
it and select it).
2. On the Create a virtual machine page, on the Basics tab, use the information in the table below to
create the first VM.
Setting Value
Subscription Select your subscription
Resource group IntLB-RG
Virtual machine name myTestVM
Region (US) West US
Availability options No infrastructure redundancy required
Image Windows Server 2019 Datacenter - Gen 1
Size Standard_DS1_v2 - 1 vcpu, 3.5 GiB memory
Username TestUser
Password TestPa$$w0rd!
Confirm password TestPa$$w0rd!
3. Click Next : Disks, then click Next : Networking.
4. On the Networking tab, use the information in the table below to configure networking settings.
Setting Value
208
13. If you click the refresh button in the browser a few times, you will see that the response comes
randomly from the different VMs in the backend pool of the internal load balancer.
Clean up resources
[!NOTE]
Remember to remove any newly created Azure resources that you no longer use. Removing unused
resources ensures you will not see unexpected charges.
1. In the Azure portal, open the PowerShell session within the Cloud Shell pane.
2. Delete all resource groups you created throughout the labs of this module by running the following
command:
Remove-AzResourceGroup -Name 'NAME OF THE RG' -Force -AsJob
[!NOTE]
The command executes asynchronously (as determined by the -AsJob parameter), so while you will be
able to run another PowerShell command immediately afterwards within the same PowerShell session, it
will take a few minutes before the resource groups are actually removed.
explore-azure-traffic-manager
5-Explore Azure Traffic Manager
Azure Traffic Manager is a DNS-based traffic load balancer. This service allows you to distribute traffic to
your public facing applications across the global Azure regions. Traffic Manager also provides your public
endpoints with high availability and quick responsiveness.
Traffic Manager uses DNS to direct the client requests to the appropriate service endpoint based on a
traffic-routing method. Traffic manager also provides health monitoring for every endpoint. The endpoint
can be any Internet-facing service hosted inside or outside of Azure. Traffic Manager provides a range of
traffic-routing methods and endpoint monitoring options to suit different application needs and auto-
matic failover models. Traffic Manager is resilient to failure, including the failure of an entire Azure region.
Feature Description
210
Increase application availability Traffic Manager delivers high availability for your
critical applications by monitoring your endpoints
and providing automatic failover when an end-
point goes down.
Improve application performance Azure allows you to run cloud services and
websites in datacenters located around the world.
Traffic Manager can improve the responsiveness of
your website by directing traffic to the endpoint
with the lowest latency.
Service maintenance without downtime You can have planned maintenance done on your
applications without downtime. Traffic Manager
can direct traffic to alternative endpoints while the
maintenance is in progress.
Combine hybrid applications Traffic Manager supports external, non-Azure
endpoints enabling it to be used with hybrid cloud
and on-premises deployments, including the
burst-to-cloud, migrate-to-cloud, and failover-to-
cloud scenarios.
Distribute traffic for complex deployments Using nested Traffic Manager profiles, multiple
traffic-routing methods can be combined to create
sophisticated and flexible rules to scale to the
needs of larger, more complex deployments.
2. Create a Traffic Manager profile, named contoso.trafficmanager.net, and configure it to use the
‘Performance’ traffic-routing method across the three endpoints.
3. Configure their vanity domain name, partners.contoso.com, to point to contoso.trafficmanager.net,
using a DNS CNAME record.
1. The client sends a DNS query to its configured recursive DNS service to resolve the name ‘partners.
contoso.com’. A recursive DNS service, sometimes called a 'local DNS' service, does not host DNS
212
domains directly. Rather, the client off-loads the work of contacting the various authoritative DNS
services across the Internet needed to resolve a DNS name.
2. To resolve the DNS name, the recursive DNS service finds the name servers for the ‘contoso.com’
domain. It then contacts those name servers to request the 'partners.contoso.com' DNS record. The
contoso.com DNS servers return the CNAME record which points to contoso.trafficmanager.net.
3. Next, the recursive DNS service finds the name servers for the ‘trafficmanager.net’ domain, which are
provided by the Azure Traffic Manager service. It then sends a request for the 'contoso.trafficmanager.
net' DNS record to those DNS servers.
4. The Traffic Manager name servers receive the request. They choose an endpoint based on:
●● The configured state of each endpoint (disabled endpoints are not returned)
●● The current health of each endpoint, as determined by the Traffic Manager health checks.
●● The chosen traffic-routing method.
5. The chosen endpoint is returned as another DNS CNAME record. In this case, let us suppose conto-
so-eu.cloudapp.net is returned.
6. Next, the recursive DNS service finds the name servers for the ‘cloudapp.net’ domain. It contacts those
name servers to request the 'contoso-eu.cloudapp.net' DNS record. A DNS ‘A’ record containing the
IP address of the EU-based service endpoint is returned.
7. The recursive DNS service consolidates the results and returns a single DNS response to the client.
8. The client receives the DNS results and connects to the given IP address. The client connects to the
application service endpoint directly, not through Traffic Manager. Since it is an HTTPS endpoint, the
client performs the necessary SSL/TLS handshake, and then makes an HTTP GET request for the ‘/
login.aspx’ page.
The recursive DNS service caches the DNS responses it receives. The DNS resolver on the client device
also caches the result. Caching enables subsequent DNS queries to be answered more quickly by using
data from the cache rather than querying other name servers. The duration of the cache is determined by
the ‘time-to-live’ (TTL) property of each DNS record. Shorter values result in faster cache expiry and thus
more round-trips to the Traffic Manager name servers. Longer values mean that it can take longer to
direct traffic away from a failed endpoint. Traffic Manager allows you to configure the TTL used in Traffic
Manager DNS responses to be as low as 0 seconds and as high as 2,147,483,647 seconds (the maximum
range compliant with RFC-1035), enabling you to choose the value that best balances the needs of your
application.
7 https://docs.microsoft.com/en-us/azure/traffic-manager/traffic-manager-routing-methods
215
8 https://docs.microsoft.com/en-us/azure/traffic-manager/traffic-manager-routing-methods
216
9 https://docs.microsoft.com/en-us/azure/traffic-manager/traffic-manager-routing-methods
217
10 https://docs.microsoft.com/en-us/azure/traffic-manager/traffic-manager-routing-methods
218
The example and diagrams below illustrate the combining of the Performance and Weighted traf-
fic-routing methods in nested profiles.
But what if you wanted to test an update to your service before rolling it out more widely, and you
wanted to use the Weighted traffic-routing method to direct a small percentage of traffic to your test
deployment?
You would set up the test deployment alongside the existing production deployment in West Europe.
As you just learned, you cannot combine both the Weighted and Performance traffic-routing methods
in a single profile. Therefore, to support this scenario, you would create a Traffic Manager profile using
the two West Europe endpoints and the Weighted traffic-routing method. Then you would add this child
profile as an endpoint to the parent profile. The parent profile would still use the Performance traf-
fic-routing method and would contain the other global deployments as endpoints.
The diagram below illustrates this example scenario:
219
With the above configuration, traffic directed via the parent profile (using the Performance routing
method) distributes traffic across regions normally. While, within West Europe, the nested child profile
(using the Weighted routing method) distributes traffic to the production and test endpoints according
to the weights assigned.
When the parent profile uses the Performance traffic-routing method, each endpoint must be assigned
a location, which is done when you configure the endpoint. Choose the Azure region closest to your
deployment.
For more information, and for more example scenarios, see Nested Traffic Manager profiles11.
11 https://docs.microsoft.com/en-us/azure/traffic-manager/traffic-manager-nested-profiles
220
You add endpoints to existing Traffic Manager profiles from the Endpoints page of a Traffic Manager
profile in the Azure portal.
For more information, visit Traffic Manager endpoints12.
Click Create.
You need to enter the following information on the Create Traffic Manager profile page.
12 https://docs.microsoft.com/en-us/azure/traffic-manager/traffic-manager-endpoint-types
221
Field Information
Name Enter a unique name for the Traffic Manager
profile.
Routing method Select the routing method to use in this profile.
Subscription Select the subscription from the list that you want
this profile to be applied to.
Resource group Select the appropriate resource group from the list
or create a new one.
Resource group location The Azure Traffic Manager service is global and
not bound to a location. This setting refers to the
location of the selected resource group and has
no impact on the runtime availability of your
Traffic Manager profile.
Click Create to create the profile.
On the Traffic manager profile page, under Settings, select Endpoints, then click Add.
You then enter the required information on the Add endpoint page.
Field Information
Type Select the type of endpoint to add. You can select
from the following endpoint types: Azure end-
pointsExternal endpointsNested endpoints
Depending on which endpoint type you select
here, the remaining options will differ.
Name Enter a unique name for the endpoint.
223
Target resource type (for Azure endpoints only) If you select the Azure endpoint type, you can
select from the following resource types: Cloud
serviceApp ServiceApp Service slotPublic IP
address
Target resource (for Azure and Nested endpoints Select the appropriate target service, IP address, or
only) profile from the list. The available options will
differ depending on which endpoint type and
target resource type are selected above.
Fully-qualified domain name (FQDN) or IP (for Specify the FQDN or IP address for the external
External endpoints only) endpoint.
Priority Specify the priority for this endpoint. If you enter
1, then all traffic goes to this endpoint when it's
healthy.
Minimum child endpoints (for Nested endpoints Specify the minimum number of endpoints that
only) must be available in the child Traffic Manager
profile for it to receive traffic. If the available
endpoints in the child profile falls below this
threshold, this endpoint will be considered as
degraded.
Custom Header setting (optional setting) You can configure custom headers for your
endpoint, using the following paired formatting:
host:contoso.com,customheader:contoso The
maximum number of supported pairs is 8, and
they are applicable for both the HTTP and HTTPS
protocols. These endpoint Custom Header settings
override the settings configured in a profile.
Add as disabled (optional setting) Disabling an endpoint in Traffic Manager can be
useful to temporarily remove traffic from an
endpoint that is in maintenance mode or being
redeployed. Once the endpoint is running again, it
can be re-enabled.
Click Add to add the endpoint to the Traffic Manager profile.
224
If you are adding a failover endpoint for another Azure region, then you would add another endpoint for
that region. This would point to the application target resource in the other region and would have a
priority setting of 2.
225
When you add endpoints to a Traffic Manager profile, their status will be checked.
Once they have been checked their Monitor status changes to Online.
Setting Description
Protocol Choose HTTP, HTTPS, or TCP as the protocol that
Traffic Manager uses when probing your endpoint
to check its health. HTTPS monitoring doesn't
verify whether your TLS/SSL certificate is valid; it
only checks that the certificate is present.
Port Choose the port used for the request.
Path This configuration setting is valid only for the
HTTP and HTTPS protocols, for which specifying
the path setting is required. Providing this setting
for the TCP monitoring protocol results in an error.
For HTTP and HTTPS protocol, give the relative
path and the name of the webpage or the file that
the monitoring accesses. A forward slash (/) is a
valid entry for the relative path. This value implies
that the file is in the root directory (default).
Custom Header settings This configuration setting helps you add specific
HTTP headers to the health checks that Traffic
Manager sends to endpoints under a profile. The
custom headers can be specified at a profile level
to be applicable for all endpoints in that profile
and / or at an endpoint level applicable only to
that endpoint. You can use custom headers for
health checks of endpoints in a multi-tenant
environment. That way it can be routed correctly
to their destination by specifying a host header.
You can also use this setting by adding unique
headers that can be used to identify Traffic
Manager originated HTTP(S) requests and pro-
cesses them differently. You can specify up to
eight header:value pairs separated by a comma.
Example - header1:value1, header2:value2
Expected Status Code Ranges This setting allows you to specify multiple success
code ranges in the format 200-299, 301-301. If
these status codes are received as response from
an endpoint when a health check is done, Traffic
Manager marks those endpoints as healthy. You
can specify a maximum of eight status code
ranges. This setting is applicable only to HTTP and
HTTPS protocol and to all endpoints. This setting
is at the Traffic Manager profile level and by
default the value 200 is defined as the success
status code.
227
you can perform application-specific checks, such as checking performance counters or verifying
database availability. Based on these custom checks, the page returns an appropriate HTTP status
code.
All endpoints in a Traffic Manager profile share monitoring settings. If you need to use different monitor-
ing settings for different endpoints, you can create nested Traffic Manager profiles13.
Multiple choice
What are two benefits of Traffic Manager?
Distribution of traffic and continuous monitoring of endpoint health.{{Correct, Distribution of traffic
according to one of several traffic-routing methods and continuous monitoring of endpoint health
and automatic failover when endpoints fail.}}
Resolution of DNS queries and reduced need for DNS servers.{{Incorrect, Traffic Manager uses DNS to
direct clients to specific service endpoints based on the rules of the traffic-routing method, it does not
resolve queries itself.}}
Supports one traffic-routing method and integrates with DNS.{{Incorrect, Azure Traffic Manager
supports six traffic-routing methods. The traffic-routing method determines which endpoint is
returned in the DNS response.}}
Multiple choice
Which traffic-routing method should be use when end users need to use the "closest" endpoint for the
lowest network latency?
Performance{{Correct, Use when you have endpoints in different geographic locations, and you want
end users to use the "closest" endpoint for the lowest network latency.}}
Geographic{{Incorrect, Select this routing method to direct users to specific endpoints (Azure, Exter-
nal, or Nested) based on where their DNS queries originate from geographically.}}
Priority{{Incorrect, Select this routing method when you want to have a primary service endpoint for
all traffic. You can provide multiple backup endpoints in case the primary or one of the backup
endpoints is unavailable.}}
13 https://docs.microsoft.com/en-us/azure/traffic-manager/traffic-manager-nested-profiles
230
You will then create a Traffic Manager profile based on endpoint priority. This profile will direct user traffic
to the primary site running the web application. Traffic Manager will continuously monitor the web
application, and if the primary site in East US is unavailable, it will provide automatic failover to the
backup site in West Europe.
The diagram below approximately illustrates the environment you will be deploying in this exercise.
Setting Value
Subscription Select your subscription
Resource group Select Create new Name: Contoso-RG-TM1
Name ContosoWebAppEastUS
Publish Code
Runtime stack ASP.NET V4.8
Operating system Windows
Region East US
Windows Plan Select Create new Name: ContosoAppService-
PlanEastUS
Sku and size Standard S1 100 total ACU, 1.75-GB memory
3. Click Next : Deployment (Preview), then click Next : Monitoring.
4. On the Monitoring tab, select the No option for Enable Application Insights.
231
6. Click Create. When the Web App successfully deploys, it creates a default web site.
7. Repeat steps 1-6 above to create a second web app. Use the same settings as before except for the
information in the table below.
Setting Value
Resource group Select Create new Name: Contoso-RG-TM2
Name ContosoWebAppWestEurope
Region West Europe
Windows Plan Select Create new Name: ContosoAppService-
PlanWestEurope
8. On the Azure home page, click All services, in the left navigation menu, select Web, and then click
App Services.
9. You should see the two new web apps listed.
232
3. Click Create.
4. On the Create Traffic Manager profile page, use the information in the table below to create the
Traffic Manager profile.
Setting Value
Name Contoso-TMProfile
Routing method Priority
Subscription Select your subscription
Resource group Contoso-RG-TM1
Resource group location East US
5. Click Create.
233
3. On the Add endpoint page, enter the information from the table below.
Setting Value
Type Azure endpoint
Name myPrimaryEndpoint
Target resource type App Service
Target resource ContosoWebAppEastUS (East US)
Priority 1
4. Click Add.
5. Repeat steps 2-4 above to create the failover endpoint. Use the same settings as before except for the
information in the table below.
Setting Value
Name myFailoverEndpoint
Target resource ContosoWebAppWestEurope (West Europe)
Priority 2
6. Setting a priority of 2 means that traffic will route to this failover endpoint if the configured primary
endpoint becomes unhealthy.
7. The two new endpoints are displayed in the Traffic Manager profile. Notice that after a few minutes
the Monitoring status should change to Online.
234
3. Open a web browser tab, and paste (or enter) the DNS name entry (contoso-tmprofile.trafficmanager.
net) into the address bar, and press Enter.
4. The web app's default web site should be displayed.
235
5. Currently all traffic is being sent to the primary endpoint as you set its Priority to 1.
6. To test the failover endpoint is working properly, you need to disable the primary site.
7. On the Contoso-TMProfile page, on the overview screen, select myPrimaryEndpoint.
8. On the myPrimaryEndpoint page, under Status, click Disabled, and then click Save.
9. Close the myPrimaryEndpoint page (click the X in the top right corner of the page).
10. On the Contoso-TMProfile page, the Monitor status for myPrimaryEndpoint should now be
Disabled.
236
11. Open a new web browser session, and paste (or enter) the DNS name entry (contoso-tmprofile.
trafficmanager.net) into the address bar, and press Enter.
12. Verify that the web app is still responding. As the primary endpoint was not available, the traffic was
instead routed to the failover endpoint to allow the web site to still function.
[!NOTE] The command executes asynchronously (as determined by the -AsJob parameter), so while you
will be able to run another PowerShell command immediately afterwards within the same PowerShell
session, it will take a few minutes before the resource groups are actually removed.
7-Summary
In this module, you had a high-level overview of the different load-balancing options available to you in
Azure. You learned in detail about two of those Azure load-balancing technologies, namely Azure Load
Balancer and Azure Traffic Manager.
You now have the knowledge required to help you to load balance network traffic in your Azure net-
works.
Now that you have reviewed this module, you should be able to:
●● Understand options for load balancing
●● Design and implement an Azure Load Balancer
●● Implement a Traffic Manager profile
237
Answers
Multiple choice
An engineer has a secure web application that experiences high traffic, and they want to use a load
balancer to distribute the workload. Which load balancers will support this type of traffic?
■■ Azure Application Gateway and Azure Front Door.{{Correct, Secure web applications use HTTPS traffic.
Azure Application Gateway and Azure Front Door support HTTPS traffic.}}
Azure Load Balancer and Traffic Manager.{{Incorrect, Secure web applications use HTTPS traffic. Azure
Load Balancer and Traffic Manager support non-HTTPS traffic.}}
Azure Application Gateway only.{{Incorrect, Secure web applications use HTTPS traffic. Azure Applica-
tion Gateway does support HTTPS traffic, but it's not the only load balancer that does.}}
Explanation
Multiple choice
Which type of load balancing services distribute traffic within virtual networks across virtual machines?
■■ Regional.{{Correct, Regional load-balancing services distribute traffic within virtual networks across
virtual machines (VMs) or zonal and zone-redundant service endpoints within a region.}}
Global.{{Incorrect, Global load-balancing services distribute traffic across regional backends, clouds,
or hybrid on-premises services.}}
Regional and Global.{{Incorrect, Regional load-balancing services distribute traffic within virtual
networks across virtual machines (VMs) or zonal and zone-redundant service endpoints within a
region, whereas Global load-balancing services distribute traffic across regional backends, clouds, or
hybrid on-premises services.}}
Explanation
Multiple choice
Which of the following statement about external load balancers is correct?
■■ They have a public IP address.{{Correct, External load balancers have public IP addresses.}}
They don't have a listener IP address.{{Incorrect, External load balancers have public IP addresses.}}
They have a private, front-facing IP address.{{Incorrect, External load balancers have public IP address-
es.}}
Explanation
Multiple choice
When deploying a new Azure Load Balancer that must support outbound traffic rules. Which SKU should
be selected?
■■ Standard{{Correct, Standard SKU supports outbound rules through declarative outbound NAT config-
uration.}}
Basic{{Incorrect, Basic SKU does not support outbound rules.}}
Either Standard or Basic{{Incorrect, Basic SKU does not support outbound rules.}}
Explanation
238
Multiple choice
What are two benefits of Traffic Manager?
■■ Distribution of traffic and continuous monitoring of endpoint health.{{Correct, Distribution of traffic
according to one of several traffic-routing methods and continuous monitoring of endpoint health
and automatic failover when endpoints fail.}}
Resolution of DNS queries and reduced need for DNS servers.{{Incorrect, Traffic Manager uses DNS to
direct clients to specific service endpoints based on the rules of the traffic-routing method, it does not
resolve queries itself.}}
Supports one traffic-routing method and integrates with DNS.{{Incorrect, Azure Traffic Manager
supports six traffic-routing methods. The traffic-routing method determines which endpoint is
returned in the DNS response.}}
Explanation
Multiple choice
Which traffic-routing method should be use when end users need to use the "closest" endpoint for the
lowest network latency?
■■ Performance{{Correct, Use when you have endpoints in different geographic locations, and you want
end users to use the "closest" endpoint for the lowest network latency.}}
Geographic{{Incorrect, Select this routing method to direct users to specific endpoints (Azure, Exter-
nal, or Nested) based on where their DNS queries originate from geographically.}}
Priority{{Incorrect, Select this routing method when you want to have a primary service endpoint for
all traffic. You can provide multiple backup endpoints in case the primary or one of the backup
endpoints is unavailable.}}
Explanation
Module 5 Load balance HTTP(S) traffic in Az-
ure
Learning objectives
In this module, you will:
●● Design and implement Azure Application Gateway
●● Implement Azure Front Door
Prerequisites
●● You should have experience with networking concepts, such as IP addressing, Domain Name System
(DNS), and routing
●● You should have experience with network connectivity methods, such as VPN or WAN
●● You should have experience with the Azure portal and Azure PowerShell
240
Application Gateway can make routing decisions based on additional attributes of an HTTP request, for
example URI path or host headers. For example, you can route traffic based on the incoming URL. So, if /
images is in the incoming URL, you can route traffic to a specific set of servers (known as a pool) config-
ured for images. If /video is in the URL, that traffic is routed to another pool that's optimized for videos.
This type of routing is known as application layer (OSI layer 7) load balancing. Azure Application Gateway
can do URL-based routing and more.
Path-based routing
Path-based routing sends requests with different URL paths different pools of back-end servers. For
example, you could direct requests with the path /video/* to a back-end pool containing servers that are
optimized to handle video streaming, and direct /images/* requests to a pool of servers that handle
image retrieval.
1 http://contoso.com/
2 http://fabrikam.com/
242
Multi-site configurations are useful for supporting multi-tenant applications, where each tenant has its
own set of virtual machines or other resources hosting a web application.
Azure Kubernetes Service Ingress Controller: The Application Gateway v2 Ingress Controller allows the
Azure Application Gateway to be used as the ingress for an Azure Kubernetes Service (AKS) known as AKS
Cluster.
Performance enhancements: The v2 SKU offers up to 5X better TLS offload performance as compared
to the Standard/WAF SKU.
Faster deployment and update time: The v2 SKU provides faster deployment and update time as
compared to Standard/WAF SKU. This also includes WAF configuration changes.
Pricing
With the v2 SKU, the pricing model is driven by consumption and is no longer attached to instance
counts or sizes. The v2 SKU pricing has two components:
Fixed price: This is hourly (or partial hour) price to provision a Standard_v2 or WAF_v2 Gateway. Please
note that 0 additional minimum instances still ensure high availability of the service which is always
included with fixed price.
Capacity Unit price: This is a consumption-based cost that is charged in addition to the fixed cost.
Capacity unit charge is also computed hourly or partial hourly. There are three dimensions to capacity
unit - compute unit, persistent connections, and throughput. Compute unit is a measure of processor
capacity consumed. Factors affecting compute unit are TLS connections/sec, URL Rewrite computations,
and WAF rule processing. Persistent connection is a measure of established TCP connections to the
application gateway in each billing interval. Throughput is average Megabits/sec processed by the system
in each billing interval. The billing is done at a Capacity Unit level for anything above the reserved
instance count.
244
Each capacity unit is composed of at most: 1 compute unit, 2500 persistent connections, and 2.22-Mbps
throughput.
Application Gateway has a series of components that combine to route requests to a pool of web servers
and to check the health of these web servers.
Frontend configuration
For the Application Gateway v2 SKU, there must be a public frontend IP configuration. You can still have
both a Public and a Private frontend IP configuration, but Private only frontend IP configuration (Only ILB
mode) is currently not enabled for the v2 SKU.
You can configure the Frontend IP to be Public or Private as per your use case.
Backend configuration
The backend pool is used to route requests to the backend servers that serve the request. Backend pools
can be composed of NICs, virtual machine scale sets, public IP addresses, internal IP addresses, fully
qualified domain names (FQDN), and multi-tenant back-ends like Azure App Service. You can create an
empty backend pool with your application gateway and then add backend targets to the backend pool.
same port that is defined in the back-end HTTP settings. A custom probe port can be configured using a
custom health probe.
The source IP address Application Gateway uses for health probes depends on the backend pool:
●● If the server address in the backend pool is a public endpoint, then the source address is the applica-
tion gateway's frontend public IP address.
●● If the server address in the backend pool is a private endpoint, then the source IP address is from the
Probe matching
By default, an HTTP(S) response with status code between 200 and 399 is considered healthy. Custom
health probes additionally support two matching criteria. Matching criteria can be used to optionally
modify the default interpretation of what makes a healthy response.
The following are matching criteria:
●● HTTP response status code match - Probe matching criterion for accepting user specified http
response code or response code ranges. Individual comma-separated response status codes or a
range of status code is supported.
●● HTTP response body match - Probe matching criterion that looks at HTTP response body and match-
es with a user specified string. The match only looks for presence of user specified string in response
body and isn't a full regular expression match.
Match criteria can be specified using the New-AzApplicationGatewayProbeHealthResponseMatch cmdlet.
Configure listeners
A listener is a logical entity that checks for incoming connection requests by using the port, protocol,
host, and IP address. When you configure a listener, you must enter values that match the corresponding
values in the incoming request on the gateway.
When you create an application gateway by using the Azure portal, you also create a default listener by
choosing the protocol and port for the listener. You can choose whether to enable HTTP2 support on the
listener. After you create the application gateway, you can edit the settings of that default listener
(appGatewayHttpListener) or create new listeners.
248
Listener type
When you create a new listener, you must choose between basic and multi-site.
●● Basic: All requests for any domain will be accepted and forwarded to backend pools.
●● Multi-site: Forward requests to different backend pools based on the host header or host names. You
must specify a host name that matches with the incoming request. This is because Application
Gateway relies on HTTP 1.1 host headers to host more than one website on the same public IP
address and port.
Front-end IP address
Choose the front-end IP address that you plan to associate with this listener. The listener will listen to
incoming requests on this IP.
249
Front-end port
Choose the front-end port. Select an existing port or create a new one. Choose any value from the
allowed range of ports. You can use not only well-known ports, such as 80 and 443, but any allowed
custom port that's suitable. A port can be used for public-facing listeners or private-facing listeners.
Protocol
Choose HTTP or HTTPS:
●● HTTP: traffic between the client and the application gateway is unencrypted.
●● HTTPS: enables TLS termination or end-to-end TLS encryption. The TLS connection terminates at the
application gateway. Traffic between the client and the application gateway is encrypted. If you want
end-to-end TLS encryption, you must choose HTTPS and configure the back-end HTTP setting. This
ensures that traffic is re-encrypted when it travels from the application gateway to the back end.
To configure TLS termination and end-to-end TLS encryption, you must add a certificate to the listener to
enable the application gateway to derive a symmetric key. This is dictated by the TLS protocol specifica-
tion. The symmetric key is used to encrypt and decrypt the traffic that's sent to the gateway. The gateway
certificate must be in Personal Information Exchange (PFX) format. This format lets you export the private
key that the gateway uses to encrypt and decrypt traffic.
Redirection overview
You can use application gateway to redirect traffic. It has a generic redirection mechanism which allows
for redirecting traffic received at one listener to another listener or to an external site. This simplifies
application configuration, optimizes the resource usage, and supports new redirection scenarios includ-
ing global and path-based redirection.
A common redirection scenario for many web applications is to support automatic HTTP to HTTPS
redirection to ensure all communication between application and its users occurs over an encrypted path.
In the past, customers have used techniques such as creating a dedicated backend pool whose sole
purpose is to redirect requests it receives on HTTP to HTTPS. With redirection support in Application
Gateway, you can accomplish this simply by adding a new redirect configuration to a routing rule and
specifying another listener with HTTPS protocol as the target listener.
The following types of redirection are supported:
●● 301 Permanent Redirect
●● 302 Found
●● 303 See Other
●● 307 Temporary Redirect
Application Gateway redirection support offers the following capabilities:
●● Global redirection: Redirects from one listener to another listener on the gateway. This enables HTTP
to HTTPS redirection on a site.
●● Path-based redirection: Enables HTTP to HTTPS redirection only on a specific site area, for example a
shopping cart area denoted by /cart/*.
●● Redirect to external site: Requires a new redirect configuration object, which specifies the target
listener or external site to which redirection is desired. The configuration element also supports
250
options to enable appending the URI path and query string to the redirected URL. The redirect
configuration is attached to the source listener via a new rule.
For more information on configuring redirection in Application Gateway, see URL path-based redirec-
tion using PowerShell - Azure Application Gateway | Microsoft Docs3.
Associated listener
Associate a listener to the rule so that the request-routing rule that's associated with the listener is
evaluated to determine the back-end pool to route the request to.
3 https://docs.microsoft.com/en-us/azure/application-gateway/tutorial-url-redirect-powershell
251
For a path-based rule, add multiple back-end HTTP settings that correspond to each URL path. Requests
that match the URL path in this setting are forwarded to the corresponding back-end targets by using the
HTTP settings that correspond to each URL path. Also, add a default HTTP setting. Requests that don't
match any URL path in this rule are forwarded to the default back-end pool by using the default HTTP
setting.
Redirection setting
If redirection is configured for a basic rule, all requests on the associated listener are redirected to the
target. This is global redirection. If redirection is configured for a path-based rule, only requests in a
specific site area are redirected. An example is a shopping cart area that's denoted by /cart/*. This is
path-based redirection.
Redirection type
Choose the type of redirection required: Permanent(301), Temporary(307), Found(302), or See other(303).
Redirection target
Choose another listener or an external site as the redirection target.
Listener
Choose listener as the redirection target to redirect traffic from one listener to another on the gateway.
Externalsite
Choose external site when you want to redirect the traffic on the listener that's associated with this rule
to an external site. You can choose to include the query string from the original request in the request
that's forwarded to the redirection target. You can't forward the path to the external site that was in the
original request.
"name": "{urlpathMapName}",
"id": "/subscriptions/{subscriptionId}/../microsoft.network/application-
Gateways/{gatewayName}/urlPathMaps/{urlpathMapName}",
"properties": {
"defaultBackendAddressPool": {
"id": "/subscriptions/{subscriptionId}/../microsoft.network/application-
Gateways/{gatewayName}/backendAddressPools/{poolName1}"
},
"defaultBackendHttpSettings": {
"id": "/subscriptions/{subscriptionId}/../microsoft.network/application-
Gateways/{gatewayName}/backendHttpSettingsList/{settingname1}"
},
"pathRules": [{
"name": "{pathRuleName}",
"properties": {
"paths": [
"{pathPattern}"
],
"backendAddressPool": {
"id": "/subscriptions/{subscriptionId}/../microsoft.network/application-
Gateways/{gatewayName}/backendAddressPools/{poolName2}"
},
"backendHttpsettings": {
"id": "/subscriptions/{subscriptionId}/../microsoft.network/application-
Gateways/{gatewayName}/backendHttpsettingsList/{settingName2}"
253
}]
}]
PathPattern
PathPattern is a list of path patterns to match. Each must start with / and the only place a “*” is allowed is
at the end following a "/." The string fed to the path matcher does not include any text after the first ? or
#, and those chars are not allowed here. Otherwise, any characters allowed in a URL are allowed in
PathPattern. The supported patterns depend on whether you deploy Application Gateway v1 or v2.
PathBasedRouting rule
RequestRoutingRule of type PathBasedRouting is used to bind a listener to a urlPathMap. All requests
that are received for this listener are routed based on policy specified in urlPathMap.
ten URL.
Rewrite actions
You use rewrite actions to specify the URL, request headers or response headers that you want to rewrite
and the new value to which you intend to rewrite them to. The value of a URL or a new or existing header
can be set to these types of values:
●● Text
●● Request header. To specify a request header, you need to use the syntax {http_req_headerName}
●● Response header. To specify a response header, you need to use the syntax {http_resp_headerName}
●● Server variable. To specify a server variable, you need to use the syntax {var_serverVariable}. See the
list of supported server variables
A combination of text, a request header, a response header, and a server variable.
Rewrite conditions
You can use rewrite conditions, an optional configuration, to evaluate the content of HTTP(S) requests
and responses and perform a rewrite only when one or more conditions are met. The application gateway
uses these types of variables to evaluate the content of requests and responses:
●● HTTP headers in the request
●● HTTP headers in the response
●● Application Gateway server variables
You can use a condition to evaluate whether a specified variable is present, whether a specified variable
matches a specific value, or whether a specified variable matches a specific pattern.
Rewrite configuration
To configure a rewrite rule, you need to create a rewrite rule set and add the rewrite rule configuration in
it.
A rewrite rule set contains:
●● Request routing rule association: The rewrite configuration is associated to the source listener via
the routing rule. When you use a basic routing rule, the rewrite configuration is associated with a
255
source listener and is a global header rewrite. When you use a path-based routing rule, the rewrite
configuration is defined on the URL path map. In that case, it applies only to the specific path area of
a site. You can create multiple rewrite sets and apply each rewrite set to multiple listeners. But you can
apply only one rewrite set to a specific listener.
●● Rewrite Condition: It is an optional configuration. Rewrite conditions evaluate the content of the
HTTP(S) requests and responses. The rewrite action will occur if the HTTP(S) request or response
matches the rewrite condition. If you associate more than one condition with an action, the action
occurs only when all the conditions are met. In other words, the operation is a logical AND operation.
●● Rewrite type: There are 3 types of rewrites available:
●● Rewriting request headers
●● Rewriting response headers
●● Rewriting URL components
●● URL path: The value to which the path is to be rewritten to.
●● URL Query String: The value to which the query string is to be rewritten to.
●● Re-evaluate path map: Used to determine whether the URL path map is to be re-evaluated or
not. If kept unchecked, the original URL path will be used to match the path-pattern in the URL
path map. If set to true, the URL path map will be re-evaluated to check the match with the
rewritten path. Enabling this switch helps in routing the request to a different backend pool
post rewrite.
For more information on Configuring rewrites in application Gateway, see Rewrite HTTP headers and
URL with Azure Application Gateway | Microsoft Docs4.
Multiple choice
You are configuring Azure Application Gateway for your organization and you want to ensure that users
don't experience performance degradation during peak times. Which setting should you configure?
Autoscaling {{Correct, With autoscaling enabled, the Application Gateway scales up or down based on
application traffic requirements.}}
Manual scaling {{Incorrect, With Manual scaling enabled, the gateway won't autoscale. If there is more
traffic than the Application Gateway can handle, it could result in traffic loss.}}
Health probes {{Incorrect, Health probes monitor the health of all resources in the back-end pool and
automatically removes any resource considered unhealthy from the pool.}}
4 https://docs.microsoft.com/en-us/azure/application-gateway/rewrite-http-headers-url
256
Multiple choice
What is a listener?
A listener is an entity that checks for incoming connection requests. {{Correct, A listener is a logical
entity that checks for incoming connection requests by using the port, protocol, host, and IP address.}}
A listener is an entity that routes traffic based on basic or path-based rules. {{Incorrect, A routing rule
is an entity that routes traffic based on basic or path-based rules.}}
A listener is a collection of servers that respond to requests. {{Incorrect, A backend pool}}
5 https://portal.azure.com/
257
2. On any Azure portal page, in Search resources, services and docs (G+/), enter application gateway,
Setting Value
Subscription Select your subscription.
Resource group Select Create new ContosoResourceGroup
Application Gateway ContosoAppGateway
Region Select West US
Virtual Network Select Create new
5. In Create virtual network, enter, or select the following information:
Setting Value
Name ContosoVNet
ADDRESS SPACE
Address range 10.0.0.0/16
SUBNETS
Subnet name Change default to AGSubnet
Address range 10.0.0.0/24
Subnet name BackendSubnet
Address range 10.0.1.0/24
6. Select OK to return to the Create application gateway Basics tab.
7. Accept the default values for the other settings and then select Next: Frontends.
8. On the Frontends tab, verify Frontend IP address type is set to Public.
9. Select Add new for the Public IP address and enter AGPublicIPAddress for the public IP address
name, and then select OK.
10. Select Next: Backends.
258
Setting Value
Name BackendPool
Add backend pool without targets Yes
13. In the Add a backend pool window, select Add to save the backend pool configuration and return to
the Backends tab.
14. On the Backends tab, select Next: Configuration.
15. On the Configuration tab, you'll connect the frontend and backend pool you created using a routing
rule.
16. In the Routing rules column, select Add a routing rule.
17. In the Rule name box, enter RoutingRule.
18. On the Listener tab, enter or select the following information:
Setting Value
Listener name Listener
Frontend IP Select Public
19. Accept the default values for the other settings on the Listener tab.
20. Select the Backend targets tab to configure the rest of the routing rule.
21. On the Backend targets tab, enter or select the following information:
Setting Value
Target type Backend pool
259
Setting Value
HTTP settings name HTTPSetting
Backend port 80
23. Accept the default values for the other settings in the Add an HTTP setting window, then select Add
to return to Add a routing rule.
24. Select Add to save the routing rule and return to the Configuration tab.
25. Select Next: Tags and then Next: Review + create.
26. Review the settings on the Review + create tab
27. Select Create to create the virtual network, the public IP address, and the application gateway.
It may take several minutes for Azure to create the application gateway. Wait until the deployment
finishes successfully before moving on to the next section.
Setting Value
Basics tab
Subscription Select your subscription.
Resource group Select ContosoResourceGroup
Virtual machine name BackendVM1
Image Select Windows Server 2016 Datacenter - Gen1
Username TestUser
Password TestPa$$w0rd
Public inbound ports None
Networking
Virtual network ContosoVnet
260
-ResourceGroupName ContosoResourceGroup `
-ExtensionName IIS `
-VMName BackendVM1 `
261
-Publisher Microsoft.Compute `
-ExtensionType CustomScriptExtension `
-TypeHandlerVersion 1.4 `
-Location WestUS
4. Create a second virtual machine and install IIS by using the Create virtual machines and Install IIS for
testing steps that you previously completed. Use BackendVM2 for the virtual machine name and for
the VMName setting of the Set-AzVMExtension cmdlet.
8. Select Save.
Wait for the deployment to complete before proceeding to the next step.
2. Copy the public IP address, and then paste it into the address bar of your browser to browse that IP
address.
3. Check the response. A valid response verifies that the application gateway was successfully created
and can successfully connect with the backend.
4. Refresh the browser multiple times and you should see connections to both BackendVM1 and
BackendVM2.
Congratulations! You have configured and tested an Azure Application Gateway.
Azure Front Door is a global, scalable entry-point that uses the Microsoft global edge network to create
fast, secure, and widely scalable web applications. With Front Door, you can transform your global
consumer and enterprise applications into robust, high-performing personalized modern applications
with contents that reach a global audience through Azure.
264
Front Door works at Layer 7 (HTTP/HTTPS layer) using anycast protocol with split TCP and Microsoft's
global network to improve global connectivity. Based on your routing method you can ensure that Front
Door will route your client requests to the fastest and most available application backend. An application
backend is any Internet-facing service hosted inside or outside of Azure. Front Door provides a range of
traffic-routing methods6 and backend health monitoring options7 to suit different application needs
and automatic failover scenarios. Like Traffic Manager8, Front Door is resilient to failures, including
failures to an entire Azure region.
6 https://docs.microsoft.com/en-us/azure/frontdoor/front-door-routing-methods
7 https://docs.microsoft.com/en-us/azure/frontdoor/front-door-health-probes
8 https://docs.microsoft.com/en-us/azure/traffic-manager/traffic-manager-overview
265
Redirection types
A redirect type sets the response status code for the clients to understand the purpose of the redirect.
The following types of redirection are supported:
Redirection protocol
You can set the protocol that will be used for redirection. The most common use case of the redirect
feature is to set HTTP to HTTPS redirection.
●● HTTPS only: Set the protocol to HTTPS only, if you're looking to redirect the traffic from HTTP to
HTTPS. Azure Front Door recommends that you should always set the redirection to HTTPS only.
●● HTTP only: Redirects the incoming request to HTTP. Use this value only if you want to keep your
traffic HTTP that is, non-encrypted.
●● Match request: This option keeps the protocol used by the incoming request. So, an HTTP request
remains HTTP and an HTTPS request remains HTTPS post redirection.
Destination host
As part of configuring a redirect routing, you can also change the hostname or domain for the redirect
request. You can set this field to change the hostname in the URL for the redirection or otherwise pre-
serve the hostname from the incoming request. So, using this field you can redirect all requests sent on
https://www.contoso.com/* to https://www.fabrikam.com/*.
Destination path
For cases where you want to replace the path segment of a URL as part of redirection, you can set this
field with the new path value. Otherwise, you can choose to preserve the path value as part of redirect.
So, using this field, you can redirect all requests sent to https://www.contoso.com/* to https://www.
contoso.com/redirected-site.
Destination fragment
The destination fragment is the portion of URL after '#', which is used by the browser to land on a specific
section of a web page. You can set this field to add a fragment to the redirect URL.
268
HEAD: The HEAD method is identical to GET except that the server MUST NOT return a message-body in
the response. Because it has lower load and cost on your backends, for new Front Door profiles, by
default, the probe method is set as HEAD.
Response Description
Determining Health A 200 OK status code indicates the backend is
healthy. Everything else is considered a failure. If
for any reason (including network failure) a valid
HTTP response isn't received for a probe, the
probe is counted as a failure.
Measuring Latency Latency is the wall-clock time measured from the
moment immediately before the probe request is
sent to the moment the last byte of the response
is received. A new TCP connection is used for each
request, so this measurement isn't biased towards
backends with existing warm connections.
Azure Front Door uses the same three-step process below across all algorithms to determine health.
1. Exclude disabled backends.
2. Exclude backends that have health probe errors:
●● This selection is done by looking at the last n health probe responses. If at least x are healthy, the
backend is considered healthy.
●● n is configured by changing the SampleSize property in load-balancing settings.
●● x is configured by changing the SuccessfulSamplesRequired property in load-balancing settings.
3. For the sets of healthy backends in the backend pool, Front Door additionally measures and maintains
the latency (round-trip time) for each backend.
If you have a single backend in your backend pool, you can choose to disable the health probes reducing
the load on your application backend. Even if you have multiple backends in the backend pool but only
one of them is in enabled state, you can disable health probes.
●● Complete certificate management: All certificate procurement and management is handled for you.
Certificates are automatically provisioned and renewed before expiration, which removes the risks of
service interruption because of a certificate expiring.
You can enable the HTTPS protocol for a custom domain that's associated with your Front Door under
the frontend hosts section.
For more information on how to configure HTTPS on Front door, see Tutorial - Configure HTTPS on a
custom domain for Azure Front Door | Microsoft Docs9.
Multiple choice
What is the difference between Azure Front Door and Azure Application Gateway?
Front Door is a global service, Application Gateway is a regional service. {{Correct, Front Door and
Application Gateway are layer 7 (HTTP/HTTPS) load balancers, Front Door is a global service whereas
Application Gateway is a regional service.}}
Front Door is a regional service, Application Gateway is a global service. {{Incorrect, Front Door and
Application Gateway are layer 7 (HTTP/HTTPS) load balancers, Front Door is a global service whereas
Application Gateway is a regional service.}}
Front Door uses health probes to monitor the health of backends, Application Gateway does not.
{{Incorrect, Both Front Door and Application gateway use health probes to monitor the health of
backends.}}
Multiple choice
Front Door route rules determine whether the incoming request matches the routing rule and route traffic
accordingly. What properties are matched?
HTTP protocols (HTTP/HTTPS), Hosts, and Paths. {{Correct, When evaluating routing rules, Front Door
looks for matches in HTTP protocols (HTTP/HTTPS), Hosts, and Paths.}}
HTTP protocols (HTTP/HTTPS), Hosts, and time stamp. {{Incorrect, When evaluating routing rules,
Front Door does not look for matches in time stamps.}}
Hosts, paths, and user certificates. {{Incorrect, When evaluating routing rules, Front Door does not
look for matches in user certificates.}}
9 https://docs.microsoft.com/en-us/azure/frontdoor/front-door-custom-domain-https
271
10 https://portal.azure.com/
272
Setting Value
Subscription Select your subscription.
Resource group Select the resource group provided by Learn.
Name Enter a unique Name for your web app. This exam-
ple uses WebAppContoso-1.
Publish Select Code.
Runtime stack Select .NET Core 2.1 (LTS).
Operating System Select Windows.
Region Select Central US.
Windows Plan Select Create new and enter myAppServicePlan-
CentralUS in the text box.
SKU and size Select Standard S1 100 total ACU, 1.75 GB
memory.
5. Select Review + create, review the Summary, and then select Create.
It might take several minutes for the deployment to complete.
6. Create a second web app. On the Azure portal home page, select + Create a resource.
7. On the Create a resource page, select WebApp.
8. On the Create Web App page, on the Basics tab, enter or select the following information.
Setting Value
Subscription Select your subscription.
Resource group Select the resource group provided by Learn.
Name Enter a unique Name for your web app. This exam-
ple uses WebAppContoso-2.
Publish Select Code.
Runtime stack Select .NET Core 2.1 (LTS).
Operating System Select Windows.
Region Select East US.
Windows Plan Select Create new and enter myAppServicePlanE-
astUS in the text box.
SKU and size Select Standard S1 100 total ACU, 1.75 GB
memory.
9. Select Review + create, review the Summary, and then select Create.
It might take several minutes for the deployment to complete.
Setting Value
Subscription Select your subscription.
Resource group Select the resource group provided by Learn.
Resource group location Select Central US.
4. Select Next: Configuration.
5. On the Configuration tab, in Frontends/domains, select + to add a frontend host.
274
6. Enter a globally unique host name, like contoso-frontend, and then select Add.
7. Next, create a backend pool that contains your two web apps.
In Create a Front Door, in Backend pools, select + to add a backend pool.
Setting Value
Backend host type Select App service.
275
Setting Value
Backend host type Select App service.
Subscription Select your subscription.
Backend host name Select the second web app you created. In this
example, the web app was WebAppContoso-2.
13. Leave all other fields as default and then select Add.
14. On the Add a backendpool blade, select Add to complete the configuration of the backend pool.
15. Finally, add a routing rule. A routing rule maps your frontend host to the backend pool. This rule
forwards a request for contoso-frontend.azurefd.net to myBackendPool.
16. In Create a Front Door, in Routing rules, select + to configure a routing rule.
3. In a browser, go to your Frontend host URL (contoso-frontend.azurefd.net). Your request will automat-
ically be routed to the nearest server to you from the specified servers in the backend pool.
4. You'll see the following information page:
8. Switch back to your browser and select Refresh. You should see the same information page.
There may be a delay while the web app stops. If you get an error page in your browser, refresh
the page.
1. Switch back to the Azure portal, locate the other web app, and stop it.
2. Switch back to your browser and select Refresh. This time, you should see an error message.
[!NOTE]
The command executes asynchronously (as determined by the -AsJob parameter), so while you will be
able to run another PowerShell command immediately afterwards within the same PowerShell session, it
will take a few minutes before the resource groups are actually removed.
7-Summary
In this module you had an in-depth look at Azure Front Door and Azure Application Gateway. You
learned how to load balance network traffic effectively to ensure high availability of services.
Now that you have reviewed this module, you should be able to:
●● Design and implement Azure Application Gateway
●● Implement Azure Front Door
279
Answers
Multiple choice
You are configuring Azure Application Gateway for your organization and you want to ensure that users
don't experience performance degradation during peak times. Which setting should you configure?
■■ Autoscaling {{Correct, With autoscaling enabled, the Application Gateway scales up or down based on
application traffic requirements.}}
Manual scaling {{Incorrect, With Manual scaling enabled, the gateway won't autoscale. If there is more
traffic than the Application Gateway can handle, it could result in traffic loss.}}
Health probes {{Incorrect, Health probes monitor the health of all resources in the back-end pool and
automatically removes any resource considered unhealthy from the pool.}}
Explanation
Multiple choice
What is a listener?
■■ A listener is an entity that checks for incoming connection requests. {{Correct, A listener is a logical
entity that checks for incoming connection requests by using the port, protocol, host, and IP address.}}
A listener is an entity that routes traffic based on basic or path-based rules. {{Incorrect, A routing rule
is an entity that routes traffic based on basic or path-based rules.}}
A listener is a collection of servers that respond to requests. {{Incorrect, A backend pool}}
Explanation
Multiple choice
What is the difference between Azure Front Door and Azure Application Gateway?
■■ Front Door is a global service, Application Gateway is a regional service. {{Correct, Front Door and
Application Gateway are layer 7 (HTTP/HTTPS) load balancers, Front Door is a global service whereas
Application Gateway is a regional service.}}
Front Door is a regional service, Application Gateway is a global service. {{Incorrect, Front Door and
Application Gateway are layer 7 (HTTP/HTTPS) load balancers, Front Door is a global service whereas
Application Gateway is a regional service.}}
Front Door uses health probes to monitor the health of backends, Application Gateway does not.
{{Incorrect, Both Front Door and Application gateway use health probes to monitor the health of
backends.}}
Explanation
280
Multiple choice
Front Door route rules determine whether the incoming request matches the routing rule and route
traffic accordingly. What properties are matched?
■■ HTTP protocols (HTTP/HTTPS), Hosts, and Paths. {{Correct, When evaluating routing rules, Front Door
looks for matches in HTTP protocols (HTTP/HTTPS), Hosts, and Paths.}}
HTTP protocols (HTTP/HTTPS), Hosts, and time stamp. {{Incorrect, When evaluating routing rules,
Front Door does not look for matches in time stamps.}}
Hosts, paths, and user certificates. {{Incorrect, When evaluating routing rules, Front Door does not
look for matches in user certificates.}}
Explanation
Module 6 Design and implement network se-
curity
Learning objectives
In this module, you will:
●● Understand how to implement compliance
●● Configure and monitor an Azure DDoS protection plan
●● Implement and manage firewalls
●● Implement network security groups (NSGs)
●● Implement a web application firewall (WAF) on Azure Front Door
●● Configure a monitoring environment for networking
282
Prerequisites
●● You should have experience with networking concepts, such as IP addressing, Domain Name System
(DNS) and routing
●● You should have experience with network connectivity methods, such as VPN or WAN
●● You should be able to navigate the Azure portal
●● You should have experience with the Azure portal and Azure PowerShell
Network security covers a multitude of technologies, devices, and processes. It provides a set of rules and
configurations designed to protect the integrity, confidentiality and accessibility of computer networks
and data. Every organization, regardless of size, industry, or infrastructure, requires a degree of network
security solutions in place to protect it from the ever-growing risks of attacks.
For Microsoft Azure, securing or providing the ability to secure resources like microservices, VMs, data,
and others is paramount. Microsoft Azure ensures it through a distributed virtual firewall.
A virtual network in Microsoft Azure is isolated from other networks, while communicating through
private IP addresses.
Terminology
The terms “control”, "benchmark", and “baseline” are used often in the Azure Security Benchmark docu-
mentation, and it is important to understand how Azure uses those terms.
The dashboard shows an overview of your compliance status with the set of supported compliance
regulations. You will see your overall compliance score, and the number of passing vs. failing assessments
associated with each standard.
285
Compliance controls
The report provides a high-level summary of your compliance status for the selected standard based on
Security Center assessments data. The report is organized according to the controls of that standard. The
report can be shared with relevant stakeholders and might provide evidence to internal and external
auditors.
The security alerts page shows the active alerts. You can sort the list by Severity, Alert title, Affected
resource, Activity start time. MITRE ATTACK tactics, and status.
287
To filter the alerts list, select any of the relevant filters. You can add further filters with the Add filter
option.
288
The list updates according to the filtering options you have selected. Filtering can be very helpful. For
example, you might want to address security alerts that occurred in the last 24 hours because you are
investigating a potential breach in the system.
View full details displays further information, as shown in the following image:
289
The left pane of the security alert page shows high-level information regarding the security alert: title,
severity, status, activity time, description of the suspicious activity, and the affected resource. Alongside
the affected resource are the Azure tags relevant to the resource. Use these to infer the organizational
context of the resource when investigating the alert.
The right pane includes the Alert details tab containing further details of the alert to help you investigate
the issue: IP addresses, files, processes, and more.
Also in the right pane is the Take action tab. Use this tab to take further actions regarding the security
alert. Actions such as:
●● Mitigate the threat: Provides manual remediation steps for this security alert
●● Prevent future attacks: Provides security recommendations to help reduce the attack surface,
increase security posture, and thus prevent future attacks
●● Trigger automated response: Provides the option to trigger a logic app as a response to this security
alert
●● Suppress similar alerts: Provides the option to suppress future alerts with similar characteristics if the
alert isn’t relevant for your organization
Network Security
Network Security covers controls to secure and protect Azure networks, including securing virtual
networks, establishing private connections, preventing and mitigating external attacks, and securing DNS.
Full description of the controls can be found at Security Control V2: Network Security on Microsoft
Docs1.
1 https://docs.microsoft.com/security/benchmark/azure/security-controls-v2-network-security
290
2 https://docs.microsoft.com/azure/security-center/security-center-adaptive-network-hardening
3 https://docs.microsoft.com/azure/security-center/security-center-adaptive-network-hardening
4 https://docs.microsoft.com/azure/security-center/security-center-adaptive-network-hardening
291
Multiple choice
What Azure service can we use to create a private connection between Azure PaaS and hosted services?
(x ) Azure Private Link {{Correct. Azure Private Link enables you to access Azure PaaS Services (for example,
Azure Storage and SQL Database) and Azure hosted customer-owned/partner services over a private
endpoint in your virtual network.}}
Azure Service Endpoint {{Incorrect. Azure Service Endpoint provides secure and direct connectivity to
Azure PaaS services over an optimized route over the Azure backbone network.}}
Azure NaaS (network as a service) {{Incorrect. There is no such service as Azure NaaS.}}
Multiple choice
Which tool in Azure automatically collects, analyzes, and integrates log data from your Azure resources?
(x ) Azure Security Center {{Correct. Security Center automatically collects, analyzes, and integrates log data
from your Azure resources, the network, and other connected partner solutions, such as firewall and
endpoint protection solutions.}}
Azure Security Benchmark {{Incorrect. The Azure Security Benchmark provides prescriptive best
practices and recommendations to help improve the security of workloads, data, and services on
293
Azure. It includes a collection of high-impact security recommendations you can use to help secure
the services you use in Azure.}}
Azure Sentinel {{Incorrect. Azure Sentinel is a scalable, cloud-native, security information event
management and security orchestration automated response solution. It delivers intelligent security
analytics and threat intelligence across the enterprise, providing a single solution for alert detection,
threat visibility, proactive hunting, and threat response. It needs to be onboarded and configured to
collect data from your resources in Azure.}}
DDoS implementation
Azure DDoS protection, combined with application design best practices, provide defense against DDoS
attacks. Azure DDoS protection provides the following service tiers:
●● Basic: Automatically enabled as part of the Azure platform. Always-on traffic monitoring, and re-
al-time mitigation of common network-level attacks, provide the same defenses utilized by Micro-
soft's online services. The entire scale of Azure's global network can be used to distribute and mitigate
attack traffic across regions. Protection is provided for IPv4 and IPv6 Azure public IP addresses.
●● Standard: Provides additional mitigation capabilities over the Basic service tier that are tuned specifi-
cally to Azure Virtual Network resources. DDoS Protection Standard is simple to enable, and requires
no application changes. Protection policies are tuned through dedicated traffic monitoring and
machine learning algorithms. Policies are applied to public IP addresses associated to resources
deployed in virtual networks, such as Azure Load Balancer, Azure Application Gateway, and Azure
Service Fabric instances, but this protection does not apply to App Service Environments. Real-time
telemetry is available through Azure Monitor views during an attack, and for history. Rich attack
mitigation analytics are available via diagnostic settings. Application layer protection can be added
through the Azure Application Gateway Web Application Firewall or by installing a 3rd party firewall
from Azure Marketplace. Protection is provided for IPv4 and IPv6 Azure public IP addresses.
DDoS Protection Standard protects resources in a virtual network including public IP addresses associat-
ed with virtual machines, load balancers, and application gateways. When coupled with the Application
Gateway web application firewall, or a third-party web application firewall deployed in a virtual network
with a public IP, DDoS Protection Standard can provide full layer 3 to layer 7 mitigation capability.
294
Every property in Azure is protected by Azure's infrastructure DDoS (Basic) Protection at no additional
cost. While DDoS Protection Standard is a paid service, design for services that are deployed in a virtual
network.
During mitigation, traffic sent to the protected resource is redirected by the DDoS protection service and
several checks are performed, such as:
●● Ensure packets conform to internet specifications and are not malformed.
●● Interact with the client to determine if the traffic is potentially a spoofed packet (e.g: SYN Auth or SYN
Cookie or by dropping a packet for the source to retransmit it).
●● Rate-limit packets if no other enforcement method can be performed.
DDoS protection drops attack traffic and forwards the remaining traffic to its intended destination. Within
a few minutes of attack detection, you are notified using Azure Monitor metrics. By configuring logging
on DDoS Protection Standard telemetry, you can write the logs to available options for future analysis.
Metric data in Azure Monitor for DDoS Protection Standard is retained for 30 days.
The policy thresholds are autoconfigured via machine learning-based network traffic profiling. DDoS
mitigation occurs for an IP address under attack only when the policy threshold is exceeded.
If the public IP address is under attack, the value for the Under DDoS attack or not metric changes to 1
as DDoS Protection performs mitigation on the attack traffic.
It is recommended to configure an alert on this metric as you will then get notified if there is an active
DDoS mitigation performed on your public IP address.
297
Multi-layered protection
Specific to resource attacks at the application layer, you should configure a web application firewall (WAF)
to help secure web applications. A WAF inspects inbound web traffic to block SQL injections, cross-site
scripting, DDoS, and other Layer 7 attacks. Azure provides WAF as a feature of Application Gateway for
centralized protection of your web applications from common exploits and vulnerabilities. There are
other WAF offerings available from Azure partners that might be more suitable for your needs via the
Azure Marketplace.
Even web application firewalls are susceptible to volumetric and state exhaustion attacks. Therefore, it is
firmly recommended to enable DDoS Protection Standard on the WAF virtual network to help protect
from volumetric and protocol attacks.
298
Multiple choice
Which one of these is a symptom of a DDoS attack?
(x ) An unexplained surge in requests. {{Correct. You are not expecting that many concurrent requests that
they start to overwhelm your resources.}}
Application running slowly. {{Incorrect. This could just be other performance-related issues in your
application/connectivity.}}
HTTP 400 Bad Request {{Incorrect. HTTP 400 Bad Request response status code indicates that the
server cannot or will not process the request due to something that is perceived to be a client error}}
Multiple choice
Which action shall we take when under DDoS attack?
(x ) Monitor Alerts and review attack profile. {{Correct. You should look at any alerts sent out and review the
attack profile (what type of attack, where is it originating, is it targeting a particular resource).}}
Scale out your Azure resources to keep systems running. {{Incorrect. Adding more resources will only
help temporarily make your services available. The attacker could just ramp up the attack to over-
whelm new resources.}}
Email your IT team. {{Incorrect. Letting your IT team know is a good idea, but you need to monitor and
protect your resources first.}}
7. Click Create.
300
2. Click Create.
3. On the Basics tab, in the Resource group list, select the resource group you just created.
4. In the Instance name box, type MyDdoSProtectionPlan, then click Review + create.
301
5. Click Create.
8. Click Create.
9. On the Azure home page, click All resources.
10. In the list of your resources, click MyDdosProtectionPlan.
11. Under Monitoring, select Metrics.
12. Select the Scope box, then select the checkbox next to MyPublicIPAddress.
8. Normally you would now click Save to save your diagnostic settings. Note that this option is still
grayed out as we cannot complete the setting configuration yet.
9. Click Discard, then click Yes.
Create the VM
1. On the Azure portal home page, select Create a resource, then in the search box, type virtual
machine, then click Virtual machine when it appears.
2. On the Virtual machine page, click Create.
3. On the Basics tab, create a new VM using the information in the table below.
Setting Value
Subscription Select your subscription
Resource group MyResourceGroup
Virtual machine name MyVirtualMachine
Region Your region
Availability options No infrastructure redundancy required
Image Ubuntu Server 18.04 LTS - Gen 1
Size Select See all sizes, then choose B1ls in the list
and choose Select(Standard_B1ls - 1 vcpu, 0.5
GiB memory)
Authentication type SSH public key
307
Username azureuser
SSH public key source Generate new key pair
Key pair name myvirtualmachine-ssh-key
4. Click Review + create.
5. Click Create.
6. In the Generate new key pair dialog box, click Download private key and create resource.
7. Save the private key.
8. When deployment is complete, click Go to resource.
308
13. Back on the Create alert rule page, scroll down to the Alert rule details section and in Alert rule
name, enter MyDdosAlert.
312
5 https://breakingpoint.cloud/
313
A Network Security Group (NSG) in Azure allows you to filter network traffic to and from Azure resources
in an Azure virtual network. A network security group contains security rules that allow or deny inbound
network traffic to, or outbound network traffic from, several types of Azure resources. For each rule, you
can specify source and destination, port, and protocol.
matches a rule, processing stops. As a result, any rules that exist with lower priorities (higher numbers)
that have the same attributes as rules with higher priorities are not processed.
●● Source or destination - Can be set to Any, or an individual IP address, or classless inter-domain
routing (CIDR) block (10.0.0.0/24, for example), service tag, or application security group.
●● Protocol - Can be TCP, UDP, ICMP, ESP, AH, or Any.
●● Direction - Can be configured to apply to inbound, or outbound traffic.
●● Port range - Can be specified either as an individual port or range of ports. For example, you could
specify 80 or 10000-10005. Specifying ranges enables you to create fewer security rules.
●● Action - Can be set to Allow or deny.
Network security group security rules are evaluated by priority using the 5-tuple information (source,
source port, destination, destination port, and protocol) to allow or deny the traffic.
For inbound traffic Azure processes the rules in a network security group associated to a subnet first, if
there is one, and then the rules in a network security group associated to the network interface, if there is
one.
●● VM1: The security rules in NSG1 are processed since it is associated to Subnet1 and VM1 is in Sub-
net1. Unless you have created a rule that allows port 80 inbound, the traffic is denied by the Deny-
AllInbound default security rule, and never evaluated by NSG2, since NSG2 is associated to the
network interface. If NSG1 has a security rule that allows port 80, the traffic is then processed by
NSG2. To allow port 80 to the virtual machine, both NSG1 and NSG2 must have a rule that allows port
80 from the internet.
●● VM2: The rules in NSG1 are processed because VM2 is also in Subnet1. Since VM2 does not have a
network security group associated to its network interface, it receives all traffic allowed through NSG1
or is denied all traffic denied by NSG1. Traffic is either allowed or denied to all resources in the same
subnet when a network security group is associated to a subnet.
●● VM3: Since there is no network security group associated to Subnet2, traffic is allowed into the
subnet and processed by NSG2, because NSG2 is associated to the network interface attached to
VM3.
●● VM4: Traffic is allowed to VM4, because a network security group is not associated to Subnet3, or the
network interface in the virtual machine. All network traffic is allowed through a subnet and network
interface if they do not have a network security group associated to them.
317
For outbound traffic, Azure processes the rules in a network security group associated to a network
interface first, if there is one, and then the rules in a network security group associated to the subnet, if
there is one.
●● VM1: The security rules in NSG2 are processed. Unless you create a security rule that denies port 80
outbound to the internet, the traffic is allowed by the AllowInternetOutbound default security rule in
both NSG1 and NSG2. If NSG2 has a security rule that denies port 80, the traffic is denied, and never
evaluated by NSG1. To deny port 80 from the virtual machine, either, or both of the network security
groups must have a rule that denies port 80 to the internet.
●● VM2: All traffic is sent through the network interface to the subnet, since the network interface
attached to VM2 does not have a network security group associated to it. The rules in NSG1 are
processed.
●● VM3: If NSG2 has a security rule that denies port 80, the traffic is denied. If NSG2 has a security rule
that allows port 80, then port 80 is allowed outbound to the internet, since a network security group is
not associated to Subnet2.
●● VM4: All network traffic is allowed from VM4, because a network security group is not associated to
the network interface attached to the virtual machine, or to Subnet3.
6. Create security rules - this is where you create your inbound security rules. Here you would create a
security rule to allow ports 80 and 443 to the application security group for your web servers (for
example, MyAsgWebServers). Then you would create another security rule to allow RDP traffic on port
3389 to the application security group for your management servers (for example, MyAsgMgmtServ-
ers). These rules will control from where you can access your VM remotely and your IIS Webserver.
7. Create virtual machines - this is where you create the web server (for example, MyVMWeb) and
management server (for example, MyVMMgmt) virtual machines which will be associated with their
respective application security group in the next stage.
8. Associate NICs to an ASG - this is where you associate the network interface card (NIC) attached to
each virtual machine with the relevant application security group that you created in stage 3 above.
9. Test traffic filters - the final stage is where you test that your traffic filtering is working as expected.
●● To test this, you would attempt to connect to the management server virtual machine (for exam-
ple, MyVMMgmt) by using an RDP connection, thereby verifying that you can connect because
port 3389 is allowing inbound connections from the Internet to the management servers applica-
tion security group (for example, MyAsgMgmtServers).
●● While connected to the RDP session on the management server (for example, MyVMMgmt), you
would then test an RDP connection from the management server virtual machine (for example,
MyVMMgmt) to the web server virtual machine (for example, MyVMWeb), which again should
succeed because virtual machines in the same network can communicate with each over any port
by default.
●● However, you will not be able to create an RDP connection to the web server virtual machine (for
example, MyVMWeb) from the internet, because the security rule for the web servers application
security group (for example, MyAsgWebServers) prevents connections to port 3389 inbound from
the Internet. Inbound traffic from the Internet is denied to all resources by default.
●● While connected to the RDP session on the web server (for example, MyVMWeb), you could then
install IIS on the web server, then disconnect from the web server virtual machine RDP session, and
disconnect from the management server virtual machine RDP session. In the Azure portal, you
would then determine the Public IP address of the web server virtual machine (for example,
MyVMWeb), and confirm you can access the web server virtual machine from the Internet by
opening a web browser on your computer and navigating to http:// (for example,
http://23.96.39.113) . You should see the standard IIS welcome screen, because port 80 is allowed
inbound access from the Internet to the web servers application security group (for example,
MyAsgWebServers). The network interface attached to the web server virtual machine (for exam-
ple, MyVMWeb) is associated with the web servers application security group (for example,
MyAsgWebServers) and therefore allows the connection.
To view the detailed steps for all these tasks, see Tutorial: Filter network traffic with a network securi-
ty group using the Azure portal6.
6 https://docs.microsoft.com/azure/virtual-network/tutorial-filter-network-traffic
319
Multiple choice
What should be the principle when designing security configurations?
deny by default, permit by exception.{{Correct. Denying all will stop all possible access, and then you
can allow as needed.}}
deny specific, permit all.{{In Correct. Denying only known and allowing all access can result in unwant-
ed/yet-to-be-discovered access to your resources.}}
permit all, monitor and deny as needed.{{Incorrect. Allowing all access can result in unwanted/
yet-to-be-discovered access to your resources, and you will be at risk during discovery phase.}}
Multiple choice
Which one of these is a default network security rule in an NSG?
AllowInternetOutBound.{{Correct. Network Security Group rules allow all internet (destination)
outbound traffic by default.}}
AllowAllInbound.{{Incorrect. There is no default rule to allow all inbound traffic.}}
AllowVnetOutBound.{{Incorrect. VNet OutBound traffic is allowed (not denied) where the source and
destination are Virtual Network.}}
Azure Firewall is a managed, cloud-based network security service that protects your Azure Virtual
Network resources. It is a fully stateful firewall as a service with built-in high availability and unrestricted
cloud scalability.
320
●● Threat intelligence - Threat intelligence-based filtering can be enabled for your firewall to alert and
deny traffic from/to known malicious IP addresses and domains. The IP addresses and domains are
sourced from the Microsoft Threat Intelligence feed.
●● Outbound SNAT support - All outbound virtual network traffic IP addresses are translated to the
Azure Firewall public IP (Source Network Address Translation (SNAT)). You can identify and allow
traffic originating from your virtual network to remote Internet destinations.
●● Inbound DNAT support - Inbound Internet network traffic to your firewall public IP address is
translated (Destination Network Address Translation) and filtered to the private IP addresses on your
virtual networks.
●● Multiple public IP addresses - You can associate multiple public IP addresses (up to 250) with your
firewall, to enable specific DNAT and SNAT scenarios.
●● Azure Monitor logging - All events are integrated with Azure Monitor, allowing you to archive logs
to a storage account, stream events to your Event Hub, or send them to Azure Monitor logs.
●● Forced tunneling - You can configure Azure Firewall to route all Internet-bound traffic to a designat-
ed next hop instead of going directly to the Internet. For example, you may have an on-premises edge
firewall or other network virtual appliance (NVA) to process network traffic before it is passed to the
Internet.
●● Web categories (preview) - Web categories let administrators allow or deny user access to web site
categories such as gambling websites, social media websites, and others. Web categories are included
in Azure Firewall Standard, but it is more fine-tuned in Azure Firewall Premium Preview. As opposed to
the Web categories capability in the Standard SKU that matches the category based on an FQDN, the
Premium SKU matches the category according to the entire URL for both HTTP and HTTPS traffic.
●● Certifications - Azure Firewall is Payment Card Industry (PCI), Service Organization Controls (SOC),
International Organization for Standardization (ISO), and ICSA Labs compliant.
●● Application
You can define multiple Rule Collection types within a single Rule Collection Group, and you can define
zero or more Rules in a Rule Collection, but the rules within a Rule Collection must be of the same type
(i.e., DNAT, Network, or Application).
With Firewall Policy, rules are processed based on Rule Collection Group Priority and Rule Collection
priority. Priority is any number between 100 (highest priority) and 65,000 (lowest priority). Highest priority
Rule Collection Groups are processed first, and inside a Rule Collection Group, Rule Collections with the
highest priority (i.e., the lowest number) are processed first.
In the case of a Firewall Policy being inherited from a parent policy, Rule Collection Groups in the parent
policy always takes precedence regardless of the priority of the child policy.
Application rules are always processed after network rules, which are themselves always processed after
DNAT rules regardless of Rule Collection Group or Rule Collection priority and policy inheritance.
The key stages of deploying and configuring Azure Firewall are as follows:
●● Create a resource group
●● Create a virtual network and subnets
●● Create a workload VM in a subnet
●● Deploy the firewall and policy to the virtual network
●● Create a default outbound route
●● Configure an application rule
●● Configure a network rule
●● Configure a Destination NAT (DNAT) rule
●● Test the firewall
7 https://azure.microsoft.com/support/legal/sla/azure-firewall/v1_0/
8 https://azure.microsoft.com/pricing/details/bandwidth/
9 https://docs.microsoft.com/azure/firewall/deploy-availability-zone-powershell
10 https://docs.microsoft.com/azure/firewall/deploy-template
324
Multiple choice
Filtering of which direction of traffic does Azure Firewall support?
Inbound and Outbound.{{Correct. Azure Firewall supports inbound and outbound filtering. Inbound
protection is typically used for non-HTTP/S protocols. For example RDP, SSH, and FTP protocols.}}
Outbound only.{{Incorrect. Azure Firewall supports inbound and outbound filtering.}}
Inbound only.{{Incorrect. Azure Firewall supports inbound and outbound filtering.}}
Multiple choice
Which one of the following priority levels is considered to be highest for a security rule?
0{{Incorrect. Priority settings must use a number between 100 and 65000.}}
100{{Correct. Priority settings can be any number between 100 and 65000. With 100 being the highest
priority.}}
110{{Incorrect. 110 will be considered lower priority than 100. The smaller the number, the higher the
priority.}}
10. Click Add subnet, to create another subnet, which will host the workload server that you will create
328
shortly.
11. In the Edit subnet dialog box, change the name to Workload-SN.
12. Change the Subnet address range to 10.0.2.0/24.
13. Click Add.
Setting Value
Subscription Select your subscription
Resource group Test-FW-RG
Virtual machine name Srv-Work
Region Your region
Availability options No infrastructure redundancy required
Image Windows Server 2016 Datacenter - Gen 1
Size Select See all sizes, then choose B1s in the list
and choose Select
Setting Value
Subscription Select your subscription
Resource group Test-FW-RG
Virtual machine name Test-FW01
Region Your region
Firewall tier Standard
Firewall management Use a Firewall Policy to manage this firewall
Firewall policy Select Add new
Name: fw-test-pol
Region: your region
4. Review all the settings to ensure they match the screenshot below.
Setting Value
Subscription Select your subscription
Resource group Test-FW-RG
Region Your region
Name Firewall-route
Propagate gateway routes Yes
4. Click Review + create.
5. Click Create.
334
Setting Value
Name App-Coll01
Rule collection type Application
Priority 200
Rule collection action Allow
Rule collection group DefaultApplicationRuleCollectionGroup
Rules Section
Name Allow-Google
Source type IP Address
Source 10.0.2.0/24
Protocol http,https
Destination type FQDN
Destination www.google.com
336
6. Click Add.
Setting Value
Name Net-Coll01
Rule collection type Network
Priority 200
Rule collection action Allow
Rule collection group DefaultNetworkRuleCollectionGroup
Rules Section
Name Allow-DNS
Source type IP Address
Source 10.0.2.0/24
Protocol UDP
Destination Ports 53
Destination Type IP Address
Destination 209.244.0.3, 209.244.0.4
These are public DNS servers operated by Century
Link
337
4. Click Add.
Setting Value
Name rdp
Rule collection type DNAT
Priority 200
Rule collection group DefaultDnatRuleCollectionGroup
Rules Section
Name rdp-nat
Source type IP Address
Source *
Protocol TCP
Destination Ports 3389
Destination Type IP Address
Destination Enter the firewall public IP address from fw-pip
that you noted earlier.
e.g. - 20.90.136.51
Translated address Enter the private IP address from Srv-Work that
you noted earlier.
e.g. - 10.0.2.4
Translated port 3389
338
4. Click Add.
5. In the Enter your credentials dialog box, log into the Srv-Work server virtual machine, by using the
password, TestPa$$w0rd!.
6. Click OK.
7. Click Yes on the certificate message.
8. Open Internet Explorer and browse to https://www.google.com.
9. In the Security Alert dialog box, click OK.
10. Click Close on the Internet Explorer security alerts that may pop-up.
11. You should see the Google home page.
341
Azure Firewall Manager simplifies the process of centrally defining network and application-level rules for
traffic filtering across multiple Azure Firewall instances. You can span different Azure regions and sub-
scriptions in hub and spoke architectures for traffic governance and protection.
If you manage multiple firewalls, you know that continuously changing firewall rules make it difficult to
keep them in sync. Central IT teams need a way to define base firewall policies and enforce them across
multiple business units. At the same time, DevOps teams want to create their own local derived firewall
policies that are implemented across organizations. Azure Firewall Manager can help solve these prob-
lems.
Firewall Manager can provide security management for two network architecture types:
●● Secured Virtual Hub - This is the name given to any Azure Virtual WAN Hub when security and
routing policies have been associated with it. An Azure Virtual WAN Hub is a Microsoft-managed
resource that lets you easily create hub and spoke architectures.
●● Hub Virtual Network - This is the name given to any standard Azure virtual network when security
policies are associated with it. A standard Azure virtual network is a resource that you create and
manage yourself. At this time, only Azure Firewall Policy is supported. You can peer spoke virtual
networks that contain your workload servers and services. You can also manage firewalls in standalone
virtual networks that are not peered to any spoke.
firewall policies to enforce organization wide firewall policy across teams. Locally authored firewall
policies allow a DevOps self-service model for better agility.
●● Integrated with third-party security-as-a-service for advanced security - In addition to Azure
Firewall, you can integrate third-party security-as-a-service providers to provide additional network
protection for your VNet and branch Internet connections. This feature is available only with secured
virtual hub deployments (see above).
●● Centralized route management - You can easily route traffic to your secured hub for filtering and
logging without the need to manually set up User Defined Routes (UDR) on spoke virtual networks.
This feature is available only with secured virtual hub deployments (see above).
●● Region availability - You can use Azure Firewall Policies across regions. For example, you can create a
policy in the West US region, and still use it in the East US region.
●● Name: Spoke-02
●● Address space: 10.1.0.0/16 - (delete any other listed address spaces)
●● Subnet name: Workload-02-SN
●● Subnet address range: 10.1.1.0/24
15. When the deployment completes, from the Azure portal home page, click All services.
16. In the search box, type firewall manager and select Firewall Manager when it appears.
17. On the Firewall Manager page, click Virtual hubs.
18. Click Hub-01.
19. Click Public IP configuration.
20. Note down the public IP address (e.g., 51.143.226.18), which you will use later.
9. Click Create.
10. Repeat steps 4 to 9 above to create another similar connection but using the connection name of
hub-spoke-02 to connect the Spoke-02 virtual network.
351
Setting Value
Subscription Select your subscription
Resource group fw-manager-rg
Virtual machine name Srv-workload-01
Region Your region
Username MyAdmin
Password TestPa$$w0rd!
Confirm password TestPa$$w0rd!
352
22. To add a DNAT rule so you can connect a remote desktop to the Srv-workload-01 VM, click Add a
rule collection.
23. For Name, enter dnat-rdp.
24. For Rule collection type, select DNAT.
25. For Priority, enter 100.
26. Under Rules, in Name enter Allow-rdp.
27. For the Source type, select IP Address.
28. For Source, enter *****.
354
5. Click Connect.
6. In the Enter your credentials dialog box, log into the Srv-workload-01 server virtual machine, by
using the password, TestPa$$w0rd!.
7. Click OK.
357
[!NOTE] The command executes asynchronously (as determined by the -AsJob parameter), so while you
will be able to run another PowerShell command immediately afterwards within the same PowerShell
session, it will take a few minutes before the resource groups are actually removed.
360
Web Application Firewall (WAF) provides centralized protection of your web applications from common
exploits and vulnerabilities. Web applications are increasingly targeted by malicious attacks that exploit
commonly known vulnerabilities. SQL injection and cross-site scripting are among the most common
attacks.
Preventing such attacks in application code is challenging. It can require rigorous maintenance, patching,
and monitoring at multiple layers of the application topology. A centralized web application firewall helps
make security management much simpler. A WAF also gives application administrators better assurance
of protection against threats and intrusions.
A WAF solution can react to a security threat faster by centrally patching a known vulnerability, instead of
securing each individual web application.
Managed rules
Azure-managed Default Rule Set includes rules against the following threat categories:
●● Cross-site scripting
●● Java attacks
●● Local file inclusion
●● PHP injection attacks
●● Remote command execution
●● Remote file inclusion
●● Session fixation
●● SQL injection protection
●● Protocol attackers
Azure-managed Default Rule Set is enabled by default. The current default version is DefaultRuleSet_1.0.
From WAF Managed rules>Assign, the recently available ruleset Microsoft_DefaultRuleSet_1.1 is
available in the drop-down list.
To disable an individual rule, select the checkbox in front of the rule number, and select Disable at the
top of the page. To change action types for individual rules within the rule set, select the checkbox in
front of the rule number, and then select Change action at the top of the page.
362
Custom rules
Azure WAF with Front Door allows you to control access to your web applications based on the condi-
tions you define. A custom WAF rule consists of a priority number, rule type, match conditions, and an
action. There are two types of custom rules: match rules and rate limit rules. A match rule controls access
based on a set of matching conditions while a rate limit rule controls access based on matching condi-
tions and the rates of incoming requests. You may disable a custom rule to prevent it from being evaluat-
ed, but still keep the configuration.
When creating a WAF policy, you can create a custom rule by selecting Add custom rule under the
Custom rules section. This launches the custom rule configuration page.
The example screenshot below shows the configuration of a custom rule to block a request if the query
string contains blockme.
363
The key stages to create a WAF policy on Azure Front Door using the Azure portal are:
1. Create a Web Application Firewall policy - this is where you create a basic WAF policy with man-
aged Default Rule Set (DRS).
2. Associate the WAF policy with a Front Door profile - this is where you associate the WAF policy
created in stage 1 with a Front Door profile. This association can be done during the creation of the
WAF policy, or it can be done on a previously created WAF policy. During the association you specify
the Front Door profile and the domain/s within the Front Door profile you want the WAF policy to be
applied to. During this stage if the domain is associated to a WAF policy, it is shown as grayed out.
You must first remove the domain from the associated policy, and then re-associate the domain to a
new WAF policy.
3. Configure WAF policy settings and rules - this is an optional stage, where you can configure policy
settings such as the Mode (Prevention or Detection) and configure managed rules and custom rules.
To view the detailed steps for all these tasks, see Tutorial: Create a Web Application Firewall policy on
Azure Front Door using the Azure portal11.
Multiple choice
What are the two modes that a WAF policy can use?
WAF policy can either be in Prevention mode or Detection mode.{{Correct. When you create a Web
Application Firewall (WAF) policy, by default the WAF policy is in Detection mode, but you can change
it to Prevention mode.}}
WAF policy can either be in Default mode or Custom mode.{{Incorrect. When you create a Web
Application Firewall (WAF) policy, there are no modes called Default or Custom.}}
WAF policy can either be in Default Rule Set mode or Detection mode.{{Incorrect. When you create a
Web Application Firewall (WAF) policy, by default the WAF policy is in Detection mode, however there
is no mode called Default Rule Set.}}
Multiple choice
What are the two types of custom rule in a WAF policy?
Match rules and rate limit rules..{{Correct. There are two types of custom rules: match rules and rate
limit rules.}}
String rules and match rules.{{Incorrect. There are two types of custom rules: match rules and rate limit
rules, however there is no such custom rule type as String rule}}
Priority rules and rate limit rules.{{Incorrect. There are two types of custom rules: match rules and rate
limit rules, however there is no such custom rule type as Priority rule.}}
11 https://docs.microsoft.com/azure/web-application-firewall/afds/waf-front-door-create-portal
365
this module, you saw a range of network security solutions that you could implement to meet your
organizations network security requirements.
You now have the fundamental knowledge required to design and implement network security in Azure.
Summary
Now that you have reviewed this module, you should be able to:
●● Understand how to implement compliance with network security rules
●● Configure and monitor an Azure DDoS protection plan
●● Implement and manage firewalls
●● Implement network security groups (NSGs)
●● Implement a web application firewall (WAF) on Azure Front Door
Resources
Use these resources to discover more.
Azure best practices for network security12
Azure DDoS Protection13
12 https://docs.microsoft.com/azure/security/fundamentals/network-best-practices
13 https://docs.microsoft.com/azure/ddos-protection/fundamental-best-practices
366
Answers
Multiple choice
What Azure service can we use to create a private connection between Azure PaaS and hosted services?
(x ) Azure Private Link {{Correct. Azure Private Link enables you to access Azure PaaS Services (for exam-
ple, Azure Storage and SQL Database) and Azure hosted customer-owned/partner services over a private
endpoint in your virtual network.}}
Azure Service Endpoint {{Incorrect. Azure Service Endpoint provides secure and direct connectivity to
Azure PaaS services over an optimized route over the Azure backbone network.}}
Azure NaaS (network as a service) {{Incorrect. There is no such service as Azure NaaS.}}
Explanation
Multiple choice
Which tool in Azure automatically collects, analyzes, and integrates log data from your Azure resources?
(x ) Azure Security Center {{Correct. Security Center automatically collects, analyzes, and integrates log
data from your Azure resources, the network, and other connected partner solutions, such as firewall and
endpoint protection solutions.}}
Azure Security Benchmark {{Incorrect. The Azure Security Benchmark provides prescriptive best
practices and recommendations to help improve the security of workloads, data, and services on
Azure. It includes a collection of high-impact security recommendations you can use to help secure
the services you use in Azure.}}
Azure Sentinel {{Incorrect. Azure Sentinel is a scalable, cloud-native, security information event
management and security orchestration automated response solution. It delivers intelligent security
analytics and threat intelligence across the enterprise, providing a single solution for alert detection,
threat visibility, proactive hunting, and threat response. It needs to be onboarded and configured to
collect data from your resources in Azure.}}
Explanation
Multiple choice
Which one of these is a symptom of a DDoS attack?
(x ) An unexplained surge in requests. {{Correct. You are not expecting that many concurrent requests that
they start to overwhelm your resources.}}
Application running slowly. {{Incorrect. This could just be other performance-related issues in your
application/connectivity.}}
HTTP 400 Bad Request {{Incorrect. HTTP 400 Bad Request response status code indicates that the
server cannot or will not process the request due to something that is perceived to be a client error}}
Explanation
367
Multiple choice
Which action shall we take when under DDoS attack?
(x ) Monitor Alerts and review attack profile. {{Correct. You should look at any alerts sent out and review
the attack profile (what type of attack, where is it originating, is it targeting a particular resource).}}
Scale out your Azure resources to keep systems running. {{Incorrect. Adding more resources will only
help temporarily make your services available. The attacker could just ramp up the attack to over-
whelm new resources.}}
Email your IT team. {{Incorrect. Letting your IT team know is a good idea, but you need to monitor and
protect your resources first.}}
Explanation
Multiple choice
What should be the principle when designing security configurations?
■■ deny by default, permit by exception.{{Correct. Denying all will stop all possible access, and then you
can allow as needed.}}
deny specific, permit all.{{In Correct. Denying only known and allowing all access can result in unwant-
ed/yet-to-be-discovered access to your resources.}}
permit all, monitor and deny as needed.{{Incorrect. Allowing all access can result in unwanted/
yet-to-be-discovered access to your resources, and you will be at risk during discovery phase.}}
Explanation
Multiple choice
Which one of these is a default network security rule in an NSG?
■■ AllowInternetOutBound.{{Correct. Network Security Group rules allow all internet (destination)
outbound traffic by default.}}
AllowAllInbound.{{Incorrect. There is no default rule to allow all inbound traffic.}}
AllowVnetOutBound.{{Incorrect. VNet OutBound traffic is allowed (not denied) where the source and
destination are Virtual Network.}}
Explanation
Multiple choice
Filtering of which direction of traffic does Azure Firewall support?
■■ Inbound and Outbound.{{Correct. Azure Firewall supports inbound and outbound filtering. Inbound
protection is typically used for non-HTTP/S protocols. For example RDP, SSH, and FTP protocols.}}
Outbound only.{{Incorrect. Azure Firewall supports inbound and outbound filtering.}}
Inbound only.{{Incorrect. Azure Firewall supports inbound and outbound filtering.}}
Explanation
368
Multiple choice
Which one of the following priority levels is considered to be highest for a security rule?
0{{Incorrect. Priority settings must use a number between 100 and 65000.}}
■■ 100{{Correct. Priority settings can be any number between 100 and 65000. With 100 being the highest
priority.}}
110{{Incorrect. 110 will be considered lower priority than 100. The smaller the number, the higher the
priority.}}
Explanation
Multiple choice
What are the two modes that a WAF policy can use?
■■ WAF policy can either be in Prevention mode or Detection mode.{{Correct. When you create a Web
Application Firewall (WAF) policy, by default the WAF policy is in Detection mode, but you can change
it to Prevention mode.}}
WAF policy can either be in Default mode or Custom mode.{{Incorrect. When you create a Web
Application Firewall (WAF) policy, there are no modes called Default or Custom.}}
WAF policy can either be in Default Rule Set mode or Detection mode.{{Incorrect. When you create a
Web Application Firewall (WAF) policy, by default the WAF policy is in Detection mode, however there
is no mode called Default Rule Set.}}
Explanation
Multiple choice
What are the two types of custom rule in a WAF policy?
■■ Match rules and rate limit rules..{{Correct. There are two types of custom rules: match rules and rate
limit rules.}}
String rules and match rules.{{Incorrect. There are two types of custom rules: match rules and rate limit
rules, however there is no such custom rule type as String rule}}
Priority rules and rate limit rules.{{Incorrect. There are two types of custom rules: match rules and rate
limit rules, however there is no such custom rule type as Priority rule.}}
Explanation
Module 7 Design and implement private ac-
cess to Azure services
Private Link is designed to eliminate these security risks by removing the public part of the connection.
371
Private Link provides secure access to Azure services. Private Link achieves that security by replacing a
resource's public endpoint with a private network interface. There are three key points to consider with
this new architecture:
●● The Azure resource becomes, in a sense, a part of your virtual network.
●● The connection to the resource now uses the Microsoft Azure backbone network instead of the public
internet.
●● You can configure the Azure resource to no longer expose its public IP address, which eliminates that
potential security risk.
Multiple choice
What is the key technology behind Private Links?
Private Endpoint.{{Correct! Private Links are dependent on Private Endpoints.}}
DNS Resolution.{{Incorrect, though the recommended practice is to use a single Private Endpoint for a
given Private Link resource to avoid duplicate entries or conflicts in DNS resolution. Private Links are
dependent on Private Endpoints.}}
Virtual Networks.{{Incorrect. Though Private Endpoint must be deployed in the same region and
subscription as the virtual network, Private Links are dependent on Private Endpoints. }}
Multiple choice
What is the difference between a Service Endpoint and a Private Endpoint?
A Service Endpoint connects to external systems and services.{{Correct! A Service Endpoint connects
to external resources. A Private Endpoint enables a private and secure connection between your
virtual network and Azure.}}
A Private Endpoint connects to external systems and services.{{Incorrect, a Private Endpoint enables a
private and secure connection between your virtual network and Azure. A Service Endpoint connects
to external resources.}}
Insert the second incorrect answer text in this cell.{{Insert the second incorrect answer feedback in this
cell.}}
to upgrade, see Install Azure PowerShell module1. If you're running PowerShell locally, you also need to
run Connect-AzAccount to create a connection with Azure.
In this exercise, you will:
●● Task 1: Create a resource group
●● Task 2: Create a virtual network and bastion host
●● Task 3: Create a test virtual machine
●● Task 4: Create a Private Endpoint
●● Task 5: Configure the private DNS zone
●● Task 6: Test connectivity to the Private Endpoint
●● Task 7: Clean up resources
$parameters1 = @{
1 https://docs.microsoft.com/Azure/app-service/quickstart-dotnetcore
2 https://docs.microsoft.com/powershell/module/az.resources/new-azresourcegroup
375
Name = 'MyVNet'
ResourceGroupName = 'CreatePrivateEndpointQS-rg'
Location = 'eastus'
AddressPrefix = '10.0.0.0/16'
$parameters2 = @{
Name = 'myBastionIP'
ResourceGroupName = 'CreatePrivateEndpointQS-rg'
Location = 'eastus'
Sku = 'Standard'
AllocationMethod = 'Static'
$parameters3 = @{
ResourceGroupName = 'CreatePrivateEndpointQS-rg'
Name = 'myBastion'
PublicIpAddress = $publicip
VirtualNetwork = $vnet
New-AzBastion @parameters3
376
$cred = Get-Credential
$parameters1 = @{
Name = 'myNicVM'
ResourceGroupName = 'CreatePrivateEndpointQS-rg'
Location = 'eastus'
Subnet = $vnet.Subnets[0]
$parameters2 = @{
VMName = 'myVM'
VMSize = 'Standard_DS1_v2'
$parameters3 = @{
377
ComputerName = 'myVM'
Credential = $cred
$parameters4 = @{
PublisherName = 'MicrosoftWindowsServer'
Offer = 'WindowsServer'
Skus = '2019-Datacenter'
Version = 'latest'
$vmConfig =
Azure provides an ephemeral IP for Azure Virtual Machines which aren't assigned a public IP address, or
are in the backend pool of an internal Basic Azure Load Balancer. The ephemeral IP mechanism provides
an outbound IP address that isn't configurable.
The ephemeral IP is disabled when a public IP address is assigned to the virtual machine or the virtual
machine is placed in the backend pool of a Standard Load Balancer with or without outbound rules. If a
Azure Virtual Network NAT gateway resource is assigned to the subnet of the virtual machine, the
ephemeral IP is disabled.
For more information on outbound connections in Azure, see Using Source Network Address Translation
(SNAT) for outbound connections.
$parameters1 = @{
Name = 'myConnection'
PrivateLinkServiceId = $webapp.ID
GroupID = 'sites'
$vnet.Subnets[0].PrivateEndpointNetworkPolicies = "Disabled"
$vnet | Set-AzVirtualNetwork
$parameters2 = @{
ResourceGroupName = 'CreatePrivateEndpointQS-rg'
Name = 'myPrivateEndpoint'
Location = 'eastus'
Subnet = $vnet.Subnets[0]
PrivateLinkServiceConnection = $privateEndpointConnection
New-AzPrivateEndpoint @parameters2
379
$parameters1 = @{
ResourceGroupName = 'CreatePrivateEndpointQS-rg'
Name = 'privatelink.Azurewebsites.net'
$parameters2 = @{
ResourceGroupName = 'CreatePrivateEndpointQS-rg'
ZoneName = 'privatelink.Azurewebsites.net'
Name = 'myLink'
VirtualNetworkId = $vnet.Id
$parameters3 = @{
Name = 'privatelink.Azurewebsites.net'
380
PrivateDnsZoneId = $zone.ResourceId
$parameters4 = @{
ResourceGroupName = 'CreatePrivateEndpointQS-rg'
PrivateEndpointName = 'myPrivateEndpoint'
Name = 'myZoneGroup'
PrivateDnsZoneConfig = $config
New-AzPrivateDnsZoneGroup @parameters4
Address: 168.63.129.16
Non-authoritative answer:
3 https://portal.Azure.com/
381
Name: mywebapp8675.privatelink.Azurewebsites.net
Address: 10.0.0.5
Aliases: mywebapp8675.Azurewebsites.net
A private IP address of 10.0.0.5 is returned for the web app name. This address is in the subnet of the
virtual network you created previously.
10. In the bastion connection to myVM, open Internet Explorer.
11. Enter the url of your web app, https://<your-webapp-name>.Azurewebsites.net.
●● You'll receive the default web app page if your application hasn't been deployed:
12. Close the connection to myVM.
4 https://docs.microsoft.com/powershell/module/az.resources/remove-azresourcegroup
382
By default, Azure services are all designed for direct internet access. All Azure resources have public IP
addresses, including PaaS services, such as Azure SQL Database and Azure Storage. Because these
services are exposed to the internet, anyone can potentially access your Azure services.
Service Endpoints can connect certain PaaS services directly to your private address space in Azure, so
they act like they’re on the same virtual network. Use your private address space to access the PaaS
services directly. Adding Service Endpoints doesn't remove the public endpoint. It simply provides a
redirection of traffic.
Azure Service Endpoints are available for many services, such as:
●● Azure Storage
●● Azure SQL Database
●● Azure Cosmos DB
●● Azure Key Vault
●● Azure Service Bus
●● Azure Data Lake
For a service like SQL Database, which can't be accessed until you add IP addresses to its firewall, Service
Endpoints should still be considered. Using a Service Endpoint for SQL Database restricts access to
specific virtual networks, providing greater isolation and reducing the attack surface.
Private Endpoints grant network access to specific resources behind a given service providing granular
segmentation. Traffic can reach the service resource from on premises without using public endpoints.
A service endpoint remains a publicly routable IP address. A private endpoint is a private IP in the address
space of the virtual network where the private endpoint is configured.
--resource-group $rg \
--nsg-name ERP-SERVERS-NSG \
--name Allow_Storage \
--priority 190 \
--direction Outbound \
--source-address-prefixes "VirtualNetwork" \
--source-port-ranges '*' \
--destination-address-prefixes "Storage" \
--destination-port-ranges '*' \
--access Allow \
--protocol '*' \
●● To create an outbound rule to deny all internet access, in the Cloud Shell, run the following command
using Azure CLI.
az network nsg rule create \
--resource-group $rg \
385
--nsg-name ERP-SERVERS-NSG \
--name Deny_Internet \
--priority 200 \
--direction Outbound \
--source-address-prefixes "VirtualNetwork" \
--source-port-ranges '*' \
--destination-address-prefixes "Internet" \
--destination-port-ranges '*' \
--access Deny \
--protocol '*' \
--resource-group $rg \
--name engineeringdocs$RANDOM \
--sku Standard_LRS \
386
●● To store the primary key for your storage in a variable, in the Cloud Shell, run the following command.
STORAGEKEY=$(az storage account keys list \
--resource-group $rg \
--account-name $STORAGEACCT \
●● To create an Azure file share called erp-data-share, in the Cloud Shell, run the following command.
az storage share create \
--account-name $STORAGEACCT \
--account-key $STORAGEKEY \
--name "erp-data-share"
--vnet-name ERP-servers \
--resource-group $rg \
--name Databases \
--service-endpoints Microsoft.Storage
●● To deny all access to change the default action to Deny, in the Cloud Shell, run the following com-
mand. After network access is denied, the storage account is not accessible from any network.
az storage account network-rule add \
--resource-group $rg \
--account-name $STORAGEACCT \
387
--vnet ERP-servers \
--subnet Databases
●● To restrict access to the storage account, in the Cloud Shell, run the following command. By default,
storage accounts are open to accept all traffic. You want only traffic from the Databases subnet to be
able to access the storage.
az storage account network-rule add \
--resource-group $rg \
--account-name $STORAGEACCT \
--vnet-name ERP-servers \
--subnet Databases
--resource-group $rg \
--name AppServer \
--query "[].virtualMachine.network.publicIpAddresses[*].ipAddress" \
--output tsv)"
DATASERVERIP="$(az vm list-ip-addresses \
--resource-group $rg \
--name DataServer \
--query "[].virtualMachine.network.publicIpAddresses[*].ipAddress" \
--output tsv)"
●● To connect to your AppServer VM, and attempt to mount the Azure file share, in the Cloud Shell, run
the following command.
388
ssh -t Azureuser@$APPSERVERIP \
"mkdir Azureshare; \
-o vers=3.0,username=$STORAGEACCT,password=$STORAGEKEY,dir_mode=0777,file_
mode=0777,sec=ntlmssp; findmnt \
●● Enter the password you used when you created the VM.
●● The response should include a mount error message. This connection isn't allowed, because there is
no Service Endpoint for the storage account on the Applications subnet.
●● To connect to your DataServer VM, and attempt to mount the Azure file share, in the Cloud Shell, run
the following command.
ssh -t Azureuser@$DATASERVERIP \
"mkdir Azureshare; \
-o vers=3.0,username=$STORAGEACCT,password=$STORAGEKEY,dir_mode=0777,file_
mode=0777,sec=ntlmssp;findmnt \
●● Enter the password you used when you created the VM.
●● The mount should be successful, and the response should include details of the mount point. This is
allowed because you created the Service Endpoint for the storage account on the Databases subnet.
By using the storage Service Endpoint on the Databases subnet, you've now verified that DataServer can
access storage. You've also verified that AppServer can't access storage. This is because this server is on
a different subnet and doesn't have access to the virtual network Service Endpoint.
You can use service tags to achieve network isolation and protect your Azure resources from the general
Internet while accessing Azure services that have public endpoints. Create inbound/outbound network
security group rules to deny traffic to/from Internet and allow traffic to/from AzureCloud or other
available service tags of specific Azure services.
Tag Purpose Can use inbound Can be regional? Can use with
or outbound? Azure Firewall?
ActionGroup Action Group. Inbound No No
390
network's private address space to access the Azure services. Traffic destined to Azure resources through
service endpoints always stays on the Microsoft Azure backbone network.
In this exercise, you will:
●● Task 1: Create a virtual network
●● Task 2: Enable a service endpoint
●● Task 3: Restrict network access for a subnet
●● Task 4: Add additional outbound rules
●● Task 5: Allow access for RDP connections
●● Task 6: Restrict network access to a resource
●● Task 7: Create a file share in the storage account
●● Task 8: Restrict network access to a subnet
●● Task 9: Create virtual machines
●● Task 10: Confirm access to storage account
●● Task 11: Clean up resources
Setting Value
Subscription Select your subscription
Resource group Select the provided resource group from Learn
Name CoreServicesVNet
402
name):
Setting Value
Address space 10.0.0.0/16
Subnet Name Public
Subnet Address range 10.0.0.0/24
Setting Value
BastionHost Disabled
403
Setting Value
Name Private
Address range 10.0.1.0/24
Service endpoints: Services Select Microsoft.Storage
4. Select Save.
You should now have two subnets configured:
404
Setting Value
Subscription Select your subscription
Resource group Select Use existing and select the provided
resource group from Learn
Name ContosoPrivateNSG
Location Select West US
4. select Review + create, then click Create:
405
8. Create a rule that allows outbound communication to the Azure Storage service. Enter, or select, the
following information:
Setting Value
Source Select VirtualNetwork
Source port ranges *
Destination Select Service Tag
Destination service tag Select Storage
Service Custom
Destination port ranges *
Protocol Any
Action Allow
Priority 100
Name Allow-Storage-All
9. Select Add:
407
Setting Value
Source Select VirtualNetwork
Source port ranges *
Destination Select Service Tag
Destination service tag Select Internet
Service Custom
408
Setting Value
Source Any
Source port ranges *
Destination Select VirtualNetwork
Service Custom
Destination port ranges 3389
Protocol Any
Action Allow
Priority 120
Name Allow-RDP-All
4. And then select Add.
[!Warning]
410
RDP port 3389 is exposed to the Internet. This is only recommended for testing. For production environ-
ments, we recommend using a VPN or private connection.
5. Under Settings, select Subnets.
6. Select + Associate.
7. Under Associate subnet, select Virtual network and then select CoreServicesVNet under Choose a
virtual network.
8. Under Choose subnet, select Private, and then select OK.
3. Enter, or select, the following information and accept the remaining defaults:
Setting Value
Subscription Select your subscription
411
Resource group Select Use existing and select the resource group
provided by Learn.
Name Enter a contosostoragewest..
Performance Standard StorageV2 (general purpose v2)
Location Select West US
Replication Locally-redundant storage (LRS)
4. select Review + create, then click Create.
Setting Value
Subscription Select your subscription.
Virtual networks Select CoreServicesVNet**.**
Subnets Select Private.
5. Select Add.
6. Select Save.
7. Under Security and Networking for the storage account, select Access keys.
8. Select Show Keys. Note the Key value, as you'll have to manually enter it in a later step when map-
ping the file share to a drive letter in a VM.
Setting Value
Project Details
Subscription Select your subscription.
Resource group Select Use existing and select the resource group
provided by Learn
Instance Details
Virtual machine name ContosoWestPublic
Region (US) West US
Availability Options No infrastructure redundancy required
Image Select Windows Server 2019 Datacenter.
Size Standard_D2s
Administrator Account
Authentication type SSH public key
Username Enter a user name of your choosing.
Password Enter a password of your choosing.
Confirm Password Re-enter the password.
Inbound port rules
Public inbound ports Allow selected ports
Select inbound ports RDP (3389)
414
3. Then select the Networking tab. Enter, or select, the following information:
Setting Value
Virtual network CoreServicesVNet
Subnet Public (10.0.0.0/24)
Public IP (new) ContosoWestPublic-ip
NIC network security group Basic
Public inbound ports Allow selected ports
Select inbound ports RDP (3389)
4. Click Review + create.
5. Select Create to start the virtual machine deployment. The VM takes a few minutes to deploy, but you
can continue to the next step while the VM is creating.
6. Create another virtual machine Complete steps 2-5 again, but name the virtual machine ContosoW-
estPrivate and and select the Private subnet.
The VM takes a few minutes to deploy. Do not continue to the next step until it finishes creating and its
settings open in the portal.
415
7. Confirm that the VM has no outbound connectivity to the internet from a command prompt: ping
bing.com You receive no replies because the network security group associated to the Private subnet
does not allow outbound access to the internet.
8. Close the remote desktop session to the ContosoWestPrivate VM.
Access is denied, because your computer is not in the Private subnet of the CoreServicesVNet virtual
network.
[!WARNING]
Prior to continuing you should remove all resources used for this lab. To do this in the Azure portal click
Resource groups. Select any resources groups you have created. On the resource group blade click Delete
Resource group, enter the Resource Group Name and click Delete. Repeat the process for any additional
Resource Groups you may have created. Failure to do this may cause issues with other labs.
Results: You have now completed this lab.
417
[!NOTE]
The command executes asynchronously (as determined by the -AsJob parameter), so while you will be
able to run another PowerShell command immediately afterwards within the same PowerShell session, it
will take a few minutes before the resource groups are actually removed.
Private DNS zones are typically hosted centrally in the same Azure subscription where the hub VNet is
deployed. This central hosting practice is driven by cross-premises DNS name resolution and other needs
for central DNS resolution such as Active Directory. In most cases, only networking/identity admins have
permissions to manage DNS records in these zones.
Application teams do have permissions to create Azure resource in their own subscription. They do not
have any permissions in the central networking connectivity subscription, which includes managing DNS
records in the private DNS zones. This access limitation means they do not have the possibility to create
the DNS records required when deploying Azure PaaS services with Private Endpoints.
The following diagram shows a typical high-level architecture for enterprise environments with central
DNS resolution and where name resolution for Private Link resources is done via Azure Private DNS:
418
Private Link resource type / Private DNS zone name Public DNS zone forwarders
Subresource
Azure Automation / (Microsoft. privatelink.azure-automation.net azure-automation.net
Automation/automationAc-
counts) / Webhook, DSCAndHy-
bridWorker
Azure SQL Database (Microsoft. privatelink.database.windows.net database.windows.net
Sql/servers) / sqlServer
Azure Synapse Analytics (Micro- privatelink.database.windows.net database.windows.net
soft.Sql/servers) / sqlServer
Azure Synapse Analytics (Micro- privatelink.sql.azuresynapse.net sql.azuresynapse.net
soft.Synapse/workspaces) / Sql
Storage account (Microsoft. privatelink.blob.core.windows.net blob.core.windows.net
Storage/storageAccounts) / Blob
(blob, blob_secondary)
420
privatelink.oms.opinsights.azure. oms.opinsights.azure.com
com
privatelink.ods.opinsights.azure. ods.opinsights.azure.com
com
privatelink.agentsvc.azure-auto- agentsvc.azure-automation.net
mation.net
Cognitive Services (Microsoft. privatelink.cognitiveservices. cognitiveservices.azure.com
CognitiveServices/accounts) / azure.com
account
Azure File Sync (Microsoft. privatelink.afs.azure.net afs.azure.net
StorageSync/storageSyncServic-
es) / afs
Azure Data Factory (Microsoft. privatelink.datafactory.azure.net datafactory.azure.net
DataFactory/factories) / dataFac-
tory
Azure Data Factory (Microsoft. privatelink.adf.azure.com adf.azure.com
DataFactory/factories) / portal
Azure Cache for Redis (Microsoft. privatelink.redis.cache.windows. redis.cache.windows.net
Cache/Redis) / redisCache net
The following screenshot illustrates the DNS resolution sequence from virtual network workloads using
the private DNS zone:
You can extend this model to peered virtual networks associated to the same Private Endpoint. Add new
virtual network links to the private DNS zone for all peered virtual networks.
A single private DNS zone is required for this configuration. Creating multiple zones with the same name
for different virtual networks would need manual operations to merge the DNS records.
If you're using a Private Endpoint in a hub-and-spoke model from a different subscription, reuse the
same private DNS zone on the hub.
In this scenario, there's a hub and spoke networking topology. The spoke networks share a Private
Endpoint. The spoke virtual networks are linked to the same private DNS zone.
This configuration can be extended for an on-premises network that already has a DNS solution in place.
The on-premises DNS solution is configured to forward DNS traffic to Azure DNS via a conditional
forwarder. The conditional forwarder references the DNS forwarder deployed in Azure.
424
This scenario uses the Azure SQL Database-recommended private DNS zone. For other services, you can
adjust the model using the following reference: Azure services DNS zone configuration.
To configure properly, you need the following resources:
●● On-premises network with a custom DNS solution in place
●● Virtual network connected to on-premises
●● DNS forwarder deployed in Azure
●● Private DNS zones privatelink.database.windows.net with type A record
●● Private Endpoint information (FQDN record name and private IP address)
The following diagram illustrates the DNS resolution from an on-premises network. DNS resolution is
conditionally forwarded to Azure. The resolution is made by a private DNS zone linked to a virtual
network.
The conditional forwarding must be made to the recommended public DNS zone forwarder. For example:
database.windows.net instead of privatelink.database.windows.net.
Multiple choice
How can one ensure that communications with Azure Storage pass through the Service Endpoint?
Add an outbound rule to allow access to storage. {{Correct! Create an Allow_Storage outbound rule to
allow access to Storage.}}
Add an inbound rule to allow access to storage. {{Incorrect, create an Allow_Storage outbound rule to
allow access to Storage.}}
Do nothing, it is automatically configured. {{Incorrect, create an Allow_Storage outbound rule to allow
access to Storage.}}
427
Multiple choice
What is the significance of IP address 168.63.129.16?
It is a virtual public IP address that is used to facilitate a communication channel to Azure platform
resources. {{Correct! Additionally, customers can define any address space for their private virtual
network in Azure.}}
It is a non-virtual (Classic) public IP address that is used to facilitate a communication channel to
Azure platform resources. {{Incorrect, in a non-virtual network scenario, a private IP address is used
instead of 168.63.129.16. This private IP address is dynamically discovered through DHCP. In a virtual
network, 168.63.129.16 is a virtual public IP address that is used to facilitate a communication channel
to Azure platform resources.}}
It is a static address of a DNS forwarder. {{Incorrect, 168.63.129.16 is a virtual public IP address that is
used to facilitate a communication channel to Azure platform resources.}}
5 https://docs.microsoft.com/azure/azure-resource-manager/management/azure-subscription-service-limits
428
The VNet Integration feature is used in multitenant apps. If your app is in App Service Environment, then
it's already in a VNet and doesn't require use of the VNet Integration feature to reach resources in the
same VNet.
VNet Integration gives your app access to resources in your VNet, but it doesn't grant inbound private
access to your app from the VNet. Private site access refers to making an app accessible only from a
private network, such as from within an Azure virtual network. VNet Integration is used only to make
outbound calls from your app into your VNet. The VNet Integration feature behaves differently when it's
used with VNet in the same region and with VNet in other regions. The VNet Integration feature has two
variations:
●● Regional VNet Integration: When you connect to Azure Resource Manager virtual networks in the
same region, you must have a dedicated subnet in the VNet you are integrating with.
●● Gateway-required VNet Integration: When you connect to VNet in other regions or to a classic virtual
network in the same region, you need an Azure Virtual Network gateway provisioned in the target
VNet.
The VNet Integration features:
●● Require a Standard, Premium, PremiumV2, PremiumV3, or Elastic Premium pricing plan.
●● Support TCP and UDP.
●● Work with Azure App Service apps and function apps.
There are some things that VNet Integration does not support, like:
●● Mounting a drive.
●● Active Directory integration.
●● NetBIOS.
Gateway-required VNet Integration provides access to resources only in the target VNet or in networks
connected to the target VNet with peering or VPNs. Gateway-required VNet Integration doesn't enable
access to resources available across Azure ExpressRoute connections or work with Service Endpoints.
Regardless of the version used, VNet Integration gives your app access to resources in your VNet, but it
doesn't grant inbound private access to your app from the VNet. Private site access refers to making your
app accessible only from a private network, such as from within an Azure VNet. VNet Integration is only
for making outbound calls from your app into your VNet. Follow the steps below to learn how VNet
integration is enabled.
The drop-down list contains all of the Azure Resource Manager virtual networks in your subscription in
the same region. Underneath that is a list of the Resource Manager virtual networks in all other regions.
Select the VNet you want to integrate with.
430
If the VNet is in the same region, either create a new subnet or select an empty preexisting subnet.
To select a VNet in another region, you must have a VNet gateway provisioned with point to site enabled.
To integrate with a classic VNet, instead of selecting the Virtual Network drop-down list, select Click
here to connect to a Classic VNet. Select the classic virtual network you want. The target VNet must
already have a Virtual Network gateway provisioned with point-to-site enabled.
During the integration, your app is restarted. When integration is finished, you will see details on the
VNet you're integrated with.
By default, your app routes only RFC1918 traffic into your VNet. If you want to route all your outbound
traffic into your VNet, use the following steps to add the WEBSITE_VNET_ROUTE_ALL setting in your app:
1. Go to the Configuration UI in your app portal. Select New application setting.
2. Enter WEBSITE_VNET_ROUTE_ALL in the Name box and enter 1 in the Value box.
3. Select OK.
4. Select Save.
When you route all your outbound traffic into your VNet, it's subject to the NSGs and UDRs that are
applied to your integration subnet. When WEBSITE_VNET_ROUTE_ALL is set to 1, outbound traffic is still
sent from the addresses that are listed in your app properties, unless you provide routes that direct the
traffic elsewhere.
Regional VNet integration can't use port 25.
You can use network security groups to block inbound and outbound traffic to resources in a VNet. An
app that uses regional VNet Integration can use a network security group to block outbound traffic to
resources in your VNet or the internet. To block traffic to public addresses, you must have the application
setting WEBSITE_VNET_ROUTE_ALL set to 1. The inbound rules in an NSG don't apply to your app
because VNet Integration affects only outbound traffic from your app.
To control inbound traffic to your app, use the Access Restrictions feature. An NSG that is applied to your
integration subnet is in effect regardless of any routes applied to your integration subnet. If WEBSITE_
VNET_ROUTE_ALL is set to 1 and you do not have any routes that affect public address traffic on your
integration subnet, all your outbound traffic is still subject to NSGs assigned to your integration subnet.
When WEBSITE_VNET_ROUTE_ALL is not set, NSGs are only applied to RFC1918 traffic.
Routes
You can use route tables to route outbound traffic from your app to wherever you want. By default, route
tables only affect your RFC1918 destination traffic. When you set WEBSITE_VNET_ROUTE_ALL to 1, all
your outbound calls are affected. Routes that are set on your integration subnet will not affect replies to
inbound app requests. Common destinations can include firewall devices or gateways.
If you want to route all outbound traffic on-premises, you can use a route table to send all outbound traf-
fic to your ExpressRoute gateway. If you do route traffic to a gateway, be sure to set routes in the external
network to send any replies.
Border Gateway Protocol (BGP) routes also affect your app traffic. If you have BGP routes from something
like an ExpressRoute gateway, your app outbound traffic is affected. By default, BGP routes affect only
your RFC1918 destination traffic. When WEBSITE_VNET_ROUTE_ALL is set to 1, all outbound traffic can be
affected by your BGP routes.
Azure DNS private zones
After your app integrates with your VNet, it uses the same DNS server that your VNet is configured with.
By default, your app won't work with Azure DNS private zones. To work with Azure DNS private zones,
you need to add the following app settings:
WEBSITE_DNS_SERVER with value 168.63.129.16
WEBSITE_VNET_ROUTE_ALL with value 1
These settings send all your outbound calls from your app into your VNet and enable your app to access
an Azure DNS private zone. With these settings, your app can use Azure DNS by querying the DNS
private zone at the worker level.
Private Endpoints
If you want to make calls to Private Endpoints6, then you must make sure that your DNS lookups resolve
to the Private Endpoint. You can enforce this behavior in one of the following ways:
●● Integrate with Azure DNS private zones. When your VNet doesn't have a custom DNS server, this is
done automatically.
●● Manage the Private Endpoint in the DNS server used by your app. To do this you must know the
Private Endpoint address and then point the endpoint you are trying to reach to that address using an
A record.
●● Configure your own DNS server to forward to Azure DNS private zones.
6 https://docs.microsoft.com/azure/app-service/networking/private-endpoint
433
7 https://docs.microsoft.com/azure/aks/use-network-policies
8 https://docs.microsoft.com/azure/aks/windows-faq
9 https://docs.microsoft.com/azure/aks/virtual-nodes
434
The choice of which network plugin to use for your AKS cluster is usually a balance between flexibility and
advanced configuration needs. The following considerations help outline when each network model may
be the most appropriate.
Use kubenet when:
●● You have limited IP address space.
●● Most of the pod communication is within the cluster.
●● You don't need advanced AKS features such as virtual nodes or Azure Network Policy. Use Calico
network policies10.
Use Azure CNI when:
●● You have available IP address space.
●● Most of the pod communication is to resources outside of the cluster.
●● You don't want to manage user defined routes for pod connectivity.
●● You need AKS advanced features such as virtual nodes or Azure Network Policy. Use Calico network
policies11.
8-Summary
Now that you have reviewed this module, you should be able to:
●● Plan, create, configure, and create access to Private Endpoints
●● Integrate a Private Link with DNS and on-premises clients
●● Create, configure, and provide access to Service Endpoints
●● Configure VNET integration for App Service
●● Repeat the title page learning objectives in this list.
Resources
Use these resources to discover more.
●● private endpoint overview12
●● virtual network service endpoints overview13
●● design ip addressing for Azure14
●● secure and isolate with nsg and service endpoints15
●● private link and dns integration at scale16
●● app-service overview17
10 https://docs.projectcalico.org/v3.9/security/calico-network-policy
11 https://docs.projectcalico.org/v3.9/security/calico-network-policy
12 https://docs.microsoft.com/azure/private-link/private-endpoint-overview
13 https://docs.microsoft.com/azure/virtual-network/virtual-network-service-endpoints-overview
14 https://docs.microsoft.com/learn/modules/design-ip-addressing-for-azure
15 https://docs.microsoft.com/learn/modules/secure-and-isolate-with-nsg-and-service-endpoints
16 https://docs.microsoft.com/azure/cloud-adoption-framework/ready/azure-best-practices/private-link-and-dns-integration-at-scale
17 https://docs.microsoft.com/azure/app-service/overview
435
Answers
Multiple choice
What is the key technology behind Private Links?
■■ Private Endpoint.{{Correct! Private Links are dependent on Private Endpoints.}}
DNS Resolution.{{Incorrect, though the recommended practice is to use a single Private Endpoint for a
given Private Link resource to avoid duplicate entries or conflicts in DNS resolution. Private Links are
dependent on Private Endpoints.}}
Virtual Networks.{{Incorrect. Though Private Endpoint must be deployed in the same region and
subscription as the virtual network, Private Links are dependent on Private Endpoints. }}
Explanation
Multiple choice
What is the difference between a Service Endpoint and a Private Endpoint?
■■ A Service Endpoint connects to external systems and services.{{Correct! A Service Endpoint connects
to external resources. A Private Endpoint enables a private and secure connection between your
virtual network and Azure.}}
A Private Endpoint connects to external systems and services.{{Incorrect, a Private Endpoint enables a
private and secure connection between your virtual network and Azure. A Service Endpoint connects
to external resources.}}
Insert the second incorrect answer text in this cell.{{Insert the second incorrect answer feedback in this
cell.}}
Explanation
Multiple choice
How can one ensure that communications with Azure Storage pass through the Service Endpoint?
■■ Add an outbound rule to allow access to storage. {{Correct! Create an Allow_Storage outbound rule to
allow access to Storage.}}
Add an inbound rule to allow access to storage. {{Incorrect, create an Allow_Storage outbound rule to
allow access to Storage.}}
Do nothing, it is automatically configured. {{Incorrect, create an Allow_Storage outbound rule to allow
access to Storage.}}
Explanation
436
Multiple choice
What is the significance of IP address 168.63.129.16?
■■ It is a virtual public IP address that is used to facilitate a communication channel to Azure platform
resources. {{Correct! Additionally, customers can define any address space for their private virtual
network in Azure.}}
It is a non-virtual (Classic) public IP address that is used to facilitate a communication channel to
Azure platform resources. {{Incorrect, in a non-virtual network scenario, a private IP address is used
instead of 168.63.129.16. This private IP address is dynamically discovered through DHCP. In a virtual
network, 168.63.129.16 is a virtual public IP address that is used to facilitate a communication channel
to Azure platform resources.}}
It is a static address of a DNS forwarder. {{Incorrect, 168.63.129.16 is a virtual public IP address that is
used to facilitate a communication channel to Azure platform resources.}}
Explanation
Module 8 Design and implement network
monitoring
Learning objectives
In this module, you will:
●● Configure monitoring environment for networking
●● Configure network health alerts and logging by using Azure Monitor
●● Create and configure a Connection Monitor instance
●● Configure and use Traffic Analytics
●● Configure NSG flow logs
●● Enable and configure diagnostic logging
●● Configure Azure Network Watcher
438
Prerequisites
●● You should have experience with networking concepts, such as IP addressing, Domain Name System
(DNS), and routing
●● You should have experience with network connectivity methods, such as VPN or WAN
●● You should have experience with the Azure portal and Azure PowerShell
Task Description
Analyze Use metrics explorer to analyze collected metrics
on a chart and compare metrics from different
resources.
Alert Configure a metric alert rule that sends a notifica-
tion or takes automated action when the metric
value crosses a threshold.
Visualize Pin a chart from metrics explorer to an Azure
dashboard.
Create a workbook to combine with multiple sets
of data in an interactive report.Export the results
of a query to Grafana to leverage its dashboarding
and combine with other data sources.
Automate Use Autoscale to increase or decrease resources
based on a metric value crossing a threshold.
Retrieve Access metric values from a command line using
PowerShell cmdlets.
Access metric values from custom application
using REST API.
Access metric values from a command line using
CLI.
Export Route Metrics to Logs to analyze data in Azure
Monitor Metrics together with data in Azure
Monitor Logs and to store metric values for longer
than 93 days
Stream Metrics to an Event Hub to route them to
external systems.
440
Metrics Explorer
For several of your resources in Azure, you will see the data collected by Azure Monitor illustrated directly
in the Azure portal on the Monitoring tab of a resource's Overview page.
In the screenshot below for example, you can see the Monitoring tab from the Overview page of a virtual
machine.
441
Note the various charts displaying several key performance metrics for system components such as CPU,
Network, and Disk.
You can click on these graphs to open the data in Metrics Explorer in the Azure portal, which allows you
to interactively analyze the data in your metric database and chart the values of multiple metrics over
time. You can also pin the charts to a dashboard to view them with other visualizations later. You can also
retrieve metrics by using the Azure monitoring REST API.
The data collected by Azure Monitor Metrics is stored in a time-series database which is optimized for
analyzing time-stamped data. Each set of metric values is a time series with the following properties:
●● The time the value was collected
●● The resource the value is associated with
●● A namespace that acts like a category for the metric
●● A metric name
●● The value itself
Some metrics may have multiple dimensions, and custom metrics can have up to 10 dimensions.
442
You can also access metrics from the Metrics menu of most other services and resources in the Azure
portal. The screenshot below for example, displays the Metrics page for a virtual network resource.
3. Use advanced settings to customize the chart before pinning to dashboards. Configure alerts to
receive notifications when the metric value exceeds or drops below a threshold.
4. To create a metric chart, from your resource, resource group, subscription, or Azure Monitor view,
open the Metrics tab and follow these steps:
5. Click on the “Select a scope” button to open the resource scope picker. This will allow you to select
the resource(s) you want to see metrics for. If you opened metrics explorer from the resource's menu,
the resource should already be populated.
6. For some resources, you must pick a namespace. The namespace is just a way to organize metrics so
that you can easily find them. For example, storage accounts have separate namespaces for storing
Files, Tables, Blobs, and Queues metrics. Many resource types only have one namespace.
7. Select a metric from the list of available metrics. This list will vary depending on what resource and
scope you select.
444
8. Optionally, you can change the metric aggregation. For example, you might want your chart to show
minimum, maximum, or average values of the metric.
You can use the health and metrics information to get an overview of the health status of your various
network resources.
In the example screenshot below, each tile represents a particular type of network resource. The tile
displays the number of instances of that resource type that are deployed across all your selected sub-
scriptions. It also displays the health status of the resource. Here you can see that there are 19 Load
balancers deployed, 17 of which are healthy, 1 is degraded, and 1 is unavailable.
If you select one of the tiles, you get a view of the metrics for that network resource. In the example
screenshot below, you can see the metrics for the ER and VPN connections resource.
You can select any item in this grid view. For example, you could select the icon in the Health column to
get resource health for that connection, or select the value in the Alert column to go to the alerts and
metrics page for the connection.
Alerts
The Alert box on the right side of the page provides a view of all alerts generated for the selected
resources across all your subscriptions. If there is a value for the alerts on an item, simply select the alert
count for that item to go to a detailed alerts page for it.
Dependency view
Dependency view helps you visualize how a resource is configured. Dependency view is currently availa-
ble for Azure Application Gateway, Azure Virtual WAN, and Azure Load Balancer. For example, for
447
Application Gateway, you can access dependency view by selecting the Application Gateway resource
name in the metrics grid view. You can do the same thing for Virtual WAN and Load Balancer.
Connectivity
The Connectivity tab of Azure Monitor Network Insights provides an easy way to visualize all tests
configured via Connection Monitor and Connection Monitor (classic) for the selected set of subscriptions.
Tests are grouped by Sources and Destinations tiles and display the reachability status for each test.
Reachable settings provide easy access to configurations for your reachability criteria, based on Checks
failed(%) and RTT(ms).
After you set the values, the status for each test updates based on the selection criteria.
448
From here, you can then select any source or destination tile to open it up in metric view. In the example
screenshot below, the metrics for the Destinations>Virtual machines tile are being displayed.
Traffic
The Traffic tab of Azure Monitor Network Insights provides access to all NSGs configured for NSG flow
logs and Traffic Analytics for the selected set of subscriptions, grouped by location. The search function-
ality provided on this tab enables you to identify the NSGs configured for the searched IP address. You
can search for any IP address in your environment. The tiled regional view will display all NSGs along with
the NSG flow logs and Traffic Analytics configuration status.
449
If you select any region tile, a grid view will appear which shows NSG flow logs and Traffic Analytics in a
view that is simple to interpret and configure.
In this grid view you can select an icon in the Flow log Configuration Status column to edit the NSG
flow log and Traffic Analytics configuration. Or you can select a value in the Alert column to go to the
traffic alerts configured for that NSG, and you can navigate to the Traffic Analytics view by selecting the
Traffic Analytics Workspace.
450
Diagnostic Toolkit
The Diagnostic Toolkit feature in Azure Monitor Network Insights provides access to all the diagnostic
features available for troubleshooting your networks and their components.
The Diagnostic Toolkit drop-down list provides to access to the following network monitoring features:
●● Capture packets on virtual machines - opens the Network Watcher packet capture network diag-
nostic tool to enable you create capture sessions to track traffic to and from a virtual machine. Filters
are provided for the capture session to ensure you capture only the traffic you want. Packet capture
helps to diagnose network anomalies, both reactively, and proactively. Packet capture is a virtual
machine extension that is remotely started through Network Watcher.
●● Troubleshoot VPN - opens the Network Watcher VPN Troubleshoot tool to diagnose the health of a
virtual network gateway or connection.
●● Troubleshoot connectivity - opens the Network Watcher Connection Troubleshoot tool to check a
direct TCP connection from a virtual machine (VM) to a VM, fully qualified domain name (FQDN), URI,
or IPv4 address.
●● Identify next hops - opens the Network Watcher Next hop network diagnostic tool to obtain the
next hop type and IP address of a packet from a specific VM and NIC. Knowing the next hop can help
you establish if traffic is being directed to the expected destination, or whether the traffic is being
sent nowhere.
●● Diagnose traffic filtering issues - opens the Network Watcher IP flow verify network diagnostic tool
to verify if a packet is allowed or denied, to or from a virtual machine, based on 5-tuple information.
The security group decision and the name of the rule that denied the packet is returned.
Multiple choice
What two types of data are used by Azure Monitor?
Metrics and logs {{Correct, metrics and logs are the two fundamental data types used by Azure
Monitor.}}
Policies and locks {{Incorrect, policies and locks are not data types.}}
Database and storage {{Incorrect, databases and storage are not data types.}}
451
Multiple choice
Which of the following statements about Azure Monitor Logs is correct?
Azure Monitor Logs collects and organizes log and performance data from monitored resources.
{{Correct. Azure Monitor Logs is a feature of Azure Monitor that collects and organizes log and
performance data from monitored resources.}}
Azure Monitor Logs collects data from all Azure resources automatically. {{Incorrect. When you have
created a Log Analytics workspace, you must configure different sources to send their data. No data is
collected automatically.}}
You can use Azure Monitor Logs with or without a workspace. {{Incorrect. You must create at least one
workspace to use Azure Monitor Logs.}}
4. On the Basics tab, use the information in the table below to create the virtual network.
Setting Value
Subscription Select your subscription
453
Name: IntLB-RG
Name IntLB-VNet
Region (US) West US
5. Click Next : IP Addresses.
6. On the IP Addresses tab, in the IPv4 address space box, type 10.1.0.0/16.
7. Under Subnet name, select the word default.
8. In the Edit subnet pane, provide a subnet name of myBackendSubnet, and a subnet address range
of 10.1.0.0/24.
9. Click Save.
10. Click Next : Security.
11. Under BastionHost select Enable, then enter the information from the table below.
Setting Value
Bastion name myBastionHost
AzureBastionSubnet address space 10.1.1.0/24
Public IP address Select Create new
Name: myBastionIP
12. Click Review + create.
13. Click Create.
5. On the Basics tab, use the information in the table below to create the load balancer.
Setting Value
Subscription Select your subscription
Resource group IntLB-RG
Name myIntLoadBalancer
Region (US) West US
Type Internal
SKU Standard
Virtual network IntLB-VNet
Subnet myBackendSubnet
IP address assignment Dynamic
6. Click Review + create.
7. Click Create.
Setting Value
Name myBackendPool
Virtual network IntLB-VNet
Associated to Virtual machines
4. Click Add.
455
Setting Value
Name myHealthProbe
Protocol HTTP
Port 80
Path /
Interval 15
Unhealthy threshold 2
3. Click Add.
456
Setting Value
Name myHTTPRule
IP Version IPv4
Frontend IP address LoadBalancerFrontEnd
Protocol TCP
Port 80
Backend port 80
Backend pool myBackendPool
Health probe myHealthProbe
Session persistence None
Idle timeout (minutes) 15
Floating IP Disabled
3. Click Add.
457
1 https://github.com/MicrosoftLearning/AZ-700-Designing-and-Implementing-Microsoft-Azure-Networking-Solutions/tree/master/Allfiles/
Exercises/M04
458
10. To add a new default web home page and add content to it, run the following command in Power-
Shell: Add-Content -Path “C:\inetpub\wwwroot\iisstart.htm” -Value $("Hello World from " + $env:com-
putername)
11. Close the Bastion session to myVM1 by closing the browser tab.
12. Repeat steps 1-11 above twice more to install IIS and the updated default home page on the myVM2
and myVM3 virtual machines.
Create test VM
1. On the Azure portal home page, click Create a resource, then Compute, then select Virtual machine
(if this resource type is not listed on the page, use the search box at the top of the page to search for
it and select it).
2. On the Create a virtual machine page, on the Basics tab, use the information in the table below to
create the first VM.
Setting Value
Subscription Select your subscription
Resource group IntLB-RG
Virtual machine name myTestVM
Region (US) West US
Availability options No infrastructure redundancy required
Image Windows Server 2019 Datacenter - Gen 1
Size Standard_DS1_v2 - 1 vcpu, 3.5 GiB memory
Username TestUser
Password TestPa$$w0rd!
Confirm password TestPa$$w0rd!
3. Click Next : Disks, then click Next : Networking.
4. On the Networking tab, use the information in the table below to configure networking settings.
Setting Value
Virtual network IntLB-VNet
Subnet myBackendSubnet
Public IP Change to None
NIC network security group Advanced
Configure network security group Select the existing myNSG
Place this virtual machine behind an existing load Off (unchecked)
balancing solution?
5. Click Review + create.
6. Click Create.
7. Wait for this last VM to be deployed before moving forward with the next task.
460
2. Click Create.
3. On the Create Log Analytics workspace page, on the Basics tab, use the information in the table
below to create the workspace.
Setting Value
Subscription Select your subscription
Resource group IntLB-RG
Name myLAworkspace
Region West US
4. Click Review + Create, then click Create.
8. Hover over the myVM3 virtual machine component. Note that you can open the resource blade for
the virtual machine, and you can open the VM Insights page, or you can run the Connection trou-
bleshoot tool from Network Watcher - all from this part of the topology diagram.
9. To download a .SVG file copy of the topology diagram, click Download topology, and save the file in
your Downloads folder.
10. In the top right corner, click View metrics to reopen the metrics pane on the right-hand side of the
screen.
11. The Metrics pane provides a quick view of some key metrics for this load balancer resource, in the
form of bar and line charts.
464
465
1. To view more comprehensive metrics for this network resource, click View detailed metrics.
2. This opens a large full Metrics page in the Azure Network Insights platform. The first tab you land on
is the Overview tab, which shows the availability status of the load balancer and overall Data
Throughput and Frontend and Backend Availability for each of the Frontend IPs attached to your Load
466
Balancer. These metrics indicate whether the Frontend IP is responsive and the compute instances in
5. Hover over some of the data points in the charts, and you will see that the values change to show the
4. On the Service Health>Resource health page, in the Resource type drop-down list, scroll down the
list and select Load balancer.
5. Then select the name of your load balancer from the list.
6. The Resource health page will identify any major availability issues with your load balancer resource.
If there are any events under the Health History section, you can expand the health event to see
more detail about the event. You can even save the detail about the event as a PDF file for later review
and for reporting.
2. Delete all resource groups you created throughout the labs of this module by running the following
command:
Remove-AzResourceGroup -Name 'NAME OF THE RG' -Force -AsJob
[!NOTE] The command executes asynchronously (as determined by the -AsJob parameter), so while you
will be able to run another PowerShell command immediately afterwards within the same PowerShell
session, it will take a few minutes before the resource groups are actually removed.
network traffic. The outbound traffic from all resources, such as VMs, deployed in a virtual network, are
routed based on Azure's default routes. You might override Azure's default routes or create additional
routes.
Effective security rules: Network Security groups are associated at a subnet level or at a NIC level. When
associated at a subnet level, it applies to all the VM instances in the subnet. Effective security rules view
returns all the configured NSGs and rules that are associated at a NIC and subnet level for a virtual
machine providing insight into the configuration. In addition, the effective security rules are returned for
each of the NICs in a VM. Using Effective security rules view, you can assess a VM for network vulnerabili-
ties such as open ports.
VPN Diagnostics: Troubleshoot gateways and connections. VPN Diagnostics returns a wealth of informa-
tion. Summary information is available in the portal and more detailed information is provided in log files.
The log files are stored in a storage account and include things like connection statistics, CPU and
memory information, IKE security errors, packet drops, and buffers and events.
NSG Flow Logs: NSG Flow Logs maps IP traffic through a network security group. These capabilities can
be used in security compliance and auditing. You can define a prescriptive set of security rules as a model
for security governance in your organization. A periodic compliance audit can be implemented in a
programmatic way by comparing the prescriptive rules with the effective rules for each of the VMs in
your network.
Packet Capture: Network Watcher variable packet capture allows you to create packet capture sessions
to track traffic to and from a virtual machine. Packet capture helps to diagnose network anomalies both
reactively and proactively. Other uses include gathering network statistics, gaining information on
network intrusions, to debug client-server communications and much more.
Connection Troubleshoot: Azure Network Watcher Connection Troubleshoot is a more recent addition
to the Network Watcher suite of networking tools and capabilities. Connection Troubleshoot enables you
to troubleshoot network performance and connectivity issues in Azure.
Network Topology: The topology capability enables you to generate a visual diagram of the resources in
a virtual network, and the relationships between the resources.
[!Note]
To use Network Watcher, you must be an Owner, Contributor, or Network Contributor. If you create a
custom role, the role must be able to read, write, and delete the Network Watcher.
2. Right-click your subscription and choose Enable network watcher in all regions.
4. If you expand the regions, you will see that all regions within this subscription are enabled.
5. When you enable Network Watcher using the portal, the name of the Network Watcher instance is
automatically set to NetworkWatcher_region_name where region_name corresponds to the Azure
region where the instance is enabled. For example, a Network Watcher enabled in the West US region
is named NetworkWatcher_westus.
6. The Network Watcher instance is automatically created in a resource group named NetworkWatcher-
RG. The resource group is created if it does not already exist.
474
7. To disable a Network Watcher for a region in the Azure portal, expand the regions section, right click
the name of the region you wish to disable the Network Watcher on, and click Disable network
watcher.
●● Usage monitoring and optimization - Identify top talkers in your network. Combine with GeoIP data
to identify cross-region traffic. Understand traffic growth for capacity forecasting. Use data to remove
overtly restrictive traffic rules.
●● Compliance - Use flow data to verify network isolation and compliance with enterprise access rules.
●● Network forensics and security analysis - Analyze network flows from compromised IPs and
network interfaces. Export flow logs to any SIEM or IDS tool of your choice.
You can enable NSG flow logs from any of the following:
●● Azure portal2
●● PowerShell3
●● Azure CLI4
●● REST5
●● Azure Resource Manager6
1. To configure the parameters of NSG flow logs in the Azure portal, navigate to the NSG Flow Logs
section in Network Watcher.
2. Click the name of the NSG to bring up the Settings pane for the Flow log.
2 https://docs.microsoft.com/azure/network-watcher/network-watcher-nsg-flow-logging-portal
3 https://docs.microsoft.com/azure/network-watcher/network-watcher-nsg-flow-logging-powershell
4 https://docs.microsoft.com/azure/network-watcher/network-watcher-nsg-flow-logging-cli
5 https://docs.microsoft.com/azure/network-watcher/network-watcher-nsg-flow-logging-rest
6 https://docs.microsoft.com/azure/network-watcher/network-watcher-nsg-flow-logging-azure-resource-manager
476
3. Change the parameters you want and click Save to deploy the changes.
Connection Monitor
7 https://docs.microsoft.com/azure/network-watcher/connection-monitor-overview
8 https://docs.microsoft.com/azure/network-watcher/connection-monitor-overview
9 https://docs.microsoft.com/azure/network-watcher/connection-monitor-overview
479
●● Test – The combination of a source endpoint, destination endpoint, and test configuration. A test is
the most granular level at which monitoring data is available. The monitoring data includes the
percentage of checks that failed and the round-trip time (RTT).
You can create a connection monitor using Azure portal, ARMClient or PowerShell.
To create a monitor in Connection Monitor by using the Azure portal:
1. On the Azure portal home page, go to Network Watcher.
2. In the left pane, under Monitoring, select Connection monitor, and then click Create.
480
3. On the Basics tab of the Create Connection Monitor page, you need to enter the following informa-
tion for your new connection monitor:
Field Information
Connection Monitor Name Enter a name for your connection monitor. Use the
standard naming rules for Azure resources.
Subscription Select your Azure subscription from the list.
Region Select a region for your connection monitor. You
can select only the source VMs that are created in
this region.
Workspace configuration Choose a custom workspace or the default
workspace. Your workspace holds your monitoring
data.
●● Create alert (check box): You can select this check box to create a metric alert in Azure Monitor. When
you select this check box, the other fields will be enabled for editing. (Note: Additional charges for the
alert will be applicable.)
●● Scope (Resource/Hierarchy): The values here are automatically filled in for you, based on the values
you specified on the Basics tab.
●● Condition: The alert is created on the Test Result(preview) metric. When the result of the connection
monitor test is a failing result, the alert rule will fire.
●● Action group: You can enter your email directly or you can create alerts via action groups. If you enter
your email directly, an action group with the name NPM Email ActionGroup is created. The email ID is
added to that action group. If you choose to use action groups, you need to select a previously
created action group.
●● Alert rule name: This is the name of the connection monitor and is already filled in for you.
●● Enable rule upon creation: Select this check box to enable the alert rule based on the condition
(default setting). Disable this check box if you want to create the rule without enabling it - perhaps for
evaluation and testing purposes, or because you are just not ready to deploy it yet.
Traffic Analytics
Traffic Analytics is a cloud-based solution that provides visibility into user and application activity in cloud
networks. Traffic Analytics analyzes Network Watcher network security group (NSG) flow logs to provide
insights into traffic flow in your Azure cloud and provide rich visualizations of data written to NSG flow
logs.
With Traffic Analytics, you can:
●● Visualize network activity across your Azure subscriptions and identify hot spots.
●● Identify security threats to, and secure your network, with information such as open-ports, applica-
tions attempting internet access, and virtual machines (VM) connecting to rogue networks.
●● Understand traffic flow patterns across Azure regions and the internet to optimize your network
deployment for performance and capacity.
●● Pinpoint network misconfigurations leading to failed connections in your network.
Multiple choice
Which of the following statements about Network Watcher is correct?
Network Watcher is enabled automatically when you create a virtual network. {{Correct. When you
create or update a virtual network in your subscription, Network Watcher will be enabled automatical-
ly in your Virtual Network's region.}}
Network Watcher must be manually enabled for each virtual network. {{Incorrect. When you create or
update a virtual network in your subscription, Network Watcher will be enabled automatically in your
Virtual Network's region.}}
Network Watcher is enabled by default for all regions. {{Incorrect. Network Watcher is enabled
automatically in your Virtual Network's region, when you create or update a virtual network in your
subscription.}}
Multiple choice
Which of the following is a component of Traffic Analytics?
Network security group (NSG) flow logs {{Correct. Allow you to view information about ingress and
egress IP traffic through a network security group.}}
Backend pool {{Incorrect. A backend pool is not required for traffic analytics.}}
Availability zones {{Incorrect. Availability zones are not required for traffic analytics.}}
Resources
Use these resources to discover more.
Network monitoring solutions10
10 https://docs.microsoft.com/azure/networking/network-monitoring-overview
488
Answers
Multiple choice
What two types of data are used by Azure Monitor?
■■ Metrics and logs {{Correct, metrics and logs are the two fundamental data types used by Azure
Monitor.}}
Policies and locks {{Incorrect, policies and locks are not data types.}}
Database and storage {{Incorrect, databases and storage are not data types.}}
Explanation
Multiple choice
Which of the following statements about Azure Monitor Logs is correct?
■■ Azure Monitor Logs collects and organizes log and performance data from monitored resources.
{{Correct. Azure Monitor Logs is a feature of Azure Monitor that collects and organizes log and
performance data from monitored resources.}}
Azure Monitor Logs collects data from all Azure resources automatically. {{Incorrect. When you have
created a Log Analytics workspace, you must configure different sources to send their data. No data is
collected automatically.}}
You can use Azure Monitor Logs with or without a workspace. {{Incorrect. You must create at least one
workspace to use Azure Monitor Logs.}}
Explanation
Multiple choice
Which of the following statements about Network Watcher is correct?
■■ Network Watcher is enabled automatically when you create a virtual network. {{Correct. When you
create or update a virtual network in your subscription, Network Watcher will be enabled automatical-
ly in your Virtual Network's region.}}
Network Watcher must be manually enabled for each virtual network. {{Incorrect. When you create or
update a virtual network in your subscription, Network Watcher will be enabled automatically in your
Virtual Network's region.}}
Network Watcher is enabled by default for all regions. {{Incorrect. Network Watcher is enabled
automatically in your Virtual Network's region, when you create or update a virtual network in your
subscription.}}
Explanation
Multiple choice
Which of the following is a component of Traffic Analytics?
■■ Network security group (NSG) flow logs {{Correct. Allow you to view information about ingress and
egress IP traffic through a network security group.}}
Backend pool {{Incorrect. A backend pool is not required for traffic analytics.}}
Availability zones {{Incorrect. Availability zones are not required for traffic analytics.}}
Explanation