Persistencia de archivos en Azure Cloud ShellPersist files in Azure Cloud Shell

Cloud Shell utiliza Azure File Storage para conservar los archivos entre sesiones.Cloud Shell utilizes Azure File storage to persist files across sessions. En el primer inicio, Cloud Shell le pedirá que asocie un recurso compartido de archivos nuevo o existente para conservar los archivos entre sesiones.On initial start, Cloud Shell prompts you to associate a new or existing file share to persist files across sessions.

Nota

Bash y PowerShell comparten el mismo recurso compartido de archivos.Bash and PowerShell share the same file share. Solo un recurso compartido de archivos se puede asociar con el montaje automático en Cloud Shell.Only one file share can be associated with automatic mounting in Cloud Shell.

creación de nuevo almacenamientoCreate new storage

Al usar la configuración básica y seleccionar solo una suscripción, Cloud Shell crea tres recursos en su nombre en la región admitida que esté más próxima:When you use basic settings and select only a subscription, Cloud Shell creates three resources on your behalf in the supported region that's nearest to you:

  • Grupos de recursos: cloud-shell-storage-<region>Resource group: cloud-shell-storage-<region>
  • Cuenta de almacenamiento: cs<uniqueGuid>Storage account: cs<uniqueGuid>
  • Recurso compartido de archivos: cs-<user>-<domain>-com-<uniqueGuid>File share: cs-<user>-<domain>-com-<uniqueGuid>

La configuración de la suscripción

El recurso compartido de archivos se monta como clouddrive en su directorio $Home.The file share mounts as clouddrive in your $Home directory. Se trata de una acción única y el recurso compartido de archivos se monta automáticamente en sesiones posteriores.This is a one-time action, and the file share mounts automatically in subsequent sessions.

Nota

Por motivos de seguridad, cada usuario debe aprovisionar su propia cuenta de almacenamiento.For security, each user should provision their own storage account. En el control de acceso basado en roles (RBAC), los usuarios deben tener acceso como colaboradores, o un rol superior, en el nivel de la cuenta de almacenamiento.For role-based access control (RBAC), users must have contributor access or above at the storage account level.

En Bash, el recurso compartido de archivos también contiene una imagen de 5 GB que se crea automáticamente que conserva automáticamente los datos en su directorio $Home.The file share also contains a 5-GB image that is created for you which automatically persists data in your $Home directory. Esto se aplica para Bash y PowerShell.This applies for both Bash and PowerShell.

Uso de recursos existentesUse existing resources

Mediante la opción avanzada puede asociar recursos existentes.By using the advanced option, you can associate existing resources. Al seleccionar una región de Cloud Shell, debe seleccionar una cuenta de almacenamiento de respaldo coubicada en la misma región.When selecting a Cloud Shell region you must select a backing storage account co-located in the same region. Por ejemplo, si la región asignada es Oeste de EE. UU. y debe asociar un recurso compartido de archivos que también reside en Oeste de EE. UU.For example, if your assigned region is West US than you must associate a file share that resides within West US as well.

Cuando aparezca el mensaje del programa de instalación, seleccione Mostrar configuración avanzada para ver otras opciones.When the storage setup prompt appears, select Show advanced settings to view additional options. Las opciones de almacenamiento rellenadas se filtran por cuentas de almacenamiento con redundancia local (LRS), almacenamiento con redundancia geográfica (GRS) y almacenamiento con redundancia de zona (ZRS).The populated storage options filter for locally redundant storage (LRS), geo-redundant storage (GRS), and zone-redundant storage (ZRS) accounts.

Nota

Se recomienda usar cuentas de almacenamiento con redundancia geográfica o con redundancia de zona para contar con resistencia adicional para el recurso compartido de archivos de respaldo.Using GRS or ZRS storage accounts are recommended for additional resiliency for your backing file share. El tipo de redundancia depende de los objetivos y las preferencias de precio.Which type of redundancy depends on your goals and price preference. Obtenga más información sobre las opciones de replicación para las cuentas de Azure Storage.Learn more about replication options for Azure Storage accounts.

