Azure Cloud Shell のトラブルシューティングと制限事項Troubleshooting & Limitations of Azure Cloud Shell

Azure Cloud Shell に関する問題のトラブルシューティングを行うための既知の解決策は以下のとおりです。Known resolutions for troubleshooting issues in Azure Cloud Shell include:

一般的なトラブルシューティングGeneral troubleshooting

FireFox での早期タイムアウトEarly timeouts in FireFox

  • 詳細: Cloud Shell は開いている WebSocket を使ってお使いのブラウザーに入力/出力を渡します。Details: Cloud Shell utilizes an open websocket to pass input/output to your browser. FireFox には WebSocket を途中で閉じることができる事前設定されたポリシーがあり、Cloud Shell の早期タイムアウトの原因になります。FireFox has preset policies that can close the websocket prematurely causing early timeouts in Cloud Shell.
  • 解決策: FireFox を開き、URL で "about:config" に移動します。Resolution: Open FireFox and navigate to "about:config" in the URL box. "network.websocket.timeout.ping.request" を検索し、値を 0 から 10 に変更します。Search for "network.websocket.timeout.ping.request" and change the value from 0 to 10.

ロック ダウンされたネットワーク環境で Cloud Shell を無効にするDisabling Cloud Shell in a locked down network environment

  • 詳細: 管理者によっては、ユーザーが Cloud Shell にアクセスできないようにしたほうが望ましいと判断する場合があります。Details: Administrators may wish to disable access to Cloud Shell for their users. Cloud Shell では、ux.console.azure.com ドメインへのアクセスが使用されますが、このアクセスは拒否される場合があり、その場合は、Cloud Shell のエントリ ポイントへのアクセスがすべて停止されます (portal.azure.com、shell.azure.com、Visual Studio Code Azure Account 拡張機能、および docs.microsoft.com を含む)。Cloud Shell utilizes access to the ux.console.azure.com domain which can be denied, stopping any access to Cloud Shell's entrypoints including portal.azure.com, shell.azure.com, Visual Studio Code Azure Account extension, and docs.microsoft.com.
  • 解決策: 環境のネットワーク設定を通じて、ux.console.azure.com へのアクセスを制限します。Resolution: Restrict access to ux.console.azure.com via network settings to your environment. Cloud Shell アイコンはその後も portal.azure.com に表示されますが、サービスに正常に接続することはできなくなります。The Cloud Shell icon will still exist in portal.azure.com, but will not successfully connect to the service.

ストレージ ダイアログ - エラー: 403 RequestDisallowedByPolicyStorage Dialog - Error: 403 RequestDisallowedByPolicy

  • 詳細: Cloud Shell からストレージ アカウントを作成するときに、管理者によって配置された Azure ポリシーが原因で作成が失敗します。エラー メッセージには以下が含まれます。The resource action 'Microsoft.Storage/storageAccounts/write' is disallowed by one or more policies.Details: When creating a storage account through Cloud Shell, it is unsuccessful due to an Azure policy placed by your admin. Error message will include: The resource action 'Microsoft.Storage/storageAccounts/write' is disallowed by one or more policies.
  • 解決策: Azure 管理者に連絡して、ストレージの作成を拒否している Azure ポリシーを削除または更新してもらいます。Resolution: Contact your Azure administrator to remove or update the Azure policy denying storage creation.

ストレージ ダイアログ - エラー: 400 DisallowedOperationStorage Dialog - Error: 400 DisallowedOperation

  • 詳細: Azure Active Directory サブスクリプションを使うと、ストレージを作成できません。Details: When using an Azure Active Directory subscription, you cannot create storage.
  • 解決策: ストレージ リソースを作成できる Azure サブスクリプションを使ってください。Resolution: Use an Azure subscription capable of creating storage resources. Azure AD サブスクリプションでは、Azure のリソースを作成できません。Azure AD subscriptions are not able to create Azure resources.

ターミナル出力 - エラー: Failed to connect terminal: websocket cannot be established. (ターミナルに接続できませんでした: WebSocket を確立できません。)Terminal output - Error: Failed to connect terminal: websocket cannot be established. Press Enter to reconnect. (再接続するには Enter キーを押してください。)Press Enter to reconnect.

  • 詳細: Cloud Shell では、Cloud Shell インフラストラクチャへの WebSocket 接続を確立できる必要があります。Details: Cloud Shell requires the ability to establish a websocket connection to Cloud Shell infrastructure.
  • 解決策: HTTPS 要求および WebSocket 要求の *.console.azure.com のドメインへの送信を有効にするようにネットワーク設定を構成していることを確認します。Resolution: Check you have configured your network settings to enable sending https requests and websocket requests to domains at *.console.azure.com.

