Azure Arc: One Control Plane for Servers, Kubernetes, and Data Anywhere

Azure Arc: One Control Plane for Servers, Kubernetes, and Data Anywhere

A beginner-friendly, book-style guide to Azure Arc. Learn how servers, clusters, databases, and virtual machines running outside Azure are projected into Azure, how the agent and resource bridge work, and how to govern, secure, update, monitor, and pay for a hybrid and multicloud estate in production.

Imagine a head teacher in charge of forty schools scattered across a country. Some are in big cities, some in remote villages, and a few are rented buildings owned by someone else. Each school has its own timetable system, its own safety checklists, its own way of recording attendance, and its own filing cabinet. To find out whether every school has working fire alarms, the head teacher must phone forty different offices and trust forty different answers. Nothing is wrong with the schools, but there is no single place from which to see them or to set common rules.

Many companies run their technology in exactly that way. Some servers sit in the company’s own data center. Others run in another public cloud. Some are in a factory, a shop, a ship, or a hospital basement. Each location has its own tools for patching, monitoring, and security. Azure Arc is Microsoft’s answer: it lets you connect all of those places to Azure, so that they appear in the same portal and follow the same rules as resources that live in Azure.

This guide assumes you know nothing about the topic. Every new term is explained the first time it appears, every big idea has an everyday comparison, and the chapters build on each other. By the end you will understand what Azure Arc is and is not, how its agent and bridge work, what you can manage through it, how to connect hundreds of machines at once, how to keep the arrangement secure, and how to find and fix problems.

1The Problem: Technology Scattered Everywhere

Before meeting any product, understand the problem it solves. Once the problem is clear, every feature of Azure Arc looks sensible instead of random.

How estates became scattered

Few organisations are “all in one place.” Companies grow by acquiring other companies, each with its own data center. Rules about data privacy force some information to stay in a particular country or building. Factories and shops need computers right next to the machines and the customers, because a network failure must not stop the production line. Teams choose different clouds for different strengths. And some old systems cannot be moved, either because they are too fragile or because the vendor will not support them anywhere else. The result is a hybrid estate, meaning part on-premises and part in the cloud, and often a multicloud estate, meaning spread over several cloud providers.

Inventory

Nobody knows what exists

Servers are listed in spreadsheets that are months out of date. Security teams cannot say how many machines run an unsupported operating system.

Security

Different protection everywhere

One location has modern threat detection, another has an old antivirus product, and a third has nothing. Attackers look for the weakest one.

Patching

Updates by hand

Each site patches in its own way and its own schedule. Reports to prove compliance take weeks to assemble.

Tools

A different console for each place

Staff must learn many tools, passwords, and processes, and mistakes creep in at every hand-off.

Governance

No common rules

Standards such as required tags, allowed settings, and access controls are enforced in Azure but invisible elsewhere.

Cost

Duplicate licences and effort

Separate tools and teams for each environment multiply expense and slow every change.

Analogy

Think of an international airline whose planes are parked at airports all around the world. If each airport keeps its own maintenance records in its own language, the airline cannot say which planes are due for inspection. A single global control tower that sees every aircraft, uses one checklist, and issues the same instructions everywhere solves the problem without moving a single plane. Azure Arc plays the role of that control tower.

The two obvious answers, and why they are not enough

The first answer is “move everything to Azure.” That is ideal for many workloads, but not all of them, and not at once. Migration takes years, some systems must stay where they are for legal or physical reasons, and during the long journey the estate is split anyway. The second answer is “buy a management tool for each environment.” That multiplies tools, and it still leaves no common view. Azure Arc takes a third path: leave the resources where they are and extend Azure’s management layer out to them.

1 portal
for resources in Azure, on-premises, and other clouds
Same rules
Azure Policy, tags, and access control applied everywhere
0 moves
workloads stay where they run

An illustrative example

Consider a hypothetical retail group with 600 servers: 200 in Azure, 250 in two company data centers, 100 in another public cloud acquired with a subsidiary, and 50 small servers in stores. Before using Arc, the security team needed four consoles and three weeks to answer “which servers are missing this month’s security patch?” After connecting the 400 servers outside Azure with Arc, the same question is answered by one query across all 600 machines in a few seconds. A single policy now requires an owner tag everywhere, and updates are scheduled from one place.

2Core Concepts: The Vocabulary of Azure Arc

Azure Arc has a manageable vocabulary. Learn these words once and every later chapter reads easily.

The words, one at a time

TermPlain meaningEveryday comparison
Control planeThe layer that manages resources: creating, configuring, governing. It is separate from the data plane, which carries the actual work and dataThe control tower, as opposed to the planes themselves
Azure Resource ManagerThe Azure service that receives every management request and keeps the list of resourcesThe central register of everything under management
ProjectionRepresenting a resource that lives elsewhere as a resource in AzureA passport photo and file card for someone who lives abroad
Arc-enabled resourceA non-Azure server, cluster, or database that has been connected and now appears in AzureA school added to the head teacher’s register
Connected Machine agentSmall software installed on a server to connect it to AzureThe radio that lets a plane talk to the tower
ExtensionAn add-on that the agent installs to provide a capability, such as monitoring or securityAn attachment clipped onto the radio
Managed identityAn Azure identity given to the connected resource so it can safely call Azure servicesAn employee badge issued by head office
Resource bridgeA small appliance virtual machine that links a local virtualisation platform to AzureA translator station at the border
Custom locationA named place in Azure that stands for a particular on-premises cluster or site, where you can deploy resourcesA street address that Azure’s delivery service understands
Azure LocalMicrosoft’s hyperconverged infrastructure software for running Azure services on hardware in your own site. Previously called Azure Stack HCIA branch office of the cloud inside your building
Subscription and resource groupAzure’s billing and organisation containers, which hold Arc resources tooThe department and the folder where the record is filed

The central idea: the control plane travels, the workload stays

Beginners often assume that connecting a server to Azure Arc moves it to Azure, or that its data is copied to Azure. It does neither. The server keeps running exactly where it is, with the same programs and data. What Arc creates is a representation of the server in Azure Resource Manager, plus a secure two-way channel through which Azure can read information about the server and, if allowed, send management instructions to it. In technical terms, the control plane reaches out, while the data plane stays at home.

Analogy

When you add a house to a property-management company’s system, the house does not move to the company’s office. The company creates a file card with the address, the owner, the inspection history, and a way to call the caretaker. Anyone at head office can see the card and ask the caretaker to fix the boiler. The house remains where it always was.

Three families of Arc

Infrastructure

Servers, Kubernetes, and virtual machine platforms

Arc-enabled servers, Arc-enabled Kubernetes, and Arc resource bridge for VMware vSphere and System Center, plus Azure Local.

Data

Databases

Arc-enabled SQL Server, and Arc-enabled data services such as SQL Managed Instance and PostgreSQL running on Kubernetes you operate.

Platform

Application services

Services such as App Service, Functions, and Logic Apps can run on an Arc-enabled Kubernetes cluster through application service extensions. Availability and status of these change, so check the current documentation.

i
Tip

Whenever Arc seems confusing, return to one sentence: “Arc gives resources outside Azure an identity and a record inside Azure, so Azure’s management tools can see and govern them.” Everything else is a consequence of that.

3What Azure Arc Is, and How It Differs from Its Neighbours

The word “hybrid” appears in many Microsoft products. Placing Arc next to its neighbours makes its job clear.

A short history

Microsoft announced Azure Arc in November 2019 at its Ignite conference, initially for managing servers and Kubernetes clusters outside Azure and for running selected Azure data services on any infrastructure. Over the following years the family grew: Arc-enabled SQL Server, support for VMware vSphere and System Center Virtual Machine Manager through the resource bridge, features such as Extended Security Updates delivered through Arc for older Windows Server versions, SSH access, and tighter links to Defender for Cloud and Azure Monitor. In parallel, Microsoft’s on-premises Azure-run platform, formerly Azure Stack HCI, was renamed Azure Local and uses Arc as its management foundation. Product names and packaging shift often, so treat any list in a book as a snapshot.

What Azure Arc gives you

See

Unified inventory

All connected resources appear in the portal and can be searched with Azure Resource Graph together with Azure-native ones.

Govern

Azure Policy and tags

Apply the same rules and labels to servers in any location, and measure compliance in one dashboard.

Secure

Defender and baselines

Extend Microsoft Defender for Cloud protections and security recommendations to non-Azure machines and clusters.

Operate

Updates, monitoring, automation

Manage patches, collect logs and metrics, run scripts, and track changes from Azure.

Deliver

GitOps for clusters

Keep many clusters in a desired state described in a Git repository.

Self-serve

Azure experience on-premises

Create and manage virtual machines on VMware or Azure Local through Azure, using the same portal, templates, and access controls.

