Azure Cloud Shell에서 파일 유지Persist files in Azure Cloud Shell

Cloud Shell은 Azure File 스토리지를 활용하여 세션 간에 파일을 유지합니다.Cloud Shell utilizes Azure File storage to persist files across sessions. 처음 시작 시 Cloud Shell은 세션 간에 파일을 유지하기 위해 새 또는 기존 파일 공유를 연결하도록 요구합니다.On initial start, Cloud Shell prompts you to associate a new or existing file share to persist files across sessions.

참고

Bash 및 PowerShell은 동일한 파일 공유를 공유합니다.Bash and PowerShell share the same file share. 하나의 파일 공유는 Cloud Shell에서 자동 탑재와 연결될 수 있습니다.Only one file share can be associated with automatic mounting in Cloud Shell.

참고

Azure storage 방화벽은 cloud shell 저장소 계정에 대해 지원 되지 않습니다.Azure storage firewall is not supported for cloud shell storage accounts.

새 스토리지 만들기Create new storage

기본 설정을 사용하고 구독만 선택하면 Cloud Shell은 가장 가까운 지원되는 지역에서 사용자를 대신에 3개 리소스를 만듭니다.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:

  • 리소스 그룹: cloud-shell-storage-<region>Resource group: cloud-shell-storage-<region>
  • Storage 계정: cs<uniqueGuid>Storage account: cs<uniqueGuid>
  • 파일 공유: cs-<user>-<domain>-com-<uniqueGuid>File share: cs-<user>-<domain>-com-<uniqueGuid>

구독 설정

파일 공유는 $Home 디렉터리에서 clouddrive로 마운트됩니다.The file share mounts as clouddrive in your $Home directory. 이것은 일회성 작업이며 파일 공유는 후속 세션에서 자동으로 마운트됩니다.This is a one-time action, and the file share mounts automatically in subsequent sessions.

파일 공유는 $Home 디렉터리에서 데이터를 자동으로 유지하기 위해 만든 5GB 이미지를 포함합니다.The file share also contains a 5-GB image that is created for you which automatically persists data in your $Home directory. 이는 Bash 및 PowerShell 모두에 적용됩니다.This applies for both Bash and PowerShell.

기존 리소스 사용Use existing resources

고급 옵션을 사용하여 기존 리소스를 연결할 수 있습니다.By using the advanced option, you can associate existing resources. Cloud Shell 지역을 선택할 때 동일한 지역에 배치된 지원 스토리지 계정을 선택해야 합니다.When selecting a Cloud Shell region you must select a backing storage account co-located in the same region. 예를 들어 할당 된 지역이 미국 서 부 인 경우 미국 서 부에 있는 파일 공유도 연결 해야 합니다.For example, if your assigned region is West US then you must associate a file share that resides within West US as well.

스토리지 설정 프롬프트가 나타나면 고급 옵션 표시를 선택하여 추가 옵션을 봅니다.When the storage setup prompt appears, select Show advanced settings to view additional options. 채워진 스토리지 옵션은 LRS(로컬 중복 스토리지), GRS(지역 중복 스토리지) 및 ZRS(영역 중복 스토리지) 계정을 필터링합니다.The populated storage options filter for locally redundant storage (LRS), geo-redundant storage (GRS), and zone-redundant storage (ZRS) accounts.

참고

지원 파일 공유의 복원력을 높이려면 GRS 또는 ZRS 스토리지 계정을 사용하는 것이 좋습니다.Using GRS or ZRS storage accounts are recommended for additional resiliency for your backing file share. 목표 및 가격 기본 설정에 따라 중복성 유형이 달라집니다.Which type of redundancy depends on your goals and price preference. Azure Storage 계정의 복제 옵션에 대해 자세히 알아보세요.Learn more about replication options for Azure Storage accounts.

리소스 그룹 설정

저장소 액세스 보안Securing storage access

보안을 위해 각 사용자는 자신의 스토리지 계정을 프로비전해야 합니다.For security, each user should provision their own storage account. RBAC(역할 기반 액세스 제어)의 경우 사용자에게는 스토리지 계정 수준에서 참가자 액세스 권한 이상이 있어야 합니다.For role-based access control (RBAC), users must have contributor access or above at the storage account level.

Cloud Shell는 지정 된 구독 내에서 저장소 계정에 Azure 파일 공유를 사용 합니다.Cloud Shell uses an Azure File Share in a storage account, inside a specified subscription. 상속 된 권한으로 인해 구독에 대 한 충분 한 액세스 권한이 있는 사용자는 구독에 포함 된 모든 저장소 계정 및 파일 공유에 액세스할 수 있습니다.Due to inherited permissions, users with sufficient access rights to the subscription will be able to access all the storage accounts, and file shares contained in the subscription.

사용자는 저장소 계정 또는 구독 수준에서 사용 권한을 설정 하 여 파일에 대 한 액세스를 잠가야 합니다.Users should lock down access to their files by setting the permissions at the storage account or the subscription level.

지원되는 스토리지 지역Supported storage regions

