次の方法で共有


Azure Cloud Shell のよく寄せられる質問 (FAQ)

この記事では、よくある質問にお答えし、Cloud Shell の問題のトラブルシューティング方法について説明します。

ブラウザーのサポート

Cloud Shell では、以下のブラウザーの最新バージョンがサポートされます。

  • Microsoft Edge
  • グーグルクローム
  • Mozilla Firefox
  • Apple Safari
    • プライベート モードの Safari はサポートされていません。

コピーと貼り付け

コピーと貼り付けに使われるキーは、オペレーティング システムとブラウザーによって異なります。 次に示すのは、最も一般的なキーの組み合わせです。

  • Windows: コピーするには Ctrl+c 、貼り付けるには Ctrl+v または Shift+Insert
    • Firefox ではクリップボードのアクセス許可が正しくサポートされない可能性があります。
  • macOS: Cmd+c でコピーし、Cmd+v でペースト。
  • Linux: コピーする場合は Ctrl+c 、貼り付ける 場合は Ctrl+v

Note

Ctrl+C キーを押してもテキストが選択されない場合、Cloud Shell からシェルに Ctrl-c 文字が送信されます。 シェルは、Ctrl-cBreak シグナルと解釈して、現在実行中のコマンドを終了する場合があります。

Bash シェルを使用すると、中括弧付きペーストモードによって貼り付けたテキストが自動で強調表示されます。 強調表示を無効にするには、次のコマンドを実行します。

bind 'set enable-bracketed-paste off'

この設定は、ストレージ アカウントがマウントされている場合にのみ保持されます。

よく寄せられる質問

Cloud Shell のセッションに時間制限はありますか?

Cloud Shell は対話型のユース ケースを想定しています。 Cloud Shell セッションは、無操作状態で 20 分経過するとタイムアウトになります。 そのため、実行時間の長い非対話型セッションは、警告なしで終了します。

Cloud Shell は、Azure 環境を管理するための無料のサービスです。 汎用のコンピューティング プラットフォームではありません。 過剰な使用は、Azure サービス使用条件の違反と見なさる場合があり、結果として Cloud Shell へのアクセスがブロックされることがあります。

同時にいくつのセッションを開くことができますか?

Azure Cloud Shell には、テナントあたり 20 人という同時実行ユーザー数の制限があります。 20 を超える同時セッションを開くと、[Tenant User Over Quota](テナント ユーザーのクォータ超過) エラーが発生します。 20 より多くのセッションを開く正当な必要性がある場合 (トレーニング セッションなど)、予定されている使用日より前にサポートに連絡して、クォータの引き上げを要求してください。

Cloud Shell でファイルをいくつか作りましたが、なくなってしまいました。 どのような状況でしたか?

Cloud Shell セッションを提供するマシンは一時的であり、セッションが非アクティブの状態で 20 分間経過すると、リサイクルされます。

Cloud Shell の初回起動時に、ストレージ オプションの選択を求められました。

  • [ストレージ アカウントのマウント] オプションを選択した場合、Cloud Shell はセッション内の clouddrive フォルダーに Azure ファイル共有をマウントします。 clouddrive フォルダーに保存されているファイルは、ストレージ ブラウザーを使用して Azure portal で表示することができます。 clouddrive フォルダーに保存されているファイルは、セッションをまたいで保持されます。

  • [ストレージ アカウント不要] オプションを選択した場合は、$HOME フォルダーにのみファイルの書き込みが可能です。

どちらのシナリオでも、$HOME フォルダーにファイルを書き込むことができます。 ただし、$HOME フォルダーは、現在使用している Cloud Shell コンテナー イメージにのみ存在します。 $HOME フォルダー内のファイルはストレージ ブラウザーには表示されず、セッションの終了時に削除されます。

「Azure: ドライブ」にファイルを作成しましたが、表示されません。 どのような状況でしたか?

Cloud Shell は、Azure リソース データをファイル システム ドライブとして表示する Azure 用の PowerShell プロバイダーを読み込みます。 PowerShell ユーザーは、Azure: ドライブを使用して Azure リソースにアクセスできます。 Azure: ドライブは仮想ドライブであり、ユーザーはファイルを作成することはできません。

現在の場所が vim ドライブである状態で、nanoAzure: などの他のツールを使って新しいファイルを作成した場合、そのファイルは $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 Policyの 割り当てを削除または更新してもらいます。

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

  • 詳細: Microsoft Entra サブスクリプションを使用しているときは、Cloud Shell ストレージ アカウントを作成することはできません。
  • 解決策: Microsoft Entra ID サブスクリプションでは、Azure リソースを作成できません。 ストレージ リソースを作成できる Azure サブスクリプションを使ってください。

ターミナルの出力 - エラー: ターミナルに接続できませんでした

  • 詳細: Cloud Shell では、Cloud Shell インフラストラクチャへの WebSocket 接続を確立できる必要があります。
  • 解決策: HTTPS と Websocket の要求を次のドメインに送信できるようにネットワークが設定されていることを確認してください。
    • *.console.azure.com
    • *.servicebus.windows.net
    • *.servicebus.usgovcloudapi.net (Azure Government クラウドの場合)

