次の方法で共有


クイックスタート テンプレートを使用して仮想ネットワークに Azure Cloud Shell をデプロイする

クイックスタート テンプレートを実行して仮想ネットワーク (VNet) に Azure Cloud Shell をデプロイする前に、いくつかの前提条件を満たす必要があります。 サブスクリプションで所有者ロールの割り当てが必要です。 ロールを表示して割り当てるには、「サブスクリプションの所有者を一覧表示する」を参照してください。

この記事では、仮想ネットワークに Cloud Shell を構成してデプロイするための次の手順について説明します:

  1. リソース プロバイダーを登録します。
  2. 必要な情報を収集します。
  3. Azure Cloud Shell - VNet Azure Resource Manager テンプレート (ARM テンプレート) を使用して仮想ネットワークを作成します。
  4. Azure Cloud Shell - VNet ストレージ ARM テンプレートを使用して仮想ネットワーク ストレージ アカウントを作成します。
  5. 仮想ネットワークで Cloud Shell を構成して使用します。

1. リソース プロバイダーを登録する

Cloud Shell では、特定の Azure リソースへのアクセス権が必要です。 そのアクセスは、リソース プロバイダーを通じて利用できるようになります。 次のリソース プロバイダーは、お使いのサブスクリプションに登録する必要があります:

  • Microsoft.CloudShell
  • Microsoft.ContainerInstance
  • Microsoft.Relay

テナントの作成時によっては、これらのプロバイダーの一部が既に登録されている場合があります。

すべてのリソース プロバイダーおよびサブスクリプションの登録状態を表示するには、以下を実行します:

  1. Azure portal にサインインします。
  2. Azure portal のメニューでサブスクリプションを検索します。 使用可能なオプションから、それを選択します。
  3. 表示するサブスクリプションを選択します。
  4. 左側のメニューの [設定] で、 [リソース プロバイダー] を選択します。
  5. 検索ボックスに「cloudshell」と入力して、リソース プロバイダーを検索します。
  6. プロバイダーの一覧から Microsoft.CloudShell リソース プロバイダーを選択します。
  7. [登録] を選択し、状態を[未登録] から [登録済み] に変更します。
  8. Microsoft.ContainerInstanceMicrosoft.Relay リソース プロバイダーに対して、前の手順を繰り返します。

Azure portal でのリソース プロバイダーの選択のスクリーンショット。

2. 必要な情報を収集する

Cloud Shell をデプロイする前に、いくつかの情報を収集する必要があります。

既定の Cloud Shell インスタンスを使用して、必要な情報を収集し、必要なリソースを作成できます。 Cloud Shell 仮想ネットワークデプロイ用の専用リソースを作成する必要があります。 すべてのリソースが同じ Azure リージョンにあり、同じリソース グループに含まれている必要があります。

次の値を入力します。

  • サブスクリプション: Cloud Shell 仮想ネットワークデプロイのリソース グループを含むサブスクリプションの名前。
  • リソース グループ: Cloud Shell 仮想ネットワーク デプロイのリソース グループの名前。
  • リージョン: リソース グループの場所。
  • 仮想ネットワーク: Cloud Shell 仮想ネットワークの名前。
  • サブネット アドレスの範囲 - このデプロイでは 3 つのサブネットが作成されます。 各サブネットのアドレスの範囲を計画する必要があります。
    • コンテナー サブネット - 使用することが予想される同時セッション数をサポートするのに十分な IP アドレスが必要です。
    • リレー サブネット - リレー サブネットには少なくとも 1 つの IP アドレスが必要です。
    • ストレージ サブネット名 - 使用することが予想される同時セッション数をサポートするのに十分な IP アドレスが必要です。
  • Azure Container Instance OID: リソース グループの Azure Container Instance の ID。
  • Azure Relay 名前空間: テンプレートで作成した Azure Relay リソースに割り当てる名前。

リソース グループを作成する

Azure portal、Azure CLI、Azure PowerShell を使用して、リソース グループを作成することができます。 詳細については、次の記事を参照してください。

仮想ネットワークの作成

仮想ネットワークは、Azure portal、Azure CLI、Azure PowerShell を使って作成できます。 詳細については、次の記事を参照してください。

Note

Cloud Shell サブネットのコンテナー サブネット アドレス プレフィックスを設定する場合は、同時に実行する必要がある Cloud Shell セッションの数を考慮することが重要です。 Cloud Shell セッションの数がコンテナー サブネット内で使用できる IP アドレス数を超えた場合、それらのセッションのユーザーは Cloud Shell に接続できません。 特定のニーズに応じて、コンテナー サブネットの範囲を広げます。 詳しくは、「仮想ネットワーク サブネットの追加、変更、削除」の「サブネット設定の変更」セクションをご覧ください。

Azure コンテナー インスタンス ID を取得する

