Сохранение файлов в Azure Cloud Shell
Cloud Shell использует Файлы Azure для сохранения файлов в разных сеансах. При начальном запуске Cloud Shell предлагает связать новую или существующую общую папку для сохранения файлов в разных сеансах.
Примечание
Bash и PowerShell совместно используют одну общую папку. С автоматическим подключением в Cloud Shell можно связать только одну общую папку.
Брандмауэр службы хранилища Azure не поддерживается для учетных записей хранения Cloud Shell.
Создание хранилища
Если вы используете базовые параметры и выбрали только подписку, Cloud Shell создаст три ресурса от вашего имени в поддерживаемом регионе, находящемся ближе всего к вам:
- группу ресурсов
cloud-shell-storage-<region>
; - учетную запись хранения
cs<uniqueGuid>
; - общая папка:
cs-<user>-<domain>-com-<uniqueGuid>
Общая папка подключается как clouddrive
в каталоге $HOME
. Это однократное действие, и общая папка автоматически подключается в последующих сеансах.
Общая папка также содержит образ размером 5 ГБ, который автоматически сохраняет данные в каталоге $HOME
.
Эта общая папка используется как для Bash, так и для PowerShell.
Использование существующих ресурсов
С помощью расширенного параметра можно связать существующие ресурсы. Когда появится запрос на настройку хранилища, выберите Показать дополнительные параметры , чтобы просмотреть дополнительные параметры. Заданные параметры хранилища будут отфильтрованы по локально избыточному хранилищу (LRS), геоизбыточному хранилищу (GRS) и хранилищу, избыточному между зонами (ZRS).
Примечание
Учетные записи хранения GRS или ZRS рекомендуется использовать для повышения устойчивости резервного файлового ресурса. Выбор типа избыточности зависит от ваших целей и ценовых предпочтений. Дополнительные сведения о вариантах репликации для учетных записей хранения Azure.
Защита доступа к хранилищу
Для обеспечения безопасности каждый пользователь должен создать собственную учетную запись хранения. Для управления доступом на основе ролей Azure (Azure RBAC) пользователи должны иметь доступ участник или выше на уровне учетной записи хранения.
Cloud Shell использует общую папку Azure в учетной записи хранения в указанной подписке. Из-за унаследованных разрешений пользователи с достаточными правами доступа к подписке могут получить доступ ко всем учетным записям хранения и общим папкам, содержащимся в подписке.
Пользователи должны ограничить доступ к файлам, настроив разрешения на уровне учетной записи хранения или подписки.
Учетная запись хранения Cloud Shell содержит файлы, созданные пользователем Cloud Shell в домашнем каталоге, которые могут содержать конфиденциальную информацию, включая маркеры доступа или учетные данные.
Поддерживаемые регионы хранилища
Чтобы узнать текущий регион, выполните команду env
в оболочке Bash и найдите переменную ACC_LOCATION
или выполните команду $env:ACC_LOCATION
в PowerShell. Файловые ресурсы получают образ размером 5 ГБ, создаваемый для хранения каталога $HOME
.
Компьютеры Cloud Shell находятся в следующих регионах:
Область | Регион |
---|---|
Северная и Южная Америка | Восточная часть США, центрально-южная часть США, западная часть США |
Европа | Северная Европа, Западная Европа |
Азиатско-Тихоокеанский регион | Центральная Индия, Юго-Восточная Азия |
Следует выбрать регион, который соответствует вашим требованиям.
Дополнительные регионы хранения
Если используется дополнительный регион хранения, соответствующая учетная запись хранения Azure будет расположена не в том регионе, где находится компьютер с Cloud Shell, к которому вы ее подключаете. Например, можно указать, что учетная запись хранения находится в восточной части Канады, дополнительном регионе, но Cloud Shell компьютер по-прежнему находится в основном регионе. Неактивные данные находятся в Канаде, но обрабатываются в США.
Примечание
Если используется дополнительный регион, доступ к файлам и запуск в Cloud Shell могут замедлиться.
Пользователь может запустить (Get-CloudDrive | Get-AzStorageAccount).Location
в PowerShell, чтобы просмотреть расположение общей папки.
Ограничение создания ресурсов с помощью политик ресурсов Azure
Учетные записи хранения, созданные в Cloud Shell, помечены тегом ms-resource-usage:azure-cloud-shell
.
Если вы хотите запретить пользователям создавать учетные записи хранения в Cloud Shell, создайте политику ресурсов Azure для тегов, активированных этим тегом.
Как работает хранилище Cloud Shell
Cloud Shell сохраняет файлы с помощью обоих приведенных ниже методов.
- Создание образа диска для каталога
$HOME
для хранения всего содержимого этого каталога. Образ диска сохраняется в указанной общей папке, какacc_<User>.img
по адресуfileshare.storage.windows.net/fileshare/.cloudconsole/acc_<User>.img
, и он автоматически синхронизирует изменения. - Подключение указанного общего файлового ресурса как
clouddrive
в$HOME
каталоге для прямого взаимодействия с общей папкой./Home/<User>/clouddrive
сопоставляется сfileshare.storage.windows.net/fileshare
.
Примечание
Все файлы в каталоге $HOME
, например ключи SSH, сохраняются в образе диска пользователя, который хранится в подключенной общей папке. Применяйте рекомендации при сохранении сведений в $HOME
каталоге и подключенной общей папке.
Команды clouddrive
Использование команды clouddrive
В Cloud Shell можно выполнить команду с именем clouddrive
, которая позволяет вручную обновить общую папку, подключенную к Cloud Shell.
Вывод объектов clouddrive
Чтобы узнать, какая общая папка подключена как clouddrive
, выполните df
команду .
Путь к файлу к clouddrive содержит имя вашей учетной записи хранения и общую папку в URL-адресе. Например //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
Подключение нового облачного диска
Предварительные требования для подключения вручную
Вы можете обновить общую папку, связанную с Cloud Shell, с помощью clouddrive mount
команды .
Примечание
При подключении новой общей папки для каталога $HOME
создается новый пользовательский образ. Предыдущий $HOME
образ хранится в предыдущей общей папке.
Выполните команду clouddrive mount
со следующими параметрами:
clouddrive mount -s mySubscription -g myRG -n storageAccountName -f fileShareName
Чтобы просмотреть дополнительные сведения, выполните clouddrive mount -h
, как показано ниже.
Отключение облачного диска
Вы можете в любое время отключить общую папку, подключенную к Cloud Shell. Так как Cloud Shell требуется использовать подключенный общий файловый ресурс, Cloud Shell предлагает создать и подключить другой общий файловый ресурс в следующем сеансе.
- Выполните
clouddrive unmount
. - Подтвердите запросы.
Отключенная общая папка продолжает существовать до тех пор, пока вы не удалите ее вручную. После отключения Cloud Shell больше не будет искать эту общую папку в последующих сеансах. Чтобы просмотреть дополнительные сведения, выполните clouddrive unmount -h
, как показано ниже.
Предупреждение
Несмотря на то, что при выполнении этой команды ресурсы не удаляются, при удалении вручную группы ресурсов, учетной записи хранения или общей папки, сопоставленной с Cloud Shell удаляется $HOME
образ диска каталога и все файлы в общей папке. Это действие невозможно отменить.
Команды для PowerShell
Выведение списка общих файловых ресурсов Azure clouddrive
Командлет Get-CloudDrive
извлекает сведения об общей папке Azure, подключенной clouddrive
в Cloud Shell.
Отключение clouddrive
Вы можете в любое время отключить общую папку Azure, подключенную к Cloud Shell. Командлет Dismount-CloudDrive
отключает общую папку Azure из текущей учетной записи хранения.
Отключение clouddrive
приводит к завершению текущего сеанса.
Если общая папка Azure удалена, вам будет предложено создать и подключить новую общую папку Azure в следующем сеансе.
Передача локальных файлов в Cloud Shell
Каталог clouddrive
синхронизируется c колонкой хранилища на портале Azure. Используйте эту колонку для перемещения локальных файлов в файловый ресурс и из него. Обновленные файлы в Cloud Shell отобразятся в графическом пользовательском интерфейсе хранилища файлов после обновления колонки.
Скачивание файлов из портал Azure
- На портале Azure перейдите к подключенному файловому ресурсу.
- Выберите целевой файл.
- Нажмите кнопку Скачать.
Скачивание файлов в Azure Cloud Shell
В сеансе Cloud Shell Azure щелкните значок Отправка и скачивание файлов и выберите параметр Скачать.
В диалоговом окне Скачивание файла введите путь к файлу, который нужно скачать.
Вы можете скачать только файлы, расположенные в вашей папке
$HOME
.Нажмите кнопку Скачать.
Отправка файлов
- Перейдите к подключенному файловому ресурсу.
- Нажмите кнопку Отправить.
- Выберите файл или файлы, которые необходимо передать.
- Подтвердите передачу.
Теперь эти файлы должны появиться в каталоге clouddrive
в Cloud Shell.
Примечание
Если вам нужно определить функцию в файле и вызвать ее с помощью командлетов PowerShell, необходимо добавить оператор "точка". Пример: . .\MyFunctions.ps1
Отправка файлов в Azure Cloud Shell
- В сеансе Cloud Shell Azure щелкните значок Отправка и скачивание файлов и выберите параметр Отправить. В браузере откроется диалоговое окно с файлом.
- Выберите файл, который нужно отправить, а затем нажмите кнопку Открыть .
Файл отправляется в корень папки $HOME
. Вы можете переместить файл после его отправки.