Persistir arquivos no Azure Cloud Shell

Na primeira vez que você iniciar o Cloud Shell, será solicitado a selecionar as opções de armazenamento. Se quiser armazenar arquivos que possam ser usados sempre que você usar o Cloud Shell, crie ou escolha recursos de armazenamento existentes. O Cloud Shell usa um compartilhamento de Arquivos do Microsoft Azure para persistir os arquivos entre sessões.

Como funciona o armazenamento do Cloud Shell

O Cloud Shell persiste arquivos usando os seguintes métodos:

  • Cria uma imagem de disco para manter o conteúdo do diretório $HOME. A imagem de disco é salva em https://storageaccountname.file.core.windows.net/filesharename/.cloudconsole/acc_user.img. O Cloud Shell sincroniza automaticamente as alterações nessa imagem de disco.
  • Monta o compartilhamento de arquivo como clouddrive no diretório $HOME. O caminho /home/<User>/clouddrive é mapeado para storageaccountname.file.core.windows.net/filesharename.

Observação

Todos os arquivos no diretório $HOME, como chaves SSH, são persistidos na imagem de disco do usuário, que é armazenada no compartilhamento de arquivo montado. Use as melhores práticas para proteger as informações do diretório $HOME e do compartilhamento de arquivo montado.

Regiões de armazenamento suportadas

O Cloud Shell roda máquinas de sessão em um conjunto de regiões primárias. Você pode armazenar arquivos persistentes em uma conta de armazenamento localizada em uma região primária ou em uma região secundária suportada, conforme listado na tabela a seguir.

Sua sessão geralmente roda na região principal associada à sua conta de armazenamento. Se você usar uma região de armazenamento secundária ou sessões efêmeras, o Cloud Shell seleciona a região principal mais próxima de você. A alocação depende da capacidade disponível, então não há garantia de uma região específica.

Os arquivos permanecem em repouso na região da sua conta de armazenamento, mas são processados na região principal onde sua sessão roda. Por exemplo, arquivos armazenados no Canadá Leste permanecem em repouso no Canadá, mas são processados nos Estados Unidos se sua sessão for realizada em uma região principal dos EUA.

Escolha uma região principal para sua conta de armazenamento, a menos que precise armazenar seus dados em repouso em outra região. Usar uma região de armazenamento secundária pode tornar o acesso a arquivos e a inicialização do Cloud Shell mais lentos.

Para encontrar a região da sua máquina Cloud Shell atual, execute echo "$ACC_LOCATION" no Bash ou $env:ACC_LOCATION no PowerShell.

Regiões primárias

Area Regions
US Leste dos EUA 2, Sul Central dos EUA, Oeste Central dos EUA, Oeste dos EUA 2
Europa França Central, Centro-Oeste da Alemanha, Suécia Central, Oeste da Europa
Pacífico Asiático Leste da Austrália, Sudeste da Austrália, Índia Central, Leste da Ásia, Sul da Índia, Sudeste da Ásia
Azure Governamental US Gov - Arizona, US Gov - Virgínia

Regiões secundárias de armazenamento

Area Regions
Américas Brasil Sul, Canadá Central, Canadá Leste, Centro dos EUA, Leste dos EUA, México Central, Norte Central dos EUA, Oeste dos EUA, Oeste dos EUA 3
Europa Norte da Europa, Noruega Leste, Espanha Central, Suíça Norte, Reino Unido Sul, Reino Unido Oeste
Pacífico Asiático Austrália Central, Leste do Japão, Oeste do Japão, Oeste da Índia Jio, Coreia Central, Sul da Coreia, Oeste da Índia
Oriente Médio e África Qatar Central, África do Sul Norte, Emirados Árabes Unidos Norte
Azure Governamental US Gov - Texas

Proteger o acesso de armazenamento

Por questões de segurança, cada usuário deve criar a própria conta de armazenamento. Para o RBAC (controle de acesso baseado em função) do Azure, os usuários precisam ter acesso de colaborador ou superior no nível da conta de armazenamento.

