다음을 통해 공유


Azure Cloud Shell FAQ(질문과 대답)

이 문서에서는 일반적인 질문에 답변하고 Cloud Shell 문제를 해결하는 방법을 설명합니다.

브라우저 지원

Cloud Shell은 다음과 같은 최신 버전 브라우저를 지원합니다.

  • Microsoft Edge
  • Google Chrome
  • Mozilla Firefox
  • Apple Safari
    • 개인 정보 보호 모드의 Safari는 지원되지 않습니다.

복사 및 붙여넣기

복사하여 붙여넣는 데 사용되는 키는 운영 체제 및 브라우저에 따라 다릅니다. 다음 목록에는 가장 일반적인 키 조합이 포함되어 있습니다.

  • Windows: Ctrl+c: 복사, CTRL+Shift+v 또는 Shift+Insert: 붙여넣기
    • FireFox에서 클립보드 사용 권한을 제대로 지원하지 않을 수 있습니다.
  • macOS: Cmd+c로 복사하고 Cmd+v로 붙여넣습니다.
  • Linux: 복사하려면 CTRL+c, 붙여넣으려면 CTRL+Shift+v입니다.

참고 항목

Ctrl+C를 입력할 때 선택된 텍스트가 없으면 Cloud Shell은 Ctrl-c 문자를 셸로 보냅니다. 셸은 Ctrl-c중단 신호로 해석하고, 현재 실행 중인 명령을 종료할 수 있습니다.

자주 묻는 질문

Cloud Shell 세션에 대한 시간 제한이 있나요?

Cloud Shell은 대화형 사용 사례를 위한 것입니다. 대화형 작업이 없으면 20분 후에 Cloud Shell 세션이 시간 초과됩니다. 따라서 비대화형 세션을 오래 실행하면 경고 없이 종료됩니다.

Cloud Shell은 Azure 환경을 관리하기 위한 무료 서비스입니다. 범용 컴퓨팅 플랫폼이 아닙니다. 과도한 사용량은 Azure 서비스 약관을 위반하는 것으로 간주되어 Cloud Shell에 대한 액세스가 차단될 수 있습니다.

동시 세션을 몇 개 열 수 있나요?

Azure Cloud Shell는 테넌트당 최대 20명의 동시 사용자 제한이 있습니다. 20개가 넘는 동시 세션을 열면 "할당량을 초과한 테넌트 사용자" 오류가 발생합니다. 20개 세션보다 더 많은 세션을 열어 두어야 하는 합법적인 요구 사항이 있는 경우(예: 교육 세션) 예상되는 사용량을 고객 지원팀에 미리 문의하여 할당량 증가를 요청합니다.

Cloud Shell에서 일부 파일을 만들었지만 없어졌습니다. 무슨 일이 일어났나요?

Cloud Shell 세션을 제공하는 컴퓨터는 일시적이며 세션이 20분 동안 비활성화된 후 재순환됩니다.

처음 Cloud Shell을 시작하면 스토리지 옵션을 선택하라는 메시지가 표시됩니다.

  • 스토리지 계정 탑재 옵션을 선택한 경우 Cloud Shell은 세션의 clouddrive 폴더에 Azure 파일 공유를 탑재합니다. clouddrive 폴더에 저장된 파일은 Storage 브라우저를 사용하여 Azure Portal에서 볼 수 있습니다. clouddrive 폴더에 저장된 파일은 세션 간에도 유지됩니다.

  • 스토리지 계정 필요 없음 옵션을 선택한 경우 $HOME 폴더에만 파일을 쓸 수 있습니다.

두 시나리오 모두 $HOME 폴더에 파일을 쓸 수 있습니다. 그러나 $HOME 폴더는 현재 사용 중인 Cloud Shell 컨테이너 이미지에만 존재합니다. $HOME 폴더의 파일은 스토리지 브라우저에 표시되지 않으며 세션이 종료되면 삭제됩니다.

Azure: 드라이브에서 파일을 만들지만 보이지 않습니다. 무슨 일이 일어났나요?

Cloud Shell은 Azure 리소스 데이터를 파일 시스템 드라이브로 제공하는 Azure용 PowerShell 공급자를 로드합니다. PowerShell 사용자는 Azure: 드라이브를 사용하여 Azure 리소스에 액세스할 수 있습니다. Azure: 드라이브는 파일을 만들 수 없는 가상 드라이브입니다.

현재 위치가 Azure: 드라이브인 경우 vim 또는 nano 등의 다른 도구를 사용하여 만드는 새 파일은 $HOME 폴더에 저장됩니다.

