Partager via


Déployer des opérations déconnectées pour Azure Local (préversion)

Cet article explique comment déployer des opérations déconnectées pour Azure Local dans votre centre de données. Vous allez apprendre à déterminer la topologie locale Azure, à préparer la première machine, à installer l’appliance et à créer l’instance locale Azure pour améliorer la résilience et le contrôle.

Important

Cette fonctionnalité est actuellement en préversion. Consultez les conditions d’utilisation supplémentaires pour les préversions de Microsoft Azure.

Considérations clés

Lors du déploiement d’Azure Local avec des opérations déconnectées, tenez compte des points clés suivants :

  • La configuration réseau et les noms entrés dans le portail doivent être cohérents avec votre configuration et les commutateurs créés précédemment.
  • Les déploiements virtuels ne sont pas pris en charge. Les machines physiques sont requises.
  • Un minimum de trois machines est nécessaire pour prendre en charge les opérations déconnectées. Jusqu’à huit machines sont prises en charge.
  • Le déploiement du cluster local Azure peut prendre plusieurs heures.
  • Le plan de contrôle local peut rencontrer des périodes d’arrêt pendant les redémarrages et mises à jour des nœuds.
  • Lors de la création du cluster, un volume d’infrastructure de 2 To provisionné dynamiquement est créé pour les opérations déconnectées. Ne falsifiez pas ou supprimez les volumes d’infrastructure créés pendant le processus de déploiement.
  • Lorsque vous créez l’instance locale Azure, l’appliance de machine virtuelle des opérations déconnectées est déplacée vers le stockage de cluster et convertie en machine virtuelle en cluster.

Conditions préalables

Spécifications Détails
Matériel Planifier et comprendre le matériel
Identité Planifier et comprendre l’identité
Réseautage Planifier et comprendre la mise en réseau
Infrastructure à clé publique Planifier et comprendre l’infrastructure à clé publique (PKI)
Mettre en place Configurer des opérations déconnectées pour Azure Local

Pour plus d’informations, consultez la vue d’ensemble des opérations déconnectées locales Azure.

Pour plus d’informations sur les problèmes connus identifiés avec les opérations déconnectées pour Azure Local, consultez Problèmes connus pour les opérations déconnectées.

Liste de contrôle pour le déploiement d’opérations déconnectées

Voici une liste de contrôle des éléments dont vous avez besoin avant de déployer Azure Local avec des opérations déconnectées :

Séquence de déploiement

Dans cette préversion, vous pouvez déployer Azure Local avec des opérations déconnectées sur des unités de conservation de stock matériel non premier (SKU). Pour plus d’informations, consultez Le catalogue local Azure.

Vous déployez et configurez Azure Local avec des opérations déconnectées en plusieurs étapes. L’image suivante montre le parcours global, y compris après le déploiement.

Capture d’écran du flux de déploiement pour les opérations déconnectées dans Azure Local.

Voici une brève vue d’ensemble des outils et processus utilisés pendant le déploiement. L’accès aux nœuds locaux Azure (système d’exploitation ou hôte) peut être nécessaire.

  1. Utilisez les outils et processus existants pour installer et configurer le système d’exploitation. L’accès administrateur local est requis sur tous les nœuds locaux Azure.
  2. Exécutez PowerShell et le module Opérations sur la première machine (triée par nom de nœud, par exemple seed node). L’accès administrateur local est requis.
  3. Utilisez le portail Azure local ou Azure CLI. Vous n’avez pas besoin d’un accès au nœud physique, mais vous avez besoin d’Azure Role-Based Contrôle d’accès (RBAC) avec le rôle Propriétaire.
  4. Utilisez le portail Azure local ou Azure CLI. Vous n’avez pas besoin d’un accès au nœud physique, mais vous avez besoin d’Azure RBAC avec le rôle Opérateur.

Préparer des machines locales Azure