What Azure Arc is not

  • It is not a migration tool. Arc does not move workloads to Azure. Azure Migrate does that.
  • It is not a replacement for the hypervisor or the hardware. Your virtualisation platform or physical server keeps working as before.
  • It is not a VPN or a network. It needs outbound connectivity from the resource to Azure, but does not create private network links between sites.
  • It is not free for everything. Connecting a server and viewing it is generally free, but many of the services you then switch on are charged. Chapter 15 explains.
  • It is not required for the workload to run. If the link to Azure breaks, the server keeps serving its users. Only management actions pause.

Arc compared with related offers

OfferWhat it isRelationship to Arc
Azure ArcManagement and governance extended to resources anywhereThe connecting layer
Azure LocalHardware and software stack that runs Azure-style virtualisation and Kubernetes in your siteUses Arc as its management plane; Arc can also manage machines that are not Azure Local
Azure Stack HubA full, separate Azure-like cloud in your data center, for disconnected scenariosA different product with its own portal; confirm current status and positioning
Azure MigrateDiscovery, assessment, and migration of servers and databases to AzureComplementary: Arc governs what stays; Migrate moves what goes
Azure Site RecoveryDisaster recovery for serversCan protect Arc-connected machines in some scenarios
Azure Kubernetes Service (AKS)Managed Kubernetes in AzureArc brings similar management to clusters outside AKS
Other clouds’ hybrid toolsEach vendor’s own tools for connecting outside systemsArc is Microsoft’s equivalent; many estates use more than one
Arc does not move your servers to the cloud. It moves the cloud’s management to your servers.
!
Watch out

The Arc family changes quickly: features move from preview to general availability, some are renamed, and a few are retired. Before building a design on a specific capability, check its current status and supported platforms in Microsoft’s documentation.

4Architecture: How Azure Reaches Beyond Azure

Understanding the shape of the connection explains most behaviour, from what Azure can see to what happens when the network breaks.

flowchart LR
  subgraph AZ["Azure"]
    ARM["Azure Resource Manager"]
    SVC["Policy, Defender, Monitor, Update Manager, Automation"]
    HIS["Arc connected machine service endpoints"]
  end
  subgraph ONP["On-premises data center"]
    SRV1["Server with Connected Machine agent"]
    K8S["Kubernetes cluster with Arc agents"]
    BRG["Resource bridge appliance"]
    VC["VMware vCenter"]
    BRG --- VC
  end
  subgraph OTH["Another cloud"]
    SRV2["Virtual machine with Connected Machine agent"]
  end
  SRV1 -->|"outbound HTTPS"| HIS
  K8S -->|"outbound HTTPS"| HIS
  BRG -->|"outbound HTTPS"| HIS
  SRV2 -->|"outbound HTTPS"| HIS
  HIS --> ARM
  ARM --> SVC
  SVC -.->|"instructions delivered through the agent"| SRV1
Figure 4.1: Arc-enabled resources connect outward to Azure and are managed through Azure services

Reading the diagram

On the left side are Azure’s own services: Azure Resource Manager, which records resources, and the services that act on them, such as Policy, Defender, Monitor, and Update Manager. On the right are your outside locations: an on-premises data center with a server, a Kubernetes cluster, and a resource bridge attached to VMware vCenter, and another cloud with a virtual machine. Each outside resource runs a small piece of Arc software that makes an outbound secure connection to Azure over HTTPS. Because the connection starts from inside, you do not need to open inbound ports in your firewalls for it. Instructions from Azure travel back down the same connection, delivered by the agent, so Azure can, for example, install an extension on a server that sits behind a corporate firewall.

Analogy

Think of a field worker who telephones head office every few minutes to say “I’m here, and I’m well.” Head office cannot dial the field worker’s phone directly, because the number is private, but whenever the worker calls in, any waiting instructions are passed along. The outward call is what keeps the line open, and nobody needs to leave the front door unlocked.

The components

ComponentRole
Azure Resource ManagerStores the Arc resource records (the “projection”), enforces access control, and applies policy to them
Arc service endpointsAzure-side services that the agents talk to, covering identity, heartbeat, extensions, and guest configuration
Connected Machine agentInstalled on servers; maintains the connection, hosts the extension manager and the guest configuration service, and provides a local identity endpoint
Arc agents for KubernetesA set of pods that run in the cluster, connect it to Azure, and install cluster extensions
Resource bridgeAn appliance virtual machine that lets Azure see and control a VMware or System Center environment
Custom locationAn Azure resource that maps to a namespace in an Arc-enabled cluster, letting Azure deploy services into that cluster
ExtensionsAdd-on packages for monitoring, security, update management, key retrieval, and more
Managed identity of the resourceLets software on the machine obtain Azure tokens, for example to read secrets from Key Vault

What flows in each direction

Up

From resource to Azure

Heartbeat, basic properties (operating system, name, agent version), extension status, compliance results, and whatever monitoring or security data you choose to collect.

Down

From Azure to resource

Extension installation requests, policy configuration assignments, update schedules, and remote actions you explicitly allow.

Not moved

Your application data

Business data stays where it is unless you choose to send logs or backups elsewhere.

Where the records live

Every Arc-enabled resource lives in a subscription and resource group you choose, in an Azure region. The region of the record is where its metadata is stored, such as name, tags, and properties. It does not define where the server runs. Choose a region close to the machines for lower latency and to meet data-residency needs for metadata. Because the record is an ordinary Azure resource, it supports tags, role-based access control, locks, and Azure Policy, just like a virtual machine in Azure.

i
Tip

Plan resource groups and tags for Arc resources before onboarding, using the same structure as for Azure resources: by environment, owner, application, and site. Renaming and moving afterwards is possible but tedious at scale.

5How Connecting a Machine Works Inside

Follow a single server as it joins Azure Arc, and you will understand identity, trust, and the agent’s daily behaviour.

sequenceDiagram
  participant Admin as Administrator or script
  participant Agent as Connected Machine agent
  participant Entra as Microsoft Entra ID
  participant Arc as Arc service in Azure
  participant ARM as Azure Resource Manager
  Admin->>Agent: Install agent and run connect command
  Agent->>Entra: Sign in using onboarding identity
  Entra-->>Agent: Access token with limited rights
  Agent->>Arc: Request to create machine resource
  Arc->>ARM: Create Arc machine resource in resource group
  ARM-->>Arc: Resource created with managed identity
  Arc-->>Agent: Identity details and certificate
  loop Every few minutes
    Agent->>Arc: Heartbeat with status
    Arc-->>Agent: Pending extension or policy requests
  end
  Agent->>Agent: Extension manager installs extensions
  Agent->>Arc: Report extension and compliance status
Figure 5.1: The onboarding and daily life of an Arc-enabled server

Step by step

1

Install the agent

The administrator or an automation tool downloads and installs the Connected Machine agent. Installation alone does not connect the machine to Azure.

2

Authenticate to onboard

A connect command is run with an identity that has the right to create Arc machine resources. This can be a person signing in interactively, or a service principal for automation. The identity only needs enough rights to onboard, and it is used just for this step.

3

Azure creates the resource

The Arc service creates a machine resource in the chosen subscription, resource group, and region, with the name and tags you supply.

4

The machine receives its own identity

Azure issues the machine a system-assigned managed identity and a certificate that the agent stores locally. From now on, the machine authenticates as itself, not with the onboarding credential.

5

Heartbeats begin

The agent contacts the service regularly, reporting that it is alive, and fetching any waiting work. This is why the portal shows Connected or Disconnected.

6

Extensions and policies arrive

As you assign policies or enable services, the extension manager downloads and installs the required extensions. The guest configuration service evaluates settings inside the machine and reports results.

7

Ongoing operation

The agent keeps its certificate fresh, reports changes, and continues until the machine is disconnected or deleted.

The agent’s inner services

Service

Hybrid instance metadata service

Keeps the connection, holds the machine’s identity, and provides a local endpoint that software on the machine can call to get Azure tokens. It works much like the identity endpoint on an Azure virtual machine.

Service

Extension manager

Downloads, installs, updates, and removes extensions, and reports their health.

Service

Guest configuration

Checks and, where allowed, applies settings inside the operating system as required by Azure Policy.

Tool

Command-line tool

A local tool lets administrators connect, disconnect, view status, run connectivity checks, collect logs, and set local configuration.

Analogy

Onboarding is like getting a staff pass. A manager (the onboarding identity) vouches for you at the front desk once, and the security office issues a personal badge (the managed identity and certificate). After that day, you use your own badge to enter, and the manager’s signature is no longer needed.

What happens when the connection drops

The machine continues running its workloads normally. Locally evaluated settings continue, and extensions already installed keep working, although those that need Azure, such as sending data to a cloud workspace, will buffer or fail until the link returns. In the portal the machine appears as disconnected after missed heartbeats. If a machine stays offline for a long time, measured in weeks in the documentation, its certificate can expire, and it must be reconnected. Check the current documented limit when you plan for ships, remote sites, or seasonal equipment.

Identity for software on the machine