sudo가 필요한 도구를 Cloud Shell에 설치하려고 합니다. 이것이 가능한가요?

아니요. Cloud Shell의 사용자 계정은 권한 없는 계정입니다. sudo를 사용하거나 상승된 권한이 필요한 명령을 실행할 수 없습니다.

오류 문제 해결

스토리지 대화 상자 - 오류: 403 RequestDisallowedByPolicy

  • 세부 정보: 처음 사용자를 위해 Cloud Shell 스토리지 계정을 만들 때 관리자가 배치한 Azure Policy 할당으로 인해 실패할 수 있습니다. 오류 메시지에는 다음이 포함됩니다.

    The resource action 'Microsoft.Storage/storageAccounts/write' is disallowed by
    one or more policies.
    
  • 해결 방법: Azure 관리자에게 문의하여 스토리지 생성을 거부하는 Azure 정책 할당을 제거하거나 업데이트하세요.

스토리지 대화 상자 - 오류: 400 DisallowedOperation

  • 세부 정보: Microsoft Entra 구독을 사용하는 경우 Cloud Shell 스토리지 계정을 만들 수 없습니다.
  • 해결 방법: Microsoft Entra ID 구독은 Azure 리소스를 만들 수 없습니다. 스토리지 리소스를 만들 수 있는 Azure 구독을 사용합니다.

터미널 출력 - 오류: 터미널에 연결할 수 없습니다.

  • 세부 정보: Cloud Shell에는 Cloud Shell 인프라에 대한 websocket 연결을 설정하기 위한 기능이 필요합니다.
  • 해결 방법: 네트워크 설정이 다음 도메인에 HTTPS 및 websocket 요청을 보낼 수 있도록 허용하는지 확인합니다.
    • *.console.azure.com
    • *.servicebus.windows.net
    • Azure Government 클라우드의 경우 *.servicebus.usgovcloudapi.net

터미널 요청 실패 - 프라이빗 DNS 확인자를 사용하는 네트워크에서 Cloud Shell에 액세스

  • 세부 정보: Cloud Shell은 터미널 연결에 Azure Relay를 사용합니다. Cloud Shell은 DNS 확인 문제로 인해 터미널을 요청하지 못할 수 있습니다. 이러한 실패는 서비스 버스 도메인에 대한 프라이빗 DNS 영역이 있는 네트워크의 호스트에서 Cloud Shell 세션을 시작할 때 발생할 수 있습니다. 이 오류는 온-프레미스 프라이빗 DNS 서버를 사용하는 경우에도 발생할 수 있습니다.

  • 해결 방법: Cloud Shell에서 사용하는 Azure Relay 인스턴스에 대한 DNS 레코드를 추가할 수 있습니다.

    다음 단계에서는 Cloud Shell 인스턴스의 DNS 이름을 식별하고 해당 이름에 대한 DNS 레코드를 만드는 방법을 보여 줍니다.

    1. 웹 브라우저를 사용하여 Cloud Shell을 시작해 보세요. 브라우저의 개발자 도구를 사용하여 Azure Relay 인스턴스 이름을 찾습니다. Microsoft Edge 또는 Google Chrome에서 F12 키를 눌러 개발자 도구를 엽니다. 네트워크 탭을 선택합니다. 오른쪽 상단 모서리에 있는 검색 상자를 찾습니다. terminals?를 검색하여 Cloud Shell 터미널에 대한 요청을 찾습니다. 검색을 통해 찾은 요청 항목 중 하나를 선택합니다. 헤더 탭에서 요청 URL에서 호스트 이름을 찾습니다. 이름은 ccon-prod-<region-name>-aci-XX.servicebus.windows.net과 유사합니다. Azure Government 클라우드의 경우 호스트 이름은 servicebus.usgovcloudapi.net으로 끝납니다.

      다음 스크린샷은 터미널에 대한 요청이 성공했을 때의 Microsoft Edge의 개발자 도구를 보여 줍니다. 호스트 이름은 ccon-prod-southcentalus-aci-02.servicebus.windows.net입니다. 사용자의 경우에는 요청이 실패할 것이지만, 확인해야 할 호스트 이름을 찾을 수 있습니다.

      브라우저 개발자 도구의 스크린샷.

      다른 브라우저에서 개발자 도구에 액세스하는 방법에 대한 자세한 내용은 문제 해결을 위한 브라우저 추적 캡처를 참조하세요.

    2. 개인 네트워크 외부의 호스트에서 nslookup 명령을 실행하여 이전 단계에서 찾은 호스트 이름의 IP 주소를 찾습니다.

      nslookup ccon-prod-southcentalus-aci-02.servicebus.windows.net
      

      결과는 다음 예와 유사하게 나타납니다.

      Server:         168.63.129.16
      Address:        168.63.129.16
      
      Non-authoritative answer:
      ccon-prod-southcentralus-aci-02.servicebus.windows.net  canonical name = ns-sb2-prod-sn3-012.cloudapp.net.
      Name:   ns-sb2-prod-sn3-012.cloudapp.net
      Address: 40.84.152.91
      
    3. 개인 네트워크의 프라이빗 DNS 영역에 공용 IP에 대한 A 레코드를 추가합니다. 이 예에서 DNS 레코드는 다음과 같은 속성을 갖습니다.

      • 이름: ccon-prod-southcentralus-aci-02
      • 형식: A
      • TTL: 1시간
      • IP 주소: 40.84.152.91

      프라이빗 DNS 영역에서 DNS 레코드를 만드는 방법에 대한 자세한 내용은 Azure DNS를 사용하여 DNS 레코드 집합 및 레코드 관리를 참조하세요.

      참고 항목

      이 IP 주소는 주기적으로 변경될 수 있습니다. 새로운 IP 주소를 알아내려면 이 과정을 반복해야 할 수도 있습니다.

    또는, 자체 프라이빗 Cloud Shell 인스턴스를 배포할 수 있습니다. 자세한 내용은 가상 네트워크에 Cloud Shell 배포를 참조하세요.