TLS 1.2 を使用したサポートのための Cloud Shell 接続の設定Set your Cloud Shell connection to support using TLS 1.2

  • 詳細: Cloud Shell への接続用の TLS のバージョンを定義するには、ブラウザー固有の設定を行う必要があります。Details: To define the version of TLS for your connection to Cloud Shell, you must set browser specific settings.
  • 解決策: ブラウザーのセキュリティ設定に移動して、[TLS 1.2 の使用] の横にあるチェック ボックスをオンにします。Resolution: Navigate to the security settings of your browser and select the checkbox next to "Use TLS 1.2".

Bash のトラブルシューティングBash troubleshooting

Docker デーモンを実行できないCannot run the docker daemon

  • 詳細: Cloud Shell では、コンテナーを利用してシェル環境をホストするため、デーモンを実行することが許可されていません。Details: Cloud Shell utilizes a container to host your shell environment, as a result running the daemon is disallowed.
  • 解決策: 既定でインストールされている Docker マシンを利用して、リモート Docker ホストから Docker コンテナーを管理します。Resolution: Utilize docker-machine, which is installed by default, to manage docker containers from a remote Docker host.

PowerShell のトラブルシューティングPowerShell troubleshooting

GUI アプリケーションがサポートされていないGUI applications are not supported

  • 詳細: ユーザーが GUI アプリケーションを起動しても、プロンプトが返りません。Details: If a user launches a GUI application, the prompt does not return. たとえば、2 要素認証が有効なプライベート GitHub リポジトリを複製すると、2 要素認証を完了するためのダイアログ ボックスが表示されます。For example, when one clone a private GitHub repo that has two factor authentication enabled, a dialog box is displayed for completing the two factor authentication.
  • 解決策: シェルをいったん閉じて、再び開きます。Resolution: Close and reopen the shell.

Azure VM のリモート管理のトラブルシューティングTroubleshooting remote management of Azure VMs

注意

Azure VM には、一般に公開されている IP アドレスが必要です。Azure VMs must have a Public facing IP address.

  • 詳細: WinRM に対する Windows ファイアウォールの既定の設定のため、次のようなエラー メッセージが表示されることがあります。Ensure the WinRM service is running. Remote Desktop into the VM for the first time and ensure it can be discovered.Details: Due to the default Windows Firewall settings for WinRM the user may see the following error: Ensure the WinRM service is running. Remote Desktop into the VM for the first time and ensure it can be discovered.
  • 解決策: Enable-AzureRmVMPSRemoting を実行して、ターゲット コンピューター上での PowerShell リモート処理のすべての側面を有効にします。Resolution: Run Enable-AzureRmVMPSRemoting to enable all aspects of PowerShell remoting on the target machine.

dir によって Azure ドライブで結果が更新されないdir does not update the result in Azure drive

  • 詳細: 既定では、ユーザー エクスペリエンスを確保する最適化のために、dir の結果が Azure ドライブにキャッシュされます。Details: By default, to optimize for user experience, the results of dir is cached in Azure drive.
  • 解決策: Azure リソースを作成、更新、または削除した後に、dir -force を実行して Azure ドライブで結果を更新します。Resolution: After you create, update or remove an Azure resource, run dir -force to update the results in the Azure drive.

一般的な制限事項General limitations

Azure Cloud Shell には、次の既知の制限があります。Azure Cloud Shell has the following known limitations:

システム状態と永続化System state and persistence

Cloud Shell セッションを提供するマシンは一時的であり、セッションが 20 分間非アクティブの状態になると、リサイクルされます。The machine that provides your Cloud Shell session is temporary, and it is recycled after your session is inactive for 20 minutes. Cloud Shell では、Azure ファイル共有がマウントされている必要があります。Cloud Shell requires an Azure file share to be mounted. そのため、Cloud Shell にアクセスするには、ご利用のサブスクリプションでストレージ リソースをセットアップできることが必要です。As a result, your subscription must be able to set up storage resources to access Cloud Shell. その他の考慮事項:Other considerations include:

  • マウントされたストレージでは、clouddrive ディレクトリ内の変更のみが永続化されます。With mounted storage, only modifications within the clouddrive directory are persisted. Bash では、$HOME ディレクトリも永続化されます。In Bash, your $HOME directory is also persisted.
  • Azure ファイル共有は、割り当て済みリージョン内からのみマウントできます。Azure file shares can be mounted only from within your assigned region.
    • Bash では、env を実行して、ACC_LOCATION として設定されたリージョンを検索します。In Bash, run env to find your region set as ACC_LOCATION.
  • Azure Files は、ローカル冗長ストレージと geo 冗長ストレージのアカウントのみをサポートします。Azure Files supports only locally redundant storage and geo-redundant storage accounts.

ブラウザーのサポートBrowser support