La configuración de grupo de recursos

Regiones de almacenamiento admitidasSupported storage regions

Las cuentas de almacenamiento de Azure asociadas tienen que residir en la misma región que la máquina de Cloud Shell en la que se montan.Associated Azure storage accounts must reside in the same region as the Cloud Shell machine that you're mounting them to. Para encontrar la región actual puede ejecutar env en Bash y buscar la variable ACC_LOCATION.To find your current region you may run env in Bash and locate the variable ACC_LOCATION. Los recursos compartidos de archivos existentes reciben una imagen de 5 GB para que el usuario conserve el directorio $Home.File shares receive a 5-GB image created for you to persist your $Home directory.

Las máquinas de Cloud Shell existen en las regiones siguientes:Cloud Shell machines exist in the following regions:

ÁmbitoArea RegionRegion
AméricaAmericas Este de EE. UU., centro-sur de EE. UU. y oeste de EE. UU.East US, South Central US, West US
EuropaEurope Norte de Europa y Oeste de EuropaNorth Europe, West Europe
Asia PacíficoAsia Pacific India central, Sudeste AsiáticoIndia Central, Southeast Asia

Restringir la creación de recursos con una directiva de recursos de AzureRestrict resource creation with an Azure resource policy

Las cuentas de almacenamiento creadas en Cloud Shell se etiquetan con ms-resource-usage:azure-cloud-shell.Storage accounts that you create in Cloud Shell are tagged with ms-resource-usage:azure-cloud-shell. Si quiere impedir que los usuarios creen cuentas de almacenamiento en Cloud Shell, cree una directiva de recursos de Azure para etiquetas que se desencadene mediante esta etiqueta específica.If you want to disallow users from creating storage accounts in Cloud Shell, create an Azure resource policy for tags that are triggered by this specific tag.

Funcionamiento del almacenamiento de Cloud ShellHow Cloud Shell storage works

Cloud Shell conserva los archivos a través de los métodos siguientes:Cloud Shell persists files through both of the following methods:

  • Creación de una imagen de disco del directorio $Home para hacer persistente todo el contenido dentro del directorio.Creating a disk image of your $Home directory to persist all contents within the directory. La imagen de disco se guarda en su recurso compartido de archivos especificado como acc_<User>.img en fileshare.storage.windows.net/fileshare/.cloudconsole/acc_<User>.img y sincroniza automáticamente los cambios.The disk image is saved in your specified file share as acc_<User>.img at fileshare.storage.windows.net/fileshare/.cloudconsole/acc_<User>.img, and it automatically syncs changes.
  • Montaje del recurso compartido de archivos especificado como clouddrive en el directorio $Home para la interacción directa del recurso compartido de archivos.Mounting your specified file share as clouddrive in your $Home directory for direct file-share interaction. /Home/<User>/clouddrive se asigna a fileshare.storage.windows.net/fileshare./Home/<User>/clouddrive is mapped to fileshare.storage.windows.net/fileshare.

Nota

Todos los archivos en el directorio $Home, como las claves de SSH, se conservan en la imagen de disco de usuario almacenada en el recurso compartido de archivos montado.All files in your $Home directory, such as SSH keys, are persisted in your user disk image, which is stored in your mounted file share. Ponga en práctica los procedimientos recomendados correspondientes para conservar la información en el directorio $Home y en el recurso compartido de archivos montado.Apply best practices when you persist information in your $Home directory and mounted file share.

Comandos específicos de BashBash-specific commands

Uso del comando clouddriveUse the clouddrive command

Con Bash en Cloud Shell, puede ejecutar un comando denominado clouddrive, lo que permite actualizar manualmente el recurso compartido de archivos que está montado en Cloud Shell.With Bash in Cloud Shell, you can run a command called clouddrive, which enables you to manually update the file share that is mounted to Cloud Shell. Ejecución del comando "clouddrive"Running the "clouddrive" command