Azure Container Instance ID は、テナントごとに一意の値です。 Cloud Shell の仮想ネットワークを 構成するには、クイック スタート テンプレートでこの識別子を使用します。 コマンド ラインから ID を取得するには、「Azure Container Instance ID を取得する別の方法」を参照してください。

  1. Azure portal にサインインします。 ホーム ページで、Microsoft Entra ID を選択します。 アイコンが表示されない場合は、上部の検索バーに Microsoft Entra ID と入力します。

  2. 左側のメニューで [概要] を選択します。 次に、検索バーに azure container instance service と入力します。

    Azure Container Instance Service の検索画面のスクリーンショット。

  3. [エンタープライズ アプリケーション] の結果で、Azure Container Instance Service を選択します。

  4. Azure Container Instance Service[概要] ページで、[プロパティ] に一覧表示されている [オブジェクト ID] 値を探します。

    この ID は、仮想ネットワークのクイックスタート テンプレートで使用します。

    Azure Container Instance Service の詳細を示すスクリーンショット。

3. ARM テンプレートを使用して必要なネットワーク リソースを作成する

仮想ネットワークに Cloud Shell リソースを作成するには、Azure Cloud Shell - VNet という名前の ARM テンプレートを使用します。 このテンプレートは、前に作成した仮想ネットワークの下に 3 つのサブネットを作成します。 サブネットの指定された名前を変更するか、既定値を使用するかを選択できます。

Note

Azure Container Instances (ACI) ネットワーク プロファイル は非推奨です。 2026年半ばには、Cloud Shell を仮想ネットワークにデプロイするためにネットワークプロファイルは不要になります。 既存のユーザーには、Cloud Shell で 1 回限りガイド付きエクスペリエンスが表示され、仮想ネットワークの構成とコンテナー サブネットが確認される場合があります。 追加の顧客アクションは必要ありません。

仮想ネットワークとサブネットには、有効な IP アドレスの割り当てが必要です。 次のリソースをサポートするのに十分なアドレスが必要です:

  • リレー サブネット用に少なくとも 1 つの IP アドレス
  • 使用することが予想される同時セッション数をサポートするのに十分なコンテナー サブネットの IP アドレス

ARM テンプレートには、前に作成したリソースに関する特定の情報と、新しいリソースの名前付け情報が必要です。 この情報は、フォームに事前入力された情報と共に入力されます。

テンプレートに必要な情報は次のとおりです:

  • サブスクリプション: Cloud Shell 仮想ネットワークのリソース グループを含むサブスクリプションの名前。
  • リソース グループ: 既存または新しく作成されたリソース グループの名前。
  • リージョン: リソース グループの場所。
  • 仮想ネットワーク: Cloud Shell 仮想ネットワークの名前。
  • ネットワーク セキュリティ グループ: テンプレートで作成したネットワーク セキュリティ グループ (NSG) に割り当てる名前。
  • Azure Container Instance OID: リソース グループの Azure Container Instance の ID。

フォームに次の情報を入力します。

プロジェクトの詳細
サブスクリプション 既定で現在のサブスクリプション コンテキストに設定されます。
この記事の例は、Contoso を使用します。
リソース グループ 前提条件の情報からリソース グループの名前を入力します。
この記事の例は、rg-cloudshell-eastus を使用します。
インスタンスの詳細
リージョン 既定のリージョンが事前に入力されます。
この記事の例は、East US を使用します。
既存の VNET の名前 収集した前提条件情報の値を入力します。
この記事の例は、vnet-cloudshell-eastus を使用します。
Relay 名前空間名 テンプレートで作成した Relay リソースに割り当てる名前を作成します。
この記事の例は、arn-cloudshell-eastus を使用します。
Nsg 名 NSG の名前を入力します。 デプロイによってこの NSG が作成され、アクセス規則が割り当てられます。
Azure Container Instance OID 収集した前提条件情報の値を入力します。
この記事の例は、aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb を使用します。
コンテナー サブネット名 既定値は cloudshellsubnet です。 コンテナーのサブネットの名前を入力します。
コンテナー サブネット アドレス プレフィックス この記事の例では、10.0.1.0/24 を使用します。これは、Cloud Shell インスタンスに 254 個の IP アドレスを提供します。
Relay サブネット名 既定値は relaysubnet です。 Relay を含むサブネットの名前を入力します。
Relay サブネット アドレス プレフィックス この記事の例は、10.0.2.0/24 を使用します。
ストレージ サブネット名 既定値は storagesubnet です。 ストレージを含むサブネットの名前を入力します。
ストレージ サブネット アドレス プレフィックス この記事の例は、10.0.3.0/24 を使用します。
プライベート エンドポイント名 既定値は cloudshellRelayEndpoint です。 コンテナーを含むサブネットの名前を入力します。
タグ名 既定値は {"Environment":"cloudshell"} です。 変更せずにそのままにしておくか、さらにタグを追加します。
ロケーション 既定値は [resourceGroup().location] です。 変更しません。

フォームへの入力が完了したら、[確認と作成] を選択し、ネットワーク ARM テンプレートをサブスクリプションにデプロイします。

4. ARM テンプレートを使用して仮想ネットワーク ストレージを作成する