Cloud Shell 관리

개인 데이터 관리

Microsoft Azure는 개인 데이터를 중요하게 생각합니다. Azure Cloud Shell 서비스는 Cloud Shell 스토리지 및 터미널 기본 설정에 대한 정보를 저장합니다. 다음 예제 중 하나를 사용하여 이 정보를 볼 수 있습니다.

  • bash 명령 프롬프트에서 다음 명령을 사용합니다.

    URL="https://management.azure.com/providers/Microsoft.Portal/usersettings/cloudconsole?api-version=2017-12-01-preview"
    az rest --method get --url $URL
    
  • PowerShell 명령 프롬프트에서 다음 명령을 실행합니다.

    $invokeAzRestMethodSplat = @{
        Uri    = 'https://management.azure.com/providers/Microsoft.Portal/usersettings/cloudconsole?api-version=2017-12-01-preview'
        Method = 'GET'
    }
    $userdata = (Invoke-AzRestMethod @invokeAzRestMethodSplat).Content
    ($userdata | ConvertFrom-Json).properties | Format-List
    

사용자 설정을 다시 설정하여 이 개인 데이터를 삭제할 수 있습니다. 사용자 설정을 다시 설정하면 현재 세션이 종료되고 연결된 스토리지 계정이 탑재 해제됩니다. Cloud Shell에서 사용하는 Azure 파일 공유는 삭제되지 않습니다.

Cloud Shell에 다시 연결할 때 스토리지 계정을 연결하라는 메시지가 표시됩니다. 새 스토리지 계정을 만들거나 이전에 사용한 기존 스토리지 계정을 다시 연결할 수 있습니다.

다음 단계를 사용하여 사용자 설정을 삭제합니다.

  1. Cloud Shell을 시작합니다.
  2. Cloud Shell 도구 모음에서 설정 메뉴(기어 아이콘)를 선택합니다.
  3. 메뉴에서 사용자 설정 다시 설정을 선택합니다.
  4. 다시 설정 단추를 선택하여 작업을 확인합니다.

잠긴 네트워크 환경에서 Cloud Shell을 차단

  • 세부 정보: 관리자가 사용자를 위해 Cloud Shell에 대한 액세스를 사용하지 않도록 설정할 수 있습니다. Cloud Shell은 거부될 수 있는 ux.console.azure.com 도메인에 대한 액세스를 활용하여 portal.azure.com, shell.azure.com, Visual Studio Code Azure 계정 확장 및 learn.microsoft.com을 포함한 Cloud Shell의 진입점에 대한 액세스를 중단합니다. US Government 클라우드에서 진입점은 ux.console.azure.us이며, 해당하는 shell.azure.us가 없습니다.
  • 해결 방법: 네트워크에서 ux.console.azure.com 또는 ux.console.azure.us에 대한 액세스를 제한합니다. Cloud Shell 아이콘은 Azure Portal에 여전히 존재하지만 서비스에 연결되지 않습니다.