Montaje de un nuevo clouddriveMount a new clouddrive

Requisitos previos para el montaje manualPrerequisites for manual mounting

Puede actualizar el recurso compartido de archivos que esté asociada con Cloud Shell mediante el uso del comando clouddrive mount.You can update the file share that's associated with Cloud Shell by using the clouddrive mount command.

Si se monta un recurso compartido de archivos existente, las cuentas de almacenamiento han de encontrarse en la región de Cloud Shell seleccionada.If you mount an existing file share, the storage accounts must be located in your select Cloud Shell region. Para recuperar la ubicación, ejecute env en Bash y compruebe la ACC_LOCATION.Retrieve the location by running env from Bash and checking the ACC_LOCATION.

El comando clouddrive mountThe clouddrive mount command

Nota

Si monta un recurso compartido de archivos nuevo, se crea una imagen de usuario para el directorio $Home.If you're mounting a new file share, a new user image is created for your $Home directory. La imagen $Home anterior se mantiene en el recurso compartido de archivos anterior.Your previous $Home image is kept in your previous file share.

Ejecute el comando clouddrive mount con los parámetros siguientes:Run the clouddrive mount command with the following parameters:

clouddrive mount -s mySubscription -g myRG -n storageAccountName -f fileShareName

Para ver más detalles, ejecute clouddrive mount -h, tal y como se muestra aquí:To view more details, run clouddrive mount -h, as shown here:

Ejecución del comando "clouddrive"

Desmontaje de clouddriveUnmount clouddrive

Puede desmontar un recurso compartido de archivos montado en Cloud Shell en cualquier momento.You can unmount a file share that's mounted to Cloud Shell at any time. Como Cloud Shell requiere que se use un recurso compartido de archivos, se le pedirá crear y montar otro recurso compartido de archivos en la sesión siguiente.Since Cloud Shell requires a mounted file share to be used, you will be prompted to create and mount another file share on the next session.

  1. Ejecute clouddrive unmount.Run clouddrive unmount.
  2. Reconozca y confirme los mensajes.Acknowledge and confirm prompts.

El recurso compartido de archivos seguirá existiendo a menos que se elimine manualmente.Your file share will continue to exist unless you delete it manually. Cloud Shell dejará de buscar este recurso compartido de archivos en sesiones posteriores.Cloud Shell will no longer search for this file share on subsequent sessions. Para ver más detalles, ejecute clouddrive unmount -h, tal y como se muestra aquí:To view more details, run clouddrive unmount -h, as shown here:

Ejecución del comando "clouddrive amount"

Advertencia

Aunque la ejecución de este comando no elimina ningún recurso, al eliminar manualmente el grupo de recursos, la cuenta de almacenamiento o el recurso compartido de archivos asignados a Cloud Shell, se borra la imagen de disco del directorio $Home y los archivos del recurso compartido de archivos.Although running this command will not delete any resources, manually deleting a resource group, storage account, or file share that's mapped to Cloud Shell erases your $Home directory disk image and any files in your file share. Esta operación no se puede deshacer.This action cannot be undone.

Enumeración de clouddriveList clouddrive

Para descubrir qué recurso compartido de archivos se monta como clouddrive ejecute el comando df.To discover which file share is mounted as clouddrive, run the df command.

La ruta de acceso de archivo a clouddrive mostrará el recurso compartido de archivos y el nombre de la cuenta de almacenamiento en la dirección URL.The file path to clouddrive shows your storage account name and file share in the URL. Por ejemplo: //storageaccountname.file.core.windows.net/filesharenameFor example, //storageaccountname.file.core.windows.net/filesharename

