AZ-104 Virtual networking: 149 practice questions
7-day money-back guarantee — full refund within 7 days of purchase if you've completed under 20% of the questions. See pricing →
Certifications Tools Flashcards Career Paths Exam Guides Blog Pricing For Teams About

AZ-104 Implement and manage virtual networking: 149 practice questions

AZ-104 149 questions 12 shown free

12 of the 149 Implement and manage virtual networking questions in the Certsqill AZ-104 bank, shown in full below. Each one carries an explanation for every option, not just the correct one — the wrong answers are where the marks go.

Preparing for AZ-104? Take the free 5-min readiness check →

1. Create a direct peering between AppVNet and DataVNet: Which action meets this requirement?

Medium
An Azure administrator manages HubVNet, AppVNet, and DataVNet. The address spaces of all three VNets do not overlap. AppVNet is already peered with HubVNet, and DataVNet is already peered with HubVNet. App VMs must communicate directly with Data VMs over the Azure backbone. Which action meets this requirement?
  1. Create a direct peering between AppVNet and DataVNet. ✓
    Direct peering connects the two required VNets over the Microsoft backbone, and their nonoverlapping address spaces satisfy the stated prerequisite.
  2. Create a private DNS zone link from DataVNet to AppVNet.
    A private DNS VNet link supports name resolution for a zone; it does not connect the VNets or provide network communication between their VMs.
  3. Rely on the existing AppVNet-to-HubVNet and HubVNet-to-DataVNet peerings.
    VNet peering is not transitive. The two existing peerings do not create connectivity between AppVNet and DataVNet.
  4. Link the existing private DNS zone to both AppVNet and DataVNet.
    Linking a private DNS zone to both VNets can enable DNS resolution in each VNet, but peering is still required for the requested VM-to-VM network connectivity.
The trap
Do not confuse hub-and-spoke peering with transitive routing: peer each pair that requires direct connectivity unless another explicitly configured connectivity mechanism is provided.

Create direct peering between AppVNet and DataVNet; existing peering through HubVNet is not transitive.

2. Change the AppSubnet NSG outbound TCP 443 deny to an allow: Which two actions will allow the new connection?

Easy
An administrator must allow a new TCP 443 connection from an application VM in AppSubnet to a database VM in DbSubnet. The AppSubnet NSG has an outbound deny for TCP 443 at priority 100. The DbSubnet NSG has an inbound deny for TCP 443 at priority 100. The database NIC NSG has an inbound allow for TCP 443 at priority 200. Which two actions will allow the new connection? Choose two.

Select two. More than one option is correct — every correct one is ticked below.

  1. Create VNet peering between the application and database VNets.
    Peering provides network connectivity but does not remove the AppSubnet or DbSubnet NSG restrictions.
  2. Change the database NIC allow rule from priority 200 to priority 100.
    Changing only the NIC rule does not override a deny in an applicable subnet NSG.
  3. Change the AppSubnet NSG outbound TCP 443 deny to an allow rule. ✓
    The source-side NSG must permit the outbound connection; its priority-100 deny currently blocks it.
  4. Change the DbSubnet NSG inbound TCP 443 deny to an allow rule. ✓
    The subnet NSG must permit inbound traffic. The existing NIC allow cannot override the subnet-level deny.
  5. Wait for the current NSG rules to affect the connection without changing them.
    The question concerns a new connection, and the existing deny rules will continue to block it; waiting does not change effective rule evaluation.
The trap
An allow at the NIC does not override a deny at the subnet; trace both applied NSGs and both traffic directions.

Choose A and B. Both the source-side outbound path and destination-side inbound path must be permitted; the NIC allow does not override a subnet deny.

3. Create a virtual network link from corp.internal: Which change is still required?

Medium
A private DNS zone named corp.internal is linked to a hub VNet. The hub and a spoke VNet are peered, and spoke VMs must resolve records in corp.internal. The administrator proposes relying on the peering connection alone. Which change is still required?
  1. Create a second peering connection between the hub VNet and the spoke VNet.
    The VNets are already peered. Additional peering does not create the private DNS zone link required for spoke VMs to resolve the zone.
  2. Add an NSG rule allowing DNS traffic between the hub and spoke VNets.
    An NSG rule can affect network traffic, but it does not configure the private DNS zone link that enables VNet-based resolution.
  3. Create a virtual network link from corp.internal to the spoke VNet with autoregistration disabled. ✓
    The spoke VNet needs its own link to the private DNS zone for its VMs to resolve records. Autoregistration is unnecessary because the requirement is resolution, not automatic VM-record registration.
  4. Enable automatic VM registration on the existing hub-VNet link.
    That changes registration behavior for the hub link but does not link corp.internal to the spoke VNet, so spoke VMs still lack the required DNS-zone link.