仮想ネットワークに Cloud Shell リソースを作成するには、Azure Cloud Shell - VNet ストレージ という名前の ARM テンプレートを使用します。 このテンプレートで、ストレージ アカウントを作成してプライベート仮想ネットワークに割り当てます。

ARM テンプレートには、前に作成したリソースに関する特定の情報と、新しいリソースの名前付け情報が必要です。

テンプレートに必要な情報は次のとおりです:

  • サブスクリプション: Cloud Shell 仮想ネットワークのリソース グループを含むサブスクリプションの名前。
  • リソース グループ: 既存または新しく作成されたリソース グループの名前。
  • リージョン: リソース グループの場所。
  • 既存の仮想ネットワーク名: 前に作成した仮想ネットワークの名前。
  • 既存のストレージ サブネット名: ネットワーク クイックスタート テンプレートを使用して作成したストレージ サブネットの名前。
  • 既存のコンテナー サブネット名: ネットワーク クイックスタート テンプレートを使用して作成したコンテナー サブネットの名前。

フォームに次の情報を入力します。

プロジェクトの詳細
サブスクリプション 既定で現在のサブスクリプション コンテキストに設定されます。
この記事の例は、Contoso を使用します。
リソース グループ 前提条件の情報からリソース グループの名前を入力します。
この記事の例は、rg-cloudshell-eastus を使用します。
インスタンスの詳細
リージョン 既定のリージョンが事前に入力されます。
この記事の例は、East US を使用します。
既存の VNET の名前 この記事の例は、vnet-cloudshell-eastus を使用します。
既存のストレージ サブネット名 ネットワーク テンプレートで作成したリソースの名前を入力します。
既存のコンテナー サブネット名 ネットワーク テンプレートで作成したリソースの名前を入力します。
ストレージ アカウント名 新しいストレージ アカウントの名前を作成します。
この記事の例は、myvnetstorage1138 を使用します。
ファイル共有名 既定値は acsshare です。 作成するファイル共有の名前を入力します。
リソース タグ 既定値は {"Environment":"cloudshell"} です。 変更せずにそのままにしておくか、さらにタグを追加します。
ロケーション 既定値は [resourceGroup().location] です。 変更しません。

フォームへの入力が完了したら、[確認と作成] を選択し、ネットワーク ARM テンプレートをサブスクリプションにデプロイします。

5. 仮想ネットワークを使用するように Cloud Shell を構成する

プライベート Cloud Shell インスタンスをデプロイした後、各 Cloud Shell ユーザーは、新しいプライベート インスタンスを使用するように構成を変更する必要があります。

プライベート インスタンスをデプロイする前に既定の Cloud Shell インスタンスを使用していた場合は、ユーザー設定をリセットする必要があります:

  1. Cloud Shell を開きます。

  2. メニュー バーから、[Cloud Shell の設定] を選択します。

  3. [ユーザー設定のリセット] を選択し、その後 [リセット] を選択します。 ユーザー設定をリセットすると、初めてのユーザー エクスペリエンスがトリガーされます。

  4. 使用するシェル エクスペリエンスを選択します (Bash または PowerShell)。

  5. [概要] ダイアログ ボックスで:

    1. [ストレージ アカウントをマウントする] を選択します。
    2. [ストレージ アカウント サブスクリプション] ドロップダウン リストからサブスクリプションを選択します。
    3. [既存のプライベート仮想ネットワークを使用する] チェックボックスを選択します。

    [作業の開始] ダイアログのスクリーンショット。

  6. [適用] を選択して続行します。

  7. [仮想ネットワーク構成の選択] ダイアログ ボックスで、このデプロイ用に作成したリソースを選択します。

    [仮想ネットワーク構成の選択] ダイアログのスクリーンショット。

  8. [選択] をクリックして続行します。

Azure Container Instance ID を取得する別の方法

Azure PowerShell がインストールされている場合は、次のコマンドを使用して Azure Container Instance ID を取得できます。

(Get-AzADServicePrincipal -DisplayNameBeginsWith 'Azure Container Instance').Id
d5f227bb-ffa6-4463-a696-7234626df63f

Azure CLI がインストールされている場合は、次のコマンドを使用して Azure Container Instance ID を取得できます。

az ad sp list --display-name 'Azure Container Instance' --query "[].id"
[
  "d5f227bb-ffa6-4463-a696-7234626df63f"
]

次の手順

新しいプライベート Cloud Shell インスタンスを使用する必要があるユーザーごとに、Cloud Shell 構成手順を完了する必要があります。 または、複数のユーザーが同じストレージ リソースを使用できるように Cloud Shell インスタンスを構成することもできます。 詳細については、「複数のユーザーが 1 つのストレージ アカウントとファイル共有を使用できるようにする」をご覧ください。

セキュリティを強化するために、プライベート エンドポイントを使用するようにストレージ アカウントを構成できます。 詳細情報については、「Azure プライベート エンドポイントを使用してストレージ アカウントに接続する」をご覧ください。