Pour préparer chaque ordinateur pour l’appliance d’opérations déconnectées, procédez comme suit :

  1. Téléchargez l’ISO locale Azure (2506 et versions ultérieures).

  2. Installez le système d’exploitation et configurez la mise en réseau de nœuds pour chaque machine locale Azure que vous envisagez d’utiliser pour former une instance. Pour plus d’informations, consultez Installer le système d’exploitation Azure Stack HCI.

  3. Sur le matériel physique, installez le microprogramme et les pilotes comme indiqué par votre OEM.

  4. Renommez les cartes réseau.

    Utilisez le même nom d'adaptateur sur chaque nœud pour le réseau physique. Si les noms par défaut ne sont pas clairs, renommez les adaptateurs en noms explicites. Si les noms de l’adaptateur correspondent déjà et que vous n’avez pas besoin de les renommer, ignorez cette étape.

    Voici un exemple :

     Rename-NetAdapter -Name "Mellanox #1" -NewName "ethernet"
     Rename-NetAdapter -Name "Mellanox #2" -NewName "ethernet 2" 
     # Other examples for naming e.g."storage port 0" 
    
  5. Configurez les commutateurs virtuels en fonction de votre réseau planifié :

    • Considérations relatives au réseau pour les déploiements cloud d’Azure Local.

    • Si votre plan réseau regroupe tout le trafic (gestion, calcul et stockage), créez un commutateur virtuel appelé ConvergedSwitch(ManagementComputeStorage) sur chaque nœud.

      # Example
      $networkIntentName = 'ManagementComputeStorage'
      New-VMSwitch -Name "ConvergedSwitch($networkIntentName)" -NetAdapterName "ethernet","ethernet 2"  
      
    • Si vous utilisez des réseaux locaux virtuels, veillez à définir le réseau local virtuel de carte réseau.

      Set-NetAdapter -Name "ethernet 1" -VlanID 10
      
  6. Renommez chaque nœud en fonction des conventions d’affectation de noms de vos environnements. Par exemple, azlocal-n1, azlocal-n2 et azlocal-n3.

  7. Vérifiez et vérifiez que vous disposez d’un espace disque suffisant pour le déploiement des opérations déconnectées.

    Vérifiez que vous disposez d’au moins 600 Go d’espace libre sur le lecteur que vous prévoyez d’utiliser pour le déploiement. Si votre lecteur a moins d’espace, utilisez un disque de données sur chaque nœud et initialisez-le afin que chaque nœud dispose des mêmes disques de données disponibles pour le déploiement.

    Voici comment initialiser un disque sur les nœuds et le mettre en forme pour une partition D :

    $availableDrives = Get-PhysicalDisk | Where-Object { $_.MediaType -eq "SSD" -or $_.MediaType -eq "NVMe" } | where -Property CanPool -Match "True" | Sort-Object Size -Descending
    $driveGroup = $availableDrives | Group-Object Size | select -First 1
    $biggestDataDrives = $availableDrives | select -First $($driveGroup.Count)
    $firstDataDrive= ($biggestDataDrives | Sort-Object DeviceId | select -First 1).DeviceId
    Initialize-Disk -Number $firstDataDrive
    New-partition -disknumber $firstDataDrive -usemaximumsize | format-volume -filesystem NTFS -newfilesystemlabel Data
    Get-partition -disknumber $firstDataDrive -PartitionNumber 2 | Set-Partition -NewDriveLetter D
    
  8. Sur chaque nœud, copiez la clé publique du certificat racine. Pour plus d’informations, consultez PKI pour les opérations déconnectées. Modifiez les chemins en fonction de l’emplacement et de la méthode que vous utilisez pour exporter votre clé publique pour créer des certificats.

    $applianceConfigBasePath = "C:\AzureLocalDisconnectedOperations\"
    $applianceRootCertFile = "C:\AzureLocalDisconnectedOperations\applianceRoot.cer"
    
    New-Item -ItemType Directory $applianceConfigBasePath
    Copy-Item \\fileserver\share\azurelocalcerts\publicroot.cer $applianceRootCertFile
    
    
  9. Copiez dans le dossier APPData/Azure Local et nommez-le azureLocalRootCert. Utilisez ces informations pendant le déploiement de l’appliance Arc.

    Copy-Item $applianceRootCertFile $($env:APPDATA)\AzureLocal\AzureLocalRootCert.cer
    
  10. Sur chaque nœud, importez la clé publique dans le magasin local :

    Import-Certificate -FilePath $applianceRootCertFile -CertStoreLocation Cert:\LocalMachine\Root -Confirm:$false
    

    Remarque

    Si vous utilisez une racine différente pour le certificat de gestion, répétez le processus et importez la clé sur chaque nœud.

  11. Installez et configurez l’interface CLI avec votre point de terminaison local sur chaque nœud.

  12. Définir la variable d’environnement pour prendre en charge les opérations déconnectées

    [Environment]::SetEnvironmentVariable("DISCONNECTED_OPS_SUPPORT", $true, [System.EnvironmentVariableTarget]::Machine)
    
  13. Recherchez la première machine dans la liste des noms de nœuds et spécifiez-la comme vous seednode souhaitez l’utiliser dans le cluster.

    $seednode = @('azlocal-1', 'azlocal-2','azlocal-3')|Sort|select –first 1
    $seednode
    

    Remarque

    Veillez à déployer des opérations déconnectées sur ce nœud.

Déployer des opérations déconnectées

Les opérations déconnectées doivent être déployées sur le nœud initial. Pour vous assurer que vous effectuez les étapes suivantes sur la première machine, consultez Préparer des machines locales Azure.