연결된 Azure Storage 계정은 사용자가 마운트하는 Cloud Shell 컴퓨터와 동일한 지역에 있어야 합니다.Associated Azure storage accounts must reside in the same region as the Cloud Shell machine that you're mounting them to. 현재 영역을 찾으려면 Bash에서 env를 실행하여 ACC_LOCATION 변수를 찾을 수 있습니다.To find your current region you may run env in Bash and locate the variable ACC_LOCATION. 파일 공유는 $Home 디렉터리를 유지하기 위해 만든 5GB 이미지를 수신합니다.File shares receive a 5-GB image created for you to persist your $Home directory.

Cloud Shell 컴퓨터는 아래 하위 지역에 위치합니다.Cloud Shell machines exist in the following regions:

영역Area 지역Region
아메리카Americas 미국 동부, 미국 중남부, 미국 서부East US, South Central US, West US
유럽Europe 북유럽, 서유럽North Europe, West Europe
아시아 태평양Asia Pacific 인도 중부, 동남 아시아India Central, Southeast Asia

Azure 리소스 정책으로 리소스 만들기 제한Restrict resource creation with an Azure resource policy

Cloud Shell에서 생성된 Storage 계정에 ms-resource-usage:azure-cloud-shell 태그가 지정됩니다.Storage accounts that you create in Cloud Shell are tagged with ms-resource-usage:azure-cloud-shell. 사용자가 Cloud Shell에서 스토리지 계정을 만드는 것을 허용하지 않으려면 이 특정 태그로 트리거되는 태그에 대한 Azure 리소스 정책을 만듭니다.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.

Cloud Shell 스토리지 작동 방법How Cloud Shell storage works

Cloud Shell은 다음 방법 모두를 통해 파일을 유지합니다.Cloud Shell persists files through both of the following methods:

  • $Home 디렉터리 내에 모든 콘텐츠를 유지하기 위해 해당 디렉터리의 디스크 이미지를 만듭니다.Creating a disk image of your $Home directory to persist all contents within the directory. 디스크 이미지는 fileshare.storage.windows.net/fileshare/.cloudconsole/acc_<User>.img에서 acc_<User>.img로 지정된 파일 공유에 저장되고 변경 내용을 자동으로 동기화합니다.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.
  • 직접 파일 공유의 상호 작용을 위해 $Home 디렉터리에서 지정된 파일 공유를 clouddrive로 마운트합니다.Mounting your specified file share as clouddrive in your $Home directory for direct file-share interaction. /Home/<User>/clouddrivefileshare.storage.windows.net/fileshare에 매핑됩니다./Home/<User>/clouddrive is mapped to fileshare.storage.windows.net/fileshare.

참고

SSH 키와 같이 $Home 디렉터리의 모든 파일은 마운트된 파일 공유에 저장된 사용자 디스크 이미지에서 유지됩니다.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. $Home 디렉터리 및 마운트된 파일 공유에서 정보를 유지하는 경우 모범 사례를 적용합니다.Apply best practices when you persist information in your $Home directory and mounted file share.

clouddrive 명령clouddrive commands

clouddrive 명령 사용Use the clouddrive command

Cloud Shell에서 Cloud Shell에 탑재 된 파일 공유를 수동으로 업데이트할 수 있는 clouddrive라는 명령을 실행할 수 있습니다.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. clouddrive 명령 실행Running the "clouddrive" command

목록 clouddriveList clouddrive

clouddrive로 마운트된 파일 공유를 확인하려면 df 명령을 실행합니다.To discover which file share is mounted as clouddrive, run the df command.

clouddrive에 대한 파일 경로는 URL에서 스토리지 계정 이름 및 파일 공유를 표시합니다.The file path to clouddrive shows your storage account name and file share in the URL. 예를 들어 //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:~$

새 clouddrive 탑재Mount a new clouddrive

수동 마운트를 위한 필수 구성 요소Prerequisites for manual mounting

clouddrive mount 명령을 사용하여 Cloud Shell과 연결된 파일 공유를 업데이트할 수 있습니다.You can update the file share that's associated with Cloud Shell by using the clouddrive mount command.

기존 파일 공유를 탑재할 경우 스토리지 계정은 선택하는 Cloud Shell 영역에 있어야 합니다.If you mount an existing file share, the storage accounts must be located in your select Cloud Shell region. env를 실행 하 고 ACC_LOCATION를 확인 하 여 위치를 검색 합니다.Retrieve the location by running env and checking the ACC_LOCATION.

clouddrive mount 명령The clouddrive mount command

참고

새 파일 공유를 탑재하는 경우 새 사용자 이미지가 $Home 디렉터리에 만들어집니다.If you're mounting a new file share, a new user image is created for your $Home directory. 이전 $Home 이미지는 이전 파일 공유에 보관됩니다.Your previous $Home image is kept in your previous file share.

다음 매개 변수를 사용하여 clouddrive mount 명령을 실행합니다.Run the clouddrive mount command with the following parameters:

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

자세한 세부 정보를 보려면 아래와 같이 clouddrive mount -h를 실행합니다.To view more details, run clouddrive mount -h, as shown here:

‘clouddrive mount’ 명령 실행

clouddrive 탑재 해제Unmount clouddrive

언제든지 Cloud Shell에 마운트된 파일 공유의 마운트를 해제할 수 있습니다.You can unmount a file share that's mounted to Cloud Shell at any time. Azure Cloud Shell에는 사용될 탑재된 파일 공유가 필요하므로 다음 세션에서는 또 다른 파일 공유를 만들고 탑재하라는 메시지가 표시됩니다.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. clouddrive unmount을 실행합니다.Run clouddrive unmount.
  2. 프롬프트 승인 및 확인Acknowledge and confirm prompts.

파일 공유는 수동으로 삭제하지 않은 한 계속 유지됩니다.Your file share will continue to exist unless you delete it manually. Cloud Shell은 후속 세션에서 이 파일 공유를 더 이상 검색하지 않습니다.Cloud Shell will no longer search for this file share on subsequent sessions. 자세한 세부 정보를 보려면 아래와 같이 clouddrive unmount -h를 실행합니다.To view more details, run clouddrive unmount -h, as shown here:

‘clouddrive unmount’ 명령 실행

경고

이 명령을 실행해도 리소스가 삭제되는 것은 아니지만 Cloud Shell에 매핑된 리소스 그룹, 스토리지 계정 또는 파일 공유를 수동으로 삭제하면 $Home 디렉터리 디스크 이미지 및 파일 공유의 모든 파일이 지워집니다.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. 이 작업은 취소할 수 없습니다.This action cannot be undone.

PowerShell 관련 명령PowerShell-specific commands

clouddrive Azure 파일 공유 나열List clouddrive Azure file shares

Get-CloudDrive cmdlet은 Azure Cloud Shell에서 clouddrive에 현재 탑재된 Azure 파일 공유 정보를 검색합니다.The Get-CloudDrive cmdlet retrieves the Azure file share information currently mounted by the clouddrive in the Cloud Shell.
Get-CloudDrive 실행Running Get-CloudDrive

clouddrive 마운트 해제Unmount clouddrive

언제든지 Cloud Shell에 마운트된 Azure 파일 공유의 마운트를 해제할 수 있습니다.You can unmount an Azure file share that's mounted to Cloud Shell at any time. Azure 파일 공유가 제거된 경우 다음 세션에서 새 Azure 파일 공유를 만들고 탑재하라는 메시지가 표시됩니다.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.

Dismount-CloudDrive cmdlet은 현재 스토리지 계정에서 Azure 파일 공유를 탑재 해제합니다.The Dismount-CloudDrive cmdlet unmounts an Azure file share from the current storage account. clouddrive를 탑재 해제하면 현재 세션이 종료됩니다.Dismounting the clouddrive terminates the current session. 사용자에게 다음 세션에서 새 Azure 파일 공유를 만들고 탑재하라는 메시지가 표시됩니다.The user will be prompted to create and mount a new Azure file share during the next session. CloudDrive 탑재 해제 실행Running Dismount-CloudDrive

Cloud Shell에 로컬 파일 전송Transfer local files to Cloud Shell

clouddrive 디렉터리가 Azure Portal 스토리지 블레이드에 동기화됩니다.The clouddrive directory syncs with the Azure portal storage blade. 이 블레이드를 사용하여 파일 공유 간에 로컬 파일을 전송합니다.Use this blade to transfer local files to or from your file share. Cloud Shell 내의 파일을 업데이트하면 블레이드를 새로 고칠 때 파일 스토리지 GUI에 반영됩니다.Updating files from within Cloud Shell is reflected in the file storage GUI when you refresh the blade.

파일 다운로드Download files

로컬 파일 목록

  1. Azure Portal에서 마운트된 파일 공유로 이동합니다.In the Azure portal, go to the mounted file share.
  2. 대상 파일을 선택합니다.Select the target file.
  3. 다운로드 단추를 선택합니다.Select the Download button.

파일 업로드Upload files

업로드할 로컬 파일

  1. 마운트된 파일 공유로 이동합니다.Go to your mounted file share.
  2. 업데이트 단추를 선택합니다.Select the Upload button.
  3. 업로드할 파일을 하나 이상 선택합니다.Select the file or files that you want to upload.
  4. 업로드를 확인합니다.Confirm the upload.

이제 Cloud Shell의 clouddrive 디렉터리에서 액세스할 수 있는 파일이 표시됩니다.You should now see the files that are accessible in your clouddrive directory in Cloud Shell.

참고: 파일에서 함수를 정의 하 고 PowerShell cmdlet에서 호출 해야 하는 경우 점 연산자를 포함 해야 합니다.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. 예: .For example: . .\MyFunctions.ps1.\MyFunctions.ps1

다음 단계Next steps

Cloud Shell 빠른 시작Cloud Shell Quickstart
Microsoft Azure Files 스토리지에 대해 알아보기Learn about Microsoft Azure Files storage
스토리지 태그에 대해 알아보기Learn about storage tags