Persistencia de archivos en Azure Cloud Shell
Cloud Shell utiliza Azure Files para conservar los archivos entre sesiones. En el primer inicio, Cloud Shell le pedirá que asocie un recurso compartido de archivos nuevo o existente para conservar los archivos entre sesiones.
Nota:
Bash y PowerShell comparten el mismo recurso compartido de archivos. Solo un recurso compartido de archivos se puede asociar con el montaje automático en Cloud Shell.
El firewall de Azure Storage no es compatible con las cuentas de almacenamiento de Cloud Shell.
creación de nuevo almacenamiento
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:
- Grupos de recursos:
cloud-shell-storage-<region>
- Cuenta de almacenamiento:
cs<uniqueGuid>
- Recurso compartido de archivos:
cs-<user>-<domain>-com-<uniqueGuid>
El recurso compartido de archivos se monta como clouddrive
en su directorio $HOME
. Se trata de una acción única y el recurso compartido de archivos se monta automáticamente en sesiones posteriores.
El recurso compartido de archivos también contiene una imagen de 5 GB que conserva automáticamente los datos en su directorio $HOME
.
Este recurso compartido de archivos se usa para Bash y PowerShell.
Uso de recursos existentes
Mediante la opción avanzada puede asociar recursos existentes. Cuando aparezca el mensaje del programa de instalación, seleccione Mostrar configuración avanzada para ver más opciones. 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).
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. El tipo de redundancia depende de los objetivos y las preferencias de precio. Obtenga más información sobre las opciones de replicación para las cuentas de Azure Storage.
Protección del acceso al almacenamiento
Por motivos de seguridad, cada usuario debe crear su propia cuenta de almacenamiento. En el control de acceso basado en rol de Azure (RBAC de Azure), los usuarios deben tener acceso de colaborador o superior en el nivel de la cuenta de almacenamiento.
Cloud Shell usa un recurso compartido de archivos de Azure en una cuenta de almacenamiento, dentro de una suscripción especificada. Debido a los permisos heredados, los usuarios con derechos de acceso suficientes en la suscripción pueden acceder a todas las cuentas de almacenamiento y a los recursos compartidos de archivos contenidos en la suscripción.
Los usuarios deben bloquear el acceso a sus archivos estableciendo los permisos en el nivel de cuenta de almacenamiento o de suscripción.
La cuenta de almacenamiento de Cloud Shell contiene archivos creados por el usuario de Cloud Shell en su directorio principal, el cual puede incluir información confidencial junto con tokens de acceso o credenciales.
Regiones de almacenamiento admitidas
Para encontrar la región actual puede ejecutar env
en Bash y buscar la variable ACC_LOCATION
, o bien ejecutar $env:ACC_LOCATION
desde PowerShell. Los recursos compartidos de archivos existentes reciben una imagen de 5 GB para que el usuario conserve el directorio $HOME
.
Las máquinas de Cloud Shell existen en las regiones siguientes:
Área | Region |
---|---|
América | Este de EE. UU., centro-sur de EE. UU. y oeste de EE. UU. |
Europa | Norte de Europa y Oeste de Europa |
Asia Pacífico | Sur de la India, Sudeste de Asia |
Debe elegir una región que cumpla sus requisitos.
Regiones de almacenamiento secundarias
Si se usa una región de almacenamiento secundaria, la cuenta de almacenamiento de Azure asociada se encuentra en una región distinta a la de la máquina de Cloud Shell donde se va a montar. Por ejemplo, puede configurar su cuenta de almacenamiento para que se encuentre en la región Este de Canadá, una región secundaria, pero la máquina de Cloud Shell todavía se encuentra en una región primaria. Sus datos en reposo se encuentran en Canadá, pero se procesan en los Estados Unidos.
Nota
Si se usa una región secundaria, el acceso a archivos y el tiempo de inicio de Cloud Shell pueden ser más lentos.
Un usuario puede ejecutar (Get-CloudDrive | Get-AzStorageAccount).Location
en PowerShell para ver la ubicación de su recurso compartido de archivos.
Restringir la creación de recursos con una directiva de recursos de Azure
Las cuentas de almacenamiento creadas en Cloud Shell se etiquetan con 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.
Funcionamiento del almacenamiento de Cloud Shell
Cloud Shell conserva los archivos a través de los métodos siguientes:
- Creación de una imagen de disco del directorio
$HOME
para hacer persistente todo el contenido dentro del directorio. La imagen de disco se guarda en su recurso compartido de archivos especificado comoacc_<User>.img
enfileshare.storage.windows.net/fileshare/.cloudconsole/acc_<User>.img
y sincroniza automáticamente los cambios. - Montaje del recurso compartido de archivos especificado como
clouddrive
en el directorio$HOME
para la interacción directa del recurso compartido de archivos./Home/<User>/clouddrive
se asigna afileshare.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. 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.
comandos de clouddrive
Uso del comando clouddrive
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.
Enumeración de clouddrive
Para descubrir qué recurso compartido de archivos se monta como clouddrive
, ejecute el comando df
.
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. Por ejemplo: //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
Montaje de un nuevo clouddrive
Requisitos previos para el montaje manual
Puede actualizar el recurso compartido de archivos que esté asociado con Cloud Shell con el comando clouddrive mount
.
Nota
Si monta un recurso compartido de archivos nuevo, se crea una imagen de usuario para el directorio $HOME
. La imagen $HOME
anterior se mantiene en el recurso compartido de archivos anterior.
Ejecute el comando clouddrive mount
con los parámetros siguientes:
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í:
Desmontaje de clouddrive
Puede desmontar un recurso compartido de archivos montado en Cloud Shell en cualquier momento. Como Cloud Shell requiere que se use un recurso compartido de archivos, le pide que cree y monte otro recurso compartido de archivos en la sesión siguiente.
- Ejecute
clouddrive unmount
. - Reconozca y confirme los mensajes.
El recurso compartido de archivos desmontado continuará existiendo hasta que lo elimine manualmente. Después de desmontarlo, Cloud Shell ya no buscará este recurso compartido de archivos en sesiones posteriores. Para ver más detalles, ejecute clouddrive unmount -h
, tal y como se muestra aquí:
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. Esta acción no se puede deshacer.
Comandos específicos de PowerShell
Lista de los recursos compartidos de archivos de Azure en clouddrive
El cmdlet Get-CloudDrive
recupera la información del recurso compartido de archivos de Azure que monta actualmente clouddrive
en Cloud Shell.
Desmontar clouddrive
Puede desmontar un recurso compartido de archivos de Azure montado en Cloud Shell en cualquier momento. El cmdlet Dismount-CloudDrive
desmonta un recurso compartido de archivos de Azure desde la cuenta de almacenamiento actual.
Desmontar clouddrive
finaliza la sesión actual.
Si se quitó el recurso compartido de archivos de Azure, se le pedirá crear y montar uno nuevo en la sesión siguiente.
Transferir archivos locales a Cloud Shell
El directorio clouddrive
se sincroniza con la hoja de almacenamiento de Azure Portal. Use esta hoja para transferir archivos locales al recurso compartido de archivos y viceversa. La actualización de archivos en Cloud Shell se refleja en la GUI de File Storage al actualizarse las hojas.
Descargar archivos desde Azure Portal
- En Azure Portal, vaya al recurso compartido de archivos montados.
- Seleccione el archivo de destino.
- Seleccione el botón Descargar.
Descargar archivos en Azure Cloud Shell
En una sesión de Azure Cloud Shell, seleccione el icono Cargar/Descargar archivos y seleccione la opción Descargar.
En el cuadro de diálogo Descargar un archivo, escriba la ruta de acceso al archivo que desea descargar.
Solo puede descargar archivos ubicados en la carpeta
$HOME
.Seleccione el botón Descargar.
Carga de archivos
- Vaya al recurso compartido de archivos montado.
- Seleccione el botón Cargar.
- Seleccione el archivo o archivos que desea cargar.
- Confirmación de la actualización.
Ahora debería ver los archivos accesibles en el directorio clouddrive
en 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. Por ejemplo: . .\MyFunctions.ps1
Cargar archivos en Azure Cloud Shell
- En una sesión de Azure Cloud Shell, seleccione el icono Cargar/Descargar archivos y seleccione la opción Cargar. El explorador abre un cuadro de diálogo de archivo.
- Elija el archivo que desea cargar y seleccione el botón Abrir.
El archivo se carga en la raíz de la carpeta $HOME
. Puede mover el archivo después de cargarlo.