Pour préparer la première machine pour l’appliance d’opérations déconnectées, procédez comme suit :

  1. Modifiez votre chemin d’accès à l’emplacement correct.

    Si vous avez initialisé un disque de données ou que vous utilisez un chemin différent de C : modifiez le $applianceConfigBasePath.

    Voici un exemple :

    $applianceConfigBasePath = 'C:\AzureLocalDisconnectedOperations'
    
  2. Copiez les fichiers d’installation des opérations déconnectées (appliance et manifeste) sur le premier ordinateur. Enregistrez ces fichiers dans le dossier de base que vous avez créé précédemment.

    Copy-Item \\fileserver\share\azurelocalfiles\AzureLocal.DisconnectedOperations.zip $applianceConfigBasePath  
    Copy-Item \\fileserver\share\azurelocalfiles\AzureLocal.DisconnectedOperations.manifest  $applianceConfigBasePath  
    
  3. Vérifiez que vous disposez de ces deux fichiers dans votre dossier de base à l’aide de la commande suivante :

    • AzureLocal.DisconnectedOperations.zip

    • AzureLocal.DisconnectedOperations.manifest

      Get-ChildItem $applianceConfigBasePath  
      
  4. Extrayez le fichier zip dans le même dossier :

    Expand-Archive "$($applianceConfigBasePath)\AzureLocal.DisconnectedOperations.zip" -DestinationPath $applianceConfigBasePath  
    
  5. Vérifiez que vous disposez de ces trois fichiers à l’aide de la commande suivante :

    • OperationsModule (module PowerShell pour l’installation)

    • IRVM01.zip

    • AzureLocal.DisconnectedOperations.manifest

      Get-ChildItem $applianceConfigBasePath   
      

      Remarque

      À ce stade, supprimez le fichier pour économiser de l’espace AzureLocal.DisconnectedOperations.zip .

  6. Copiez le répertoire racine des certificats. Enregistrez ces fichiers dans le dossier de base que vous avez créé précédemment.

    $certsPath = "$($applianceConfigBasePath)\certs"  
    Copy-Item \\fileserver\share\azurelocalcerts $certspath -recurse  
    
  7. Vérifiez les certificats, la clé publique et le point de terminaison de gestion. Vous devez avoir deux dossiers : ManagementEndpointCerts et IngressEndpointsCerts au moins 24 certificats.

    Get-ChildItem $certsPath 
    Get-ChildItem $certsPath -recurse -filter *.cer  
    
  8. Installez la fonctionnalité BitLocker, y compris l’outil de gestion.

    Install-WindowsFeature BitLocker -IncludeAllSubFeature -IncludeManagementTools
    
  9. Importez le module Opérations. Exécutez la commande en tant qu’administrateur à l’aide de PowerShell. Modifiez le chemin d’accès pour qu’il corresponde à votre structure de dossiers.

    Import-Module "$applianceConfigBasePath\OperationsModule\Azure.Local.DisconnectedOperations.psd1" -Force    
    
    $mgmntCertFolderPath = "$certspath\ManagementEndpointCerts"  
    $ingressCertFolderPath = "$certspath\IngressEndpointsCerts"  
    

Initialiser les paramètres