Because every Arc machine has a managed identity, programs on it can request tokens from the local endpoint and use them to call Azure services, such as reading a secret from Key Vault or writing to storage, without storing passwords on the disk. You grant the machine’s identity roles on the target resource, exactly as you would for an Azure virtual machine. This is one of the most valuable but least understood benefits of Arc.

!
Watch out

Anyone with administrator rights on the machine can use its managed identity to get tokens, so the identity’s roles should be as small as possible. Treat the identity as being only as trustworthy as the machine itself.

6Arc-Enabled Servers: The Foundation

The most widely used part of Azure Arc is the ability to connect Windows and Linux servers. It is the foundation on which many other features rest.

What counts as a server

An Arc-enabled server can be a physical machine, a virtual machine on any hypervisor, or a virtual machine in another cloud. It simply needs a supported operating system, the ability to install the agent, and outbound network access to Azure endpoints. Windows Server and many common Linux distributions are supported, and the list of versions is documented and updated as new ones appear.

Ways to onboard

MethodBest forNotes
Portal-generated scriptA handful of servers, learningGenerate a script in the portal and run it on the server. Simple but manual
Service principal with scriptsHundreds of serversA limited identity authorises many onboarding runs without a person signing in. Protect its secret
Ansible, Chef, Puppet, or similarEstates already using configuration managementInclude agent installation and connection in existing roles
Microsoft Configuration Manager or Group PolicyLarge Windows estatesDistribute the agent as a package or startup script
VMware or System Center via resource bridgeVirtualised environmentsDiscover machines through the bridge and enable Arc features for them in bulk
Azure Migrate and landing zone toolingNew buildsInclude the agent in server build images or deployment pipelines
Cloud-provider connectorsMachines in other public cloudsDefender for Cloud and Arc offer connectors that discover and onboard cloud machines automatically

What an Arc-enabled server looks like in Azure

The resource has a name, resource group, subscription, region, tags, operating system details, agent version, status, and a list of installed extensions. It supports role assignments, policy, locks, and activity logs. It is not a virtual machine in Azure: you cannot resize it or start it from the portal, because Azure does not control its power. The commands Azure can issue are those the agent and extensions provide.

Common first steps after onboarding

1

Tag and organise

Apply tags for environment, owner, application, and site, ideally during onboarding with the same scheme as Azure resources.

2

Turn on inventory and change tracking

See installed software and changes to files, services, and registry entries.

3

Assign baseline policy

Use Azure Policy to require monitoring, security, and update extensions.

4

Enable security assessment

Connect Defender for Cloud to start receiving recommendations.

5

Schedule updates

Define maintenance windows and update classifications.

6

Set up monitoring and alerts

Collect performance and event data, and alert on key conditions.

Analogy

Connecting a server is like registering a new vehicle with a fleet company. First comes a number plate and a record, which is the Arc connection. Then the fleet company can schedule servicing, track faults, check insurance, and apply rules about who may drive it. The vehicle still belongs to its original garage and drives the same roads.

Disconnecting and deleting

You can disconnect a server from Arc by running the disconnect command, which removes the resource and the identity, and you can uninstall the agent. Deleting only the Azure resource without disconnecting leaves the agent running, which will then try to reconnect or fail, creating noise. Follow the documented order. Also remember that removal of the resource removes policy assignments and extension management for it, so plan clean-ups for retired servers to avoid paying for unused services.

i
Tip

Add the agent to your standard server build images but leave the final connect step to first-boot automation that sets the right tags and resource group. Then new servers join Arc at birth, instead of in a clean-up project later.

7Managing Servers Through Arc: What You Can Do

Once a server is connected, Azure’s management services can reach it. This chapter tours the main ones in plain language.

Governance

Azure Policy and machine configuration

Define rules for settings inside the operating system, such as password policy, required software, or firewall state. Arc-enabled servers are audited and, where allowed, corrected. Results appear in the same compliance dashboard as Azure resources.

Patching

Azure Update Manager

Assess missing updates and schedule installation in maintenance windows, for Windows and Linux, across Azure and Arc machines from a single view.

Security

Microsoft Defender for Cloud

Gives secure score, recommendations, vulnerability assessment, and threat detection for connected servers through the Defender for Servers plan. Plans have separate pricing.

Monitoring

Azure Monitor

Collects performance counters, event logs, and syslog through the Azure Monitor Agent extension, using data collection rules to decide what goes where.

Automation

Run commands and automation

Run scripts remotely, use Azure Automation for state configuration and runbooks, and integrate with pipelines.

Access

SSH and Entra sign-in

Reach servers over SSH through Azure without opening inbound ports, and sign in to Linux and Windows with Microsoft Entra identities and role-based access.

Secrets

Key Vault extension

Keep certificates on the server refreshed automatically from Azure Key Vault.

Tracking

Change tracking and inventory

See what software is installed and what changed, which helps incident investigation and audits.

Lifecycle

Extended Security Updates

For some out-of-support Windows Server versions, security updates can be bought and delivered through Arc. Terms and dates are set by Microsoft and change, so check them.

Recovery

Backup and disaster recovery integrations

Some backup and recovery capabilities extend to Arc machines. Support varies by scenario.

Extensions: how capabilities are delivered

Each capability above is delivered by an extension, a package that the agent downloads, installs, configures, and monitors. For example, the Azure Monitor Agent extension collects logs, and the Defender-related extensions gather security data. Extensions are versioned and can be updated automatically. They can be installed from the portal, from policy, or by templates. Because extensions run on your server, often with high privileges, they deserve the same scrutiny as any other software, which is why Chapter 13 covers allow and block lists.

Analogy

The agent is a smartphone, and extensions are apps. The phone’s basic job is to stay connected. Whether it becomes a camera, a map, or a fitness tracker depends on which apps you install. You would not install every app on every phone, and for a work phone you would keep a list of allowed apps.

Policy-driven management at scale

The real power appears when you combine Arc with Azure Policy. With a few assignments at a management group, you can state that every Arc-enabled server must have the monitoring extension, must be assessed for updates, must carry an owner tag, and must send its logs to a central workspace. A DeployIfNotExists policy installs missing extensions automatically on new and existing machines, and reports non-compliance for any that fail. Estates of thousands of servers become manageable because rules replace manual clicks.

GoalTypical policy approach
Everything monitoredDeploy the monitoring agent and associate a data collection rule
Everything patchedRequire update assessment and assign maintenance configurations by tag
Everything inspected for threatsEnable Defender plan at subscription level and deploy required extensions
Consistent security baselineAudit or apply a machine configuration baseline for Windows and Linux
Ownership clarityRequire owner and cost-center tags; inherit them from resource groups
Restrict risky toolsAllow only approved extensions and block remote access features where not needed

One view across everything with Resource Graph

Because Arc machines are Azure resources, Azure Resource Graph can query them together with native Azure virtual machines. A single query can list every server with an unsupported operating system, every machine missing a tag, or every machine that has not checked in recently, regardless of where it runs. This ends the spreadsheet era of inventory.

i
Tip

Create a handful of saved Resource Graph queries and workbooks, such as “Arc machines disconnected for more than 24 hours” and “Arc machines by operating system version.” They become the daily health page for the hybrid estate.

8Arc-Enabled Kubernetes and GitOps

Kubernetes clusters multiply fast and are hard to keep consistent. Arc brings them under one roof wherever they run.

A short explanation of Kubernetes

Kubernetes is software that runs many containers across a group of machines, restarts them when they crash, and scales them with demand. A cluster is one such group. Companies end up with many clusters: a few in Azure Kubernetes Service, some on-premises, some in other clouds, and small ones at the edge in shops or factories. Each cluster has its own settings, add-ons, and version, and keeping them aligned by hand is a recurring nightmare.

What Arc-enabled Kubernetes does

Connect

Any conformant cluster

Attach clusters running on other clouds, on-premises, or at the edge. The cluster appears as a resource in Azure with its version, nodes, and health.

Configure

GitOps with Flux

Describe the desired state of the cluster in a Git repository. An agent in the cluster pulls changes and applies them. Many clusters can follow the same repository.

Govern

Azure Policy for Kubernetes

Enforce rules inside clusters, such as banning privileged containers or requiring approved registries, using the same dashboard as other policies.

Protect

Defender for Containers

Security recommendations and threat detection for clusters and images, including those outside Azure.

Observe

Container insights and Prometheus

Collect logs and metrics into Azure Monitor and managed Prometheus and Grafana services.

Reach

Cluster connect

Access a cluster’s API through Azure without exposing it publicly, with Azure role assignments controlling who can do what.

flowchart TD
  DEV["Platform engineer commits desired state"] --> GIT["Git repository"]
  GIT --> FLX1["Flux agent in on-premises cluster"]
  GIT --> FLX2["Flux agent in other cloud cluster"]
  GIT --> FLX3["Flux agent in edge cluster"]
  FLX1 --> APP1["Apps and settings applied"]
  FLX2 --> APP2["Apps and settings applied"]
  FLX3 --> APP3["Apps and settings applied"]
  APP1 --> RPT["Compliance state reported to Azure"]
  APP2 --> RPT
  APP3 --> RPT
  POL["Azure Policy assignments"] --> RPT
