Azure Cloud Shell에서 파일 유지

Cloud Shell은 Azure Files를 사용하여 세션 간에 파일을 유지합니다. 처음 시작 시 Cloud Shell은 세션 간에 파일을 유지하기 위해 새 또는 기존 파일 공유를 연결하도록 요구합니다.

참고 항목

Bash 및 PowerShell은 동일한 파일 공유를 공유합니다. 하나의 파일 공유는 Cloud Shell에서 자동 탑재와 연결될 수 있습니다.

Azure Storage 방화벽은 클라우드 셸 스토리지 계정에 대해 지원되지 않습니다.

새 스토리지 만들기

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

  • 리소스 그룹: cloud-shell-storage-<region>
  • Storage 계정: cs<uniqueGuid>
  • fileshare: cs-<user>-<domain>-com-<uniqueGuid>

Screenshot of choosing the subscription for your storage account.

파일 공유는 $HOME 디렉터리에서 clouddrive로 탑재됩니다. 이것은 일회성 작업이며 파일 공유는 후속 세션에서 자동으로 탑재됩니다.

파일 공유는 $HOME 디렉터리에서 데이터를 자동으로 유지하는 5GB 이미지도 포함합니다. 이 파일 공유는 Bash 및 PowerShell 모두에 사용됩니다.

기존 리소스 사용

고급 옵션을 사용하여 기존 리소스를 연결할 수 있습니다. 스토리지 설정 프롬프트가 나타나면 고급 옵션 표시를 선택하여 추가 옵션을 봅니다. 채워진 스토리지 옵션은 LRS(로컬 중복 스토리지), GRS(지역 중복 스토리지) 및 ZRS(영역 중복 스토리지) 계정을 필터링합니다.

참고 항목

지원 파일 공유의 복원력을 높이려면 GRS 또는 ZRS 스토리지 계정을 사용하는 것이 좋습니다. 목표 및 가격 기본 설정에 따라 중복성 유형이 달라집니다. Azure Storage 계정의 복제 옵션에 대해 자세히 알아보세요.

Screenshot of configuring your storage account.

스토리지 액세스 보안

보안을 위해 각 사용자는 자신의 스토리지 계정을 만들어야 합니다. Azure RBAC(Azure 역할 기반 액세스 제어)의 경우 사용자에게는 스토리지 계정 수준에서 기여자 액세스 권한 이상이 있어야 합니다.

Cloud Shell은 지정된 구독 내에 있는 스토리지 계정의 Azure 파일 공유를 사용합니다. 상속된 권한으로 인해 구독에 대한 충분한 액세스 권한이 있는 사용자는 구독에 포함된 모든 스토리지 계정 및 파일 공유에 액세스할 수 있습니다.

사용자는 스토리지 계정 또는 구독 수준에서 사용 권한을 설정하여 파일에 대한 액세스를 잠가야 합니다.

Cloud Shell 스토리지 계정에는 Cloud Shell 사용자가 홈 디렉터리에 만든 파일이 포함되며, 여기에는 액세스 토큰 또는 자격 증명을 비롯한 중요한 정보가 포함될 수 있습니다.

지원되는 스토리지 지역

현재 영역을 찾으려면 Bash에서 env을(를) 실행하여 ACC_LOCATION 변수를 찾거나 PowerShell에서 $env:ACC_LOCATION을(를) 실행할 수 있습니다. 파일 공유는 $HOME 디렉터리를 유지하기 위해 만든 5GB 이미지를 수신합니다.

Cloud Shell 컴퓨터는 아래 하위 지역에 위치합니다.

영역 지역
아메리카 미국 동부, 미국 중남부, 미국 서부
유럽 북유럽, 서유럽
아시아 태평양 인도 중부, 동남 아시아

요구 사항을 충족하는 지역을 선택해야 합니다.

보조 스토리지 지역

보조 스토리지 지역이 사용되는 경우 연결된 Azure Storage 계정은 이를 탑재할 Cloud Shell 머신과 다른 지역에 있습니다. 예를 들어 사용자는 스토리지 계정을 보조 지역인 캐나다 동부에 배치되도록 설정할 수 있지만, Cloud Shell 컴퓨터는 여전히 주 지역에 있습니다. 미사용 데이터는 캐나다에 있지만 미국에서 처리됩니다.

참고 항목

보조 지역을 사용하는 경우 Cloud Shell의 파일 액세스 및 시작 시간이 느려질 수 있습니다.

사용자는 PowerShell에서 (Get-CloudDrive | Get-AzStorageAccount).Location을 실행하여 파일 공유의 위치를 볼 수 있습니다.

Azure 리소스 정책으로 리소스 만들기 제한

Cloud Shell에서 생성된 스토리지 계정에 ms-resource-usage:azure-cloud-shell 태그가 지정됩니다. 사용자가 Cloud Shell에서 스토리지 계정을 만드는 것을 허용하지 않으려면 이 특정 태그로 트리거되는 태그에 대한 Azure 리소스 정책을 만듭니다.

Cloud Shell 스토리지 작동 방법

Cloud Shell은 다음 방법 모두를 통해 파일을 유지합니다.

  • $HOME 디렉터리 내에 모든 콘텐츠를 유지하기 위해 해당 디렉터리의 디스크 이미지를 만듭니다. 디스크 이미지는 fileshare.storage.windows.net/fileshare/.cloudconsole/acc_<User>.img에서 acc_<User>.img로 지정된 파일 공유에 저장되고 변경 내용을 자동으로 동기화합니다.
  • 직접 파일 공유의 상호 작용을 위해 $HOME 디렉터리에서 지정된 파일 공유를 clouddrive로 탑재합니다. /Home/<User>/clouddrivefileshare.storage.windows.net/fileshare에 매핑됩니다.

