Skip to content

Commit 9f768ea

Browse files
authored
Merge pull request #278667 from MicrosoftDocs/repo_sync_working_branch
Confirm merge from repo_sync_working_branch to main to sync with https://github.com/MicrosoftDocs/azure-docs (branch main)
2 parents c7273d2 + cda6dab commit 9f768ea

File tree

4 files changed

+50
-26
lines changed

4 files changed

+50
-26
lines changed

articles/azure-monitor/visualize/workbooks-data-sources.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,13 @@ This provider supports [JSONPath](workbooks-jsonpath.md).
9898

9999
Merging data from different sources can enhance the insights experience. An example is augmenting active alert information with related metric data. Merging data allows users to see not just the effect (an active alert) but also potential causes, for example, high CPU usage. The monitoring domain has numerous such correlatable data sources that are often critical to the triage and diagnostic workflow.
100100

101-
With workbooks, you can query different data sources. Workbooks also provide simple controls that you can use to merge or join data to provide rich insights. The *merge* control is the way to achieve it.
101+
With workbooks, you can query different data sources. Workbooks also provide simple controls that you can use to merge or join data to provide rich insights. The *merge* control is the way to achieve it. A single merge data source can do many merges in one step. For example, a *single* merge data source can merge results from a step using Azure Resource Graph with Azure Metrics, and then merge that result with another step using the Azure Resource Manager data source in one query item.
102+
103+
> [!NOTE]
104+
> Although hidden query and metrics steps run if they're referenced by a merge step, hidden query items that use the merge data source don't run while hidden.
105+
> A step that uses merge and attempts to reference a hidden step by using merge data source won't run until that hidden step becomes visible.
106+
> A single merge step can merge many data sources at once. There's rarely a case where a merge data source will reference another merge data source.
107+
102108

103109
### Combine alerting data with Log Analytics VM performance data
104110