Figure 8.1: GitOps keeps many Arc-enabled clusters in the desired state

GitOps in plain words

GitOps means that Git is the single source of truth for how a cluster should look. Instead of someone running commands against each cluster, they change files in a repository. A small agent inside each cluster, Flux, regularly checks the repository and makes the cluster match. If someone changes the cluster by hand, the agent corrects the drift. If a cluster is destroyed, a new one can be pointed at the repository and rebuilt to the same state.

Analogy

GitOps is like a chain of restaurants following one master menu binder at head office. Each branch’s manager checks the binder every few minutes and adjusts the kitchen to match it. If a cook invents a new dish without approval, the next check removes it. Head office updates the binder once, and every branch follows, without a single phone call.

Why pull is safer than push

Traditional deployment tools push changes into clusters, which means they need credentials with strong rights to every cluster, usually from outside. GitOps pulls from inside, so the cluster needs only read access to the repository, and no external system holds cluster-admin credentials. Clusters behind firewalls with no inbound access can still be managed, because the connection is outbound only.

Cluster extensions

Arc-enabled clusters can host extensions, such as the Flux extension, the Azure Monitor and Defender components, the Azure Policy add-on, secrets store drivers for Key Vault, and application platform extensions. They are installed and updated through Azure, so you do not run separate installation procedures per cluster.

Related offers: AKS on your own hardware

For running Kubernetes on your own hardware, Microsoft provides AKS enabled by Arc, which delivers a managed-style Kubernetes experience on Azure Local and some other platforms. It handles cluster creation, upgrades, and integration with Azure management. Names and supported platforms evolve, so verify current options before choosing.

!
Watch out

Arc-enabled Kubernetes manages and observes your cluster, but it does not operate it for you. You remain responsible for the cluster’s nodes, upgrades, backups, and capacity unless you use a managed distribution. Know where the line sits.

9Data Services: Arc-Enabled SQL Server and Data Services

Databases are among the most valuable and most closely guarded systems. Arc extends Azure’s data management to databases that run elsewhere.

Arc-enabled SQL Server

If you run Microsoft SQL Server on a connected Windows or Linux server, you can have an Arc-enabled SQL Server resource appear in Azure. The server’s Arc agent installs an extension for SQL Server that discovers instances and databases, and reports on them. Once connected, you gain several capabilities.

  • Inventory and licence insight. See every instance, its edition, version, and processor count, across the estate. This helps with licence planning and audits.
  • Best practices assessment. Regular automated checks of configuration, performance, and reliability settings, with recommendations.
  • Security. Microsoft Defender for SQL assessments and threat detection. Authentication with Microsoft Entra ID, where supported, reduces dependence on local SQL accounts.
  • Monitoring. Performance data collected into Azure Monitor.
  • Licensing options. Some licensing models, such as pay-as-you-go billing for SQL Server through Azure, are enabled through Arc. Terms depend on agreements, so check them with Microsoft or a licensing specialist.
  • Migration readiness. Assessments that estimate effort and target options for moving databases to Azure later.

Arc-enabled data services

Beyond managing existing databases, Arc can run certain Azure data services on Kubernetes you operate, such as Azure Arc-enabled SQL Managed Instance and PostgreSQL. The idea is that you get cloud-style database features, like fast provisioning, elastic scaling, built-in high availability, and automated backups, on your own hardware, in a place where data must stay. A data controller component in the cluster manages these databases and reports usage to Azure. It can operate in different connectivity modes: directly connected to Azure, or indirectly connected with periodic exports of usage data for places with limited connectivity.

Analogy

Running Arc-enabled data services is like installing a branded franchise kitchen inside your own restaurant premises. You get the franchise recipes, equipment, and quality checks, but the building, power, and staff stay yours. Head office still receives the sales figures to keep its books.

!
Watch out

The set of Arc-enabled data services, their supported versions, and their lifecycle status have changed over time, with some services retired or changed. Confirm what is currently supported and recommended before planning a project around them.

Choosing between options

NeedOptionNote
Manage and secure SQL Server that already existsArc-enabled SQL ServerNo change to the database; adds visibility and services
Run a cloud-style database on-premisesArc-enabled data services on KubernetesRequires a Kubernetes platform and operational skills
Move the database to AzureAzure SQL Managed Instance, Azure SQL Database, or SQL Server on an Azure VMUse Azure Migrate or Database Migration Service
Run databases at the edge with poor connectivityArc-enabled SQL with indirect mode, or local databases with periodic reportingPlan for offline operation

Custom locations

To deploy services such as data services or application services onto an Arc-enabled cluster, Azure needs a target that it understands. A custom location is that target. It is an Azure resource that maps to a namespace in a cluster, so you can say “deploy this database to the Warehouse-London custom location” and Azure Resource Manager makes it happen using the cluster’s agents. It lets teams use the normal Azure portal, templates, and role assignments to deploy into on-premises clusters.

i
Tip

Start with Arc-enabled SQL Server if you have SQL Server estates. It gives quick visibility and security wins on existing databases without changing the way applications connect.

10Resource Bridge, VMware, System Center, and Azure Local

Many organisations run thousands of virtual machines on platforms such as VMware vSphere. Arc lets teams manage them from Azure without moving them.

The resource bridge

The Azure Arc resource bridge is a lightweight appliance, delivered as a virtual machine, that you deploy into your local environment. It acts as a translator between Azure Resource Manager and the local management system, such as VMware vCenter, System Center Virtual Machine Manager, or Azure Local. It reaches out to Azure over an outbound connection, receives requests like “create a virtual machine from this template,” and carries them out locally through the platform’s own interfaces.

flowchart LR
  USER["Engineer in Azure portal or pipeline"] --> ARM["Azure Resource Manager"]
  ARM -->|"outbound channel from bridge"| BR["Arc resource bridge appliance"]
  BR --> VC["vCenter or SCVMM or Azure Local"]
  VC --> HOSTS["Hypervisor hosts"]
  HOSTS --> VMS["Virtual machines"]
  BR -.->|"inventory sync"| ARM
  ARM -.->|"guest management via Arc agent"| VMS
Figure 10.1: The resource bridge connects Azure to a local virtualisation platform

What this enables

Discover

Inventory in Azure

Existing VMware or SCVMM virtual machines, templates, networks, and datastores appear as Azure resources, ready for tagging and policy.

Operate

Lifecycle from Azure

Start, stop, restart, resize, and delete virtual machines from the Azure portal, command line, or templates, within the permissions granted.

Self-serve

Create virtual machines

Developers deploy to on-premises infrastructure with the same Azure tooling they use in the cloud, using role-based access and quotas set by the platform team.

Guest

Guest management

Enable the Arc agent inside the discovered virtual machines in bulk to access extensions, updates, and policy.

Govern

Single access model

Use Azure role-based access control instead of separate vCenter permissions for self-service tasks.

Modernise

Stepping stone

Teams learn Azure tooling and processes before moving workloads to the cloud.

Analogy

The resource bridge is a professional interpreter at a meeting between an international head office and a local factory. Each side speaks its own language and uses its own procedures. The interpreter turns “build a new line of products” into instructions the factory machines understand, and reports back what was done.

Azure Local

Azure Local is Microsoft’s hyperconverged infrastructure solution for running virtual machines, containers, and Azure services on hardware in your own site, for example a store, a factory, or a data center that must stay local. It is managed through Arc: you register the system with Azure, and from then on its clusters, virtual machines, and Kubernetes clusters appear in the portal, receive updates, and follow Azure Policy. It suits scenarios with low latency needs, strict data location rules, or limited connectivity. Hardware choices, licensing, and feature sets are determined by Microsoft and partners, so consult current documentation.

Design considerations

  • Bridge placement and sizing. Deploy the bridge on a stable network segment with access to vCenter or the management platform and to Azure endpoints. Plan for its own backup or redeployment.
  • Credentials. The bridge uses an account in the local platform. Give it only the permissions required, and rotate its credentials.
  • Upgrades. The bridge appliance has its own update cycle. Falling behind can break connectivity or features.
  • Scale. Understand the documented limits for inventory size and operations per bridge.
  • Roles. Define who can create and who can delete machines, to avoid self-service becoming an uncontrolled sprawl.
!
Watch out

If the bridge is unavailable, your virtual machines keep running, but management actions from Azure are paused. Treat the bridge as a critical management component: monitor it, patch it, and know how to redeploy it.

11Governance at Scale: Structure, Tags, and Policy

Connecting resources is easy. Keeping thousands of them organised, secure, and accountable is where design pays off.

