Partager via


Utiliser le stockage de fichiers externes dans Azure Lab Services

Attention

Cet article fait référence à CentOS, une distribution Linux proche de l’état EOL (End Of Life). Faites le point sur votre utilisation afin de vous organiser en conséquence. Pour plus d’informations, consultez l’aide relative à la fin de vie de CentOS.

Cet article aborde certaines des options d’utilisation du stockage de fichiers externes lorsque vous utilisez Azure Lab Services. Azure Files fournit des partages de fichiers entièrement managés dans le cloud, accessibles via SMB 2.1 et SMB 3.0. Un partage Azure Files peut être connecté publiquement ou en privé au sein d’un réseau virtuel. Vous pouvez également configurer le partage pour utiliser les informations d’identification à Active Directory d’un utilisateur de labo pour la connexion au partage de fichiers. Si vous êtes sur une machine Linux, vous pouvez également utiliser Azure NetApp Files avec des volumes NFS pour le stockage de fichiers externes avec Azure Lab Services.

Choix de la solution à utiliser

Le tableau suivant répertorie les considérations importantes pour chaque solution de stockage externe.

Solution À savoir
Partage Azure Files avec un point de terminaison public
  • Tout le monde dispose d’un accès en lecture/écriture.
  • Aucun appairage de réseaux virtuels n’est requis.
  • Accessible à toutes les machines virtuelles, pas seulement aux machines virtuelles de labo.
  • Si vous utilisez Linux, les utilisateurs du labo ont accès à la clé du compte de stockage.
Partage Azure Files avec un point de terminaison privé
  • Tout le monde dispose d’un accès en lecture/écriture.
  • L’appairage de réseaux virtuels est obligatoire.
  • Accessible uniquement aux machines virtuelles sur le même réseau (ou réseau homologue) que le compte de stockage.
  • Si vous utilisez Linux, les utilisateurs du labo ont accès à la clé du compte de stockage.
Azure NetApp Files avec volumes NFS
  • L’accès en lecture ou en lecture/écriture peut être défini pour les volumes.
  • Les autorisations sont définies à l’aide de l’adresse IP de la machine virtuelle d’un labo.
  • L’appairage de réseaux virtuels est obligatoire.
  • Vous devrez peut-être vous inscrire pour utiliser le service Azure NetApp Files.
  • Linux uniquement.

Le coût d’utilisation du stockage externe n’est pas inclus dans le coût d’utilisation d’Azure Lab Services. Pour plus d’informations sur la tarification, consultez Tarifs Azure Files et Tarifs Azure NetApp Files.

Partage Azure Files

Les partages Azure Files sont accessibles à l’aide d’un point de terminaison public ou privé. Vous montez les partages sur une machine virtuelle à l’aide de la clé de compte de stockage comme mot de passe. Avec cette approche, tout le monde dispose d’un accès en lecture-écriture au partage de fichiers.

Par défaut, les partages de fichiers standard peuvent atteindre 5 Tio. Consultez Créer un partage de fichiers Azure pour savoir comment créer des partages de fichiers pouvant atteindre 100 Tio.

Considérations relatives à l’utilisation d’un point de terminaison public

  • Le réseau virtuel pour le compte de stockage ne doit pas être connecté au réseau virtuel de labo. Vous pouvez créer le partage de fichiers à tout moment avant la publication du modèle de machine virtuelle.
  • Le partage de fichiers est accessible à partir de n’importe quelle machine si un utilisateur possède la clé de compte de stockage.
  • Les utilisateurs du labo Linux peuvent voir la clé du compte de stockage. Les informations d’identification pour le montage d’un partage Azure Files sont stockées dans {file-share-name}.cred sur des machines virtuelles Linux et lisibles par sudo. Étant donné que les utilisateurs du labo reçoivent un accès sudo par défaut dans les machines virtuelles Azure Lab Services, ils peuvent lire la clé du compte de stockage. Si le point de terminaison du compte de stockage est public, les utilisateurs du labo peuvent accéder au partage de fichiers en dehors de leur machine virtuelle de labo. Envisagez de faire pivoter la clé du compte de stockage après la fin de la classe ou d’utiliser des partages de fichiers privés.

Considérations relatives à l’utilisation d’un point de terminaison privé

  • Cette approche nécessite que le réseau virtuel de partage de fichiers soit connecté au labo. Pour activer la mise en réseau avancée pour les laboratoires, consultez Connecter à votre réseau virtuel dans Azure Lab Services à l’aide d’une injection de réseau virtuel. L’injection de réseau virtuel doit être effectuée lors de la création du plan de laboratoire.
  • L’accès est limité au trafic provenant du réseau privé et n’est pas accessible via l’Internet public. Seules les machines virtuelles du réseau virtuel privé, les machines virtuelles d’un réseau homologué au réseau virtuel privé ou les machines connectées à un VPN pour le réseau privé peuvent accéder au partage de fichiers.
  • Les utilisateurs du labo Linux peuvent voir la clé du compte de stockage. Les informations d’identification pour le montage d’un partage Azure Files sont stockées dans {file-share-name}.cred sur des machines virtuelles Linux et lisibles par sudo. Étant donné que les utilisateurs du labo reçoivent un accès sudo par défaut dans les machines virtuelles Azure Lab Services, ils peuvent lire la clé du compte de stockage. Envisagez de faire pivoter la clé de compte de stockage une fois la classe terminée.

