An Overview of the Azure Arc Service


In this article, we will take a look at the Azure Arc Service. First, we will talk about what Azure Arc is, and then take a deeper look at the services the Azure Arc offers us and have a little demo of how to use it.

 What is Azure Arc?

Azure Arc is a service that facilitates management by collecting your dispersed environments under one single roof. With Azure Arc, you will be able to manage not only your resources included in Azure but also multi-cloud, on-premises and edge environments and utilize the opportunities Azure grants.


 Areas of Azure Arc Use

You can manage your cloud, on-prem and edge resource through one point; and bring the Windows & Linux servers that are growing with your needs, and Kubernetes clusters under control.

You can manage your Kubernetes apps with Github and Azure Policy, and make sure that they are scaled stably.

You can utilize many services and innovation Azure offers and ensure the security of your data and applications.

How Does Azure Arc Work?

Azure can manage your machines on-prem or on hybrid cloud with Connected Machine Agent, offer you statistics, or apply Azure Policy.

Once Azure finds out these resources, it can optimize your cluster structure and manage your automatic scaling actions when needed.

Azure provides one interface only for you to manage your resources in different environments. You can execute all the actions and manage all your structure through the Azure Portal that you are familiar with.


In addition, you can ensure the security of your different environments with Azure Security Center and take precautions against threatening factors. And you don’t have to be online all the time for these. You can keep using all these opportunities -including provisioning, flexible scaling, backup and monitoring- with the Local Azure Arc data administrator.


Azure Arc Services

There are 3 types of resources that you can manage with Azure Arc in your environments outside Azure:

  • Servers:  You can manage all your physical or virtual servers -doesn’t matter linux or windows- with Azure Arc.
  • Kubernetes Clusters:  Supports many Kubernetes deployments.
  • Azure Data Services: You can manage Azure SQL Database and PostgreSQL Hyperscale services.


With Azure Arc, you can benefit from the ease of management provided by Azure, services such as monitoring and upgrade, and security tools, and use Azure Portal, Azure CLI or Azure Powershell for all these operations while managing your non-Azure environments such as on-premise.

Azure Arc enabled Servers

With this service, you can include your physical and virtual servers that you use in environments other than Azure, in Azure. When you include a server in Azure, a Resource ID is assigned by Azure and treated as any Resource under a Resource Group included in your subscription. This type of machine is called a Connected Machine. You can now apply Azure Policy or “Tag” to your connected servers.

Connected Machine Agent must be installed on your server for this. The actions supported by this agent are:

  • With the Azure Policy Guest Configurations add-on, you can apply policies just like you apply to a machine in Azure.
  • With Azure Monitor for VMs, you can monitor your connected server’s resource consumption and the services it runs on.
  • You can easily setup different Azure VM add-ons such as Azure Automation State Configuration or Log Analytics.

Azure Arc enabled Kubernetes

With Azure Arc, you can add your Kubernetes clusters to Azure. When you do this, your cluster is given a Resource Manager ID by Azure and you can see it in the Azure Portal. Now you can manage your cluster like your other resources and apply some tags to them.

To include your cluster in Azure, you must install the agents of Azure Arc again. The task of these agents is to provide Azure connection, collect logs and metrics, and follow configuration requests.

The Azure Arc team has tested and validated the following Kubernetes deployments:

  • RedHat OpenShift 4.3
  • Rancher RKE 1.0.8
  • Canonical Charmed Kubernetes 1.18
  • AKS Engine
  • AKS Engine on Azure Stack Hub
  • Cluster API Provider Azure

Apart from these, Azure Arc enabled Kubernetes also supports all other Kubernetes clusters such as Cloud Native Computing Foundation (CNCF) certified VMware vSphere cluster or Google Kubernetes Engine (GKE).

With Azure Arc enabled Kubernetes service, you have the following possibilities:

By connecting your non-Azure clusters, you can execute actions like inventory, grouping and labeling.

  • With a GitOps-based configuration management, you can deploy and manage your applications.
  • You can view your cluster with Azure Monitor for Container
  • With Azure Policy for Kubernetes, you can apply some policies to your clusters.

Azure Arc-enabled Data Services

Thanks to Azure Arc, you can place your Azure Data services in non-Azure environments such as on-premise with a Kubernetes infrastructure of your choice and take advantage of many Azure possibilities such as flexible scaling of these services. You can also benefit from this service in your offline environments thanks to Azure Arc Data Controller.

Among the Azure Data services, Azure SQL Managed Instance and Azure Database for PostgreSQL Hyperscale are currently available for use, while others are also in progress.

NOTE: All of these services are still under development and are available for preview.

How To

Let’s take a look at what we can do step by step by including a local server in Azure. For this, we need to install the Connected Machine Agent on the machine that we will include in Azure.

There are several ways to do this as well: We can create a script for installation from the Azure Portal and wait for the steps to be completed by running this script on our server, or we can define a Service Principal in Azure Active Directory and connect a large number of machines to Azure in bulk, or we can use the Powershell DSC module for a batch number of operations.

  • In our current example, we will include one of our machines in Azure with a script we will create from the Azure Portal.
  • You can add a new machine by clicking “Add” in the top left on the “Machines-Azure Arc” page.
  • It will now ask you to choose a method – as I mentioned above. Here we will continue with the option “Add machines using interactive script”. Click on “Generate Script”.
  • Some information will be requested from you on the “Generate Script” page. First, you need to choose your subscription to include your new machine and the resource group where this resource will be placed. Next, select the Azure region where the metadata of this machine will be kept and the operating system of your machine. Finally, if you are using it, enter your proxy address and click “Review and create”.
  • You can see the information you entered on the “Review and create” page.


  • You can see the script prepared for you when you scroll down the page. This script will automatically download the installer for you and complete the necessary actions. If you wish, you can copy the script from here and run it on your machine or save it to your local computer by clicking the “Download” button below.


Now, all you need to do is to connect to the server and run this script. But, keep in mind that you have to have admin authority to execute these actions.

  • If your operating system is windows, open a powershell window “As administrator” and run the script. If you are using linux, run the script after opening a terminal window, using “sudo” or switching to root with “su -“.

Now, let’s include a linux server in Azure as an example. Let’s apply the script we have created in Azure Portal step by step. First, download the install package:


Şimdi de paketimizi yükleyelim:


As you can see, the install script has detected the operating system on its own: CentOS 8. And then in found and installed the package from the package repository of Microsoft.

Now, it is time to connect our machine to Azure:

Bu işlem sırasında bizden makinemizi onaylamamız için bir web tarayıcısından verilen adrese girip istenilen kodu yazmamız istendi.


And that’s it! All actions are complete. Now let’s open Azure Portal and check our machine:


As you might’ve noticed, now we can see our machine on the “Machines-Azure Arc” page. And on the right there are information we have entered to create the installation script.

Now, let’s check our resources:


Now this machine is no different than any virtual machine we will create on Azure and we can manage it as we want.


When we open the Overview page of our machine, we can access all information about it, and apply the operations we apply to other resources we have created on Azure from the menu on the left.

Start typing and press Enter to search