flowchart TD
  ROOT["Tenant root group"] --> CO["Company management group"]
  CO --> PLAT["Platform"]
  CO --> LZ["Landing zones in Azure"]
  CO --> HYB["Hybrid and multicloud"]
  HYB --> HDC["Subscription On-premises data centers"]
  HYB --> HEDGE["Subscription Edge and branch sites"]
  HYB --> HMC["Subscription Other cloud workloads"]
  HDC --> RGP["Resource groups by site and application"]
  HEDGE --> RGE["Resource groups by region"]
  HMC --> RGM["Resource groups by cloud account"]
  CO -.->|"Baseline policies for all resources"| CO
  HYB -.->|"Arc specific policies"| HYB
Figure 11.1: Placing Arc resources in the management group hierarchy

Where to put Arc resources

Arc resources live in ordinary subscriptions and resource groups. A common pattern is to create a management group for hybrid and multicloud resources, with separate subscriptions for on-premises data centers, edge sites, and workloads from other clouds. This lets you assign Arc-specific policies, for example requiring approved extensions and private connectivity, at that group, and apply company-wide baselines above it. Resource groups may follow site, application, or owner, depending on how teams work. Keep it simple, and consistent with how Azure resources are organised.

Tagging strategy

TagPurposeExample values
EnvironmentDistinguish production from testprod, test, dev
OwnerWho to contactteam email or name
ApplicationWhat the machine servesbilling, inventory, point-of-sale
SitePhysical or cloud locationlondon-dc1, store-0142, aws-eu-west
Cost centerCharge-back for paid servicesfinance code
Patch groupChoose maintenance windowweekend-a, weekday-night
CriticalityPriority for responsetier1, tier2, tier3

Tags can be set during onboarding and enforced or inherited with policy. Consistent tags make updates, security reports, and billing sensible.

Role-based access

Azure role-based access control applies to Arc resources just as to Azure ones. Useful built-in roles include Azure Connected Machine Onboarding (can create Arc machine resources, ideal for the automation identity), Azure Connected Machine Resource Administrator (manage Arc machines and extensions), and standard Reader, Contributor, and Owner. Assign roles to groups at the lowest sensible scope. Separate who can onboard machines, who can install extensions, who can see data, and who can administer the operating system.

Policies for a healthy hybrid estate

  • Require tags and inherit them from resource groups.
  • Deploy monitoring, security, and update extensions automatically.
  • Audit Arc machines that are disconnected, running old agent versions, or running unsupported operating systems.
  • Restrict which extensions may be installed, and whether remote access features are enabled.
  • Require private connectivity for Arc services where your network design supports it.
  • Apply Kubernetes security policies to Arc-enabled clusters.
Analogy

Governance at scale is like city planning for a growing town. You do not decide each house’s wallpaper, but you set zones, street names, and building rules, so inspectors, delivery drivers, and fire crews can find their way around any neighbourhood.

Ownership and operating model

Decide who owns what. A platform team usually owns the Arc fabric: onboarding automation, policy, agent versions, and shared monitoring. Application teams own what runs on their machines. Security teams own the baselines and response. Write down these boundaries, and agree on how teams request exceptions and report problems. Technology alone does not create governance; clear responsibilities do.

i
Tip

Begin with a pilot of a few dozen machines from each environment. Learn how onboarding, tagging, policy, and updates behave before rolling out to thousands. Early lessons are much cheaper at small scale.

12Onboarding at Scale

Connecting one server by hand is a five-minute task. Connecting five thousand needs a plan, an identity, a process, and checks.

flowchart TD
  A["Inventory servers and sites"] --> B["Design subscriptions, resource groups, and tags"]
  B --> C["Create onboarding service principal with minimal role"]
  C --> D["Prepare network access and proxy settings"]
  D --> E["Pilot with a small group"]
  E --> F{"Pilot successful"}
  F -->|"No"| G["Fix issues and repeat pilot"]
  G --> E
  F -->|"Yes"| H["Deploy agent and connect in waves using automation"]
  H --> I["Verify connection and tags"]
  I --> J["Policy installs extensions and baselines"]
  J --> K["Report coverage and handle exceptions"]
Figure 12.1: A phased approach to onboarding a large estate

Preparation

1

Take stock

List servers by location, operating system, owner, and criticality. Remove machines that are retired, and note special cases such as appliances that cannot run agents.

2

Design the Azure side

Choose subscriptions, resource groups, regions for metadata, and the tag set. Decide naming rules.

3

Create an onboarding identity

Create a service principal that holds only the Azure Connected Machine Onboarding role at the needed scope. Store its secret in a vault, not in scripts, and plan its rotation. Where possible, use short-lived or certificate-based credentials.

4

Open the network path

Allow outbound HTTPS to the required Azure endpoints through firewalls and proxies. Test from a sample server using the agent’s connectivity check.

5

Prepare the package

Choose how the agent will be distributed: configuration management, a software distribution tool, group policy, or a build image. Write one script that installs, connects with tags, and verifies.

6

Pilot and review

Connect machines from each environment and operating system. Review logs, resource properties, and the effect of policies.

7

Roll out in waves

Start with non-production, then production in batches. Pause after each wave to check health, performance impact, and support tickets.

8

Measure coverage

Compare the inventory with the Arc machine list, follow up on the gaps, and set a target date for completeness.

Tools for large deployments

ToolUse
Configuration management (Ansible, Puppet, Chef, DSC)Roll out agent and settings with the rest of server configuration
Microsoft Configuration ManagerDeploy to Windows fleets as an application or task sequence
Group Policy startup scriptConnect domain-joined servers using a shared script and secured credentials
Cloud connectorsAuto-discover and onboard virtual machines from other public clouds
Vendor virtualisation integrationsEnable Arc agents on virtual machines discovered through the resource bridge
Infrastructure as code pipelinesInclude agent installation in new server builds
Analogy

Onboarding at scale is like adding every car in a city to a fleet-management system. You would not send one clerk to visit each car in turn. You would write a procedure, give a team limited authority to apply it, start with a handful of cars to check the procedure, and then roll it out street by street, tracking progress on a map.

Agent updates and lifecycle

The agent is updated regularly. You can update it manually, with your software distribution tools, or, for some versions, through Azure Update Manager and automatic mechanisms. Do not let agent versions fall far behind, because older versions may lose support and miss features and fixes. Monitor the version distribution and set a policy for the maximum age.

Machines you cannot or should not onboard

  • Unsupported operating systems. Very old or unusual systems may not run the agent. Consider network-level monitoring, compensating controls, or migration plans.
  • Appliances and locked-down devices. Vendor appliances often forbid third-party agents. Manage them by their own tools.
  • Machines about to be retired. The effort may not be worthwhile.
  • Template images. Do not connect a master image and then clone it; the clones would share an identity. Install the agent but leave the connect step to first boot.
!
Watch out

The onboarding service principal is a powerful credential because it can create resources under your subscription. Scope it narrowly, restrict where it can be used, monitor its sign-ins, and remove or rotate it after the campaign ends.

13Security: Trusting the Bridge Between Worlds

Arc creates a management path between Azure and machines that may be anywhere. Used wisely, it improves security across the estate. Used carelessly, it becomes a new route for attackers.

Two sides of the coin

On the positive side, Arc extends modern controls to places that had none: threat detection, vulnerability scanning, consistent baselines, central logging, passwordless access, and fast patching. On the cautionary side, the same connection means that anyone who controls the Azure side with high privilege may be able to run code on the connected machines. The security of Azure subscriptions and identities therefore becomes part of the security of every connected server.

Analogy

Giving head office remote control of every branch’s alarm system lets it respond to threats instantly. It also means that anyone who steals head office’s master key can switch off every alarm at once. The remote system is excellent, as long as the master key is guarded with exceptional care.

Protect the Azure side

  • Strong identity. Require multifactor authentication and conditional access for anyone with rights to Arc resources. Use Privileged Identity Management for time-limited elevation.
  • Least privilege. Separate roles for onboarding, reading, managing extensions, and running commands. The ability to install extensions or run commands on servers is equivalent to administrator access to them.
  • Separate scopes. Place high-value servers in their own resource groups or subscriptions with tighter access.
  • Locks and alerts. Use locks on critical Arc resources and alerts on changes such as new extensions, role assignments, and agent configuration.
  • Protect onboarding credentials. Vault the service principal secrets and limit where they can be used.

Protect the machine side

Agent

Local agent configuration

Administrators on the machine can set local controls for the agent, such as allow and block lists for extensions and for the machine configuration feature, and whether remote access features are permitted. A strict local setting cannot be overridden from Azure.

Extensions

Allow lists

Permit only the extensions you actually use. Block those that allow arbitrary command execution on machines where that is not appropriate.

Identity

Managed identity roles

Give the machine’s own identity only the Azure roles it needs, since any local administrator can obtain tokens for it.

Hardening

Keep machines patched

An Arc connection does not make a vulnerable operating system safe. Use the update, assessment, and hardening features it provides.

Network

Controlled egress

Restrict outbound traffic to the documented Azure endpoints through firewalls or proxies, and consider private connectivity.