O Cloud Shell usa um compartilhamento de arquivo do Azure em uma conta de armazenamento, dentro de uma assinatura especificada. Devido às permissões herdadas, os usuários com direitos de acesso suficientes na assinatura podem acessar as contas de armazenamento e os compartilhamentos de arquivos contidos na assinatura.

Os usuários devem restringir o acesso aos seus arquivos definindo as permissões na conta de armazenamento ou no nível de assinatura.

A conta de armazenamento do Cloud Shell contém os arquivos criados pelo usuário do Cloud Shell em seu diretório pessoal, que pode incluir informações confidenciais, como tokens de acesso ou credenciais.

Restringir a criação de recursos com uma política de recursos do Azure

As contas de armazenamento criadas no Cloud Shell são marcadas com ms-resource-usage:azure-cloud-shell. Se você quiser impedir que os usuários criem contas de armazenamento no Cloud Shell, crie uma política de recursos do Azure que seja disparada por essa marca específica.

Gerenciamento do armazenamento do Cloud Shell

Montar um novo clouddrive

Se você optou anteriormente por usar sessões efêmeras para o Cloud Shell, deverá redefinir suas preferências selecionando Configurações>Redefinir Configurações do Usuário no Cloud Shell. Siga as etapas para montar uma conta de armazenamento existente ou uma nova conta de armazenamento.

Observação

Se você estiver montando um novo compartilhamento, uma nova imagem de usuário será criada para o diretório $HOME. A imagem $HOME anterior é mantida no compartilhamento de arquivo anterior.

Desmontar clouddrive

Você pode desmontar um compartilhamento de arquivo do Cloud Shell a qualquer momento. Como o Cloud Shell exige o uso de um compartilhamento de arquivo montado, o Cloud Shell pede para você criar e montar outro compartilhamento de arquivo na sessão seguinte.

  1. Execute clouddrive unmount.
  2. Reconheça e confirme os prompts.

O compartilhamento de arquivo desmontado continua existir até que você o exclua manualmente. Após a desmontagem, o Cloud Shell não procura mais esse compartilhamento de arquivo nas sessões seguintes. Para obter mais informações, execute clouddrive unmount -h,

Command
  clouddrive unmount: Unmount an Azure file share from Cloud Shell.

    Unmount enables unmounting and disassociating a file share from Cloud Shell.
    All current sessions will be terminated. Machine state and non-persisted files will be lost.
    You will be prompted to create and mount a new file share on your next session.
    Your previously mounted file share will continue to exist.

    Note: This command does not unmount storage if the session is Ephemeral.

Arguments
  None

Aviso

Embora a execução desse comando não exclua nenhum recurso, a exclusão manual de um grupo de recursos, de uma conta de armazenamento ou de um compartilhamento de arquivo mapeado para o Cloud Shell apaga a imagem de disco do seu diretório $HOME e todos os arquivos do seu compartilhamento de arquivos. Essa ação não pode ser desfeita.

Usar comandos do PowerShell

Ver informações sobre o compartilhamento de arquivos atual

Use o comando Get-CloudDrive no PowerShell para obter informações sobre os recursos que dão suporte ao compartilhamento de arquivo.

PS /home/user> Get-CloudDrive

FileShareName      : cs-user-microsoft-com-xxxxxxxxxxxxxxx
FileSharePath      : //cs7xxxxxxxxxxxxxxx.file.core.windows.net/cs-user-microsoft-com-xxxxxxxxxxxxxxx
MountPoint         : /home/user/clouddrive
Name               : cs7xxxxxxxxxxxxxxx
ResourceGroupName  : cloud-shell-storage-southcentralus
StorageAccountName : cs7xxxxxxxxxxxxxxx
SubscriptionId     : aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e

Desmontar o compartilhamento de arquivos

Você pode desmontar um compartilhamento de arquivo do Cloud Shell a qualquer momento usando o cmdlet Dismount-CloudDrive. Desmontar clouddrive encerra a sessão atual.

Dismount-CloudDrive
Do you want to continue
Dismounting clouddrive will terminate your current session. You will be prompted to create and
mount a new file share on your next session
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"):

Próximas etapas