Skip to content

Commit 19668e4

Browse files
authored
Merge pull request #94350 from MicrosoftDocs/release-bobbytreed-azure-arc
Ignite Ship Room
2 parents d9a518e + 184a5c1 commit 19668e4

File tree

8 files changed

+678
-0
lines changed

8 files changed

+678
-0
lines changed

articles/azure-arc/index.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
### YamlMime:Landing
2+
title: Azure Arc
3+
summary: Azure Arc extends Azure Resource Manager capabilities to Linux and Windows servers, as well as Kubernetes clusters on any infrastructure across on-premises, multi-cloud, and edge. With Azure Arc, customers can also run Azure data services anywhere, realizing the benefits of cloud innovation, including always up-to-date data capabilities, deployment in seconds (rather than hours), and dynamic scalability on any infrastructure. Azure Arc for servers is currently in public preview.
4+
5+
metadata:
6+
title: Azure Arc for servers
7+
description: Learn about how to manage on-premises machines in Azure
8+
author: bobbytreed
9+
manager: carmonm
10+
ms.service: azure-arc
11+
ms.topic: landing-page
12+
ms.date: 11/04/2019
13+
ms.author: robreed
14+
15+
landingContent:
16+
17+
- title: Azure Arc overview
18+
linkLists:
19+
- linkListType: overview
20+
links:
21+
- text: Learn more about Azure Arc
22+
url: https://aka.ms/Azure-Arc-Info
23+
24+
- title: Connect machines to Azure using Azure Arc for servers
25+
linkLists:
26+
- linkListType: overview
27+
links:
28+
- text: What is Azure Arc for servers?
29+
url: ./servers/overview.md
30+
- linkListType: quickstart
31+
links:
32+
- text: Connect machines to Azure using Azure Arc for servers - Portal
33+
url: ./servers/quickstart-onboard-portal.md
34+
- text: Connect machines to Azure using Azure Arc for servers - PowerShell
35+
url: ./servers/quickstart-onboard-portal.md
Lines changed: 219 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,219 @@
1+
---
2+
title: Azure Connected Machine Agent CLI interface
3+
description: Reference documentation for the Azure Connected Machine agent CLI
4+
author: bobbytreed
5+
manager: carmonm
6+
services: azure-arc
7+
ms.service: azure-arc
8+
ms.subservice: azure-arc-servers
9+
ms.topic: reference
10+
ms.date: 11/04/2019
11+
ms.author: robreed
12+
---
13+
# Azure Connected Machine Agent CLI interface
14+
15+
The `Azcmagent` (Azure Connected Machine Agent) tool is used to configure and troubleshoot a non-azure machines connection to Azure.
16+
17+
The agent itself is a daemon process called `himdsd` on Linux, and a Windows Service called `himds` on Windows.
18+
19+
In normal usage, `azcmagent connect` is used to establish a connection between this machine and Azure, and
20+
`azcmagent disconnect` if you decide you no longer want that connection. The other commands are for troubleshooting
21+
or other special cases.
22+
23+
## Options
24+
25+
```none
26+
-h, --help help for azcmagent
27+
-v, --verbose Increase logging verbosity to show all logs
28+
```
29+
30+
## SEE ALSO
31+
32+
* [azcmagent connect](#azcmagent-connect) - Connects this machine to Azure
33+
* [azcmagent disconnect](#azcmagent-disconnect) - Disconnects this machine from Azure
34+
* [azcmagent reconnect](#azcmagent-reconnect) - Reconnects this machine to Azure
35+
* [azcmagent show](#azcmagent-show) - Gets machine metadata and Agent status. This is primarily useful for troubleshooting.
36+
* [azcmagent version](#azcmagent-version) - Display the Hybrid Management Agent version
37+
38+
## azcmagent connect
39+
40+
Connects this machine to Azure
41+
42+
### Synopsis
43+
44+
Creates a resource in Azure representing this machine.
45+
46+
This uses the authentication options provided to create a resource in Azure Resource Manager
47+
representing this machine. The resource is in the subscription and resource group requested,
48+
and data about the machine is stored in the Azure region specified by the location parameter.
49+
The default resource name is the hostname of this machine if not overridden.
50+
51+
A certificate corresponding to the System-Assigned Identity of this machine is then downloaded
52+
and stored locally. Once this step completes the **Azure Connected Machine Metadata** Service and Guest
53+
Configuration Agent begin synchronizing with Azure cloud.
54+
55+
Authentication options:
56+
57+
* Access Token
58+
`azcmagent connect --access-token <> --subscription-id <> --resource-group <> --location <>`
59+
* Service Principal ID and secret
60+
`azcmagent connect --service-principal-id <> --service-principal-secret <> --tenant-id <tenantid> --subscription-id <> --resource-group <> --location <>`
61+
* Device sign in (Interactive)
62+
`azcmagent connect --tenant-id <> --subscription-id <> --resource-group <> --location <>`
63+
64+
### Syntax
65+
66+
```none
67+
azcmagent connect [flags]
68+
```
69+
70+
### Options
71+
72+
```none
73+
--access-token string Access token
74+
-h, --help help for connect
75+
-l, --location string Location of the resource [Required]
76+
--physical-location string Physical location of the resource
77+
-g, --resource-group string Name of the resource group. [Required]
78+
-n, --resource-name string Name of the resource. Defaults to Host Name
79+
-i, --service-principal-id string Service Principal Id
80+
-p, --service-principal-secret string Service Principal Secret
81+
-s, --subscription-id string Subscription Id [Required]
82+
-t, --tags string Tags for resource
83+
--tenant-id string Tenant Id
84+
```
85+
86+
## azcmagent disconnect
87+
88+
Disconnects this machine from Azure
89+
90+
### Synopsis
91+
92+
Deletes the resource in Azure that represents this server.
93+
94+
This command uses the authentication options provided to remove the Azure Resource Manager
95+
resource representing this machine. After this point the **Azure Connected Machine Metadata Service**
96+
and Guest Configuration Agent will be disconnected. This command does not stop or remove
97+
the services: remove the package in order to do that.
98+
99+
This command requires higher privileges than the "Azure Connected Machine Onboarding" role.
100+
101+
Once a machine is disconnected, use `azcmagent connect`, not `azcmagent reconnect` if you want to create
102+
a new resource for it in Azure.
103+
104+
Authentication Options:
105+
106+
* Access Token
107+
`azcmagent disconnect --access-token <>`
108+
* Service Principal ID and secret
109+
`azcmagent disconnect --service-principal-id <> --service-principal-secret <> --tenant-id <tenantid>`
110+
* Interactive Device sign in
111+
`azcmagent disconnect --tenant-id <>`
112+
113+
### Syntax
114+
115+
```none
116+
azcmagent disconnect [flags]
117+
```
118+
119+
### Options
120+
121+
```none
122+
--access-token string Access token
123+
-h, --help help for disconnect
124+
-r, --resource-group string Name of the resource group
125+
-n, --resource-name string Name of the resource
126+
-i, --service-principal-id string Service Principal Id
127+
-p, --service-principal-secret string Service Principal Secret
128+
-s, --subscription-id string Subscription Id
129+
-t, --tenant-id string Tenant Id
130+
```
131+
132+
## azcmagent reconnect
133+
134+
Reconnects this machine to Azure
135+
136+
### Synopsis
137+
138+
Reconnect machine with invalid credentials to Azure.
139+
140+
If a machine already has a resource in Azure but is not able to authenticate to it, it can
141+
be reconnected using this command. This is possible if a machine was turned off long enough
142+
for its certificate to expire (at least 45 days).
143+
144+
If a machine was disconnected with `azcmagent disconnect`, use `azcmagent connect` instead.
145+
146+
This command uses the authentication options provided to retrieve new credentials corresponding
147+
to the Azure Resource Manager resource representing this machine.
148+
149+
This command requires higher privileges than the **Azure Connected Machine Onboarding** role.
150+
151+
Authentication Options
152+
153+
* Access Token
154+
`azcmagent reconnect --access-token <>`
155+
* Service Principal ID and secret
156+
`azcmagent reconnect --service-principal-id <> --service-principal-secret <> --tenant-id <tenantid>`
157+
* Interactive Device sign in
158+
`azcmagent reconnect --tenant-id <>`
159+
160+
### Syntax
161+
162+
```none
163+
azcmagent reconnect [flags]
164+
```
165+
166+
### Options
167+
168+
```none
169+
--access-token string Access token
170+
-h, --help help for reconnect
171+
-l, --location string Location of the resource
172+
-g, --resource-group string Name of the resource group.
173+
-n, --resource-name string Name of the resource. Defaults to Host Name
174+
-i, --service-principal-id string Service Principal Id
175+
-p, --service-principal-secret string Service Principal Secret
176+
-s, --subscription-id string Subscription Id
177+
--tenant-id string tenant id
178+
```
179+
180+
## azcmagent show
181+
182+
Gets machine metadata and Agent status. This is primarily useful for troubleshooting.
183+
184+
### Synopsis
185+
186+
Gets machine metadata and Agent status. This is primarily useful for troubleshooting.
187+
188+
189+
### Syntax
190+
191+
```
192+
azcmagent show [flags]
193+
```
194+
195+
### Options
196+
197+
```
198+
-h, --help help for show
199+
```
200+
201+
## azcmagent version
202+
203+
Display the Hybrid Management Agent version
204+
205+
### Synopsis
206+
207+
Display the Hybrid Management Agent version
208+
209+
### Syntax
210+
211+
```none
212+
azcmagent version [flags]
213+
```
214+
215+
### Options
216+
217+
```none
218+
-h, --help help for version
219+
```
43.2 KB
Loading
25.1 KB
Loading
Lines changed: 142 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,142 @@
1+
---
2+
title: Azure Arc for servers Overview
3+
description: Learn how to use Azure Arc for servers to automate the lifecycle of infrastructure and applications.
4+
services: azure-arc
5+
ms.service: azure-arc
6+
ms.subservice: azure-arc-servers
7+
author: bobbytreed
8+
ms.author: robreed
9+
keywords: azure automation, DSC, powershell, desired state configuration, update management, change tracking, inventory, runbooks, python, graphical, hybrid
10+
ms.date: 11/04/2019
11+
ms.custom: mvc
12+
ms.topic: overview
13+
---
14+
15+
# What is Azure Arc for servers
16+
17+
Azure Arc for servers allows you to manage machines which are outside of Azure.
18+
When a non-Azure machine is connected to Azure, it becomes a **Connected Machine** and is treated as a resource in Azure. Each **Connected Machine**
19+
has a Resource ID, is managed as part of a Resource Group inside a subscription, and benefits from standard Azure constructs such as Azure Policy and tagging.
20+
21+
An agent package needs to be installed on each machine to connect it to Azure. The rest of this document explains the process in more detail.
22+
23+
Machines will have a status of **Connected** or **Disconnected** based on how recently the agent has checked in. Each check-in is called a heartbeat. If a machine has not checked-in within the past 5 minutes, it will show as offline until connectivity is restored. <!-- For more information on troubleshooting agent connectivity, see [Troubleshooting Azure Arc for servers](troubleshoot/arc-for-servers.md). -->
24+
25+
![Connected servers](./media/overview/arc-for-servers-onboarded-servers.png)
26+
27+
## Clients
28+
29+
### Supported Operating Systems
30+
31+
In Public Preview, we support:
32+
33+
- Windows Server 2012 R2 and above
34+
- Ubuntu 16.04 and 18.04
35+
36+
The Public Preview release is designed for evaluation purposes and should not be used to manage critical production resources.
37+
38+
## Azure Subscription and Service Limits
39+
40+
Please make sure you read the Azure Resource Manager limits, and plan for the number of the machines to be connected according to the guideline listed for the [subscription](../../azure-subscription-service-limits.md#subscription-limits---azure-resource-manager), and for the [resource groups](../../azure-subscription-service-limits.md#resource-group-limits). In particular, by default there is a limit of 800 servers per resource group.
41+
42+
## Networking Configuration
43+
44+
During installation and runtime, the agent requires connectivity to **Azure Arc service endpoints**. If outbound connectivity is blocked by Firewalls, make sure that the following URLs are not blocked by default. All connections are outbound from the agent to Azure, and are secured with **SSL**. All traffic can be routed via an **HTTPS** proxy. If you allow the IP ranges or domain names that the servers are allowed to connect to, you must allow port 443 access to the following Service Tags and DNS Names.
45+
46+
Service Tags:
47+
48+
* AzureActiveDirectory
49+
* AzureTrafficManager
50+
51+
For a list of IP addresses for each service tag/region, see the JSON file - [Azure IP Ranges and Service Tags – Public Cloud](https://www.microsoft.com/download/details.aspx?id=56519). Microsoft publishes weekly updates containing each Azure Service and the IP ranges it uses. See [Service tags](https://docs.microsoft.com/azure/virtual-network/security-overview#service-tags), for more details.
52+
53+
These DNS Names are provided in addition to the Service Tag IP range information because the majority of services do not currently have a Service Tag registration and, as such, the IPs are subject to change. If IP ranges are required for your firewall configuration, then the **AzureCloud** Service Tag should be used to allow access to all Azure services. Do not disable security monitoring or inspection of these URLs, but allow them as you would other internet traffic.
54+
55+
| Domain Environment | Required Azure service endpoints |
56+
|---------|---------|
57+
|management.azure.com|Azure Resource Manager|
58+
|login.windows.net|Azure Active Directory|
59+
|dc.services.visualstudio.com|Application Insights|
60+
|agentserviceapi.azure-automation.net|Guest Configuration|
61+
|*-agentservice-prod-1.azure-automation.net|Guest Configuration|
62+
|*.his.hybridcompute.azure-automation.net|Hybrid Identity Service|
63+
64+
### Installation Network Requirements
65+
66+
Download the [Azure Connected Machine Agent package](https://aka.ms/AzureConnectedMachineAgent) from our official distribution servers the below sites must be accessible from your environment. You may choose to download the package to a file share and have the agent installed from there. In this case, the onboarding script generated from the Azure portal may need to be modified.
67+
68+
Windows:
69+
70+
* `aka.ms`
71+
* `download.microsoft.com`
72+
73+
Linux:
74+
75+
* `aka.ms`
76+
* `packages.microsoft.com`
77+
78+
See the section [Proxy server configuration](quickstart-onboard-powershell.md#proxy-server-configuration), for information on how to configure the agent to use your proxy.
79+
80+
## Register the required Resource Providers
81+
82+
Once the 'Feature Flag' registration has been approved, you must register the required Resource Providers.
83+
84+
* **Microsoft.HybridCompute**
85+
* **Microsoft.GuestConfiguration**
86+
87+
You can register the resource providers with the following commands:
88+
89+
Azure PowerShell:
90+
91+
```azurepowershell-interactive
92+
Login-AzAccount
93+
Set-AzContext -SubscriptionId [subscription you want to onboard]
94+
Register-AzResourceProvider -ProviderNamespace Microsoft.HybridCompute
95+
Register-AzResourceProvider -ProviderNamespace Microsoft.GuestConfiguration
96+
```
97+
98+
Azure CLI:
99+
100+
```azurecli-interactive
101+
az account set --subscription "{Your Subscription Name}"
102+
az provider register --namespace 'Microsoft.HybridCompute'
103+
az provider register --namespace 'Microsoft.GuestConfiguration'
104+
```
105+
106+
You can also register the Resource Providers using the portal by following the steps under [Azure portal](../../azure-resource-manager/resource-manager-supported-services.md#azure-portal).
107+
108+
## Supported Scenarios
109+
110+
After you register a node you can start managing your nodes using other Azure services.
111+
112+
In Public Preview, the following scenarios are supported for **Connected Machines**.
113+
114+
## Guest Configuration
115+
116+
After connect the machine to Azure, you can assign Azure policies to **Connected Machines** using the same experience as policy assignment to Azure virtual machines.
117+
118+
For more information, see [Understand Azure Policy's Guest Configuration](../../governance/policy/concepts/guest-configuration.md).
119+
120+
The Guest Configuration Agent logs for a **Connected Machine** are in the following locations:
121+
122+
* Windows - `%ProgramFiles%\AzureConnectedMachineAgent\logs\dsc.log`
123+
* Linux: - `/opt/logs/dsc.log`
124+
125+
## Log Analytics
126+
127+
Log data collected by the [Microsoft Monitoring Agent (MMA)](https://docs.microsoft.com/azure/azure-monitor/log-query/log-query-overview) and stored in Log Analytics workspace will now contain properties specific to the machine such as **ResourceId**, which can be used for the Resource centric log access.
128+
129+
- Machines that already have the MMA agent installed, will have **Azure Arc** functionality enabled via updated Management Packs.
130+
- [MMA agent version 10.20.18011 or above](https://docs.microsoft.com/azure/virtual-machines/extensions/oms-windows#agent-and-vm-extension-version) is required for Azure Arc for servers integration.
131+
- When querying for log data in [Azure Monitor](https://docs.microsoft.com/azure/azure-monitor/log-query/log-query-overview#log-queries), the returned data schema will contain the Hybrid **ResourceId** in the form `/subscriptions/<SubscriptionId/resourceGroups/<ResourceGroup>/providers/Microsoft.HybridCompute/machines/<MachineName>`.
132+
133+
For more information, see [Get started with Log Analytics in Azure Monitor](https://docs.microsoft.com/azure/azure-monitor/log-query/get-started-portal).
134+
135+
<!-- MMA agent version 10.20.18011 and later -->
136+
137+
## Next Steps
138+
139+
There are two methods to connect machines using Azure Arc for servers.
140+
141+
* **Interactively** - Follow the [Portal Quickstart](quickstart-onboard-portal.md) to generate a script from the portal and execute it on the machine. This is the best option if you are connecting one machine at a time.
142+
* **At Scale** - Follow the [PowerShell Quickstart](quickstart-onboard-powershell.md) to create a Service Principal to connect machines non-interactively.

0 commit comments

Comments
 (0)