Certificates

Local protection of identity material

The agent stores its certificate and credentials locally. Protect the machine’s disks and backups like any other secret store.

Network security options

OptionHow it worksUse when
Public endpoints over HTTPSThe agent connects out to Azure service addresses over the internet using TLSSimple setups, or where egress is allowed to named destinations
Proxy serverAgent traffic goes through a company proxy, with authentication if neededEnvironments that require all outbound traffic to be filtered
Private Link scopeAgent traffic travels over private IP addresses through ExpressRoute or VPN to private endpointsStrict policies forbidding internet paths; the scope must be set up and DNS resolved correctly
Arc gatewayA gateway endpoint that reduces the number of different destinations your firewall must allowLocked-down networks with long allow lists; check availability and status

Using Arc to raise security

  • Enable Defender for Cloud on all connected servers and clusters for a single secure score.
  • Assess vulnerabilities and track fixes through Update Manager.
  • Apply machine configuration baselines for operating system hardening.
  • Use Microsoft Entra sign-in and SSH through Azure instead of shared local passwords and open management ports.
  • Keep certificates fresh with the Key Vault extension.
  • Collect security logs centrally with Microsoft Sentinel or another SIEM.
!
Watch out

Do not grant broad roles like Contributor on an entire hybrid subscription to many people. Contributor on Arc machines can include rights to run commands on all of them. Keep such rights small, audited, and time-limited.

14Networking, Connectivity, and Offline Behaviour

Because Arc depends on an outbound connection, networking is the commonest source of onboarding problems and of surprises at remote sites.

What the agent needs

The agent needs to make outbound HTTPS connections, on the standard secure web port, to a set of Azure service names. These cover Microsoft Entra authentication, Azure Resource Manager, the Arc service itself, the guest configuration service, and the download locations for extensions. Microsoft publishes the current list, which can be expressed as service tags or as DNS names. The agent does not need any inbound ports for its management channel. Time must also be reasonably accurate on the machine, since certificate and token checks depend on the clock.

Common network patterns

Direct

Direct internet egress

The easiest for data centers and cloud virtual machines. Allow the required destinations from the server subnets.

Proxy

Via proxy

Set the proxy on the agent, and make sure the proxy permits TLS inspection exceptions where needed, since inspection can break certificate checks.

Private

Private Link

Use private endpoints in a virtual network connected through ExpressRoute or VPN. Requires private DNS zones and careful routing.

Edge

Intermittent links

Remote sites with satellite or cellular connections can connect periodically. The machine keeps working offline and syncs when connected.

Analogy

A remote research station may only have a radio window twice a day. The scientists carry on working regardless, and when the radio opens, they send their reports and receive any messages. Arc is built to live with such rhythms, but you must plan which tasks need a live link and which can wait.

Offline and disconnected situations

SituationWhat happensPlanning advice
Short outage (minutes to hours)Workloads unaffected; Azure shows the machine as disconnected after missed heartbeats; data collection may bufferAlert only after a sensible delay to avoid noise
Long outage (days)Local checks continue; scheduled updates and policy changes cannot arrive; monitoring data gapsUse local maintenance procedures for critical patches at remote sites
Very long outage (weeks)The machine’s certificate may expire, and the resource may need reconnectionCheck the documented limit; reconnect before it expires; use scripts for recovery
Permanently offlineResource appears stale in AzureDisconnect or delete to avoid confusion and unnecessary charges
Fully air-gappedStandard Arc does not applyConsider disconnected-capable products or alternative tools

Bandwidth and data volume

The management channel itself uses little bandwidth. The heavy items are the data you choose to send: logs, metrics, and security events to Azure Monitor and Defender; extension downloads; and update packages. For sites with poor links, use data collection rules to filter what you send, schedule heavy downloads for off-peak times, and consider local caching or distribution points for updates.

DNS and certificates

  • Machines must resolve Azure service names correctly. With Private Link, internal DNS must map those names to private addresses.
  • TLS-inspecting firewalls that replace certificates can break the agent’s connection. Exempt Arc destinations from inspection.
  • Root certificates must be current on older operating systems, otherwise secure connections fail.
  • Keep time synchronised using NTP, as clock errors cause strange authentication failures.
i
Tip

The agent has a built-in connectivity check that tests all required endpoints and reports which fail. Run it as the first step of any onboarding troubleshooting, and make it part of your onboarding script.

15Cost and Licensing

The basic Arc connection is inexpensive, but the services you attach are not always free. Understanding where the charges arise prevents surprises.

The general principle

Microsoft generally does not charge for the Arc control-plane features of connecting a server or a Kubernetes cluster and viewing it as an Azure resource, with features such as inventory, tagging, and role-based access control included. You pay for the Azure services that you then use on those resources, and for some specific Arc offerings. Exact packaging and prices change, so always confirm on the official pricing pages and with your Microsoft representative.

ItemTypical charging pattern
Connecting servers and viewing them in AzureGenerally no extra charge for the control-plane connection itself
Azure Policy and taggingNo separate charge for evaluation of resources; related deployed resources may cost
Azure Monitor dataCharged by the volume of logs and metrics ingested and retained
Defender for Cloud plansPer server, per cluster, or per database per month, depending on plan
Update ManagerPricing for Arc-enabled servers has differed from Azure virtual machines and has changed over time; check current terms
Extended Security UpdatesPer core per period, as set by Microsoft, for eligible older versions
Arc-enabled SQL Server licensing optionsDepends on agreement, including pay-as-you-go billing and Software Assurance benefits
Arc-enabled data servicesBilled by usage such as cores or tier, with or without licence benefits
Azure LocalPer physical core host fee, plus guest licensing options
NetworkExpressRoute, VPN, and data transfer, billed by their providers

A worked example

These figures are invented to show the arithmetic only. Suppose a company connects 500 servers. Basic connection is included. It enables a security plan on 300 of them at a per-server monthly price, collects logs from 200 of them at an average of 2 gigabytes per server per month, and buys extended security updates for 20 older servers by core. The monthly bill adds three elements: 300 times the security price, 400 gigabytes of log ingestion times the ingestion rate, and the update fee for the old servers. The company can control the total by choosing which servers get the paid plans, by filtering logs, and by retiring the old servers.

Ways to manage cost

1

Decide by tier

Apply full monitoring and security plans to important servers, and lighter coverage to low-risk ones.

2

Filter logs

Use data collection rules to send only the events and counters that you need. Verbose logging from thousands of machines gets expensive.

3

Retire stale resources

Delete Arc records for decommissioned machines so you do not pay for plans on machines that no longer exist.

4

Tag for charge-back

Cost tags let you split paid services among teams and sites.

5

Use licence benefits

Check whether existing licence agreements give rights for services delivered through Arc, such as hybrid benefits.

6

Watch the bills

Use Cost Management budgets and alerts on the hybrid subscriptions.

Analogy

Registering a vehicle with a fleet system may cost nothing. But adding GPS tracking, insurance, a servicing plan, and driver monitoring each carries a monthly fee. You choose the options that make sense for each vehicle, and you do not buy premium cover for the old delivery bike.

!
Watch out

Pricing, free allowances, and licence terms are among the details that change most. Do not rely on a book for numbers. Use the official pricing calculator and your agreement, and review them at least once a year.

16Monitoring, Logging, and Troubleshooting

A hybrid estate has many places to fail. Good monitoring and a clear troubleshooting method shorten every incident.

Where to look

Portal

Arc machine status

Connected or disconnected, last heartbeat, agent version, extension states, and policy compliance.

Local

Agent command-line tool

Shows status, runs connectivity checks, and collects diagnostic logs on the machine.

Local

Agent and extension logs

Files on the machine record connection attempts, errors, and extension installs.

Azure

Activity Log

Records who created, changed, or deleted Arc resources and extensions.

Query

Resource Graph and workbooks

Fleet-wide views of disconnected machines, agent versions, and extension failures.

Alert

Azure Monitor alerts

Notify teams about disconnected machines, failed extensions, or compliance drops.

Common problems and their usual causes

What you seeUsual causeWhat to do
Connect command fails with network or timeout errorsFirewall or proxy blocks required endpoints, or DNS cannot resolve namesRun the connectivity check, fix egress rules or proxy settings, test name resolution
Connect fails with authorization errorsThe onboarding identity lacks the role, wrong subscription, or resource provider not registeredCheck the role assignment, scope, and register the Arc resource providers once per subscription
Machine shows DisconnectedMachine off, network path broken, agent service stopped, or clock wrongCheck the machine, run the agent status and connectivity checks, restart the service, fix time
Machine shows ExpiredOffline longer than the certificate allowsReconnect the machine with the connect command, after confirming it is the same machine
Extension installation failsInsufficient permissions, blocked by local allow list, missing dependencies, no internet for downloadCheck the extension error, local configuration, and outbound access to extension download locations
Duplicate Arc resources for one serverA cloned virtual machine with the same agent identity, or reconnect without cleaning upDisconnect and reconnect clones with unique names; clean old resources
Policy shows non-compliant but machine looks fineEvaluation delay, extension not yet installed, or unsupported settingWait for the next cycle, check the machine configuration status and agent version
High resource use on the machineExtension misbehaving, or very heavy data collectionInspect extension logs, adjust data collection rules, update to current versions
Resource bridge not reachableAppliance VM stopped, network change, expired credentials to vCenter, or certificate problemsCheck the appliance, credentials, and connectivity; redeploy if necessary
Kubernetes agents crash or cluster shows disconnectedOutbound blocked, cluster resource shortage, or version incompatibilityCheck pods in the Arc namespace, logs, and supported version ranges
GitOps configuration not applyingRepository access issue, wrong path, or invalid manifestsRead Flux status and events, test repository credentials, validate files