justin@Azure:~$ df
Filesystem                                          1K-blocks   Used  Available Use% Mounted on
overlay                                             29711408 5577940   24117084  19% /
tmpfs                                                 986716       0     986716   0% /dev
tmpfs                                                 986716       0     986716   0% /sys/fs/cgroup
/dev/sda1                                           29711408 5577940   24117084  19% /etc/hosts
shm                                                    65536       0      65536   0% /dev/shm
//mystoragename.file.core.windows.net/fileshareName 5368709120    64 5368709056   1% /home/justin/clouddrive
justin@Azure:~$

Comandos específicos de PowerShellPowerShell-specific commands

Lista de los recursos compartidos de archivos de Azure en clouddriveList clouddrive Azure file shares

El cmdlet Get-CloudDrive recupera la información del recurso compartido de archivos de Azure que monta clouddrive actualmente en Cloud Shell.The Get-CloudDrive cmdlet retrieves the Azure file share information currently mounted by the clouddrive in the Cloud Shell.
Ejecución de Get-CloudDriveRunning Get-CloudDrive

Desmontar clouddriveUnmount clouddrive

Puede desmontar un recurso compartido de archivos de Azure montado en Cloud Shell en cualquier momento.You can unmount an Azure file share that's mounted to Cloud Shell at any time. Si se quitó el recurso compartido de archivos de Azure, se le pedirá crear y montar uno nuevo en la sesión siguiente.If the Azure file share has been removed, you will be prompted to create and mount a new Azure file share at the next session.

El cmdlet Dismount-CloudDrive desmonta un recurso compartido de archivos de Azure desde la cuenta de almacenamiento actual.The Dismount-CloudDrive cmdlet unmounts an Azure file share from the current storage account. Desmontar clouddrive finaliza la sesión actual.Dismounting the clouddrive terminates the current session. Se le pedirá al usuario que cree y monte un recurso compartido de archivos de Azure nuevo durante la sesión siguiente.The user will be prompted to create and mount a new Azure file share during the next session. Ejecución de Dismount-CloudDriveRunning Dismount-CloudDrive

Transferir archivos locales a Cloud ShellTransfer local files to Cloud Shell

El directorio clouddrive se sincroniza con la hoja de almacenamiento de Azure Portal.The clouddrive directory syncs with the Azure portal storage blade. Use esta hoja para transferir archivos locales al recurso compartido de archivos y viceversa.Use this blade to transfer local files to or from your file share. La actualización de archivos en Cloud Shell se refleja en la GUI de File Storage al actualizarse las hojas.Updating files from within Cloud Shell is reflected in the file storage GUI when you refresh the blade.

Descarga de archivosDownload files

Lista de archivos locales

  1. En Azure Portal, vaya al recurso compartido de archivos montados.In the Azure portal, go to the mounted file share.
  2. Seleccione el archivo de destino.Select the target file.
  3. Seleccione el botón Descargar.Select the Download button.

Carga de archivosUpload files

Archivos locales para cargarse

  1. Vaya al recurso compartido de archivos montado.Go to your mounted file share.
  2. Seleccione el botón Cargar.Select the Upload button.
  3. Seleccione el archivo o archivos que desea cargar.Select the file or files that you want to upload.
  4. Confirmación de la actualización.Confirm the upload.

Ahora debería ver los archivos accesibles en el directorio clouddrive en Cloud Shell.You should now see the files that are accessible in your clouddrive directory in Cloud Shell.

Nota: si tiene que definir una función en un archivo y llamarla desde los cmdlets de PowerShell, debe incluir el operador punto.Note: If you need to define a function in a file and call it from the PowerShell cmdlets, then the dot operator must be included. Por ejemplo: .For example: . .\MyFunctions.ps1.\MyFunctions.ps1

Pasos siguientesNext steps

Guía de inicio rápido de Bash en Cloud ShellBash in Cloud Shell Quickstart
Guía de inicio rápido de PowerShell en Cloud ShellPowerShell in Cloud Shell Quickstart
Información sobre el almacenamiento de Microsoft Azure FilesLearn about Microsoft Azure Files storage
Información sobre las etiquetas de almacenamientoLearn about storage tags