Connecter une machine virtuelle de labo à un partage de fichiers Azure

Procédez comme suit pour créer une machine virtuelle connectée à un partage Azure Files.

  1. Créez un compte de stockage Azure. Sur la page Méthode de connectivité, choisissez un point de terminaison public ou privé.

  2. Si vous avez choisi la méthode privée, créez un point de terminaison privé afin que les partages de fichiers soient accessibles à partir du réseau virtuel.

  3. Créez un partage de fichiers Azure. Le partage de fichiers est accessible par le nom d’hôte public du compte de stockage en cas d’utilisation d’un point de terminaison public. Le partage de fichiers est accessible par une adresse IP privée en cas d’utilisation d’un point de terminaison privé.

  4. Montez le partage de fichiers Azure dans le modèle de machine virtuelle :

  5. Publiez le modèle de machine virtuelle.

Important

Assurez-vous que le pare-feu Windows Defender ne bloque pas la connexion SMB sortante via le port 445. Par défaut, SMB est autorisé pour les machines virtuelles Azure.

Utiliser Azure Files avec Linux

Si vous utilisez les instructions par défaut pour monter un partage de fichiers Azure, le partage de fichiers semble disparaître sur les machines virtuelles de labo une fois le modèle publié. Le script modifié suivant résout ce problème.

Pour un partage de fichiers avec un point de terminaison public :

#!/bin/bash

# Assign variables values for your storage account and file share
STORAGE_ACCOUNT_NAME=""
STORAGE_ACCOUNT_KEY=""
FILESHARE_NAME=""

# Do not use 'mnt' for mount directory.
# Using ‘mnt’ will cause issues on lab VMs.
MOUNT_DIRECTORY="prm-mnt" 

sudo mkdir /$MOUNT_DIRECTORY/$FILESHARE_NAME
if [ ! -d "/etc/smbcredentials" ]; then
    sudo mkdir /etc/smbcredentials
fi
if [ ! -f "/etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred" ]; then
    sudo bash -c "echo ""username=$STORAGE_ACCOUNT_NAME"" >> /etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred"
    sudo bash -c "echo ""password=$STORAGE_ACCOUNT_KEY"" >> /etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred"
fi
sudo chmod 600 /etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred

sudo bash -c "echo ""//$STORAGE_ACCOUNT_NAME.file.core.windows.net/$FILESHARE_NAME /$MOUNT_DIRECTORY/$FILESHARE_NAME cifs nofail,vers=3.0,credentials=/etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred,dir_mode=0777,file_mode=0777,serverino"" >> /etc/fstab"
sudo mount -t cifs //$STORAGE_ACCOUNT_NAME.file.core.windows.net/$FILESHARE_NAME /$MOUNT_DIRECTORY/$FILESHARE_NAME -o vers=3.0,credentials=/etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred,dir_mode=0777,file_mode=0777,serverino

Pour un partage de fichiers avec un point de terminaison privé :

#!/bin/bash

# Assign variables values for your storage account and file share
STORAGE_ACCOUNT_NAME=""
STORAGE_ACCOUNT_IP=""
STORAGE_ACCOUNT_KEY=""
FILESHARE_NAME=""

# Do not use 'mnt' for mount directory.
# Using ‘mnt’ will cause issues on lab VMs.
MOUNT_DIRECTORY="prm-mnt" 

sudo mkdir /$MOUNT_DIRECTORY/$FILESHARE_NAME
if [ ! -d "/etc/smbcredentials" ]; then
    sudo mkdir /etc/smbcredentials
fi
if [ ! -f "/etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred" ]; then
    sudo bash -c "echo ""username=$STORAGE_ACCOUNT_NAME"" >> /etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred"
    sudo bash -c "echo ""password=$STORAGE_ACCOUNT_KEY"" >> /etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred"
fi
sudo chmod 600 /etc/smbcredentials/$storage_account_name.cred

sudo bash -c "echo ""//$STORAGE_ACCOUNT_IP/$FILESHARE_NAME /$MOUNT_DIRECTORY/$fileshare_name cifs nofail,vers=3.0,credentials=/etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred,dir_mode=0777,file_mode=0777,serverino"" >> /etc/fstab"
sudo mount -t cifs //$STORAGE_ACCOUNT_NAME.file.core.windows.net/$FILESHARE_NAME /$MOUNT_DIRECTORY/$FILESHARE_NAME -o vers=3.0,credentials=/etc/smbcredentials/$STORAGE_ACCOUNT_NAME.cred,dir_mode=0777,file_mode=0777,serverino

