Merge pull request #6272 from MicrosoftDocs/do-landing

DO landing page and MCC articles
This commit is contained in:
Thomas Raya 2022-03-11 14:00:11 -06:00 committed by GitHub
commit 85be7913a4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
124 changed files with 1473 additions and 118 deletions

View File

@ -19331,6 +19331,36 @@
"source_path": "windows/whats-new/windows-11-whats-new.md",
"redirect_url": "/windows/whats-new/windows-11-overview",
"redirect_document_id": false
},
{
"source_path": "windows/deployment/update/waas-delivery-optimization.md",
"redirect_url": "/windows/deployment/do/waas-delivery-optimization",
"redirect_document_id": false
},
{
"source_path": "windows/deployment/update/delivery-optimization-proxy.md",
"redirect_url": "/windows/deployment/do/delivery-optimization-proxy",
"redirect_document_id": false
},
{
"source_path": "windows/deployment/update/delivery-optimization-workflow.md",
"redirect_url": "/windows/deployment/do/delivery-optimization-workflow",
"redirect_document_id": false
},
{
"source_path": "windows/deployment/update/waas-delivery-optimization-reference.md",
"redirect_url": "/windows/deployment/do/waas-delivery-optimization-reference",
"redirect_document_id": false
},
{
"source_path": "windows/deployment/update/waas-delivery-optimization-setup.md",
"redirect_url": "/windows/deployment/do/waas-delivery-optimization-setup",
"redirect_document_id": false
},
{
"source_path": "windows/deployment/update/waas-optimize-windows-10.md",
"redirect_url": "/windows/deployment/do/waas-optimize-windows-10",
"redirect_document_id": false
}
]
}

View File

@ -47,12 +47,12 @@
- name: Define your servicing strategy
href: update/plan-define-strategy.md
- name: Delivery Optimization for Windows client updates
href: update/waas-delivery-optimization.md
href: do/waas-delivery-optimization.md
items:
- name: Using a proxy with Delivery Optimization
href: update/delivery-optimization-proxy.md
href: do/delivery-optimization-proxy.md
- name: Delivery Optimization client-service communication
href: update/delivery-optimization-workflow.md
href: do/delivery-optimization-workflow.md
- name: Windows 10 deployment considerations
href: planning/windows-10-deployment-considerations.md
- name: Windows 10 infrastructure requirements
@ -83,7 +83,7 @@
- name: Update Baseline
href: update/update-baseline.md
- name: Set up Delivery Optimization for Windows client updates
href: update/waas-delivery-optimization-setup.md
href: do/index.yml
- name: Configure BranchCache for Windows client updates
href: update/waas-branchcache.md
- name: Prepare your deployment tools
@ -185,7 +185,7 @@
- name: Monitor Windows client updates
items:
- name: Monitor Delivery Optimization
href: update/waas-delivery-optimization-setup.md#monitor-delivery-optimization
href: do/waas-delivery-optimization-setup.md#monitor-delivery-optimization
- name: Monitor Windows Updates
items:
- name: Monitor Windows Updates with Update Compliance
@ -283,7 +283,7 @@
- name: Additional Windows Update settings
href: update/waas-wu-settings.md
- name: Delivery Optimization reference
href: update/waas-delivery-optimization-reference.md
href: do/waas-delivery-optimization-reference.md
- name: Windows client in S mode
href: s-mode.md
- name: Switch to Windows client Pro or Enterprise from S mode

View File