A calm method for investigating

1

Check the status on the machine

Is the agent running, and what does it report? Local truth beats the portal’s picture.

2

Test the path

Run the connectivity check, then verify DNS, proxy, firewall, time, and certificates.

3

Sort the problem

Is it the machine, the network, the identity, the extension, or the Azure service?

4

Compare with a healthy machine

What differs: location, firewall zone, operating system, agent version, or configuration?

5

Fix once, then prevent

Apply the fix, confirm, and record it in a runbook. Add a policy or monitor to catch it earlier next time.

i
Tip

Alert on machines that have been disconnected for longer than a threshold, such as an hour for data center servers and a day for remote sites. Different thresholds by tag avoid flooding the team with noise from sites that are expected to be offline sometimes.

17Choosing the Right Approach: Arc, Migration, and Alternatives

Arc is a strong answer to some questions and the wrong answer to others. This chapter helps you decide.

flowchart TD
  Q["You have resources outside Azure"] --> A{"Can and should they move to Azure"}
  A -->|"Yes"| MIG["Plan migration with Azure Migrate and related tools"]
  A -->|"No or not yet"| B{"Do you want Azure management for them"}
  B -->|"Yes"| C{"What kind of resource"}
  B -->|"No"| OTHER["Keep existing tools and review later"]
  C -->|"Servers"| ARCS["Azure Arc enabled servers"]
  C -->|"Kubernetes"| ARCK["Azure Arc enabled Kubernetes"]
  C -->|"SQL Server"| ARCD["Azure Arc enabled SQL Server"]
  C -->|"VMware or SCVMM"| ARCB["Arc resource bridge"]
  C -->|"Need Azure services on own hardware"| LOCAL["Azure Local"]
  MIG --> ARCS
Figure 17.1: Deciding between migration and Arc-based management

The options compared

ApproachStrengthWeaknessBest for
Azure ArcUnified management and governance with no move, across clouds and sitesNeeds agents and outbound connectivity; many features cost extra; ties management to AzureEstates that must stay hybrid or multicloud for a long time
Migrate to AzureFull cloud benefits, single platform, reduced local operationsTakes time and money; not all workloads can moveWorkloads without a reason to stay
Azure LocalAzure-consistent platform on your hardware, managed with ArcRequires validated hardware and operational skillsSites needing local compute with cloud-style management
Native tools of each environmentDeep integration with each platformFragmented tools and skills; no common governanceSmall, stable estates with a single environment
Third-party multi-cloud management platformsVendor-neutral features and sometimes broader coverageExtra licensing and integration; may lack Azure depthOrganisations that standardise on a non-Azure management layer
Other clouds’ hybrid agentsStrong for managing that cloud’s own servicesDuplicates effort in mixed estatesEstates primarily centered on another cloud

Arc and migration together

Arc is often a stage on the way to migration, not an alternative. Connecting servers first gives you inventory, dependency information, and a consistent security and update approach while the migration is planned. Some workloads remain connected permanently because there are reasons they cannot move. The two tools answer different questions: Arc asks “how can I manage and govern this where it is?” and Azure Migrate asks “how can I move this to Azure?”

!
Watch out

Arc is not a way to “pretend” machines are in Azure for reporting. If something is not truly managed, patched, and secured, listing it in Azure does not change its risk. The portal reflects reality, so build the processes that make that reality healthy.

Questions to settle the design

  • Which resources will stay outside Azure, and for how long?
  • What do we want to manage centrally: inventory, patching, security, monitoring, configuration?
  • Which network pattern fits our rules: direct, proxy, or private?
  • Who owns onboarding, policy, and incident response for the hybrid estate?
  • Which paid services are justified for which resources?
  • How will we handle sites with weak or intermittent connectivity?

18Patterns and Anti-Patterns

Teams that succeed with Azure Arc repeat a few good designs. Teams that struggle repeat a few familiar mistakes. Knowing both saves time.

Patterns that work

Pattern

Policy-first onboarding

Design tags, groups, and baseline policies before connecting machines, so every new resource is governed from its first minute.

Pattern

Automation with a narrow identity

One onboarding service principal with only the onboarding role, secrets in a vault, rotated after each campaign.

Pattern

Hybrid management group

A dedicated branch of the hierarchy for Arc resources, with Arc-specific policies and clear owners.

Pattern

Extension allow lists

Only approved extensions are permitted, and powerful ones are limited to the machines that need them.

Pattern

GitOps for clusters

All clusters follow repositories for configuration, with pull-based delivery and no external cluster-admin credentials.

Pattern

Cost by tier

Paid services are assigned by criticality tag, and logs are filtered at the source.

Pattern

Fleet health dashboard

Resource Graph queries and workbooks show disconnected machines, outdated agents, and failing extensions in one place.

Pattern

Arc then migrate

Connect first for visibility and security, then migrate what makes sense using Azure Migrate.

Habits compared

Healthy habits

  • Pilot, then roll out in waves
  • Least privilege for onboarding and operations
  • Connectivity checks in every script
  • Regular agent updates
  • Clean-up of retired machines

Habits that hurt

  • Connecting everything with a Contributor identity
  • Cloning connected machines
  • Collecting every log from every server
  • Leaving extensions unrestricted
  • Treating the portal view as proof of health

Four decisions worth recording

Teams that write down their key decisions avoid arguing about them again a year later. These short records use the common format of context, decision, and consequences. They are illustrative examples, not mandates.

ADR-1Example: Accepted

Use Arc for all servers that will remain outside Azure for more than a year. Context: the company has 400 servers in two data centers and a shop network, managed with three different tools. Decision: every server with a planned lifetime beyond twelve months is onboarded to Arc, and shorter-lived servers are left as they are. Consequences: one patching and security process for most servers; extra work for onboarding, and a licence cost for chosen services.

ADR-2Example: Accepted

Route Arc traffic through the corporate proxy with a defined allow list. Context: security policy forbids direct internet egress from server networks. Decision: Arc agents use the proxy, and the firewall team maintains the list of Azure endpoints from Microsoft’s published source. Consequences: compliance with network policy; a dependency on the proxy team, and periodic updates when endpoints change.

ADR-3Example: Accepted

Block remote-command extensions on regulated database servers. Context: auditors objected to cloud-initiated commands on servers holding regulated data. Decision: local agent configuration blocks the run-command and similar extensions on those machines, and updates are applied through the approved change process using Update Manager only. Consequences: stronger assurance and audit comfort; less flexibility for emergency fixes through Azure.

ADR-4Example: Proposed

Adopt GitOps with Flux for all Arc-enabled Kubernetes clusters. Context: 30 clusters across stores drifted from one another, and manual changes caused incidents. Decision: cluster configuration lives in repositories reviewed by the platform team, and each cluster pulls from a regional path. Consequences: consistency and an audit trail; teams must learn Git-based workflows, and emergency manual changes must be copied back to Git.

19Best Practices and Common Mistakes

This chapter gathers the advice of the whole book into one checklist to use before launch, during reviews, and after incidents.

Best practices

1

Define the purpose

Decide which outcomes you want, such as inventory, patching, security, or governance, before onboarding anything.

2

Design the structure first

Management groups, subscriptions, resource groups, tags, and naming, aligned with the Azure side.

3

Onboard in phases with automation

Pilot, then waves, with a script that installs, connects, tags, and verifies.

4

Use policy to apply capabilities

Deploy extensions, baselines, and monitoring through Azure Policy rather than by hand.

5

Secure both sides

Strong identity and least privilege in Azure, extension allow lists and hardening on the machines, and a controlled network path.

6

Plan for poor connectivity

Know the offline limits, set alert thresholds by site, and keep a local patch procedure.

7

Control cost deliberately

Choose paid services by tier, filter logs, retire stale resources, and watch budgets.

8

Keep agents and bridges current

Monitor versions and update on a schedule with testing.

9

Measure coverage and health

Compare inventory to Arc resources, and track disconnected machines and failed extensions.

10

Document ownership and runbooks

Who onboards, who patches, who responds, and how exceptions are requested.

Common mistakes