The trap
Separate DNS-zone linking from network connectivity: peering alone does not provide private DNS resolution across VNets.

Peering provides network connectivity but does not substitute for a private DNS zone link. Link corp.internal to the spoke VNet; use resolution-only behavior when autoregistration is not required.

4. Create a direct peering between App-VNet and Data-VNet: What should you do?

Hard
You have an Azure subscription. You have three VNets with nonoverlapping address spaces: App-VNet is peered with Hub-VNet, and Hub-VNet is peered with Data-VNet. NSGs permit the required traffic, and the administrator must enable App-VNet workloads to connect directly to Data-VNet workloads with the least administrative effort. What should you do?
  1. Add an allow rule to the App-VNet subnet NSG for the Data-VNet address space.
    The stated NSGs already permit the required traffic. An NSG rule controls traffic filtering; it does not establish connectivity between non-directly peered VNets.
  2. Create a private DNS zone link from Data-VNet to App-VNet.
    A DNS link can enable name resolution for a private DNS zone, but it does not connect the VNets or provide network traffic connectivity.
  3. Create a direct peering between App-VNet and Data-VNet. ✓
    This supplies the missing direct peering. VNet peering is not transitive, so the existing two peerings do not provide App-VNet-to-Data-VNet connectivity.
  4. Add another peering between App-VNet and Hub-VNet.
    The VNets are already peered. Adding another peering to Hub-VNet does not create the missing App-VNet-to-Data-VNet path because peering is not transitive.
The trap
Do not confuse peering with routing through a hub: A-B plus B-C does not provide A-C connectivity.

Create direct peering between App-VNet and Data-VNet; VNet peering is not transitive.

5. Add an allow rule to the WebSubnet NSG for AppSubnet: Which change will allow the connections?

Medium
An Azure administrator must allow new inbound TCP 443 connections from subnet AppSubnet to a VM in WebSubnet. WebSubnet has a subnet-level NSG with a deny rule for AppSubnet, TCP 443, at priority 200. The VM's NIC-level NSG allows the same traffic at priority 100. Which change will allow the connections?
  1. Change the NIC-level allow rule priority from 100 to 150.
    Changing only the NIC rule does not override a deny in an applicable subnet NSG.
  2. Add an allow rule to the WebSubnet NSG for AppSubnet, TCP 443, at priority 100. ✓
    The new subnet-level allow is evaluated before the priority-200 deny, and both the subnet and NIC NSGs then permit the traffic.
  3. Add an allow rule to the WebSubnet NSG for AppSubnet, TCP 443, at priority 300.
    The priority-200 deny is evaluated first and matches, so the later allow is not reached.
  4. Add an allow rule to the WebSubnet NSG for AppSubnet, TCP 443, at priority 250, and rely on the NIC allow at priority 100.
    The subnet-level deny at priority 200 still matches before the new subnet allow; the NIC allow cannot override it.
The trap
An NIC allow cannot override a matching subnet deny; check every applicable NSG and compare numerical priorities.

Choose the subnet-level allow with a priority lower than the existing deny. The subnet NSG must permit the traffic as well as the NIC NSG.

6. Link the private DNS zone to VNet-B: Which action verifies that the requested DNS resolution works?

Medium
A private DNS zone contains the record app.internal.contoso.com. VNet-A is linked to the zone, and VNet-A is peered with VNet-B. A virtual machine in VNet-B must resolve the record. Which action verifies that the requested DNS resolution works?
  1. Send a network connectivity test to the record’s resolved IP address from the VM in VNet-B without linking the private DNS zone to VNet-B.
    Testing connectivity to an IP address does not verify DNS resolution, and VNet-B still lacks the required private DNS zone link.
  2. Keep the existing link only to VNet-A and run the DNS lookup from the VM in VNet-B because the VNets are peered.
    VNet peering is not a substitute for a private DNS link. VNet-B requires its own link to resolve records from the zone.
  3. Check that the peering between VNet-A and VNet-B is in a connected state, then conclude that the VM can resolve the record.
    Peering connectivity does not configure a private DNS zone link, so its status does not verify name resolution from VNet-B.
  4. Link the private DNS zone to VNet-B, then run a DNS lookup for app.internal.contoso.com from the VM in VNet-B. ✓
    A virtual network link is required for VMs in that VNet to resolve records in a private DNS zone. The lookup tests the requested result directly.
The trap
Do not treat VNet peering as a private DNS link; test resolution from the client VNet after linking the zone.

Link the private DNS zone to VNet-B and perform a DNS lookup from its VM. Peering alone does not provide private DNS resolution.

7. Use a subnet NSG: Which configuration meets the requirement with the least administrative effort?