ターミナルを要求できませんでした - プライベート DNS リゾルバーを使用するネットワークから Cloud Shell にアクセスしています

  • 詳細: Cloud Shell はターミナル接続に Azure Relay を使用します。 DNS 解決の問題が原因で、Cloud Shell がターミナルの要求に失敗する場合があります。 このエラーは、servicebus ドメイン用のプライベート DNS ゾーンがあるネットワーク内のホストから Cloud Shell セッションを起動するときに発生する可能性があります。 また、プライベート オンプレミス DNS サーバーを使っている場合にも、このエラーが発生する可能性があります。

  • 解決策: Cloud Shell が使用する Azure Relay インスタンスの DNS レコードを追加できます。

    以下の手順は、Cloud Shell インスタンスの DNS 名を特定する方法と、その名前の DNS レコードを作成する方法を示しています。

    1. Web ブラウザーを使用して Cloud Shell を起動してみてください。 ブラウザーの開発者ツールを使用して、Azure Relay インスタンス名を見つけます。 Microsoft Edge または Google Chrome で、F12 キーを押して開発者ツールを開きます。 [ネットワーク] タブを選択します。右上隅にある [検索] ボックスを見つけます。 terminals? を検索して Cloud Shell ターミナルの要求を見つけます。 検索で見つかった要求エントリの中から 1 つを選択します。 [ヘッダー] タブで [要求 URL] 内のホスト名を見つけます。 この名前は、ccon-prod-<region-name>-aci-XX.servicebus.windows.net のような形式です。 Azure Government Cloud では、ホスト名は ccon-fairfax-usgovvirginia-dedicated-aci-02.servicebus.usgovcloudapi.netccon-fairfax-arizona-aci-dedicated-01.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 レコードとレコード セットの管理に関する記事を参照してください。

      Note

      この IP アドレスは、定期的に変更される可能性があります。 新しい IP アドレスを確認するために、この手順を繰り返すことが必要な場合があります。

    あるいは、独自のプライベート Cloud Shell インスタンスをデプロイすることもできます。 詳細については、仮想ネットワークへの Cloud Shell のデプロイに関する記事を参照してください。

ターミナル出力 - Cloud Shell のプロビジョニングに失敗しました: {"code":"TenantDisabled" ...}

  • 詳細: まれに、Cloud Shell からの通常とは異なるリソース消費が、Azure で不正なアクティビティとしてフラグが設定される場合があります。 この場合、Azure で Cloud Shell がテナント レベルで無効にされ、次のエラー メッセージが表示されます。

    Cloud Shell のプロビジョニングに失敗しました: {"code":"TenantDisabled","message":"Cloud Shell has disabled in directory<>."} ページを更新してください。

    Azure Cloud Shell インスタンスの CPU 使用量が、不正防止をトリガーしてテナントをブロックするしきい値を超える、正当なユース ケースが存在する可能性があります。 大規模な AZCopy ジョブがこのイベントの原因である場合があります。 Microsoft Azure エンジニアリング チームが、テナントが無効になった理由の特定と、再有効化をサポートします。

  • 解決策: 原因を調査し、テナントの Cloud Shell を再度有効にするには、新しい Azure サポート リクエストを開きます。 次の詳細を記載してください。

    1. テナント ID
    2. 業務上の正当な理由と、Cloud Shell の使用方法の説明。

ターミナル出力 - 対象ユーザー <service-audience-url> がサポートされている MSI トークン対象ユーザーではありません

  • 詳細: Cloud Shell は、コマンドが必要とする Azure サービスに必要なトークンをフェッチできませんでした。 このエラーは、Cloud Shell がコマンドによって要求されたトークン対象ユーザーをサポートしていない場合に発生します。

  • 解決策: Cloud Shell で次のコマンドを実行して対話形式でサインインし、元のコマンドを再試行する前に必要な資格情報を取得します: az login --use-device-code

    Note

    https://appservice.azure.com/対象ユーザーは、2026 年 2 月の更新プログラムでサポートされているトークン対象ユーザーとして追加されました。

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 は、拒否できる console.azure.com ドメインへのアクセスに依存し、 portal.azure.comlearn.microsoft.comを含む Cloud Shell のエントリ ポイントへのアクセスを停止します。 米国政府機関向けクラウドでは、Cloud Shell は console.azure.us ドメインへのアクセスに依存します。

  • 解決策: ネットワークから *.console.azure.com または *.console.azure.us へのアクセスを制限します。 Cloud Shell のアイコンは引き続き Azure portal に存在しますが、サービスに接続することはできません。

    Note

    これらのドメインを制限しても、Web 用 VS Code (Azure および Windows ターミナル) からのすべての潜在的な Cloud Shell エントリ ポイントがカバーされるわけではありません。 テナント内のすべての Cloud Shell エントリ ポイントをブロックするには、サポート チケットを開きます。