Cloud Shell では、以下のブラウザーの最新バージョンがサポートされます。Cloud Shell supports the latest versions of following browsers:

  • Microsoft EdgeMicrosoft Edge
  • Microsoft Internet ExplorerMicrosoft Internet Explorer
  • Google ChromeGoogle Chrome
  • Mozilla FirefoxMozilla Firefox
  • Apple SafariApple Safari
    • プライベート モードの Safari はサポートされません。Safari in private mode is not supported.

コピーと貼り付けCopy and paste

  • Windows: コピーの場合は Ctrl-c がサポートされますが、貼り付けには Shift-insert を使用します。Windows: Ctrl-c to copy is supported but use Shift-insert to paste.
    • Firefox や IE ではクリップボードのアクセス許可が正しくサポートされない場合があります。FireFox/IE may not support clipboard permissions properly.
  • Mac OS: コピーの場合は Cmd-c、貼り付けの場合は Cmd-vMac OS: Cmd-c to copy and Cmd-v to paste.

特定のユーザーがアクティブにできるシェルは 1 つだけであるFor a given user, only one shell can be active

ユーザーは、一度に 1 種類のシェル (Bash または PowerShell) だけを起動できます。Users can only launch one type of shell at a time, either Bash or PowerShell. ただし、Bash または PowerShell の複数のインスタンスを同時に実行できます。However, you may have multiple instances of Bash or PowerShell running at one time. Bash と PowerShell の間でスワップを行うと、Cloud Shell が再起動し、既存セッションが終了します。Swapping between Bash or PowerShell causes Cloud Shell to restart, which terminates existing sessions.

Usage limits (使用状況の制限)Usage limits

Cloud Shell は対話型のユース ケースを想定しています。Cloud Shell is intended for interactive use cases. そのため、実行時間の長い非対話型セッションは、警告なしで終了します。As a result, any long-running non-interactive sessions are ended without warning.

ユーザーのアクセス許可User permissions

権限は、sudo アクセスのない、通常のユーザーとして設定されます。Permissions are set as regular users without sudo access. $Home ディレクトリ外のインストールはすべて失われます。Any installation outside your $Home directory is not persisted.

Bash の制限事項Bash limitations

.bashrc の編集Editing .bashrc

.bashrc を編集すると Cloud Shell で予期しないエラーが発生する可能性があるため、編集には注意が必要です。Take caution when editing .bashrc, doing so can cause unexpected errors in Cloud Shell.

PowerShell の制限事項PowerShell limitations

AzureAD モジュールのプレビュー バージョンPreview version of AzureAD module

現時点では、.NET Standard ベースのモジュールのプレビュー バージョンである AzureAD.Standard.Preview を入手できます。Currently, AzureAD.Standard.Preview, a preview version of .NET Standard-based, module is available. このモジュールは、AzureAD と同じ機能を提供します。This module provides the same functionality as AzureAD.

SqlServer モジュールの機能SqlServer module functionality

Cloud Shell に含まれている SqlServer モジュールには、PowerShell Core に対するプレリリース サポートしかありません。The SqlServer module included in Cloud Shell has only prerelease support for PowerShell Core. 特に、Invoke-SqlCmd はまだ使用できません。In particular, Invoke-SqlCmd is not available yet.

Azure ドライブから作成された場合の既定のファイルの場所Default file location when created from Azure drive

ユーザーは、PowerShell コマンドレットを使用して Azure ドライブにファイルを作成することができません。Using PowerShell cmdlets, users cannot create files under the Azure drive. ユーザーが vim や nano などの他のツールを使用して新しいファイルを作成すると、これらのファイルは、既定では $HOME に保存されます。When users create new files using other tools, such as vim or nano, the files are saved to the $HOME by default.

GUI ポップアップを作成するコマンドがサポートされていないCommands that create GUI pop-ups are not supported

Windows ダイアログ ボックスを作成するコマンド (Connect-AzureADConnect-AzureRmAccount など) をユーザーが実行すると、Unable to load DLL 'IEFRAME.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E) のようなエラー メッセージが表示されます。If the user runs a command that would create a Windows dialog box, such as Connect-AzureAD or Connect-AzureRmAccount, one sees an error message such as: Unable to load DLL 'IEFRAME.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E).

タブ補完によって PSReadline 例外がスローされることがあるTab completion can throw PSReadline exception

ユーザーの PSReadline EditMode が Emacs に設定されており、そのユーザーがタブ補完ですべての可能性を表示しようとしたが、ウィンドウ サイズが小さすぎてすべての可能性を表示できない場合、PSReadline はハンドルされない例外をスローします。If the user's PSReadline EditMode is set to Emacs, the user tries to display all possibilities via tab completion, and the window size is too small to display all the possibilities, PSReadline will throw unhandled exception.