Easy
An Azure administrator manages a subnet containing several virtual machines. RDP over TCP 3389 must be denied from the internet to every VM, but allowed from the organization’s administrative subnet. Which configuration meets the requirement with the least administrative effort?
  1. Add an outbound deny rule for TCP 3389 from the VM subnet to the internet, using priority 100, and add no inbound rules.
    The requirement concerns new inbound connections to the VMs. An outbound rule does not filter those inbound RDP attempts, regardless of its priority.
  2. Use a subnet NSG: allow admin-subnet RDP at 100; deny internet RDP at 200. ✓
    The subnet-level NSG applies the inbound policy to every VM in the subnet. The lower-priority-number allow is evaluated first for administrative traffic, while the deny blocks internet RDP; both rules specify the required direction, protocol, port, and sources.
  3. Attach an NSG to the subnet with an inbound allow for TCP 3389 from Internet at priority 100.
    Allowing RDP from the internet violates the required source restriction.
  4. Attach an NSG to the subnet with an inbound deny for TCP 3389 from all sources at priority 100.
    A deny for all sources also prevents the required administrative-subnet connections.
The trap
Distinguish inbound from outbound filtering, and remember that lower numerical NSG priorities are evaluated first.

Use a subnet-level NSG with a specific administrative-subnet allow at priority 100 and an internet deny at priority 200.

8. Remove the AppSubnet outbound deny rule for 10.20.1.0/24: What should the administrator do?

Medium
An App Service app uses VNet integration for outbound access through subnet AppSubnet. A storage account has a private endpoint at 10.20.1.4. The app resolves the storage account name to 10.20.1.4, but new HTTPS requests fail. AppSubnet has an NSG with an outbound deny rule for destination 10.20.1.0/24 on TCP 443 at priority 100, followed by an outbound allow rule at priority 200. The integration subnet and private endpoint are otherwise connected. What should the administrator do?
  1. Remove the AppSubnet outbound deny rule for 10.20.1.0/24 on TCP 443. ✓
    The subnet NSG evaluates the deny first, so the later allow cannot permit the new flow. Removing the matching deny allows the private-endpoint HTTPS traffic, assuming the NIC-side rules also permit it.
  2. Create a second private endpoint for the storage account in AppSubnet.
    The existing private endpoint already provides a private address, and DNS resolves the app to that address. Duplicating the endpoint does not remove the subnet NSG deny.
  3. Disable public network access on the storage account.
    That setting controls public access; it does not permit the blocked private HTTPS flow through AppSubnet. The failing flow is stopped by the subnet NSG before this change can help.
  4. Change the NIC-side allow rule for TCP 443 to a numerically lower priority.
    A lower-priority number on the NIC NSG cannot override a matching deny on the subnet NSG. Traffic must be permitted by both NSGs.
The trap
When subnet and NIC NSGs both apply, an allow at one scope never overrides a deny at the other; check the matching rule at each scope and its priority.

Remove the matching subnet NSG deny. NSG evaluation is required at both scopes, and the subnet deny is encountered before its later allow.

9. Configure DNS so the app's service name resolves: Which two actions should the administrator take?

Hard
An Azure App Service app currently uses VNet integration to reach a database through the virtual network. The database is accessed through a private endpoint, and its private DNS configuration is working. Public network access on the app is already disabled. The organization now requires users on the virtual network to reach the app privately. Which two actions should the administrator take? Choose two.

Select two. More than one option is correct — every correct one is ticked below.

  1. Configure DNS so the app's service name resolves to the private endpoint address for virtual-network clients. ✓
    Private connectivity requires appropriate name resolution. Virtual-network clients must resolve the app name to the private endpoint rather than to a public address.
  2. Create a private endpoint for the App Service app in the virtual network. ✓
    VNet integration provides outbound access from the app; it does not provide private inbound access. A private endpoint addresses inbound private connectivity to the app.
  3. Add another App Service VNet integration connection and use it for inbound client traffic.
    Additional VNet integration still provides outbound connectivity from the app; it does not create a private inbound path for clients.
  4. Rely on the existing database private DNS configuration to make the App Service name resolve privately.
    DNS configuration for the database does not configure name resolution for the App Service private endpoint. The app's service name requires its own appropriate DNS configuration.
  5. Create a second private endpoint for the database so clients can reach the App Service privately.
    A database private endpoint maps to the database resource. It does not provide inbound connectivity to the App Service app.
The trap
When a requirement changes from app-to-resource access to client-to-app access, VNet integration alone is insufficient; check the private endpoint and DNS separately.

Choose two: create an App Service private endpoint and configure DNS for that endpoint. VNet integration handles outbound app connectivity, not private inbound access.