참고 항목

SSH 키와 같이 $HOME 디렉터리의 모든 파일은 탑재된 파일 공유에 저장된 사용자 디스크 이미지에서 유지됩니다. $HOME 디렉터리 및 탑재된 파일 공유에서 정보를 유지하는 경우 모범 사례를 적용합니다.

clouddrive 명령

clouddrive 명령 사용

Cloud Shell에서 clouddrive 명령을 실행하여 Cloud Shell에 탑재된 파일 공유를 수동으로 업데이트할 수 있습니다.

Screenshot of running the clouddrive command in bash.

목록 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

새 clouddrive 탑재

수동 마운트를 위한 필수 구성 요소

clouddrive mount 명령을 사용하여 Cloud Shell과 연결된 파일 공유를 업데이트할 수 있습니다.

참고 항목

새 파일 공유를 탑재하는 경우 새 사용자 이미지가 $HOME 디렉터리에 만들어집니다. 이전 $HOME 이미지는 이전 파일 공유에 보관됩니다.

다음 매개 변수를 사용하여 clouddrive mount 명령을 실행합니다.

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

자세한 세부 정보를 보려면 아래와 같이 clouddrive mount -h를 실행합니다.

Screenshot of running the clouddrive mount command in bash.

clouddrive 탑재 해제

언제든지 Cloud Shell에 탑재된 파일 공유를 분리할 수 있습니다. Cloud Shell에는 사용할 파일 공유가 탑재되어야 하므로 다음 세션에서는 또 다른 파일 공유를 만들고 탑재하라는 메시지가 표시됩니다.

  1. clouddrive unmount를 실행합니다.
  2. 프롬프트 승인 및 확인

탑재되지 않은 파일 공유는 수동으로 삭제할 때까지 계속 존재합니다. 분리한 후 Cloud Shell은 이후 세션에서 이 파일 공유를 더 이상 검색하지 않습니다. 자세한 세부 정보를 보려면 아래와 같이 clouddrive unmount -h를 실행합니다.

Screenshot of running the clouddrive unmount command in bash.

Warning

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

PowerShell 관련 명령

clouddrive Azure 파일 공유 나열

Get-CloudDrive cmdlet은 Cloud Shell에서 clouddrive에 현재 탑재된 Azure 파일 공유 정보를 검색합니다.

Screenshot of running the Get-CloudDrive command in PowerShell.

clouddrive 마운트 해제

언제든지 Cloud Shell에 탑재된 Azure 파일 공유를 분리할 수 있습니다. Dismount-CloudDrive cmdlet은 현재 스토리지 계정에서 Azure 파일 공유를 분리합니다. clouddrive를 탑재 해제하면 현재 세션이 종료됩니다.

Azure 파일 공유가 제거된 경우 다음 세션에서 새 Azure 파일 공유를 만들고 탑재하라는 메시지가 표시됩니다.

Screenshot of running the Dismount-CloudDrive command in PowerShell.

Cloud Shell에 로컬 파일 전송

clouddrive 디렉터리가 Azure Portal 스토리지 블레이드에 동기화됩니다. 이 블레이드를 사용하여 파일 공유 간에 로컬 파일을 전송합니다. Cloud Shell 내의 파일을 업데이트하면 블레이드를 새로 고칠 때 파일 스토리지 GUI에 반영됩니다.

Azure Portal에서 파일 다운로드

Screenshot listing local files in the Azure portal.

  1. Azure Portal에서 마운트된 파일 공유로 이동합니다.
  2. 대상 파일을 선택합니다.
  3. 다운로드 단추를 선택합니다.

Azure Cloud Shell에서 파일 다운로드

  1. Azure Cloud Shell 세션에서 파일 업로드/다운로드 아이콘을 선택하고 다운로드 옵션을 선택합니다.

  2. 파일 다운로드 대화 상자에서 다운로드할 파일의 경로를 입력합니다.

    Screenshot of the download dialog box in Cloud Shell.

    $HOME 폴더 아래에 있는 파일만 다운로드할 수 있습니다.

  3. 다운로드 단추를 선택합니다.

파일 업로드

Screenshot showing how to upload files in the Azure portal.

  1. 마운트된 파일 공유로 이동합니다.
  2. 업로드 버튼을 선택합니다.
  3. 업로드할 파일을 하나 이상 선택합니다.
  4. 업로드를 확인합니다.

이제 Cloud Shell의 clouddrive 디렉터리에서 액세스할 수 있는 파일이 표시됩니다.

참고 항목

파일에서 함수를 정의하고 PowerShell cmdlet에서 호출해야 하는 경우 점 연산자를 포함해야 합니다. 예: . .\MyFunctions.ps1

Azure Cloud Shell에서 파일 업로드

  1. Azure Cloud Shell 세션에서 파일 업로드/다운로드 아이콘을 선택하고 업로드 옵션을 선택합니다. 브라우저에서 파일 대화 상자가 열립니다.
  2. 업로드할 파일을 선택한 다음, 열기 단추를 선택합니다.

파일이 $HOME 폴더의 루트에 업로드됩니다. 파일을 업로드한 후 이동할 수 있습니다.

다음 단계