Remplissez les paramètres requis en fonction de votre planification de déploiement. Modifiez les exemples pour qu’ils correspondent à votre configuration.

  1. Remplissez l’objet de configuration réseau de gestion.

    $CertPassword = "retracted"|ConvertTo-Securestring -AsPlainText -Force  
    $ManagementIngressIpAddress = "192.168.50.100"  
    $ManagementNICPrefixLength = 24  
    $mgmtNetworkConfigParams = @{  
        ManagementIpAddress = $ManagementIngressIpAddress  
        ManagementIpv4PrefixLength = $ManagementNICPrefixLength  
        TlsCertificatePath = "$mgmntCertFolderPath\ManagementEndpointSsl.pfx"  
        TlsCertificatePassword = $CertPassword  
        ClientCertificatePath = "$mgmntCertFolderPath\ManagementEndpointClientAuth.pfx"  
        ClientCertificatePassword = $CertPassword  
    }  
    $managementNetworkConfiguration = New-ApplianceManagementNetworkConfiguration @mgmtNetworkConfigParams  
    

    Remarque

    Le mot de passe des certificats doit être au format de chaîne sécurisée. Pour connaître les certificats relatifs au point de terminaison de gestion, consultez PKI pour les opérations déconnectées.

  2. Remplissez l’objet de configuration réseau d’entrée.

    $azureLocalDns = "192.168.200.150"  
    $NodeGw = "192.168.200.1"  
    $IngressIpAddress = "192.168.200.115"  
    $NICPrefixLength= 24  
    $ingressNetworkConfigurationParams = @{  
        DnsServer = $azureLocalDns  
        IngressNetworkGateway = $NodeGw  
        IngressIpAddress = $IngressIpAddress  
        IngressNetworkPrefixLength = $NICPrefixLength  
        ExternalDomainSuffix = "autonomous.cloud.private"
    }  
    $ingressNetworkConfiguration = New-ApplianceIngressNetworkConfiguration @ingressNetworkConfigurationParams  
    

    Pour plus d’informations sur la configuration réseau, consultez Mise en réseau pour les opérations déconnectées.

  3. Remplissez l’objet de configuration d’identité.

    $oidcCertChain = Get-CertificateChainFromEndpoint -requestUri 'https://adfs.azurestack.local/adfs'        
    # This can be ommitted if you don't have ldaps 
    $ldapsCertChain = Get-CertificateChainFromEndpoint -requestUri 'https://dc01.azurestack.local'
    # Ldaps default port (Non secure default = 389)
    $ldapPort = 636 
    
    $ldapPassword = 'RETRACTED'|ConvertTo-SecureString -AsPlainText -Force
    # Populate params with ldaps enabled.
    $identityParams = @{  
        Authority = "https://adfs.azurestack.local/adfs"  
        ClientId = "<ClientId>"  
        RootOperatorUserPrincipalName = "operator@azurestack.local"  
        LdapServer = "adfs.azurestack.local"  
        LdapPort = $ldapPort 
        LdapCredential = New-Object PSCredential -ArgumentList @("ldap", $ldapPassword)  
        SyncGroupIdentifier = "<SynGroupIdentifier>"     
        OidcCertChainInfo = $oidcCertChain
        LdapsCertChainInfo = $ldapsCertChain             
    }  
    $identityConfiguration = New-ApplianceExternalIdentityConfiguration @identityParams  
    

    Remarque

    LdapsCertChainInfo et OidcCertChain peut être omis complètement à des fins de débogage ou de démonstration. Pour plus d’informations sur la façon d’obtenir LdapsCertChainInfo et OidcCertChainInfo, consultez PKI pour les opérations déconnectées. Dans cette préversion, il existe un problème lié à l’exportation Get-CertificateChainFromEndpoint comme prévu. Utilisez les étapes décrites dans les problèmes connus pour les opérations déconnectées pour Azure Local afin d’atténuer ce problème.

    Pour plus d’informations, consultez Identité pour les opérations déconnectées.

  4. Remplissez l’objet de configuration des certificats externes.

    $ingressCertPassword = "retracted"|ConvertTo-Securestring -AsPlainText -Force  
    $certsParams = @{  
        certificatesFolder = $ingressCertFolderPath  
        certificatePassword = $ingressCertPassword  
    }  
    $CertificatesConfiguration = New-ApplianceCertificatesConfiguration @certsParams  
    

    Pour plus d’informations, consultez PKI pour les opérations déconnectées.

  5. Copiez le fichier manifeste de l’appliance (téléchargé à partir d’Azure) dans votre dossier de configuration :

    # Modify your source path accordingly 
    copy-item AzureLocal.DisconnectedOperations.Manifest.json $applianceConfigBasePath\AzureLocal.DisconnectedOperations.manifest.json
    

Installer et configurer l’appliance

Pour installer et configurer l’appliance sur le premier ordinateur, utilisez la commande suivante. Pointez sur AzureLocalInstallationFile un chemin qui contient le IRVM01.zip.

$azureLocalInstallationFile = "$($applianceConfigBasePath)"  
$applianceManifestJsonPath = Join-Path $applianceConfigBasePath AzureLocal.DisconnectedOperations.manifest.json

$installAzureLocalParams = @{  
    Path = $azureLocalInstallationFile  
    IngressNetworkConfiguration = $ingressNetworkConfiguration  
    ManagementNetworkConfiguration = $managementNetworkConfiguration  
    IngressSwitchName = "ConvergedSwitch($networkIntentName)"  
    ManagementSwitchName = "ConvergedSwitch($networkIntentName)"  
    ApplianceManifestFile = $applianceManifestJsonPath  
    IdentityConfiguration = $identityConfiguration  
    CertificatesConfiguration = $CertificatesConfiguration      
    DisableCheckSum = $true  
    AutoScaleVMToHostHW = $false  
}  

Install-Appliance @installAzureLocalParams -disconnectMachineDeploy -Verbose  

# Note: If you're deploying the appliance with limited connectivity you can ommit the flag -disconnectMachineDeploy. 

Remarque

Installez l’appliance sur la première machine pour vous assurer qu’Azure Local se déploie correctement. La configuration prend quelques heures et doit se terminer correctement avant de passer à l’étape. Une fois l’opération terminée, vous disposez d’un plan de contrôle local s’exécutant dans votre centre de données.

Si l’installation échoue en raison de paramètres réseau, d’identité ou d’observabilité incorrects, mettez à jour l’objet de configuration et réexécutez la Install-appliance commande.