10. Add a subnet NSG allow rule for TCP 22 from 10.20.1.0/24: What is the smallest correction?

Medium
An administrator must permit new inbound TCP 22 connections from 10.20.1.0/24 to a virtual machine. The VM's subnet NSG has a deny-all-inbound rule at priority 200. The VM's NIC NSG already has an allow rule for TCP 22 from 10.20.1.0/24 at priority 200. The deny-all rule must remain for all other sources. What is the smallest correction?
  1. Change the subnet deny-all rule's priority from 200 to 300.
    The NIC allow rule does not override a subnet deny, and moving the deny to priority 300 still leaves it ahead of any lower-priority matching subnet rule that is not added.
  2. Add a subnet NSG allow rule for TCP 22 from 10.20.1.0/24 at priority 100. ✓
    The subnet allow at priority 100 is evaluated before its deny at 200; the NIC also allows this traffic.
  3. Add an outbound allow rule for TCP 22 to the VM subnet NSG.
    An outbound allow does not remove the inbound deny that blocks the requested new connection.
  4. Change the NIC allow rule's priority from 200 to 100.
    A higher-priority NIC rule cannot override the subnet NSG's matching deny. Traffic must be permitted by both applied NSGs.
The trap
Lower numerical priorities are evaluated first, and both the subnet and NIC NSGs must allow a new flow.

Add an inbound subnet allow at priority 100 for the required source and port, before the deny at priority 200.

11. Create a private endpoint for the App Service: Which configuration should the administrator implement?

Medium
An Azure App Service app currently uses VNet integration to reach a database in a virtual network. The administrator must allow clients in that virtual network to reach the app privately, while ensuring the app's public network access is disabled. Which configuration should the administrator implement?
  1. Create a private endpoint for the App Service and rely on that endpoint alone to block all public access, without changing the App Service public network access setting.
    Creating a private endpoint does not by itself guarantee that public access is disabled; the service's public network access setting must be configured explicitly.
  2. Keep VNet integration and configure its delegated subnet so that clients can use the integration path to connect inbound to the App Service; then disable public network access.
    VNet integration provides outbound access from the App Service to virtual-network resources; it does not provide private inbound access to the app.
  3. Create a private endpoint for the App Service in the virtual network, configure private DNS resolution for the app hostname, and disable public network access on the App Service. ✓
    A private endpoint provides private inbound connectivity through a private IP. DNS must resolve the app name to that private endpoint, and public access must be disabled explicitly.
  4. Create a private endpoint for the App Service, but leave DNS unchanged because private endpoint creation automatically makes clients resolve the app hostname to its private IP.
    The private endpoint supplies the private network interface, but clients still require appropriate DNS resolution for the service name.
The trap
For App Service, remember: VNet integration is outbound; a private endpoint is for private inbound access. DNS and public-access configuration remain separate decisions.

Use a private endpoint for private inbound access, configure DNS for the private address, and explicitly disable public network access.

12. From the app runtime: Which verification step best confirms the requested private outbound connectivity from t

Easy
An Azure App Service must access a service privately through a private endpoint in a virtual network. VNet integration has been configured for the app, and DNS configuration was changed. Which verification step best confirms the requested private outbound connectivity from the app?
  1. Verify that the private endpoint exists in the virtual network, then test whether a client can initiate a private inbound connection to the App Service through VNet integration.
    VNet integration provides outbound access from the app; it does not provide private inbound access to the app. The test also targets the wrong traffic direction.
  2. Confirm in the portal that the private endpoint and the App Service VNet integration connection both show a successful provisioning state.
    Provisioning state confirms resource configuration, not that the app resolves the service name privately or can reach the service.
  3. From the app's runtime environment, resolve the service hostname and confirm that it returns an address, without sending a request to the service.
    Name resolution alone does not verify network connectivity or that the app can use the service; DNS and connectivity are separate concerns.
  4. From the app runtime, confirm private DNS resolution and a successful authenticated request. ✓
    This tests the result from the app: DNS resolution to the private address and actual outbound access. Authentication remains a separate requirement, so an authenticated request verifies both connectivity and usable access.
The trap
Do not confuse App Service VNet integration, which is outbound, with private inbound access; verify DNS and connectivity separately.

Test from the app itself: resolve the service name to the private endpoint address and complete an authenticated request.

137 more Implement and manage virtual networking questions

The remaining 137 questions in this domain are part of the full AZ-104 bank — 834 questions, every option explained. Start with the free five-minute check and see your score per domain.

Test your AZ-104 readiness — free

Other AZ-104 domains

Part of the Certsqill AZ-104 question bank · Implement and manage virtual networking · Every answer, right and wrong, comes with its own explanation.