Azure 仮想ネットワークで Cloud Shell を使用する

既定では、Azure Cloud Shell セッションは、リソースとは別の Microsoft ネットワーク内のコンテナーで実行されます。 コンテナー内で実行されるコマンドは、プライベート仮想ネットワーク内のリソースにアクセスできません。 たとえば、Secure Shell (SSH) を使用して、Cloud Shell からプライベート IP アドレスのみを持つ仮想マシンに接続したり、kubectl を使って、アクセスがロックダウンされた Kubernetes クラスターに接続したりすることはできません。

プライベート リソースへのアクセスを提供するために、制御する Azure 仮想ネットワークに Cloud Shell をデプロイできます。 この手法は、''仮想ネットワークの分離'' と呼ばれます。

Cloud Shell を使用した仮想ネットワークの分離の利点

プライベート仮想ネットワークに Cloud Shell をデプロイすると、次の利点があります。

  • 管理するリソースにパブリック IP アドレスは必要はありません。
  • Cloud Shell コンテナーからコマンドライン ツール、SSH、PowerShell リモート処理を使用して、リソースを管理できます。
  • Cloud Shell が使用するストレージ アカウントにパブリックにアクセスできる必要はありません。

仮想ネットワークに Azure Cloud Shell をデプロイする前に考慮すべきこと

  • 通常、仮想ネットワークで Cloud Shell を開始するには、標準の Cloud Shell セッションよりも時間がかかります。
  • 仮想ネットワークの分離では、有料サービスである Azure Relay を使用する必要があります。 Cloud Shell シナリオでは、Cloud Shell を使用している間、管理者ごとに 1 つのハイブリッド接続が使用されます。 Cloud Shell セッションが終了すると、接続は自動的に閉じられます。

アーキテクチャ

次の図は、このシナリオを有効にするために構築する必要があるリソース アーキテクチャを示しています。

Illustration of a Cloud Shell isolated virtual network architecture.

  • 顧客クライアント ネットワーク: クライアント ユーザーは、インターネット上の任意の場所で、Azure portal に安全にアクセスして認証し、Cloud Shell を使用して顧客のサブスクリプションに含まれるリソースを管理できます。 セキュリティをより厳重にするために、ユーザーがサブスクリプションに含まれる仮想ネットワークからのみ Cloud Shell を開けるようにすることができます。
  • Microsoft ネットワーク: 顧客は Microsoft のネットワーク上の Azure portal に接続して認証し、Cloud Shell を開きます。
  • 顧客仮想ネットワーク: これは、仮想ネットワークの分離をサポートするサブネットを含むネットワークです。 仮想マシンやサービスなどのリソースには、パブリック IP アドレスを割り当てる必要なく、Cloud Shell から直接アクセスできます。
  • Azure Relay: Azure Relay を使用すると、直接到達できない 2 つのエンドポイントが通信できるようになります。 この場合、これは管理者のブラウザーがプライベート ネットワーク内のコンテナーと通信できるようにするために使用されます。
  • ファイル共有: Cloud Shell には、仮想ネットワークからアクセスできるストレージ アカウントが必要です。 ストレージ アカウントは、Cloud Shell ユーザーが使用するファイル共有を提供します。

詳細については、価格ガイドを参照してください。