articles/backup/azure-kubernetes-service-cluster-backup-concept.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ Azure Backup now allows you to back up AKS clusters (cluster resources and persi
3333

3434
- Before you install an extension in an AKS cluster, you must register the `Microsoft.KubernetesConfiguration` resource provider at the subscription level. Learn how to [register the resource provider](azure-kubernetes-service-cluster-manage-backups.md#resource-provider-registrations).
3535

36-
- Extension agent and extension operator are the core platform components in AKS, which are installed when an extension of any type is installed for the first time in an AKS cluster. These provide capabilities to deploy *1P* and *3P* extensions. The backup extension also relies on them for installation and upgrades.
36+
- Extension agent and extension operator are the core platform components in AKS, which are installed when an extension of any type is installed for the first time in an AKS cluster. These provide capabilities to deploy first-party and third-party extensions. The backup extension also relies on them for installation and upgrades.
3737

3838
>[!Note]
3939
>Both of these core components are deployed with aggressive hard limits on CPU and memory, with CPU *less than 0.5% of a core* and memory limit ranging from *50-200 MB*. So, the *COGS impact* of these components is very low. Because they are core platform components, there is no workaround available to remove them once installed in the cluster.
@@ -48,7 +48,7 @@ Many Azure services depend on *clusterAdmin kubeconfig* and the *publicly access
4848

4949
Your Azure resources access AKS clusters through the AKS regional gateway using system-assigned managed identity authentication. The managed identity must have the appropriate Kubernetes permissions assigned via an Azure resource role.
5050

51-
For AKS backup, the Backup vault accesses your AKS clusters via Trusted Access to configure backups and restores. The Backup vault is assigned a pre-defined role **Microsoft.DataProtection/backupVaults/backup-operator** in the AKS cluster, allowing it to only perform specific backup operations.
51+
For AKS backup, the Backup vault accesses your AKS clusters via Trusted Access to configure backups and restores. The Backup vault is assigned a predefined role **Microsoft.DataProtection/backupVaults/backup-operator** in the AKS cluster, allowing it to only perform specific backup operations.
5252

5353
To enable Trusted Access between a Backup vault and an AKS cluster, you must register the `TrustedAccessPreview` feature flag on `Microsoft.ContainerService` at the subscription level. Learn more [to register the resource provider](azure-kubernetes-service-cluster-manage-backups.md#enable-the-feature-flag).
5454

@@ -63,7 +63,7 @@ Learn [how to enable Trusted Access](azure-kubernetes-service-cluster-manage-bac
6363

6464
To enable backup for an AKS cluster, see the following prerequisites: .
6565

66-
- AKS backup uses CSI drivers snapshot capabilities to perform backups of persistent volumes. CSI Driver support is available for AKS clusters with Kubernetes version *1.21.1* or later.
66+
- AKS backup uses Container Storage Interface (CSI) drivers snapshot capabilities to perform backups of persistent volumes. CSI Driver support is available for AKS clusters with Kubernetes version *1.21.1* or later.
6767

6868
>[!Note]
6969
>- Currently, AKS backup only supports backup of Azure Disk-based persistent volumes (enabled by CSI driver). If you're using Azure File Share and Azure Blob type persistent volumes in your AKS clusters, you can configure backups for them via the Azure Backup solutions available for [Azure File Share](azure-file-share-backup-overview.md) and [Azure Blob](blob-backup-overview.md).

articles/backup/backup-azure-diagnostic-events.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ If you are still using the [legacy event](#legacy-event) Azure Backup Reporting
3535

3636
For more information, see [Data model for Azure Backup diagnostics events](./backup-azure-reports-data-model.md).
3737

38-
Data for these events can be sent to either a storage account, a Log Analytics workspace, or an event hub. If you're sending this data to a Log Analytics workspace, select the **Resource specific** toggle on the **Diagnostics settings** screen. For more information, see the following sections.
38+
Data for these events can be sent to either a storage account, a Log Analytics workspace, or an event hub. The storage account needs to be in the same region as the Recovery Services vaults. However, the Log Analytics workspace can be in a different region. If you're sending this data to a Log Analytics workspace, select the **Resource specific** toggle on the **Diagnostics settings** screen. For more information, see the following sections.
3939

4040
## Use diagnostics settings with Log Analytics
4141

@@ -144,6 +144,10 @@ Azure Backup and Azure Site Recovery events are sent from the same Recovery Serv
144144
145145
![Site Recovery events](./media/backup-azure-diagnostics-events/site-recovery-settings.png)
146146
147+
> [!NOTE]
148+
> When you create a Log Analytics workspace, it does not matter if the Recovery Services vault is located in a different region.
149+
150+
147151
To summarize:
148152
149153
* If you already have Log Analytics diagnostics set up with Azure Diagnostics and have written custom queries on top of it, keep that setting *intact* until you migrate your queries to use data from the new events.

articles/firewall-manager/migrate-to-policy.md

Lines changed: 35 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,22 @@ The beginning of the script defines the source firewall name and resource group
2525
Modify the following script to migrate your firewall configuration.
2626

2727
```azurepowershell
28-
#Input params to be modified as needed
29-
$FirewallResourceGroup = "AzFWMigrateRG"
28+
# Input params to be modified as needed
29+
$FirewallResourceGroup = "AzFWMigrateRG"
3030
$FirewallName = "azfw"
3131
$FirewallPolicyResourceGroup = "AzFWPolicyRG"
3232
$FirewallPolicyName = "fwpolicy"
3333
$FirewallPolicyLocation = "WestEurope"
34-
@@ -43,141 +44,186 @@ $InvalidCharsPattern = "[']"
35-
#Helper functions for translating ApplicationProtocol and ApplicationRule
34+
35+
$DefaultAppRuleCollectionGroupName = "ApplicationRuleCollectionGroup"
36+
$DefaultNetRuleCollectionGroupName = "NetworkRuleCollectionGroup"
37+
$DefaultNatRuleCollectionGroupName = "NatRuleCollectionGroup"
38+
$ApplicationRuleGroupPriority = 300
39+
$NetworkRuleGroupPriority = 200
40+
$NatRuleGroupPriority = 100
41+
$InvalidCharsPattern = "[']"
42+
43+
# Helper functions for translating ApplicationProtocol and ApplicationRule
3644
Function GetApplicationProtocolsString
3745
{
3846
Param([Object[]] $Protocols)
@@ -81,7 +89,7 @@ Function ParseRuleName
8189
Param([Object] $RuleName)
8290
if ($RuleName -match $InvalidCharsPattern) {
8391
$newRuleName = $RuleName -split $InvalidCharsPattern -join ""
84-
Write-Host "Rule $RuleName contains an invalid character. Invalid characters have been removed, rule new name is $newRuleName. " -ForegroundColor Cyan
92+
Write-Host "Rule $RuleName contains an invalid character. Invalid characters have been removed, rule new name is $newRuleName. " -ForegroundColor Yellow
8593
return $newRuleName
8694
}
8795
return $RuleName
@@ -100,8 +108,9 @@ else {
100108
$fwp = New-AzFirewallPolicy -Name $FirewallPolicyName -ResourceGroupName $FirewallPolicyResourceGroup -Location $FirewallPolicyLocation -ThreatIntelMode $azfw.ThreatIntelMode
101109
}
102110
Write-Host $fwp.Name "created"
111+
112+
# Translate ApplicationRuleCollection
103113
Write-Host "creating " $azfw.ApplicationRuleCollections.Count " application rule collections"
104-
#Translate ApplicationRuleCollection
105114
If ($azfw.ApplicationRuleCollections.Count -gt 0)
106115
{
107116
$firewallPolicyAppRuleCollections = @()
@@ -115,18 +124,19 @@ If ($azfw.ApplicationRuleCollections.Count -gt 0)
115124
{
116125
$cmd = GetApplicationRuleCmd($appRule)
117126
$firewallPolicyAppRule = Invoke-Expression $cmd
118-
Write-Host "Created appRule " $firewallPolicyAppRule.Name
127+
Write-Host "Created Application Rule: " $firewallPolicyAppRule.Name
119128
$firewallPolicyAppRules += $firewallPolicyAppRule
120129
}
121130
$fwpAppRuleCollection = New-AzFirewallPolicyFilterRuleCollection -Name $appRC.Name -Priority $appRC.Priority -ActionType $appRC.Action.Type -Rule $firewallPolicyAppRules
122-
Write-Host "Created appRuleCollection " $fwpAppRuleCollection.Name
131+
Write-Host "Created Application Rule Collection: " $fwpAppRuleCollection.Name
123132
}
124133
$firewallPolicyAppRuleCollections += $fwpAppRuleCollection
125134
}
126135
$appRuleGroup = New-AzFirewallPolicyRuleCollectionGroup -Name $DefaultAppRuleCollectionGroupName -Priority $ApplicationRuleGroupPriority -RuleCollection $firewallPolicyAppRuleCollections -FirewallPolicyObject $fwp
127-
Write-Host "Created ApplicationRuleCollectionGroup " $appRuleGroup.Name
136+
Write-Host "Created Application Rule Collection Group: " $appRuleGroup.Name
128137
}
129-
#Translate NetworkRuleCollection
138+
139+
# Translate NetworkRuleCollection
130140
Write-Host "creating " $azfw.NetworkRuleCollections.Count " network rule collections"
131141
If ($azfw.NetworkRuleCollections.Count -gt 0)
132142
{
@@ -170,18 +180,19 @@ If ($azfw.NetworkRuleCollections.Count -gt 0)
170180
$firewallPolicyNetRule = New-AzFirewallPolicyNetworkRule -Name $parsedName -SourceIpGroup $rule.SourceIpGroups -DestinationFqdn $rule.DestinationFqdns -DestinationPort $rule.DestinationPorts -Protocol $rule.Protocols
171181
}
172182
}
173-
Write-Host "Created network rule " $firewallPolicyNetRule.Name
183+
Write-Host "Created network rule: " $firewallPolicyNetRule.Name
174184
$firewallPolicyNetRules += $firewallPolicyNetRule
175185
}
176186
$fwpNetRuleCollection = New-AzFirewallPolicyFilterRuleCollection -Name $rc.Name -Priority $rc.Priority -ActionType $rc.Action.Type -Rule $firewallPolicyNetRules
177-
Write-Host "Created NetworkRuleCollection " $fwpNetRuleCollection.Name
187+
Write-Host "Created Network Rule Collection: " $fwpNetRuleCollection.Name
178188
}
179189
$firewallPolicyNetRuleCollections += $fwpNetRuleCollection
180190
}
181191
$netRuleGroup = New-AzFirewallPolicyRuleCollectionGroup -Name $DefaultNetRuleCollectionGroupName -Priority $NetworkRuleGroupPriority -RuleCollection $firewallPolicyNetRuleCollections -FirewallPolicyObject $fwp
182-
Write-Host "Created NetworkRuleCollectionGroup " $netRuleGroup.Name
192+
Write-Host "Created Network Rule Collection Group: " $netRuleGroup.Name
183193
}
184-
#Translate NatRuleCollection
194+
195+
# Translate NatRuleCollection
185196
# Hierarchy for NAT rule collection is different for AZFW and FirewallPolicy. In AZFW you can have a NatRuleCollection with multiple NatRules
186197
# where each NatRule will have its own set of source , dest, translated IPs and ports.
187198
# In FirewallPolicy a NatRuleCollection has a set of rules which has one condition (source and dest IPs and Ports) and the translated IP and ports
@@ -198,29 +209,32 @@ If ($azfw.NatRuleCollections.Count -gt 0)
198209
If ($rc.Rules.Count -gt 0)
199210
{
200211
Write-Host "creating " $rc.Rules.Count " nat rules for collection " $rc.Name
201-
202212
ForEach ($rule in $rc.Rules)
203213
{
204214
$parsedName = ParseRuleName($rule.Name)
205-
If ($rule.SourceAddresses)
206-
@@ -188,18 +234,19 @@ If ($azfw.NatRuleCollections.Count -gt 0) {
215+
If ($rule.SourceAddresses)
207216
{
208-
$firewallPolicyNatRule = New-AzFirewallPolicyNatRule -Name $parsedName -SourceIpGroup $rule.SourceIpGroups -TranslatedAddress $rule.TranslatedAddress -TranslatedPort $rule.TranslatedPort -DestinationAddress $rule.DestinationAddresses -DestinationPort $rule.DestinationPorts -Protocol $rule.Protocols
217+
$firewallPolicyNatRule = New-AzFirewallPolicyNatRule -Name $parsedName -SourceIpGroup $rule.SourceAddresses -TranslatedAddress $rule.TranslatedAddress -TranslatedPort $rule.TranslatedPort -DestinationAddress $rule.DestinationAddresses -DestinationPort $rule.DestinationPorts -Protocol $rule.Protocols
209218
}
219+
elseif ($rule.SourceIpGroups)
220+
{
221+
$firewallPolicyNatRule = New-AzFirewallPolicyNatRule -Name $parsedName -SourceIpGroup $rule.SourceIpGroups -TranslatedAddress $rule.TranslatedAddress -TranslatedPort $rule.TranslatedPort -DestinationAddress $rule.DestinationAddresses -DestinationPort $rule.DestinationPorts -Protocol $rule.Protocols
222+
}
210223
Write-Host "Created NAT rule: " $firewallPolicyNatRule.Name
211224
$firewallPolicyNatRules += $firewallPolicyNatRule
212225
}
213226
214227
$natRuleCollectionName = $rc.Name
215228
$fwpNatRuleCollection = New-AzFirewallPolicyNatRuleCollection -Name $natRuleCollectionName -Priority $priority -ActionType $rc.Action.Type -Rule $firewallPolicyNatRules
216229
$priority += 1
217-
Write-Host "Created NAT RuleCollection " $fwpNatRuleCollection.Name
230+
Write-Host "Created NAT Rule Collection: " $fwpNatRuleCollection.Name
218231
$firewallPolicyNatRuleCollections += $fwpNatRuleCollection
219232
}
220233
}
221-
$natRuleGroup = New-AzFirewallPolicyRuleCollectionGroup -Name $DefaultNatRuleCollectionGroupName -Priority $NatRuleGroupPriority -RuleCollection $firewallPolicyNatRuleCollections -FirewallPolicyObject $fwp
222-
Write-Host "Created NAT RuleCollectionGroup " $natRuleGroup.Name
234+
$natRuleCollectionGroup = New-AzFirewallPolicyRuleCollectionGroup -Name $DefaultNatRuleCollectionGroupName -Priority $NatRuleGroupPriority -RuleCollection $firewallPolicyNatRuleCollections -FirewallPolicyObject $fwp
235+
Write-Host "Created NAT Rule Collection Group: " $natRuleCollectionGroup.Name
223236
}
237+
224238
```
225239
## Next steps
226240

0 commit comments

Comments
 (0)