@ -72,7 +72,7 @@ Windows PowerShell cmdlets for Delivery Optimization have been improved:
- **Get-DeliveryOptimizationLogAnalysis** is a new cmdlet that provides a summary of the activity in your DO log (# of downloads, downloads from peers, overall peer efficiency). Use the **-ListConnections** option to for in-depth look at peer-to-peer connections.
- **Enable-DeliveryOptimizationVerboseLogs** is a new cmdlet that enables a greater level of logging detail to assist in troubleshooting.
Additional improvements in [Delivery Optimization](./update/waas-delivery-optimization.md) include:
Additional improvements in [Delivery Optimization](./do/waas-delivery-optimization.md) include:
- Enterprise network [throttling is enhanced](/windows-insider/archive/new-for-business#new-download-throttling-options-for-delivery-optimization-build-18917) to optimize foreground vs. background throttling.
- Automatic cloud-based congestion detection is available for PCs with cloud service support.
- Improved peer efficiency for enterprises and educational institutions with complex networks is enabled with [new policies](/windows/client-management/mdm/policy-csp-deliveryoptimization). This now supports Microsoft 365 Apps for enterprise updates and Intune content, with Microsoft Endpoint Manager content coming soon!

View File

@ -0,0 +1,42 @@
- name: Delivery Optimization for Windows client
href: index.yml
items:
- name: Get started
items:
- name: What is Delivery Optimization
href: waas-delivery-optimization.md
- name: What's new
href: whats-new-do.md
- name: Configure Delivery Optimization
items:
- name: Configure Windows Clients
items:
- name: Windows Delivery Optimization settings
href: waas-delivery-optimization-setup.md#recommended-delivery-optimization-settings
- name: Configure Microsoft Endpoint Manager
items:
- name: Delivery Optimization settings in Microsoft Intune
href: /mem/intune/configuration/delivery-optimization-windows
- name: Microsoft Connected Cache
items:
- name: MCC overview
href: waas-microsoft-connected-cache.md
- name: MCC for Enterprise and Education
href: mcc-enterprise.md
- name: MCC for ISPs
href: mcc-isp.md
- name: Resources
items:
- name: Set up Delivery Optimization for Windows
href: waas-delivery-optimization-setup.md
- name: Delivery Optimization reference
href: waas-delivery-optimization-reference.md
- name: Delivery Optimization client-service communication
href: delivery-optimization-workflow.md
- name: Using a proxy with Delivery Optimization
href: delivery-optimization-proxy.md

View File

@ -6,9 +6,9 @@ keywords: updates, downloads, network, bandwidth
ms.prod: w10
ms.mktglfcycl: deploy
audience: itpro
author: jaimeo
author: carmenf
ms.localizationpriority: medium
ms.author: jaimeo
ms.author: carmenf
ms.collection: M365-modern-desktop
ms.topic: article
---

View File

@ -29,12 +29,12 @@ This workflow allows Delivery Optimization to securely and efficiently deliver r
2. The authenticity of the content metadata file itself is verified prior to any content being downloaded using a hash that is obtained via an SSL channel from the Delivery Optimization service. The same channel is used to ensure the content is curated and authorized to leverage peer-to-peer.
3. When Delivery Optimization pulls a certain piece of the hash from another peer, it verifies the hash against the known hash in the content metadata file.
4. If a peer provides an invalid piece, that piece is discarded. When a peer sends multiple bad pieces, it's banned and will no longer be used as a source by the Delivery Optimization client performing the download.
5. If Delivery Optimization is unable to obtain the content metadata file, or if the verification of the hash file itself fails, the download will fall back to simple mode” (pulling content only from an HTTP source) and peer-to-peer won't be allowed.
5. If Delivery Optimization is unable to obtain the content metadata file, or if the verification of the hash file itself fails, the download will fall back to "simple mode” (pulling content only from an HTTP source) and peer-to-peer won't be allowed.
6. Once downloading is complete, Delivery Optimization uses all retrieved pieces of the content to put the file together. At that point, the Delivery Optimization caller (for example, Windows Update) checks the entire file to verify the signature prior to installing it.
## Delivery Optimization service endpoint and data information
|Endpoint hostname|Port|Name|Description|Data sent from the computer to the endpoint
|Endpoint hostname | Port|Name|Description|Data sent from the computer to the endpoint
|--------------------------------------------|--------|---------------|-----------------------|------------------------|
| geover-prod.do.dsp.mp.microsoft.com <br> geo-prod.do.dsp.mp.microsoft.com <br> geo.prod.do.dsp.mp.microsoft.com <br> geover.prod.do.dsp.mp.microsoft.com | 443 | Geo | Service used to identify the location of the device in order to direct it to the nearest data center. | **Profile**: The device type (for example, PC or Xbox) <br> **doClientVersion**: The version of the DoSvc client <br> **groupID**: Group the device belongs to (set with DownloadMode = '2' (Group download mode) + groupID group policy / MDM policies) |
| kv\*.prod.do.dsp.mp.microsoft.com | 443| KeyValue | Bootstrap service provides endpoints for all other services as well as device configs. | **countryCode**: The country the client is connected from <br> **doClientVersion**: The version of the DoSvc client <br> **Profile**: The device type (for example, PC or Xbox) <br> **eId**: Client grouping Id <br> **CacheHost**: Cache host id |

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 304 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 877 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 330 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 410 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 447 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 845 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 336 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 325 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 313 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 243 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 296 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 283 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 189 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 235 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 328 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 407 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 233 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 337 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 294 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 265 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

View File

@ -0,0 +1,97 @@
### YamlMime:Landing
title: Delivery Optimization for Windows client # < 60 chars
summary: Set up peer to peer downloads for Windows Updates and learn about Microsoft Connected Cache. # < 160 chars
metadata:
title: Delivery Optimization # Required; page title displayed in search results. Include the brand. < 60 chars.
description: Learn about using peer to peer downloads on Windows clients and learn about Microsoft Connected Cache. # Required; article description that is displayed in search results. < 160 chars.
services: windows-10
ms.service: windows-10 #Required; service per approved list. service slug assigned to your service by ACOM.
ms.subservice: subservice
ms.topic: landing-page # Required
ms.collection:
- windows-10
- highpri
author: greg-lindsay #Required; your GitHub user alias, with correct capitalization.
ms.author: greglin #Required; microsoft alias of author; optional team alias.
ms.date: 03/07/2022 #Required; mm/dd/yyyy format.
localization_priority: medium
# linkListType: architecture | concept | deploy | download | get-started | how-to-guide | learn | overview | quickstart | reference | tutorial | video | whats-new
landingContent:
# Cards and links should be based on top customer tasks or top subjects
# Start card title with a verb
# Card (optional)
- title: Overview
linkLists:
- linkListType: overview
links:
- text: What is Delivery Optimization
url: waas-delivery-optimization.md
- text: What's new in Delivery Optimization
url: whats-new-do.md
- text: Microsoft Connected Cache (MCC) overview
url: waas-microsoft-connected-cache.md
# Card (optional)
- title: Configure Delivery Optimization on Windows clients
linkLists:
- linkListType: how-to-guide
links:
- text: Delivery Optimization settings
url: waas-delivery-optimization-setup.md#recommended-delivery-optimization-settings
- text: Windows PowerShell for Delivery Optimization
url: waas-delivery-optimization-setup.md#windows-powershell-cmdlets
- text: Troubleshoot Delivery Optimization
url: waas-delivery-optimization-setup.md#troubleshooting
- text: Submit feedback
url: https://support.microsoft.com/help/4021566/windows-10-send-feedback-to-microsoft-with-feedback-hub-app
# Card (optional)
- title: Configure Delivery Optimization on Microsoft Endpoint Manager
linkLists:
- linkListType: how-to-guide
links:
- text: Optimize Windows 10 or later update delivery with Configuration Manager
url: /mem/configmgr/sum/deploy-use/optimize-windows-10-update-delivery#windows-delivery-optimization
- text: Delivery Optimization settings in Microsoft Intune
url: /mem/intune/configuration/delivery-optimization-windows
# Card
- title: Microsoft Connected Cache (MCC) for Enterprise and Education
linkLists:
- linkListType: deploy
links:
- text: MCC for Enterprise and Education (Private Preview)
url: mcc-enterprise.md
- text: Sign up
url: https://aka.ms/MSConnectedCacheSignup
# Card
- title: Microsoft Connected Cache (MCC) for Internet Service Providers (ISPs)
linkLists:
- linkListType: deploy
links:
- text: MCC for ISPs (Private Preview)
url: mcc-isp.md
- text: Sign up
url: https://aka.ms/MSConnectedCacheSignup
# Card (optional)
- title: Resources
linkLists:
- linkListType: learn
links:
- text: Introducing Microsoft Connected Cache
url: https://techcommunity.microsoft.com/t5/windows-it-pro-blog/introducing-microsoft-connected-cache-microsoft-s-cloud-managed/ba-p/963898
- text: Delivery Optimization reference
url: waas-delivery-optimization-reference.md
- text: Delivery Optimization client-service communication
url: delivery-optimization-workflow.md
- text: Using a proxy with Delivery Optimization
url: delivery-optimization-proxy.md

View File

@ -0,0 +1,549 @@
---
title: Microsoft Connected Cache for Enterprise and Education (private preview)
manager: dougeby
description: Details on Microsoft Connected Cache (MCC) for Enterprise and Education.
keywords: updates, downloads, network, bandwidth
ms.prod: w10
ms.mktglfcycl: deploy
audience: itpro
author: carmenf
ms.localizationpriority: medium
ms.author: carmenf
ms.collection: M365-modern-desktop
ms.topic: article
---
# Microsoft Connected Cache for Enterprise and Education (private preview)
**Applies to**
- Windows 10
- Windows 11
## Overview
> [!IMPORTANT]
> Microsoft Connected Cache is currently a private preview feature. During this phase we invite customers to take part in early access for testing purposes. This phase does not include formal support, and should not be used for production workloads. For more information, see [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/).
Microsoft Connected Cache (MCC) preview is a software-only caching solution that delivers Microsoft content within Enterprise networks. MCC can be deployed to as many physical servers or VMs as needed, and is managed from a cloud portal. Cache nodes are created in the cloud portal and are configured by applying a [client policy](/mem/intune/configuration/delivery-optimization-settings.md#local-server-caching) using your management tool, such as Intune.
MCC is a hybrid (a mix of on-prem and cloud resources) SaaS solution built as an Azure IoT Edge module; it's a Docker compatible Linux container that is deployed to your Windows devices. IoT Edge for Linux on Windows (EFLOW) was chosen because it's a secure, reliable container management infrastructure. EFLOW is a Linux virtual machine, based on Microsoft's first party CBL-Mariner operating system. Its built with the IoT Edge runtime and validated as a tier 1 supported environment for IoT Edge workloads. MCC will be a Linux IoT Edge module running on the Windows Host OS.
Even though your MCC scenario isn't related to IoT, Azure IoT Edge is used as a more generic Linux container, deployment, and management infrastructure. The Azure IoT Edge runtime sits on your designated MCC device and performs management and communication operations. The runtime performs the following important functionsto manage MCC on your edge device:
1. Installs and updates MCC on your edge device.
2. Maintains Azure IoT Edge security standards on your edge device.
3. Ensures that MCC is always running.
4. Reports MCC health and usage to the cloud for remote monitoring.
To deploy a functional MCC to your device, you must obtain the necessary keys that will provision the Connected Cache instance to communicate with Delivery Optimization services and enable the device to cache and deliver content. See [figure 1](#fig1) below for a summary of the architecture of MCC, built using IoT Edge.
For more information about Azure IoT Edge, see [What is Azure IoT Edge](/azure/iot-edge/about-iot-edge).
## How MCC works
The following steps describe how MCC is provisioned and used.
1. The Azure Management Portal is used to create MCC nodes.
2. The MCC container is deployed and provisioned to a server using the installer provided in the portal.
3. Client policy is configured in your management solution to point to the IP address or FQDN of the cache server.
4. Microsoft end-user devices make range requests for content from the MCC node.
5. An MCC node pulls content from the CDN, seeds its local cache stored on disk, and delivers content to the client.
6. Subsequent requests from end-user devices for content come from the cache.
If an MCC node is unavailable, the client will pull content from CDN to ensure uninterrupted service for your subscribers.
<a id="fig1">
![eMCC img01](images/emcc01.png)
</a>Figure 1: **MCC processes**. Each number in the diagram corresponds to the steps described above.
## Enterprise requirements for MCC
1. **Azure subscription**: MCC management portal is hosted within Azure and is used to create the Connected Cache [Azure resource](/azure/cloud-adoption-framework/govern/resource-consistency/resource-access-management.md) and IoT Hub resource both are free services.
Your Azure subscription ID is first used to provision MCC services, and enable access to the preview. The MCC server requirement for an Azure subscription will cost you nothing. If you do not have an Azure subscription already, you can create an Azure [Pay-As-You-Go](https://azure.microsoft.com/offers/ms-azr-0003p/) account which requires a credit card for verification purposes. For more information, see the [Azure Free Account FAQ](https://azure.microsoft.com/free/free-account-faq/).
The resources used for the preview and in the future when this product is ready for production will be completely free to you, like other caching solutions.
2. **Hardware to host MCC**: The recommended configuration will serve approximately 35000 managed devices, downloading a 2GB payload in 24-hour timeframe at a sustained rate of 6.5 Gbps.
**EFLOW Requires Hyper-V support**
- On Windows client, enable the Hyper-V feature
- On Windows Server, install the Hyper-V role and create a default network switch
Disk recommendations:
- Using an SSD is recommended as cache read speed of SSD is superior to HDD
NIC requirements:
- Multiple NICs on a single MCC instance aren't supported.
- 1 Gbps NIC is the minimum speed recommended but any NIC is supported.
- For best performance, NIC and BIOS should support SR-IOV
VM networking:
- An external virtual switch to support outbound and inbound network communication (created during the installation process)
### Sizing recommendations
| Component | Branch Office / Small Enterprise | Large Enterprise |
| -- | --- | --- |
| OS| Windows Server 2019*/2022 <br> Windows 10*/11 (Pro or Enterprise) with Hyper-V Support <br><br>* Windows 10 and Windows Server 2019 build 17763 or later | Same |
|NIC | 1 Gbps | 5 Gbps |
|Disk | SSD <br>1 drive <br>50GB each |SSD <br>1 drive <br>200GB each |
|Memory | 4GB | 8GB |
|Cores | 4 | 8 |
## Steps to deploy MCC
To deploy MCC to your server:
1. [Provide Microsoft with the Azure subscription ID](#provide-microsoft-with-the-azure-subscription-id)
2. [Create the MCC Resource in Azure](#create-the-mcc-resource-in-azure)
3. [Create an MCC Node](#create-an-mcc-node-in-azure)
4. [Edit Cache Node Information](#edit-cache-node-information)
5. [Install MCC on a physical server or VM](#install-mcc-on-windows)
6. [Verify proper functioning MCC server](#verify-proper-functioning-mcc-server)
7. [Review common Issues](#common-issues) if needed.
For questions regarding these instructions contact [msconnectedcache@microsoft.com](mailto:msconnectedcache@microsoft.com)
### Provide Microsoft with the Azure Subscription ID
As part of the MCC preview onboarding process an Azure subscription ID must be provided to Microsoft.
> [!IMPORTANT]
> [Contact Microsoft](mailto:mccforenterprise@microsoft.com?subject=[MCC%20for%20Enterprise]%20Please%20add%20our%20Azure%20subscription%20to%20the%20allow%20list) and provide this information if you have not already. You'll not be able to proceed if you skip this step.
For information about creating or locating your subscription ID, see [Steps to obtain an Azure Subscription ID](#steps-to-obtain-an-azure-subscription-id).
### Create the MCC resource in Azure
The MCC Azure management portal is used to create and manage MCC nodes. An Azure Subscription ID is used to grant access to the preview and to create the MCC resource in Azure and Cache nodes.
#### Use the following link and sign in to Azure
<https://portal.azure.com/?microsoft_azure_marketplace_ItemHideKey=Microsoft_ConnectedCache_EntHidden>
1. On the Azure Portal home page, choose **Create a resource**:
![eMCC img02](images/emcc02.png)
2. Type **Microsoft Connected Cache** into the search box, and hit **Enter** to show search results.
> [!NOTE]
> You'll not see Microsoft Connected Cache in the drop-down list. You need to type it and press enter to see the result.
3. Select **Microsoft Connected Cache** and choose **Create** on the next screen to start the process of creating the MCC resource.
![eMCC img03](images/emcc03.png)
![eMCC img04](images/emcc04.png)
4. Fill in the required fields to create the MCC resource.
- Choose the subscription that you provided to Microsoft.
- Azure resource groups are logical groups of resources. Create a new resource group and choose a name for your resource group.
- Choose **(US) West US** for the location of the resource. This choice will not impact MCC if the physical location isn't in the West US, it's just a limitation of the preview.
> [!NOTE]
> Your MCC resource will not be created properly if you do not select **(US) West US**
- Choose a name for the MCC resource.
> [!NOTE]
> Your MCC resource must not contain the word **Microsoft** in it.
![eMCC img05](images/emcc05.png)
5. Once all the information has been entered, click the **Review + Create** button. Once validation is complete, click the **Create** button to start the
resource creation.
![eMCC img06](images/emcc06.png)
#### Error: Validation failed
- If you get a Validation failed error message on your portal, it's likely because you selected the **Location** as **US West 2** or some other location that isn't **(US) West US**.
- To resolve this error, go to the previous step and choose **(US) West US**.
![eMCC img07](images/emcc07.png)
### Create an MCC node in Azure
Creating a MCC node is a multi-step process and the first step is to access the MCC private preview management portal.
1. After the successful resource creation click on the **Go to resource**.
2. Under **Cache Node Management** section on the leftmost panel, click on **Cache Nodes**.
![eMCC img08](images/emcc08.png)
3. On the **Cache Nodes** blade, click on the **Create Cache Node** button.
![eMCC img09](images/emcc09.png)
4. Clicking the **Create Cache Node** button will open the **Create Cache Node** page; **Cache Node Name** is the only field required for cache node creation.
| **Field Name** | **Expected Value** | **Description** |
|---------------------|--------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------|
| **Cache Node Name** | Alphanumeric name that includes no spaces. | The name of the cache node. You may choose names based on location like Seattle-1. This name must be unique and cannot be changed later. |
5. Enter the information for the **Cache Node** and click the **Create** button.
![eMCC img9.5](images/emcc09.5.png)
If there are errors, the form will provide guidance on how to correct the errors.
Once the MCC node has been created, the installer instructions will be exposed. More details on the installer instructions will be addressed later in this article, in the [Install Connected Cache](#install-mcc-on-windows) section.
![eMCC img10](images/emcc10.png)
#### Edit cache node information
Cache nodes can be deleted here by clicking the check box to the left of a **Cache Node Name** and then clicking the delete toolbar item. Be aware that if a cache node is deleted, there is no way to recover the cache node or any of the information related to the cache node.
![eMCC img11](images/emcc11.png)
### Install MCC on Windows
Installing MCC on your Windows device is a simple process. A PowerShell script performs the following tasks:
- Installs the Azure CLI
- Downloads, installs, and deploys EFLOW
- Enables Microsoft Update so EFLOW can stay up to date
- Creates a virtual machine
- Enables the firewall and opens ports 80 and 22 for inbound and outbound traffic. Port 80 is used by MCC, and port 22 is used for SSH communications.
- Configures Connected Cache tuning settings.
- Creates the necessary *FREE* Azure resource - IoT Hub/IoT Edge.
- Deploys the MCC container to server.
#### Run the installer
1. Download and unzip mccinstaller.zip from the create cache node page or cache node configuration page which contains the necessary installation files.
![eMCC img12](images/emcc12.png)
Files contained in the mccinstaller.zip file:
- **installmcc.ps1**: Main installer file.
- **installEflow.ps1**: Installs the necessary prerequisites such as the Linux VM, IoT Edge runtime, and Docker, and makes necessary host OS settings to optimize caching performance.
- **resourceDeploymentForConnectedCache.ps1**: Creates Azure cloud resources required to support MCC control plane.
- **mccdeployment.json**: Deployment manifest used by IoT Edge to deploy the MCC container and configure settings on the container, such as cache drive location sizes.
- **updatemcc.ps1**: The update script used to upgrade MCC to a particular version.
- **mccupdate.json**: Used as part of the update script
1. Open Windows PowerShell as administrator and navigate to the location of these files.
> [!NOTE]
> Ensure that Hyper-V is enabled on your device.
> Do not use PowerShell ISE, PowerShell 6.x, or PowerShell 7.x. Only Windows PowerShell version 5.x is supported.
**Windows 10:** [Enable Hyper-V on Windows 10](/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v)
**Windows Server:** [Install the Hyper-V role on Windows Server](/windows-server/virtualization/hyper-v/get-started/install-the-hyper-v-role-on-windows-server)
#### If you're installing MCC on a local virtual machine:
1. Enable Nested Virtualization
```powershell
Set -VMProcessor -VMName "VM name" -ExposeVirtualizationExtensions $true
```
2. Enable Mac Spoofing
```powershell
Get-VMNetworkAdapter -VMName "VM name" | Set-VMNetworkAdapter -MacAddressSpoofing On
```
**Virtual machine should be in the OFF state while enabling Nested Virtualization and Mac Spoofing**
3. Set the execution policy
```powershell
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process
```
> [!NOTE]
> After setting the execution policy, you'll see a warning asking if you wish to change the execution policy. Choose **[A] Yes to All**.
4. Copy the command from the portal and run it in Windows PowerShell
![eMCC img13](images/emcc13.png)
> [!NOTE]
> After running the command, and multiple times throughout the installation process, you'll receive the following notice. **Please select [R] Run once to proceed**.
> <br>
> <br>Security warning
> <br>Run only scripts that you trust. While scripts from the internet can be useful, this script can potentially harm your computer. If you trust this script, use the Unblock-File cmdlet to allow the script to run without this warning message. Do you want to run C:\\Users\\mccinstaller\\Eflow\\installmcc.ps1?
><br>
> <br>[D] Do not run **[R] Run once** [S] Suspend [?] Help (default is "D"):
3. Choose whether you would like to create a new virtual switch or select an existing one. Name your switch and select the Net Adapter to use for the switch. A computer restart will be required if you're creating a new switch.
> [!NOTE]
> Restarting your computer after creating a switch is recommended. You'll notice network delays during installation if the computer has not been restarted.
If you restarted your computer after creating a switch, start from Step 2 above and skip step 5.
![eMCC img14](images/emcc14.png)
4. Re-run the script after the restart. This time, choose **No** when asked to create a new switch. Enter the number corresponding to the switch you previously created.
![eMCC img15](images/emcc15.png)
5. Decide whether you would like to use dynamic or static address for the Eflow VM
![eMCC img16](images/emcc16.png)
> [!NOTE]
> Choosing a dynamic IP address might assign a different IP address when the MCC restarts.
> <br>A static IP address is recommended so you do not have to change this value in your management solution when MCC restarts.
6. Choose where you would like to download, install, and store the virtual hard disk for EFLOW. You'll also be asked how much memory, storage, and cores you would like to allocate for the VM. In this example, we chose the default values for all prompts.
7. Follow the Azure Device Login link and sign into the Azure Portal.
![eMCC img17](images/emcc17.png)
8. If this is your first MCC deployment, please select **n** so that a new IoT Hub can be created. If you have already configured MCC before, choose **y** so that your MCCs are grouped in the same IoT Hub.
1. You'll be shown a list of existing IoT Hubs in your Azure Subscription; Enter the number corresponding to the IoT Hub to select it. **You'll likely have only 1 IoT Hub in your subscription, in which case you want to enter “1”**
![eMCC img18](images/emcc18.png)
![eMCC img19](images/emcc19.png)
9. Your MCC deployment is now complete.
1. If you do not see any errors, please continue to the next section to validate your MCC deployment.
2. After validating your MCC is properly functional, please review your management solution documentation, such as [Intune](/mem/intune/configuration/delivery-optimization-windows), to set the cache host policy to the IP address of your MCC.
3. If you had errors during your deployment, see the [Troubleshooting](#troubleshooting) section in this article.
### Verify proper functioning MCC server
#### Verify Client Side
Connect to the EFLOW VM and check if MCC is properly running:
1. Open PowerShell as an Administrator
2. Enter the following commands:
```powershell
Connect-EflowVm
sudo -s
iotedge list
```
![eMCC img20](images/emcc20.png)
You should see MCC, edgeAgent, and edgeHub running. If you see edgeAgent or edgeHub but not MCC, please try this command in a few minutes. The MCC container can take a few minutes to deploy
#### Verify server side
For a validation of properly functioning MCC, execute the following command in the EFLOW VM or any device in the network. Replace \<CacheServerIP\> with the IP address of the cache server.
```powershell
wget [http://\<CacheServerIP\>/mscomtest/wuidt.gif?cacheHostOrigin=au.download.windowsupdate.com]()
```
A successful test result will look like this:
![eMCC img21](images/emcc21.png)
OR
![eMCC img22](images/emcc22.png)
Similarly, enter this URL from a browser in the network:
[http://YourCacheServerIP/mscomtest/wuidt.gif?cacheHostOrigin=au.download.windowsupdate.com]()
If the test fails, see the common issues section for more information.
### Intune (or other management software) configuration for MCC
Example of setting the cache host policy to the MCCs IP address / FQDN:
![eMCC img23](images/emcc23.png)
### Common Issues
#### PowerShell issues
If you're seeing errors similar to this: “The term Get-Something isn't recognized as the name of a cmdlet, function, script file, or operable program.”
1. Ensure you're running Windows PowerShell version 5.x.
2. Run \$PSVersionTable and ensure youre running version 5.x and *not version 6 or 7*.
3. Ensure you have Hyper-V enabled:
**Windows 10:** [Enable Hyper-V on Windows 10](/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v)
**Windows Server:** [Install the Hyper-V role on Windows Server](/windows-server/virtualization/hyper-v/get-started/install-the-hyper-v-role-on-windows-server)
#### Verify Running MCC Container
Connect to the Connected Cache server and check the list of running IoT Edge modules using the following commands:
```bash
Connect-EflowVm
sudo iotedge list
```
![eMCC img24](images/emcc24.png)
If edgeAgent and edgeHub containers are listed, but not “MCC”, you may view the status of the IoTEdge security manager using the command:
```bash
sudo journalctl -u iotedge -f
```
For example, this command will provide the current status of the starting, stopping of a container, or the container pull and start as is shown in the sample below:
![eMCC img25](images/emcc25.png)
Use this command to check the IoT Edge Journal
```bash
sudo journalctl -u iotedge f
```
Please note: You should consult the IoT Edge troubleshooting guide ([Common issues and resolutions for Azure IoT Edge](/azure/iot-edge/troubleshoot)) for any issues you may encounter configuring IoT Edge, but we have listed a few issues below that we hit during our internal validation.
## Diagnostics Script
If you're having issues with your MCC, we included a diagnostics script which will collect all your logs and zip them into a single file. You can then send us these logs via email for the MCC team to debug.
To run this script:
1. Navigate to the following folder in the MCC installation files:
mccinstaller \> Eflow \> Diagnostics
2. Run the following commands:
```powershell
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process
.\collectMccDiagnostics.ps1
```
3. The script stores all the debug files into a folder and then creates a tar file. After the script is finished running, it will output the path of the tar file which you can share with us (should be “**\<currentpath\>**\\mccdiagnostics\\support_bundle_\$timestamp.tar.gz”)
4. [Email the MCC team](mailto:mccforenterprise@microsoft.com?subject=Debugging%20Help%20Needed%20for%20MCC%20for%20Enterprise) and attach this file asking for debugging support. Screenshots of the error along with any other warnings you saw will be helpful during out debugging process.
## Update MCC
Throughout the private preview phase, we will send you security and feature updates for MCC. Please follow these steps to perform the update.
Run the following command with the **arguments** we provided in the email to update your MCC:
```powershell
# .\updatemcc.ps1 version="**\<VERSION\>**" tenantid="**\<TENANTID\>**" customerid="**\<CUSTOMERID\>**" cachenodeid="**\<CACHENODEID\>**" customerkey="**\<CUSTOMERKEY\>**"
```
For example:
```powershell
# .\updatemcc.ps1 version="msconnectedcacheprod.azurecr.io/mcc/linux/iot/mcc-ubuntu-iot-amd64:1.2.1.659" tenantid="799a999aa-99a1-99aa-99aa-9a9aa099db99" customerid="99a999aa-99a1-99aa-99aa-9aaa9aaa0saa" cachenodeid=" aa99aaaa-999a-9aas-99aa99daaa99 " customerkey="a99d999a-aaaa-aa99-0999aaaa99a”
```
## Uninstall MCC
Please contact the MCC Team before uninstalling to let us know if you're facing
issues.
This script will remove the following:
1. EFLOW + Linux VM
2. IoT Edge
3. Edge Agent
4. Edge Hub
5. MCC
6. Moby CLI
7. Moby Engine
To delete MCC, go to Control Panel \> Uninstall a program \> Select Azure IoT
Edge LTS \> Uninstall
## Appendix
### Steps to obtain an Azure Subscription ID
1. Sign in to https://portal.azure.com/ and navigate to the Azure services section.
2. Click on **Subscriptions**. If you do not see **Subscriptions**, click on the **More Services** arrow and search for **Subscriptions**.
3. If you already have an Azure Subscription, skip to step 5. If you do not have an Azure Subscription, select **+ Add** on the top left.
4. Select the **Pay-As-You-Go** subscription. You'll be asked to enter credit card information, but you'll not be charged for using the MCC service.
5. On the **Subscriptions** blade, you'll find details about your current subscription. Click on the subscription name.
6. After you select the subscription name, you'll find the subscription ID in the **Overview** tab. Click on the **Copy to clipboard** icon next to your Subscription ID to copy the value.
### Troubleshooting
If youre not able to sign up for a Microsoft Azure subscription with the error: **Account belongs to a directory that cannot be associated with an Azure subscription. Please sign in with a different account.** See [Can't sign up for a Microsoft Azure subscription](/troubleshoot/azure/general/cannot-sign-up-subscription).
Also see [Troubleshoot issues when you sign up for a new account in the Azure portal](/azure/cost-management-billing/manage/troubleshoot-azure-sign-up).
### IoT Edge runtime
The Azure IoT Edge runtime enables custom and cloud logic on IoT Edge devices.
The runtime sits on the IoT Edge device, and performs management and
communication operations. The runtime performs several functions:
- Installs and update workloads (Docker containers) on the device.
- Maintains Azure IoT Edge security standards on the device.
- Ensures that IoT Edge modules (Docker containers) are always running.
- Reports module (Docker containers) health to the cloud for remote monitoring.
- Manages communication between an IoT Edge device and the cloud.
For more information on Azure IoT Edge, please see the [Azure IoT Edge documentation](/azure/iot-edge/about-iot-edge).
### EFLOW
- [What is Azure IoT Edge for Linux on Windows](/azure/iot-edge/iot-edge-for-linux-on-windows)
- [Install Azure IoT Edge for Linux on Windows](/azure/iot-edge/how-to-provision-single-device-linux-on-windows-symmetric#install-iot-edge)
- [PowerShell functions for Azure IoT Edge for Linux on Windows](/azure/iot-edge/reference-iot-edge-for-linux-on-windows-functions)
- EFLOW FAQ and Support: [Support · Azure/iotedge-eflow Wiki (github.com)](https://github.com/Azure/iotedge-eflow/wiki/Support#how-can-i-apply-updates-to-eflow)
- [Now ready for Production: Linux IoT Edge Modules on Windows - YouTube](https://www.youtube.com/watch?v=pgqVCg6cxVU&ab_channel=MicrosoftIoTDevelopers)
### Routing local Windows Clients to an MCC
#### Get the IP address of your MCC using ifconfig
There are multiple methods that can be used to apply a policy to PCs that should participate in downloading from the MCC.
##### Registry Key
You can either set your MCC IP address or FQDN using:
1. Registry Key in 1709 and higher -
[HKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Microsoft\\Windows\\DeliveryOptimization]<br>
"DOCacheHost"=" "
From an elevated command prompt:
```
reg add "HKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Microsoft\\Windows\\DeliveryOptimization" /v DOCacheHost /t REG_SZ /d "10.137.187.38" /f
```
2. MDM Path in 1809 or higher:
.Vendor/MSFT/Policy/Config/DeliveryOptimization/DOCacheHost
3. In Windows release version 1809 and later, you can apply the policy via Group Policy Editor. The policy to apply is **DOCacheHost**. To configure the clients to pull content from the MCC using Group Policy, set the Cache Server Hostname (Setting found under Computer Configuration, Administrative Templates, Windows Components, Delivery Optimization) to the IP address of your MCC. For example 10.137.187.38.
![eMCC img26](images/emcc26.png)
**Verify Content using the DO Client**
To verify that Delivery Optimization client can download content using Microsoft Connected Cache you can execute the following steps:
1. Download a game or application from the Microsoft Store.
![eMCC img27](images/emcc27.png)
2. Verify downloads came from MCC by one of two methods:
- Using PowerShell Cmdlet Get-DeliveryOptimizationStatus you should see BytesFromCacheServer test
![eMCC img28](images/emcc28.png)
- Looking at the Delivery Optimization Activity Monitor
![eMCC img29](images/emcc29.png)
## Also see
[Microsoft Connected Cache for ISPs](mcc-isp.md)<br>
[Introducing Microsoft Connected Cache](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/introducing-microsoft-connected-cache-microsoft-s-cloud-managed/ba-p/963898)

View File

@ -0,0 +1,593 @@
---
title: Microsoft Connected Cache for Internet Service Providers (ISPs)
manager: dougeby
description: Details on Microsoft Connected Cache (MCC) for Internet Service Providers (ISPs).
keywords: updates, downloads, network, bandwidth
ms.prod: w10
ms.mktglfcycl: deploy
audience: itpro
author: carmenf
ms.localizationpriority: medium
ms.author: carmenf
ms.collection: M365-modern-desktop
ms.topic: article
---
# Microsoft Connected Cached for Internet Service Providers (ISPs)
**Applies to**
- Windows 10
- Windows 11
## Overview
> [!IMPORTANT]
> Microsoft Connected Cache is currently a private preview feature. During this phase we invite customers to take part in early access for testing purposes. This phase does not include formal support, and should not be used for production workloads. For more information, see [Supplemental Terms of Use for Microsoft Azure Previews](https://azure.microsoft.com/support/legal/preview-supplemental-terms/).
Microsoft Connected Cache (MCC) preview is a software-only caching solution that delivers Microsoft content within Enterprise networks. MCC can be deployed to as many physical servers or VMs as needed, and is managed from a cloud portal. Microsoft cloud services handle routing of consumer devices to the cache server for content downloads.
MCC is a hybrid (a mix of on-prem and cloud resources) SaaS solution built as an Azure IoT Edge module; it is a Docker compatible Linux container that is deployed to your Windows devices. IoT Edge for Linux on Windows (EFLOW) was chosen because it is a secure, reliable container management infrastructure. EFLOW is a Linux virtual machine, based on Microsoft's first party CBL-Mariner operating system. Its built with the IoT Edge runtime and validated as a tier 1 supported environment for IoT Edge workloads. MCC will be a Linux IoT Edge module running on the Windows Host OS. Azure IoT Edge consists of three components that the MCC infrastructure will utilize:
1. A cloud-based interface that enables secure, remote installation, monitoring, and management of MCC nodes.
2. A runtime that securely manages the modules deployed to each device.
3. Modules/containers that run the MCC functionality on your device.
## How MCC works
The following steps describe how MCC is provisioned and used.
1. The Azure Management Portal used to create and manage MCC nodes.
2. The MCC container is deployed and provisioned to the server.
3. The Azure Management Portal is used to configure Microsoft Delivery Optimization Services to route traffic to the MCC server by providing two pieces of information:
- The publicly accessible IPv4 address of the server hosting the MCC container.
- The CIDR blocks that represent the client IP address space, which should be routed to the MCC node.
4. Microsoft end-user devices periodically connect with Microsoft Delivery Optimization Services, and the services match the IP address of the client with the IP address of the corresponding MCC node.
5. Microsoft end-user devices make the range requests for content from the MCC node.
6. An MCC node pulls content from the CDN, seeds its local cache stored on disk, and delivers the content to the client.
7. Subsequent requests from end-user devices for content will now come from cache.
8. If the MCC node is unavailable, the client will pull content from CDN to ensure uninterrupted service for your subscribers.
![MCC overview 1](images/imcc01.png)
## ISP Requirements for MCC
1. **Azure subscription**: The MCC management portal is hosted within Azure, and is used to create the Connected Cache Azure resource and IoT Hub resource. Both are free services.
Your Azure subscription ID is first used to provision MCC services, and enable access to the preview. The MCC server requirement for an Azure subscription will cost you nothing. If you don't have an Azure subscription already, you can create an Azure [Pay-As-You-Go](https://azure.microsoft.com/offers/ms-azr-0003p/) account which requires a credit card for verification purposes. For more information, see the [Azure Free Account FAQ](https://azure.microsoft.com/free/free-account-faq/).
The resources used for the preview, and in the future when this product is ready for production, will be completely free to you - like other caching solutions.
> [!NOTE]
> If you request Exchange or Public peering in the future, business email addresses must be used to register ASN's, because Microsoft does not accept gmail or other non-business email addresses.
2. **Hardware to host MCC**: The recommended configuration will serve approximately 35,000 consumer devices, downloading a 2GB payload in 24-hour timeframe at a sustained rate of 6.5 Gbps.
Disk requirements:
- SSDs are recommended due to improved cache read speeds of SSD, compared to HDD.
- Using multiple disks is recommended to improve cache performance.
- RAID disk configurations are discouraged because cache performance will be impacted. If you're using RAID disk configurations, ensure striping.
- The maximum number of disks supported is 10.
NIC requirements:
- Multiple NICs on a single MCC instance are not supported.
- 10Gbps NIC is the minimum speed recommended, but any NIC is supported.
### Sizing recommendations
| Component | Minimum | Recommended |
| -- | --- | --- |
| OS | Ubuntu 20.04 LTS VM or physical server | Ubuntu 20.04 LTS VM or physical server (preferred) |
| NIC | 10 Gbps| at least 10 Gbps |
| Disk | SSD <br>1 drive <br>2TB each |SSD <br>2-4 drives <br>at least 2TB each |
| Memory | 8GB | 32GB or greater |
| Cores | 4 | 8 or more |
## Steps to deploy MCC
To deploy MCC:
1. [Provide Microsoft with the Azure subscription ID](#provide-microsoft-with-the-azure-subscription-id)
2. [Create the MCC Resource in Azure](#create-the-mcc-resource-in-azure)
3. [Create an MCC Node](#create-an-mcc-node-in-azure): IP address space approval information is required for this step.
4. [Edit Cache Node Information](#edit-cache-node-information)
5. [Set up your server](#set-up-a-server-with-sr-or-an-ubuntu)
6. [Install MCC on a physical server or VM](#install-mcc)
7. [Verify proper functioning MCC server](#verify-proper-functioning-mcc-server)
8. [Review the MCC summary report](#verify-server-side)
9. [Review common issues](#common-issues) if needed.
For questions regarding these instructions contact [msconnectedcache@microsoft.com](mailto:msconnectedcache@microsoft.com)
## Provide Microsoft with the Azure Subscription ID
As part of the MCC preview onboarding process an Azure subscription ID must be provided to Microsoft.
> [!IMPORTANT]
> [Contact Microsoft](mailto:mccforenterprise@microsoft.com?subject=[MCC%20for%20Enterprise]%20Please%20add%20our%20Azure%20subscription%20to%20the%20allow%20list) and provide your Azure subscription ID if you have not already. You'll not be able to proceed if you skip this step.
For information about creating or locating your subscription ID, see [Steps to obtain an Azure Subscription ID](#steps-to-obtain-an-azure-subscription-id).
### Create the MCC resource in Azure
The MCC Azure management portal is used to create and manage MCC nodes. An Azure Subscription ID is used to grant access to the preview and to create the MCC resource in Azure and Cache nodes.
Use the following link to sign in to Azure: <https://portal.azure.com/?microsoft_azure_marketplace_ItemHideKey=Microsoft_ConnectedCache_EntHidden>
1. Choose **Create a resource**
![eMCC img02](images/imcc02.png)
2. Type **Microsoft Connected Cache** into the search box, and hit **Enter** to show search results.
3. Select **Microsoft Connected Cache** and choose **Create** on the next screen to start the process of creating the MCC resource.
![iMCC img03](images/imcc03.png)
![iMCC img04](images/imcc04.png)
4. Fill in the required fields to create the MCC resource.
- Choose the subscription that you provided to Microsoft.
- Azure resource groups are logical groups of resources. Create a new resource group and choose a name for your resource group.
- Choose **(US) West US**” for the location of the resource. This choice will not impact MCC if the physical location isn't in the West US, it is just a limitation of the preview.
> [!NOTE]
> Your MCC resource will not be created properly if you don't select **(US) West US**
- Choose a name for the MCC resource.
![iMCC emg05](images/imcc05.png)
5. Once all the information has been entered, click the **Review + Create** button. Once validation is complete, click the **Create** button to start the
resource creation.
![iMCC img06](images/imcc06.png)
#### Error: Validation failed
- If you get a Validation failed error message on your portal, it is likely because you selected the **Location** as **US West 2** or some other location that isn't **(US) West US**.
- To resolve this error, go to the previous step and choose **(US) West US**.
![iMCC img07](images/imcc07.png)
### Create an MCC node in Azure
Creating a MCC node is a multi-step process and the first step is to access the MCC private preview management portal.
1. After the successful resource creation click on the **Go to resource**.
2. Under **Cache Node Management** section on the leftmost panel, click on **Cache Nodes**.
![iMCC img08](images/imcc08.png)
3. On the **Cache Nodes** blade, click on the **Create Cache Node** button.
![iMCC img09](images/imcc09.png)
4. Clicking the **Create Cache Node** button will open the **Create Cache Node** page; **Cache Node Name** is the only field required for cache node creation.
| **Field Name** | **Expected Value** | **Description** |
|-------------------------------|--------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Cache Node Name** | Alphanumeric name that includes no spaces. | The name of the cache node. You may choose names based on location like Seattle-1. This name must be unique and can't be changed later. |
| **Server II Address** | Ipv4 Address | IP address of your MCC server. This is used to route end-user devices in your network to the server for Microsoft content downloads. **The IP address must be publicly accessible.** |
| **Address Range/CIDR Blocks** | IPv4 CIDR notation | IP Address range/CIDR blocks that should be routed to the MCC server as a comma separated list. For example: 2.21.234.0/24 , 3.22.235.0/24 , 4.23.236.0/24 |
| **Enable Cache Node** | Enable/Disable Radio Button | **Enable** permits the cache node to receive content requests. <br>**Disable** prevents the cache node from receiving content requests. <br>Cache nodes are enabled by default. |
![iMCC img10](images/imcc10.png)
Hovering your cursor next to each field will populate the details of that field.
![iMCC img11](images/imcc11.png)
There are two other read-only fields on this page that are populated after the cache node is created:
| **Field Name** | **Description** |
|---------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **IP Space** | Number of IP addresses that will be routed to your cache server. |
| **Activation Keys** | Set of keys to activate your cache node with the MCC services. Copy the keys for use during install. The CustomerID is your Azure subscripiton ID. |
5. Enter the information for the Cache Node and click on the Create button. In the screenshot below only the Cache Node Name is provided, but all information can be included if desired.
![iMCC img12](images/imcc12.png)
If there are errors the form will provide guidance on how to correct the errors. For example:
- The cache node name is in use in the resource or is an incorrect format.
- If the CIDR block notation or list is incorrect.
- The server IP address or CIDR block are already in use.
See the following example with all information entered:
![iMCC img13](images/imcc13.png)
Once the MCC Node has been created, the installer instructions will be exposed. More details on the installer instructions will be addressed later in this doc can be found at the [Install Connected Cache](#install-mcc) section.
![iMCC img14](images/imcc14.png)
### IP address space approval
There are three states for IP address space that are explained in the table below. The preview will require approval from Microsoft CIDR block ranges that contain more than 50,000 IP addresses. In the future, MCC configuration will support BGP and will therefore have automatic routing capabilities.
| **IP address space status** | **Description** |
|------------------------|------------------------------------|
| **Valid** | The IP address space is below the 50,000 IP address space threshold and the space does not overlap with existing cache nodes. |
| **In Review** | The IP address space exceeds the 50,000 IP address space and is under review with Microsoft to ensure valid IP address space. |
| **Attention Required** | The IP address space has been reviewed and an issue was discovered. Some examples include: IP address space overlap with existing cache node belonging to another customer. IP address space was exceedingly large. Contact Microsoft for more information if your IP address space has this status. |
See the following example:
![iMCC img15](images/imcc15.png)
## Edit Cache Node Information
IP address or CIDR information can be modified for existing MCC nodes in the portal.
To edit IP address or CIDR information, click on the Cache Node Name which will open the Cache Node Configuration page. Cache nodes can be deleted here by clicking the check box to the left of a Cache Node Name and then clicking the delete toolbar item. Be aware that if a cache node is deleted, there is no way to recover the cache node or any of the information related to the cache node.
![iMCC img16](images/imcc16.png)
The Server IP Address, Address Range/CIDR Blocks, and Enable Cache Node are all editable as show below:
![iMCC img17](images/imcc17.png)
## Set up a server with SR or an Ubuntu
The MCC module is optimized for Ubuntu 20.04 LTS. Install Ubuntu 20.04 LTS on a physical server or VM of your choice. As discussed earlier, the recommended configuration (details below) will serve approximately 35,000 consumer devices downloading a 2GB payload in 24-hour timeframe at a sustained rate of 6.5 Gbps.
| | **Minimum** | **Recommended** |
|-------------|---------------------------------------------|----------------------------------------------------|
| **Server** | Ubuntu 20.04 LTS VM or physical server | Ubuntu 20.04 LTS VM or physical server (preferred) |
| **NIC** | 10 Gbps | 10 Gbps |
| **Disk** | SSD 1 2 drives minimum 2 TB each minimum | SSD 2 4 drives minimum 2 TB each minimum |
| **Memory** | 8 GB | 32 GB or more |
| **Cores** | 4 | 8 or more |
## Install MCC
Installing MCC on your physical server or VM is a straightforward process. A Bash script installer performs the following tasks:
- Azure IoT Edge relies on an OCI-compatible container runtime. The script
will install the Moby engine and CLI.
- Installs IoT Edge.
- Installs SSH to support remote access to the server
- Enables the firewall and opens port 80 for inbound and outbound traffic. Port 80 is used by MCC.
- Configures Connected Cache tuning settings.
- Creates the necessary *FREE* Azure resource - IoT Hub/IoT Edge.
- Deploys the MCC container to server.
> [!IMPORTANT]
> Ensure that port 5000 is open so Microsoft can verify proper functioning of the cache server
### Steps to install MCC
1. Download and unzip mccinstaller.zip from the create cache node page or cache node configuration page which contains the necessary installation files.
![iMCC img18](images/imcc18.png)
Files contained in the mccinstaller.zip file:
- **installmcc.sh** main installer file.
- **installIotEdge.sh** Installs the necessary prerequisites like IoT Edge runtime and Docker and makes necessary host OS settings to optimization caching performance.
- **resourceDeploymentForConnectedCache.sh** Creates Azure cloud resources required to support MCC control plane.
- **mccdeployment.json** Deployment manifest used by IoT Edge to deploy the MCC container and configure settings on the container like cache drives location sizes.
2. Copy all 4 installation files to your Linux server (physical or VM)
3. Before proceeding, ensure that you have a data drive configured on your server. You'll need to specify the location for this cache drive on step 9. Mimimum size for the data drive is 100GB. For instructions to mount a disk on a Linux VM, see [Attach a data disk to a Linux VM](/azure/virtual-machines/linux/attach-disk-portal#find-the-disk)
4. Open a terminal and change the access permissions to execute on the **installmcc.sh** Bash script file using chmod.
```bash
sudo chmod +x installmcc.sh
```
5. Copy the Bash script line provided and run the Bash script from the terminal.
![iMCC img19](images/imcc19.png)
6. You'll be prompted to sign in to the Azure Portal using a device code.
![iMCC img20](images/imcc20.png)
7. You'll be prompted to enter the Azure Container Registry (ACR) password for access to the MCC container.
![iMCC img21](images/imcc21.png)
8. You'll then be prompted with the number of drives to configure.
![iMCC img22](images/imcc22.png)
9. The script will prompt for location and size of the cache drives.
![iMCC img23](images/imcc23.png)
> [!IMPORTANT]
> The permissions / ownerships on the cache drive location will be changed to everyone via chmod 777<br>
> **Don't** point the cache drive location to any of the following: “**.**”, “**./var**”, “**/**”, “**\<space\>**”
Specifying any of the directories mentioned above will corrupt the VM and you
will need to provision a new one.
![iMCC img24](images/imcc24.png)
1. If this is your first MCC deployment, select “n” when
prompted for an IoT Hub. If this is **not** your first MCC deployment, you
can use an existing IoT hub from your previous MCC installation. After
selecting “Y”, we will display your existing IoT Hubs, you can copy and
paste the resulting IoT Hub name to continue.
![iMCC img25](images/imcc25.png)
2. If there are no errors go to the next step.
- If there are errors, inspect the installer logs which are under /etc/mccresourcecreation/.
- If there were follow the instructions to [Troubleshoot your IoT Edge device(/azure/iot-edge/troubleshoot).
## Verify Proper Functioning MCC Server
### Verify client side
Sign in to the Connected Cache server or ssh and run the following command from a terminal to see the running modules (containers):
```bash
sudo iotedge list
```
![iMCC img26](images/imcc26.png)
If **edgeAgent** and **8edgeHub** containers are listed, but not “MCC”, you may view the status of the IoTEdge security manager using the command:
```bash
sudo journalctl -u iotedge -f
```
For example, this command provides the current status of the starting, stopping of a container, or the container pull and start as is shown in the sample below:
![iMCC img27](images/imcc27.png)
### Verify server side
It can take a few minutes for the container to deploy.
For a validation of properly functioning MCC, run the following command in the terminal of the cache server or any device in the network. Replace \<CacheServerIP\> with the IP address of the cache server.
```bash
wget http://<CacheServerIP>/mscomtest/wuidt.gif?cacheHostOrigin=au.download.windowsupdate.com
```
A successful test result will look like this:
![iMCC img28](images/imcc28.png)
Similarly, enter the following URL into a web browser on the network:
```http
http://<CacheServerIP>/mscomtest/wuidt.gif?cacheHostOrigin=au.download.windowsupdate.com
```
If the test fails, see the [common issues](#common-issues) section below for more information.
## Common Issues
> [!NOTE]
> Consult the [IoT Edge troubleshooting guide](/azure/iot-edge/troubleshoot) for any issues you may encounter configuring IoT Edge. A few common issues are listed below.
Use the following command to check the IoT Edge Journal:
```bash
sudo journalctl -u iotedge f
```
## DNS needs to be configured
Run the following IoT Edge setup/install state check:
```bash
sudo iotedge check --verbose
```
If you see issues with ports 5671, 443, and 8883 similar to the screenshot below, it means that your IoT Edge device needs to update the DNS for Docker.
![iMCC img29](images/imcc29.png)
Follow the steps below to configure the device to work with your DNS:
1. Use ifconfig to find appropriate NIC adapter name.
```bash
ifconfig
```
2. Run nmcli device show \<network adapter\> to show you the DNS name for Ethernet adapter. For example to show DNS
information for eno1:
```bash
nmcli device show eno1
```
![iMCC img30](images/imcc30.png)
3. Open/create the Docker configuration file used to configure the DNS server
```bash
sudo nano /etc/docker/daemon.json
```
4. Paste the following into the daemon.json file (In the example above IP4.DNS[1] is used)
```bash
{ "dns": ["x.x.x.x"]}
```
5. Save the file changes to daemon.json. **Note**: You might need to change permissions on this file. For example:
```bash
sudo chmod 555 /etc/docker/daemon.json
```
6. Restart Docker (to pick up the new DNS) and restart IoTEdge
```bash
sudo systemctl restart dockersudo systemctl daemon-reloadsudo restart IoTEdge
```
## Diagnostics Script
If you're having issues with your MCC, we included a diagnostics script which will collect all your logs and zip them into a single file. You can then send us these logs via email for the MCC team to debug.
To run this script:
1. Navigate to the following folder in the MCC installation files:
**mccinstaller** \> **MccResourceInstall** \> **Diagnostics**
2. Run the following commands:
```bash
sudo chmod +x collectMccDiagnostics.sh
sudo ./collectMccDiagnostics.sh
```
3. The script stores all the debug files into a folder and the creates a tar file. After the script is finished running, it will output the path of the tar file that you can share with the MCC team. The file should be **/etc/mccdiagnostics/support_bundle_\$timestamp.tar.gz**.
4. [Email the MCC team](mailto:msconnectedcache@microsoft.com?subject=Debugging%20Support%20Request%20for%20MCC) and attach this tar file, asking for debugging support. Screenshots of the error along with any other warnings you saw will be helpful during out debugging process.
## Updating your MCC
Throughout the private preview phase, we will send you security and feature updates for MCC. Please follow these steps to perform the update.
Run the following commands with the **arguments** we provided in the email to update your MCC:
```bash
sudo chmod +x updatemcc.sh
sudo chmod +x installIoTEdge.sh
sudo ./updatemcc.sh version="\<**VERSION**\>" tenantid="\<**TENANTID**\>" customerid="\<**CUSTOMERID**\>" cachenodeid="\<**CACHENODEID**\>" customerkey="\<**CUSTOMERKEY**\>"
```
For example:
```bash
sudo ./updatemcc.sh version="msconnectedcacheprod.azurecr.io/mcc/linux/iot/mcc-ubuntu-iot-amd64:1.2.1.981" tenantid="799a999aa-99a1-99aa-99aa-9a9aa099db99" customerid="99a999aa-99a1-99aa-99aa-9aaa9aaa0saa" cachenodeid=" aa99aaaa-999a-9aas-99aa99daaa99 " customerkey="a99d999a-aaaa-aa99-0999aaaa99aa”
```
## Uninstalling MCC
In the zip file, you'll find the file **uninstallmcc.sh** which uninstalls MCC and all the related components. Please contact the MCC Team before running this script and only run this script if you're facing issues with MCC installation. **Exercise caution before running this script as existing IoT workflows in this VM will also be erased.**
The **uninstallmcc.sh** script will remove the following:
- IoT Edge
- Edge Agent
- Edge Hub
- MCC
- Moby CLI
- Moby Engine
To run the script, enter the following commands:
```bash
sudo chmod +x uninstallmcc.sh
sudo ./uninstallmcc.sh
```
## Appendix
### Steps to obtain an Azure Subscription ID
1. Sign in to https://portal.azure.com/ and navigate to the Azure services section.
2. Click on **Subscriptions**. If you don't see **Subscriptions**, click on the **More Services** arrow and search for **Subscriptions**.
3. If you already have an Azure Subscription, skip to step 5. If you don't have an Azure Subscription, select **+ Add** on the top left.
4. Select the **Pay-As-You-Go** subscription. You'll be asked to enter credit card information, but you'll not be charged for using the MCC service.
5. On the **Subscriptions** blade, you'll find details about your current subscription. Click on the subscription name.
6. After you select the subscription name, you'll find the subscription ID in the **Overview** tab. Click on the **Copy to clipboard** icon next to your Subscription ID to copy the value.
### Performance of MCC in Hypervisor environments
We have observed in hypervisor environments the cache server peak egress at around 1.1 Gbps. If you wish to maximize the egress in hypervisor environments it is critical to make two settings changes.
1. Enable **SR-IOV** in the BIOS AND enable **SR-IOV** in the NIC properties, and finally, enable **SR-IOV** in the hypervisors for the MCC VM. Microsoft has found these settings to double egress when using a Microsoft Hyper-V deployment.
2. Enable “high performance” in the BIOS as opposed to energy savings. Microsoft has found this setting nearly doubled egress a Microsoft Hyper-V deployment.
### Setting up a VM on Windows Server
You can use hardware that will natively run Ubuntu 20.04 LTS, or you can run an Ubuntu VM. The following steps describe how to set up a VM on Hyper-V.
1. Download the ISO. You can use either Ubuntu Desktop or Ubuntu Server.
1. [Download Ubuntu Desktop](https://ubuntu.com/download/desktop)
2. [Download Ubuntu Server](https://mirror.cs.jmu.edu/pub/ubuntu-iso/20.04.2/ubuntu-20.04.2-live-server-amd64.iso)
2. Start the **New Virtual Machine Wizard**, give your VM a name, and choose a location.
![iMCC img31](images/imcc31.png)
![iMCC img32](images/imcc32.png)
3. Choose a **Generation 2** VM, and specify the startup memory. You can't change the VM generation 2 later.
![iMCC img33](images/imcc33.png)
![iMCC img34](images/imcc34.png)
4. Choose the network adapter.
![iMCC img35](images/imcc35.png)
5. Set the virtual hard disk parameters. You should specify enough space for the OS and the content that will be cached. That example below allocates one terabyte.
![iMCC img36](images/imcc36.png)
6. Install from the ISO for Ubuntu 20.04 LTS that you downloaded.
![iMCC img37](images/imcc37.png)
7. Finish the creation of the Ubuntu VM.
![iMCC img38](images/imcc38.png)
8. Before you start the Ubuntu VM make sure secure boot is **disabled** and that you have allocated multiple cores to the VM. The example below has allocated 12, but your configuration may vary.
![iMCC img39](images/imcc39.png)
![iMCC img40](images/imcc40.png)
![iMCC img41](images/imcc41.png)
9. Start the VM and choose the option that will Install Ubuntu. Choose your default language.
![iMCC img42](images/imcc42.png)
![iMCC img43](images/imcc43.png)
10. Choose the options you wish for installing updates and third party hardware. In the example below, we have chosen to download updates and install
third party software drivers.
![iMCC img44](images/imcc44.png)
11. If you had a previous version of Ubuntu installed, we recommend erasing and installing Ubuntu 16.04. Choose your time zone, and keyboard layout.
![iMCC img45](images/imcc45.png)
![iMCC img46](images/imcc46.png)
![iMCC img47](images/imcc47.png)
![iMCC img48](images/imcc48.png)
12. Choose your username, a name for your computer, and a password. Remember, everything is case sensitive in Linux. You'll be asked to reboot in order to complete the installation.
![iMCC img49](images/imcc49.png)
![iMCC img50](images/imcc50.png)
13. **Important**: When prompted with the option to upgrade, decline.
![iMCC img51](images/imcc51.png)
![iMCC img52](images/imcc52.png)
Your Ubuntu VM should now be ready to [Install MCC](#install-mcc).
### IoT Edge runtime
The Azure IoT Edge runtime enables custom and cloud logic on IoT Edge devices. The runtime sits on the IoT Edge device, and performs management and communication operations. The runtime performs several functions:
- Installs and update workloads (Docker containers) on the device.
- Maintains Azure IoT Edge security standards on the device.
- Ensures that IoT Edge modules (Docker containers) are always running.
- Reports module (Docker containers) health to the cloud for remote
monitoring.
- Manages communication between an IoT Edge device and the cloud.
For more information on Azure IoT Edge, please see the [Azure IoT Edge documentation](/azure/iot-edge/about-iot-edge).
## Also see
[Microsoft Connected Cache for Enterprise and Education](mcc-enterprise.md)<br>
[Introducing Microsoft Connected Cache](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/introducing-microsoft-connected-cache-microsoft-s-cloud-managed/ba-p/963898)

Some files were not shown because too many files have changed in this diff Show More