Vous pouvez également spécifier le commutateur -clean pour démarrer l’installation à partir de zéro. Ce commutateur réinitialise tout état d’installation existant et commence à partir du début

DisableChecksum = $true ignore la validation de la signature de l’appliance. Utilisez-le lors du déploiement d’un environnement air-gapped dans cette version. Si la validation de somme de contrôle est activée , le nœud doit être en mesure d’atteindre et de valider les certificats de signature de certificat Microsoft utilisés pour signer cette build.

Configurer l’observabilité pour les diagnostics et la prise en charge

Nous vous recommandons de configurer l’observabilité pour obtenir les journaux générés par le système pour votre premier déploiement. Cela ne s'applique pas si vous envisagez d'exécuter en environnement isolé, car les journaux générés par le système et les diagnostics nécessitent une connectivité.

Les ressources Azure nécessaires :

  • Groupe de ressources dans Azure utilisé pour l’appliance.
  • Nom du principal de service (SPN) avec des droits de contributeur sur le groupe de ressources.

Pour configurer l’observabilité, procédez comme suit :

  1. Sur un ordinateur avec Azure CLI (ou à l’aide d’Azure Cloud Shell dans le portail Azure) créez le SPN. Exécutez le script suivant :

    $resourcegroup = 'azure-disconnectedoperations'
    $appname = 'azlocalobsapp'
    az login
    $g = (az group create -n $resourcegroup -l eastus)|ConvertFrom-Json
    az ad sp create-for-rbac -n $appname --role Owner --scopes $g.id
    
    # get the subscription id
    $j = (az account list|ConvertFrom-Json)|Where-object { $_.IsDefault}
    
    # SubscriptionID:
    $j.id
    

    Voici un exemple de sortie :

    {
      "appId": "<AppId>",
      "displayName": "azlocalobsapp",
      "password": "<RETRACTED>",
      "tenant": "<RETRACTED>"
    }
    <subscriptionID>
    
  2. Définissez la configuration de l’observabilité. Modifiez pour correspondre aux détails de votre environnement :

    $observabilityConfiguration = New-ApplianceObservabilityConfiguration -ResourceGroupName "azure-disconnectedoperations" `
      -TenantId "<TenantID>" `
      -Location "<Location>" `
      -SubscriptionId "<SubscriptionId>" `
      -ServicePrincipalId "<AppId>" `
      -ServicePrincipalSecret ("<Password>"|ConvertTo-SecureString -AsPlainText -Force)
    
    Set-ApplianceObservabilityConfiguration -ObservabilityConfiguration $observabilityConfiguration
    
  3. Vérifiez que l’observabilité est configurée :

    Get-ApplianceObservabilityConfiguration
    

Déploiements totalement déconnectés (air-gapped)

Pour activer Azure Local dans un déploiement entièrement air-gapped (nœuds sans connexion Internet directe), procédez comme suit sur chaque nœud :

  • Configurez le serveur de temps pour utiliser votre contrôleur de domaine. Modifiez le script et exécutez-le à partir de PowerShell :
w32tm /config /manualpeerlist:"dc.contoso.com" /syncfromflags:manual /reliable:yes /update
net stop w32time
net start w32time
w32tm /resync /rediscover
# Check your NTP settings
w32tm /query /peers

Téléchargez (ou copiez) les certificats suivants et importez-les dans le magasin d’approbations local :

Placez-les dans un dossier, par exemple, C :\AzureLocalDisconnectedOperations\Certs\

Importez les certificats en exécutant les éléments suivants :

Import-Certificate -FilePath C:\AzureLocalDisconnectedOperations\Certs\MicCodSigPCA2011_2011-07-08.crt -CertStoreLocation Cert:\LocalMachine\Root -Confirm:$false
Import-Certificate -FilePath C:\AzureLocalDisconnectedOperations\Certs\DigiCertGlobalRootCA.cer Cert:\LocalMachine\Root -Confirm:$false
Import-Certificate -FilePath C:\AzureLocalDisconnectedOperations\Certs\DigiCertGlobalRootG2.cer -CertStoreLocation Cert:\LocalMachine\Root -Confirm:$false

Créer un abonnement pour les nœuds locaux Azure (infrastructure)

Créez un abonnement pour vos nœuds Locaux Azure et l’instance locale Azure (cluster).

  1. Connectez-vous au portail Azure local à l’adresse https://portal.. Remplacez par votre nom de domaine.
  2. Accédez aux abonnements.
  3. Sélectionnez + Ajouter.
  4. Pour le nom de l’abonnement, entrez un nom tel que l’abonnement Starter.
  5. Sélectionnez le propriétaire de l’abonnement qui aura le rôle Propriétaire (RBAC) sur cet abonnement.
  6. Pour Emplacement, laissez la valeur définie sur Autonome.
  7. Sélectionnez Créer, attendez que l’opération se termine, puis actualisez le navigateur pour confirmer que le nouvel abonnement s’affiche.

Remarque

Vous pouvez également utiliser Azure CLI ou PowerShell pour automatiser ce processus.

Créer un groupe de ressources et un principal de service pour l’instance locale Azure

Utilisez le compte d’opérateur pour créer un SPN pour l’initialisation Arc de chaque nœud local Azure. Pour le démarrage, le rôle Propriétaire est requis au niveau de l’abonnement.

Pour créer le SPN, procédez comme suit :

  1. Configurez l’interface CLI sur votre ordinateur client et exécutez cette commande :

    $subscriptionName = 'Starter subscription'
    $resourcegroup = 'azurelocal-disconnected-operations'
    $appname = 'azlocalclusapp'      
    az cloud set -n 'azure.local'
    az login      
    az account set --subscription $subscriptionName
    $subscriptionId = az account show --query id --output tsv
    $g = (az group create -n $resourcegroup -l autonomous)|ConvertFrom-Json  
    az ad sp create-for-rbac -n $appname --role Owner --scopes "/subscriptions/$($subscriptionId)"  
    

    Voici un exemple de sortie :

    {  
      "appId": "<AppId>",  
      "displayName": "azlocalclusapp",  
      "password": "<RETRACTED>",  
      "tenant": "<RETRACTED>"  
    }  
    
    
  2. Copiez l’APPID et le mot de passe à utiliser à l’étape suivante.

    Remarque

    Planifiez l’abonnement et le groupe de ressources où vous souhaitez placer vos nœuds et votre cluster. L’action de déplacement de ressources n’est pas prise en charge.

    La ressource de cluster créée pendant le déploiement est utilisée pour les charges de travail telles que les machines virtuelles et Azure Kubernetes Services. Planifiez donc vos contrôles d’accès en fonction du rôle en conséquence.

    Ne placez pas la ressource de cluster dans l’abonnement de l’opérateur, sauf si vous envisagez de limiter cela aux seuls opérateurs disposant d’un accès total à d’autres opérations. Vous pouvez créer plus d’abonnements ou le placer dans l’abonnement de démarrage.

Inscrire les fournisseurs de ressources requis

Veillez à inscrire les fournisseurs de ressources requis avant le déploiement.

Voici un exemple d’automatisation de l’inscription des fournisseurs de ressources à partir d’Azure CLI.

    # Replace with the subscription you just created if you access to multiple subscriptions
    $subscriptionName = 'Starter subscription'
    az cloud set -n 'azure.local'
    az login          
    az account set --subscription $subscriptionName
    az provider register --namespace Microsoft.AzureStackHCI
    az provider register --namespace Microsoft.ExtendedLocation
    az provider register --namespace Microsoft.ResourceConnector
    az provider register --namespace Microsoft.EdgeArtifact
    az provider register --namespace Microsoft.KubernetesConfiguration
    az provider register --namespace Microsoft.HybridContainerService

Attendez que tous les fournisseurs de ressources soient inscrits à l’état.

Voici un exemple de commande Azure CLI pour répertorier tous les fournisseurs de ressources et leurs états.

    az provider list -o table

Remarque

Vous pouvez également inscrire ou afficher les états du fournisseur de ressources dans le portail local. Pour ce faire, accédez à votre abonnement, cliquez sur la flèche déroulante des paramètres, puis sélectionnez Fournisseurs de ressources.

Déployer Azure Local

Vous disposez maintenant d’un plan de contrôle déployé et configuré, d’un abonnement et d’un groupe de ressources créés pour votre déploiement local Azure, et (éventuellement) d’un SPN créé pour l’automatisation du déploiement.

Vérifiez le déploiement avant de créer des ressources Azure locales.

  1. Connectez-vous avec l’opérateur racine que vous avez défini pendant le déploiement ou utilisez un compte propriétaire d’abonnement.
  2. À partir d’un client disposant d’un accès réseau à votre adresse IP d’entrée, ouvrez votre navigateur et accédez à https://portal.<FQDN>. Remplacez par <FQDN> votre nom de domaine.
    • Vous êtes redirigé vers votre fournisseur d’identité pour vous connecter.
  3. Connectez-vous à votre fournisseur d’identité avec les informations d’identification que vous avez configurées pendant le déploiement.
    • Vous devriez voir le portail Azure s'exécuter dans votre réseau.
  4. Vérifiez qu’un abonnement existe pour votre infrastructure locale Azure (par exemple, abonnement Starter).
  5. Vérifiez que les fournisseurs de ressources requis sont inscrits dans l’abonnement.
  6. Vérifiez qu’un groupe de ressources existe pour votre infrastructure Azure Locale (par exemple, azurelocal-disconnected-operations).

Initialiser chaque nœud local Azure

Pour initialiser chaque nœud, procédez comme suit. Modifiez le cas échéant pour correspondre aux détails de votre environnement :

  1. Définissez la variable de configuration. Définissez le groupe de ressources, le nom du cloud, le chemin de configuration, l’ID d’application, la clé secrète client et le nom de domaine complet de l’appliance.

    $resourcegroup = 'azurelocal-disconnected-operations' # Needs to match the cloud name your configured CLI with.
    $applianceCloudName = "azure.local"
    $applianceConfigBasePath = "C:\AzureLocalDisconnectedOperations\"
    $appId = 'guid'
    $clientSecret = 'retracted'
    $applianceFQDN = "autonomous.cloud.private"
    
    
  2. Initialisez chaque nœud.

    Write-Host "az login to Disconnected operations cloud"    
    az cloud set -n $applianceCloudName --only-show-errors
    Write-Host "Login using service principal"    
    az login --service-principal --username $appId --password $clientSecret --tenant <TenantId>    
    # If you prefer interactive login..
    # Write-Host "Using device code login - complete the login from your browser"
    # az login --use-device-code
    
    Write-Host "Connected to Disconnected operations Cloud through az cli"
    
  3. Obtenez le jeton d’accès, l’ID de compte, l’ID d’abonnement et l’ID de locataire.

    $applianceAccessToken = ((az account get-access-token) | ConvertFrom-Json).accessToken
    $applianceAccountId = $(New-Guid).Guid
    $applianceSubscriptionId = ((az account show) | ConvertFrom-Json).id
    $applianceTenantId = ((az account show) | ConvertFrom-Json).tenantId
    
  4. Obtenez les détails de la configuration cloud.

    $cloudConfig = (az cloud show --n $applianceCloudName | ConvertFrom-Json)
    
  5. Définissez les paramètres d’environnement. Définissez les paramètres d’environnement à l’aide de la configuration cloud récupérée.

    $applianceEnvironmentParams = @{
    Name                                      = $applianceCloudName
    ActiveDirectoryAuthority                  = $cloudConfig.endpoints.activeDirectory
    ActiveDirectoryServiceEndpointResourceId  = $cloudConfig.endpoints.activeDirectoryResourceId
    GraphEndpoint                             = $cloudConfig.endpoints.activeDirectoryGraphResourceId
    MicrosoftGraphEndpointResourceId          = $cloudConfig.endpoints.microsoftGraphResourceId
    ResourceManagerEndpoint                   = $cloudConfig.endpoints.resourceManager
    StorageEndpoint                           = $cloudConfig.suffixes.storageEndpoint
    AzureKeyVaultDnsSuffix                    = $cloudConfig.suffixes.keyvaultDns
    ContainerRegistryEndpointSuffix           = $cloudConfig.suffixes.acrLoginServerEndpoint
    }
    Add-AzEnvironment @applianceEnvironmentParams -ErrorAction Stop | Out-Null
    Write-Host "Added azure.local Environment"
    
  6. Définissez le hachage de configuration.

    Write-Host "Setting azure.local configurations"
    $hash = @{
    AccountID        = $applianceAccountId
    ArmAccessToken   = $applianceAccessToken
    Cloud            = $applianceCloudName
    ErrorAction      = 'Stop'
    Region           = 'Autonomous'
    ResourceGroup    = $resourcegroup
    SubscriptionID   = $applianceSubscriptionId
    TenantID         = $applianceTenantId
    CloudFqdn        = $applianceFQDN
    }
    
  7. Activez chaque nœud et installez les extensions pour préparer la création du déploiement et du cluster cloud.

    # Important: This must be run on the first machine (seed node) before running it on other nodes. 
    Invoke-AzStackHciArcInitialization @hash
    Write-Host -Subject 'ARC node configuration completed'
    

    Remarque

    Vérifiez que vous exécutez l’initialisation sur la première machine avant de passer à d’autres nœuds.

    Les nœuds apparaissent dans le portail local peu après l’exécution des étapes, et les extensions apparaissent sur les nœuds quelques minutes après l’installation.

    Vous pouvez également utiliser l’application Configurator pour initialiser chaque nœud.

Précréer Azure KeyVault

En raison d’un problème connu d’Azure Key Vault qui peut entraîner des retards de déploiement longs, créez Azure Key Vault avant de déployer Azure Local.

Pour obtenir un exemple de code pour précréer le coffre de clés, consultez les problèmes connus

Après avoir créé le coffre de clés, attendez 20 minutes avant de poursuivre l’étape de déploiement du portail suivante.

Créer l’instance locale Azure (cluster)

Une fois les conditions préalables terminées, vous pouvez déployer Azure Local avec un plan de contrôle local entièrement aérien.

Procédez comme suit pour créer une instance locale Azure (cluster) :

  1. Accédez au portail local à partir d’un navigateur de votre choix.
  2. Accédez à portal.FQDN. Par exemple, https://portal.autonomous.cloud.private
  3. Sélectionnez vos nœuds et effectuez les étapes de déploiement décrites dans Déployer Azure Local à l’aide du portail Azure.

Remarque

Si vous créez Azure Key Vault pendant le déploiement, attendez environ 20 minutes pour que les autorisations RBAC prennent effet.

Si vous voyez une erreur de validation, il s’agit d’un problème connu. Les autorisations peuvent toujours se propager. Attendez un peu, actualisez votre navigateur et redéployez le cluster.

Tâches après le déploiement d’opérations déconnectées

Voici quelques tâches que vous devez effectuer après le déploiement d’Azure Local avec des opérations déconnectées :

  1. Sauvegardez les clés BitLocker (n’ignorez pas cette étape). Pendant le déploiement, votre appliance est chiffrée. Sans les clés de récupération des volumes, vous ne pouvez pas récupérer et restaurer l’appliance. Pour plus d’informations, consultez Comprendre les contrôles de sécurité avec des opérations déconnectées sur Azure Local.

  2. Attribuez des opérateurs supplémentaires. Vous pouvez affecter un ou plusieurs opérateurs en accédant aux abonnements opérateur. Attribuez le rôle contributeur au niveau de l’abonnement.

  3. Exportez les certificats de service guardian hôte et sauvegardez le dossier vers lequel vous les exportez sur un partage/lecteur externe.

Résoudre les problèmes et reconfigurer à l’aide du point de terminaison de gestion

Pour utiliser le point de terminaison de gestion pour la résolution des problèmes et la reconfiguration, vous avez besoin de l’adresse IP de gestion utilisée pendant le déploiement, ainsi que du certificat client et du mot de passe utilisés pour sécuriser le point de terminaison.

À partir d’un client disposant d’un accès réseau au point de terminaison de gestion, importez OperationsModule et définissez le contexte (modifiez le script pour qu’il corresponde à votre configuration) :

Import-Module "$applianceConfigBasePath\OperationsModule\Azure.Local.DisconnectedOperations.psd1" -Force

$password = ConvertTo-SecureString 'RETRACTED' -AsPlainText -Force  
$context = Set-DisconnectedOperationsClientContext -ManagementEndpointClientCertificatePath "${env:localappdata}\AzureLocalOpModuleDev\certs\ManagementEndpoint\ManagementEndpointClientAuth.pfx" -ManagementEndpointClientCertificatePassword $password -ManagementEndpointIpAddress "169.254.53.25"  

Après avoir défini le contexte, vous pouvez utiliser toutes les applets de commande de gestion fournies par le module Operations, telles que la réinitialisation de la configuration des identités, la vérification de l’état d’intégrité, etc.

Pour obtenir la liste complète des applets de commande fournies, utilisez PowerShell Get-Command -Module OperationsModule. Pour obtenir des détails sur chaque applet de commande, utilisez la Get-Help <cmdletname> commande.

Résoudre les problèmes : système non configuré

Après avoir installé l’appliance, vous pouvez voir cet écran pendant un certain temps. Laissez la configuration s’exécuter pendant 2 à 3 heures. Après avoir attendu 2 à 3 heures, l’écran disparaît et vous voyez le portail Azure standard. Si l’écran ne disparaît pas et que vous ne pouvez pas accéder au portail Azure local, résolvez le problème.

Capture d’écran montrant la page système n’est pas configurée.

  • Pour rechercher des journaux à partir d’OperationsModule sur la première machine, accédez à C:\ProgramData\Microsoft\AzureLocalDisconnectedOperations\Logs.

  • Pour afficher l’état d’intégrité de votre appliance, utilisez l’applet de commande du point de terminaison Get-ApplianceHealthState de gestion. Si vous voyez cet écran et que l’applet de commande ne signale aucune erreur et que tous les services signalent 100, ouvrez un ticket de support à partir du portail Azure.

Mettre à jour la configuration de l’appliance et réexécuter l’installation après un échec

Si votre appliance d’installation échoue, mettez à jour la configuration et réessayez.

Par exemple:

  • Si l’adresse IP est déjà utilisée.

    • Modifiez l’objet de configuration.

      Voici un exemple de modification de l’adresse IP d’entrée

      # Set a new IP address
      $ingressNetworkConfiguration.IngressIpAddress = '192.168.0.115'
      
  • Si l’appliance d’installation échoue pendant l’installation.

  • Si le déploiement de l’appliance a réussi et que vous mettez à jour la configuration réseau, consultez Get-Help Set-Appliance les paramètres que vous pouvez mettre à jour après le déploiement.

Cette fonctionnalité est disponible uniquement dans Azure Local 2506.