進行状況バーを表示した後に大きなギャップができるLarge gap after displaying progress bar

コマンドまたはユーザー アクション (Azure: ドライブ内にある状態でのタブ補完など) によって進行状況バーが表示される場合は、カーソルが正しく設定されていないために、前に進行状況バーがあった場所にギャップが現れることがあります。If a command or user action displays a progress bar, such a tab completing while in the Azure: drive, then it is possible that the cursor is not set properly and a gap appears where the progress bar was previously.

ランダムな文字がインラインで表示されるRandom characters appear inline

ユーザー入力にカーソル位置のシーケンス コード (5;13R など) が表示される場合があります。The cursor position sequence codes, for example 5;13R, can appear in the user input. これらの文字は手動で削除できます。The characters can be manually removed.

Cloud Shell での個人データPersonal data in Cloud Shell

Azure Cloud Shell は、ユーザーの個人データを慎重に取り扱います。Azure Cloud Shell サービスによって取得および格納されたデータは、最近使用されたシェル、推奨されるフォント サイズ、推奨されるフォントの種類、クラウド ドライブの基盤となるファイル共有の詳細などの、ユーザー エクスペリエンスのための既定値を提供するために使用されます。Azure Cloud Shell takes your personal data seriously, the data captured and stored by the Azure Cloud Shell service are used to provide defaults for your experience such as your most recently used shell, preferred font size, preferred font type, and file share details that back cloud drive. このデータをエクスポートまたは削除したい場合は、以下の手順に従ってください。Should you wish to export or delete this data, use the following instructions.

注意

この記事は、デバイスまたはサービスから個人用データを削除する手順について説明しており、GDPR での義務を果たすために使用できます。This article provides steps for how to delete personal data from the device or service and can be used to support your obligations under the GDPR. GDPR に関する全般情報については、Service Trust ポータルの GDPR に関するセクションをご覧ください。If you’re looking for general info about GDPR, see the GDPR section of the Service Trust portal.

エクスポートExport

選択されたシェル、フォント サイズ、フォントの種類など、Cloud Shell によって保存されるユーザー設定をエクスポートするには、次のコマンドを実行します。In order to export the user settings Cloud Shell saves for you such as preferred shell, font size, and font type run the following commands.

  1. Bash または PowerShell で次のコマンドを実行します。Run the following commands in Bash or PowerShell:

Bash:Bash:

token="Bearer $(curl http://localhost:50342/oauth2/token --data "resource=https://management.azure.com/" -H Metadata:true -s | jq -r ".access_token")"
curl https://management.azure.com/providers/Microsoft.Portal/usersettings/cloudconsole?api-version=2017-12-01-preview -H Authorization:"$token" -s | jq

PowerShell:PowerShell:

$token= ((Invoke-WebRequest -Uri "$env:MSI_ENDPOINT`?resource=https://management.core.windows.net/" -Headers @{Metadata='true'}).content |  ConvertFrom-Json).access_token
((Invoke-WebRequest -Uri https://management.azure.com/providers/Microsoft.Portal/usersettings/cloudconsole?api-version=2017-12-01-preview -Headers @{Authorization = "Bearer $token"}).Content | ConvertFrom-Json).properties | Format-List

削除Delete

選択されたシェル、フォント サイズ、フォントの種類など、Cloud Shell によって保存されるユーザー設定を削除するには、次のコマンドを実行します。In order to delete your user settings Cloud Shell saves for you such as preferred shell, font size, and font type run the following commands. 次回、Cloud Shell を起動すると、再びファイル共有にオンボードするように求めるメッセージが表示されます。The next time you start Cloud Shell you will be asked to onboard a file share again.

注意

ユーザー設定を削除しても、実際の Azure Files 共有は削除されません。If you delete your user settings, the actual Azure Files share will not be deleted. Azure Files に移動して、そのアクションを完了します。Go to your Azure Files to complete that action.

  1. Bash または PowerShell で次のコマンドを実行します。Run the following commands in Bash or PowerShell:

Bash:Bash:

token="Bearer $(curl http://localhost:50342/oauth2/token --data "resource=https://management.azure.com/" -H Metadata:true -s | jq -r ".access_token")"
curl -X DELETE https://management.azure.com/providers/Microsoft.Portal/usersettings/cloudconsole?api-version=2017-12-01-preview -H Authorization:"$token"

PowerShell:PowerShell:

$token= ((Invoke-WebRequest -Uri "$env:MSI_ENDPOINT`?resource=https://management.core.windows.net/" -Headers @{Metadata='true'}).content |  ConvertFrom-Json).access_token
Invoke-WebRequest -Method Delete -Uri https://management.azure.com/providers/Microsoft.Portal/usersettings/cloudconsole?api-version=2017-12-01-preview -Headers @{Authorization = "Bearer $token"}