MistakeConsequenceBetter approach
Assuming Arc moves workloads to AzureWrong expectations and planningExplain that Arc only extends management; migration is separate
Onboarding without tags or structureMessy estate that is hard to governDefine tags and groups first, and set them at connect time
Broad rights on the onboarding identityA leaked secret can create or alter many resourcesUse the narrow onboarding role and vault the secret
Cloning Arc-connected virtual machinesDuplicate identities and confusing resourcesInstall the agent in images, connect at first boot
Ignoring proxy and TLS inspectionConnection failures that look randomExempt Arc destinations and test with the connectivity check
Letting extensions run unrestrictedUnwanted remote execution rightsAllow lists and local agent configuration
Sending all logs to Azure MonitorHigh, unexpected billsFilter with data collection rules
Forgetting offline limitsExpired machines at remote sitesCheck documented limits, alert early, reconnect on time
Not cleaning up decommissioned serversStale resources and ongoing chargesAdd Arc disconnection to the decommissioning checklist
Neglecting agent and bridge updatesUnsupported versions and lost featuresMonitor versions and schedule updates
Treating Defender score as the only security measureGaps in process and patchingCombine with hardening, access control, and incident response
No owner for the hybrid platformDrifting standards and unresolved failuresName a platform team and publish responsibilities
Connecting a machine to the control tower is the beginning. Landing it safely, every day, is the real work.

20Real-World Scenarios

The following scenarios are invented illustrations built from common situations. They are not case studies of real companies, and the numbers are examples chosen to make the ideas concrete.

Scenario 1: A retailer manages stores, data centers, and another cloud

Situation. An imagined retailer has 600 servers across two data centers, 80 small servers in shops, and 100 machines in a second public cloud inherited from an acquisition. Patching and security reports require three tools and weeks of effort.

Design. The platform team creates a hybrid management group with three subscriptions. A service principal with the onboarding role and an automation script connect machines in waves, setting tags for site, owner, and patch group. Azure Policy deploys monitoring and update assessment, and Defender plans are enabled for tier 1 servers. Store servers use a proxy and have longer alert thresholds.

Outcome. After three months, the team answers “which servers are missing patches” with a single query. Patch compliance rises, and the audit report takes an afternoon instead of three weeks.

Scenario 2: A hospital group keeps data local but modernises operations

Situation. An imagined hospital group must keep patient systems on its own premises, but wants cloud-grade security monitoring and consistent updates.

Design. Servers are connected through Private Link over a dedicated circuit. Extension allow lists block remote command features on clinical systems. Update Manager schedules monthly maintenance windows agreed with clinical staff. Defender for Cloud provides assessment, and security logs flow to a central workspace within the country. Arc-enabled SQL Server gives the database team inventory and best practices assessments.

Outcome. Data never leaves the premises, security visibility improves across all sites, and the process for urgent patches is faster and documented.

Scenario 3: A logistics company runs clusters at the edge

Situation. An imagined logistics firm runs small Kubernetes clusters in 120 warehouses for scanning and routing applications. Links are slow and sometimes drop for hours.

Design. Each cluster is Arc-enabled and follows a regional GitOps path. Policies ban privileged containers. Logs are filtered at the edge, and only warnings and metrics summaries are sent to Azure. A fleet dashboard shows clusters out of sync, and alerts use long thresholds for sites with known weak links.

Outcome. A new application version reaches all warehouses within a day, without anyone logging in to a cluster, and sites that lose connection simply catch up when the link returns.

Scenario 4: A mid-size firm prepares for migration

Situation. An imagined engineering firm plans to move most servers to Azure over three years but needs control now.

Design. They connect all servers to Arc to gain inventory and security assessment, use dependency information to plan migration waves, and migrate application groups with Azure Migrate. After a move, the machine’s Arc record is removed because the server becomes a native Azure virtual machine. A few legacy machines stay connected permanently.

Outcome. The firm avoids a blind period before migration, improves its security immediately, and shortens the migration planning phase.

21Frequently Asked Questions

Short answers to the questions beginners ask most often.

Q1 What is Azure Arc in one sentence?
It is a set of technologies that extends Azure’s management layer to servers, Kubernetes clusters, databases, and virtual machine platforms that run outside Azure, so they can be governed and managed with Azure tools.
Q2 Does Arc move my servers to Azure?
No. Servers stay exactly where they are. Arc creates a record of each one in Azure and a secure channel for management.
Q3 Does my data go to Azure?
Your application data stays on the server. Metadata about the machine goes to Azure, along with any logs, metrics, and security data that you choose to collect.
Q4 What do I need to install?
For servers, the Connected Machine agent. For Kubernetes, a set of Arc agent pods. For VMware or System Center, a resource bridge appliance. Extensions add specific capabilities.
Q5 Do I need to open inbound firewall ports?
No. The agent makes outbound secure connections to Azure, and instructions come back through those connections. You do need to allow outbound access to the documented Azure endpoints.
Q6 What happens if the connection to Azure is lost?
The server keeps running normally. Azure management actions pause and data collection may be delayed. After a very long outage the machine’s certificate can expire, and you must reconnect it.
Q7 Is Azure Arc free?
The basic connection and control-plane features are generally free, but many services you enable on connected resources, such as Defender plans, monitoring data, and Extended Security Updates, are charged. Check current pricing.
Q8 What can I manage on an Arc-enabled server?
Policy and configuration, updates, security assessment, monitoring, change tracking, remote access, certificates from Key Vault, and more, depending on the extensions you enable.
Q9 What is an extension?
An add-on package installed and managed by the agent to provide a capability, such as the monitoring agent or a security component. You can control which extensions are allowed.
Q10 What is the resource bridge?
An appliance virtual machine that connects Azure to a local platform such as VMware vCenter, System Center, or Azure Local, so you can see and manage virtual machines from Azure.
Q11 What is GitOps?
A way of managing clusters where a Git repository holds the desired configuration and an agent inside each cluster pulls and applies it, correcting any drift.
Q12 How do I connect hundreds of servers?
Use an onboarding service principal with the narrow onboarding role and an automation tool, such as a configuration management system or software distribution, in phases starting with a pilot.
Q13 Is it secure?
It can improve security across the estate, but it also creates a management path from Azure. Protect Azure identities, use least privilege, restrict extensions, and secure the network path. Anyone who can install extensions can effectively act as an administrator on the machines.
Q14 Can Arc manage machines in other clouds?
Yes. Virtual machines in other public clouds can be connected as Arc-enabled servers, and connectors can help discover and onboard them.
Q15 What is the difference between Arc and Azure Local?
Arc is the management connection. Azure Local is a platform of software and certified hardware that runs Azure-style compute and Kubernetes in your site and uses Arc for its management.
Q16 Should I use Arc or migrate to Azure?
They answer different questions. Migrate what should move, and use Arc for what will stay outside Azure, or while migration is under way.
Q17 Why does my machine show Disconnected?
Common reasons are a stopped machine or agent, blocked outbound access, DNS or proxy problems, or an incorrect clock. Use the agent’s status and connectivity checks on the machine.
Q18 What is the best way to learn it?
Connect one test server or virtual machine, tag it, assign a policy that installs the monitoring extension, and look at it in Resource Graph. Then try update assessment. Doing the loop once teaches more than reading about each piece separately.

22Summary and Key Takeaways

You began with a head teacher phoning forty schools. You now have the blueprint for a single control tower that sees every one of them.

Azure Arc extends Azure’s control plane to resources that run anywhere. A small agent, a set of cluster pods, or a resource bridge makes an outbound secure connection and creates a representation of the resource in Azure Resource Manager. From then on, Azure Policy, tags, role-based access, Resource Graph, Update Manager, Defender for Cloud, Monitor, and GitOps can govern servers, clusters, databases, and virtual machines wherever they are, without moving them. Success depends on design before deployment, narrow identities, controlled extensions, a reliable network path, thoughtful cost choices, and daily attention to health.

Key takeaways

  • Control plane travels, workload stays. Arc projects resources into Azure; it does not move them or their data.
  • Know the pieces. The Connected Machine agent, Kubernetes agents, the resource bridge, extensions, and custom locations each serve a part of the picture.
  • Let policy do the work. Deploy extensions, baselines, and tags through Azure Policy, and use Resource Graph for fleet-wide views.
  • Onboard with care. Pilot, roll out in waves, use a narrow onboarding identity, and never clone connected machines.
  • Secure both sides. Protect Azure identities and roles, restrict extensions on machines, and control the network path.
  • Plan for the edge. Understand offline behaviour and limits, and set alert thresholds that match each site.
  • Pay for what you need. The connection is cheap, but attached services have cost, so assign them by tier and filter data.
i
Where to go next

Build a small project: onboard two or three test servers with a script and a narrow service principal, tag them, assign a policy that installs the monitoring extension and enables update assessment, query them with Resource Graph, and review the results. Then read the current Microsoft documentation for details that change quickly, such as supported platforms, endpoint lists, pricing, and the status of individual Arc features.