Si le modèle de machine virtuelle qui monte le partage Azure Files dans le répertoire /mnt est déjà publié, l’utilisateur de labo peut :

  • Déplacez l’instruction à monter /mnt en haut du fichier /etc/fstab.
  • Modifier l’instruction de manière à monter /mnt/{file-share-name} dans un répertoire différent comme /prm-mnt/{file-share-name}.

Les utilisateurs de labo doivent exécuter mount -a pour remonter les répertoires.

Pour plus d’informations générales, consultez Utiliser Azure Files avec Linux.

Azure NetApp Files avec volumes NFS

Azure NetApp Files est un service de stockage de fichiers limité, hautes performances et de classe entreprise.

  • Définir des stratégies d’accès en fonction du volume
  • Les stratégies d’autorisation sont basées sur IP pour chaque volume
  • Si les utilisateurs du labo ont besoin de leur propre volume auquel les autres utilisateurs du labo n’ont pas accès, les stratégies d’autorisation doivent être attribuées après la publication du labo
  • Azure Lab Services prend uniquement en charge les machines virtuelles de labo Linux pour se connecter à Azure NetApp Files
  • Le réseau virtuel pour le pool de capacité Azure NetApp Files doit être connecté au labo. Pour activer la mise en réseau avancée pour les laboratoires, consultez Connecter à votre réseau virtuel dans Azure Lab Services à l’aide d’une injection de réseau virtuel. L’injection de réseau virtuel doit être effectuée lors de la création du plan de laboratoire.

Pour utiliser un partage Azure NetApp Files dans Azure Lab Services :

  1. Créez un pool de capacité Azure NetApp Files et au moins un volume NFS en suivant les étapes dans Configurer Azure NetApp Files et un volume NFS.

    Pour plus d’informations sur les niveaux de service, consultez Niveaux de service pour Azure NetApp Files.

  2. Connectez-vous à votre réseau virtuel dans Azure Lab Services

  3. Créer le laboratoire.

  4. Sur le modèle de machine virtuelle, installez les composants nécessaires pour utiliser des partages de fichiers NFS.

    • Ubuntu :

      sudo apt update
      sudo apt install nfs-common
      
    • CentOS :

      sudo yum install nfs-utils
      
  5. Sur le modèle de machine virtuelle, enregistrez le script suivant en tant que mount_fileshare.sh pour monter le partage Azure NetApp Files.

    Affectez la variable capacity_pool_ipaddress à l’adresse IP cible de montage pour le pool de capacité. Obtenez les instructions de montage pour le volume afin de trouver la valeur appropriée. Le script attend le chemin d’accès du volume Azure NetApp Files.

    Pour vous assurer que les utilisateurs peuvent exécuter le script, exécutez chmod u+x mount_fileshare.sh.

    #!/bin/bash
    
    if [ $# -eq 0 ];  then
        echo "Must provide volume name."
        exit 1
    fi
    
    VOLUME_NAME=$1
    CAPACITY_POOL_IP_ADDR=0.0.0.0 # IP address of capacity pool
    
    # Do not use 'mnt' for mount directory.
    # Using ‘mnt’ might cause issues on lab VMs.
    MOUNT_DIRECTORY="prm-mnt" 
    
    sudo mkdir -p /$MOUNT_DIRECTORY
    sudo mkdir /$MOUNT_DIRECTORY/$FOLDER_NAME
    
    sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,vers=3,tcp $CAPACITY_POOL_IP_ADDR:/$VOLUME_NAME /$MOUNT_DIRECTORY/$VOLUME_NAME
    sudo bash -c "echo ""$CAPACITY_POOL_IP_ADDR:/$VOLUME_NAME /$MOUNT_DIRECTORY/$VOLUME_NAME nfs bg,rw,hard,noatime,nolock,rsize=65536,wsize=65536,vers=3,tcp,_netdev 0 0"" >> /etc/fstab"
    
  6. Si tous les utilisateurs du labo partagent l’accès au même volume Azure NetApp Files, vous pouvez exécuter le script mount_fileshare.sh sur le modèle de machine avant la publication. Si les utilisateurs du labo obtiennent chacun leur propre volume, enregistrez le script pour qu’il soit exécuté ultérieurement par l’utilisateur du labo.

  7. Publiez le modèle de machine virtuelle.

  8. Configurez la stratégie pour le partage de fichiers.

    La stratégie d’exportation peut permettre à une seule ou à plusieurs machines virtuelles d’accéder à un volume. Vous pouvez accorder un accès en lecture seule ou en lecture/écriture.

  9. Les utilisateurs du labo doivent démarrer leur machine virtuelle et exécuter le script pour monter le partage de fichiers. Ils doivent exécuter le script une seule fois.

    La commande se présente colle suit : ./mount_fileshare.sh myvolumename.

Étapes suivantes