ブラウザオンリー、パブリックIPなしで安全に仮想マシンに接続できる「Azure Bastion」プレビュー開始:Microsoft Azure最新機能フォローアップ(83)
Azure仮想マシンのパブリックIPアドレスを使用せずに、Azureポータルから仮想マシンに直接RDPまたはSSH接続を可能にする新しいフルマネージドサービス「Azure Bastion」のプレビュー提供が開始されました。
Azure Bastion、それはクローズドなネットワークを護る要塞ホスト
「Azure Bastion」は、Azure仮想マシンで利用する、プライベートIPアドレス空間の仮想ネットワークにプロビジョニングされるリモート管理用の一種のゲートウェイです。「Bastion」(バスティン、バスティオン)は「要塞(ようさい)」を意味する言葉です。
Azure Bastionは、クローズドな仮想ネットワークへの外部からのアクセスを遮断しながら、仮想ネットワーク上の任意のWindows仮想マシンに対するリモートデスクトッププロトコル(RDP)によるリモートデスクトップ接続と、Linux仮想マシンに対するSSH接続を可能にします。
- Azure Bastion - SSL経由のRDPおよびSSH - プレビューの提供開始(Microsoft Azure)
通常、AzureにWindowsまたはLinux仮想マシンをデプロイする場合は、リモート管理用にパブリックIPアドレスを割り当て、RDPまたはSSHのポートに対する外部からの受信を許可します。そして、ローカルPCのリモートデスクトップ接続クライアントやSSHクライアントを使用してコンソールやシェルに接続します(画面1)。
画面1 通常、Windows仮想マシンに接続するには、AzureポータルからRDPファイルをダウンロードして、リモートデスクトップ接続する。しかし、リモート管理用のポートの許可は、セキュリティ侵害のリスクを伴う
この仮想マシンのリモート管理用ポートは、ポートスキャンの対象となるため、セキュリティ侵害のリスクを伴います。そのため、攻撃面を縮小するために、仮想ネットワーク上の1台の仮想マシンにのみパブリックIPアドレスを割り当て、ゲートウェイ的に利用している場合もあるでしょう。
攻撃面を縮小するには「Azure Security Center」の「Just-In-Timeアクセス」を使用して、必要時にのみ受信を許可することも推奨されています(Azure Security Centerの有料のStandardプランが必要)。
この他、Azureポータルから仮想マシンの「シリアルコンソール」に接続し、WindowsのSAC(Serial Administrative Console)やLinuxのローカルコンソールと対話する「帯域外接続」機能を利用するという方法もあります。シリアルコンソール接続はパブリックIPアドレスを必要としませんが、RDPやSSH接続と比べると操作性や機能に制限があります。
Azure Bastionを使用すると、Azure仮想マシンをポートスキャンから完全に遮断できます。Azure仮想マシンをインターネットから完全に遮断されたクローズドなネットワーク環境で利用するのに便利な新しいリモート管理手段になるでしょう。
Azure Bastionを利用するには?
Azure Bastionを利用するには、Azure仮想マシンで利用中の仮想ネットワーク(または新規の仮想ネットワーク)に、「AzureBastionSubnet」という名前のサブネットを作成し、「Bastionホスト」を作成します(画面2)。
プレビューである現在、通常のAzureポータルのMarketplaceには、Azure Bastionサービスは表示されませんし、Azureポータルの「仮想マシンに接続する」にも「BASTION」タブは表示されません。
プレビューを利用するには、以下のドキュメントに従ってAzure PowerShellでプレビュー機能を有効化し、Azure Bastionに対応した専用のプレビューAzureポータルを使用してBastionホストの作成と、Azureポータルから「BASTION」タブを使用しての管理対象の仮想マシンへのRDP/SSH接続を行う必要があります。また、Azure Bastionプレビューは、利用可能なリージョンも限られています(日本では東日本で利用可能)。
- Create an Azure Bastion host(Preview)[英語](Microsoft Azure)
BastionホストはフルマネージドのPaaSサービスであり、作成後は管理の必要がありません(Azure仮想マシンとしては表示されません)。BastionホストはパブリックIPアドレスを持ち、TLS(TCPポート443)を仮想ネットワーク上のWindows仮想マシンのRDPポート(TCPポート3389)、Linux仮想マシンのSSHポート(TCPポート22)に中継します。
セキュリティ設定は、仮想マシンごとに行う必要はなく、BastionホストのパブリックIPアドレスに対する1回の設定(TCPポート443の許可)だけで済みます。
Azure Bastionのエクスペリエンス
Bastionホストをデプロイした仮想ネットワークに接続されるAzure仮想マシンは、パブリックIPアドレスを必要としません。Azure仮想マシンが自信の役割をインターネットに対して提供するためにパブリックIPアドレスやロードバランサーを必要とするなら、もちろんあっても構いません。リモート管理用のRDP/SSHポートに対する受信の許可ルールは削除することができます。
今回は、パブリックIPアドレスが不要であることを示すため、パブリックIPアドレスを持たないWindowsおよびLinux仮想マシンをデプロイしてAzure Bastionで接続してみました(画面3)。パブリックIPアドレスやRDP/SSHポートの許可規則は存在しないため、従来の接続方法では仮想マシンに到達することはできません(画面4)。
Azure Bastionを使用してWindows仮想マシンに接続するには、「Connect to virtual machine(仮想マシンに接続する)」の「BASTION」タブで資格情報を入力し、「Connect(接続)」をクリックします(画面5)。Linux仮想マシンの場合は、ユーザー名とパスワード、ユーザー名とSSHキー(入力またはファイル指定)による両方の接続が可能です(画面6)。
RDPとSSH接続のどちらも、ローカルPCのクライアントアプリは必要なく、Azureポータル(ただし、Bastion対応の専用のプレビューポータル)から直接ブラウザ内でリモートセッションに接続することができます。
ローカルPCからリモートセッション、リモートセッションからローカルPCへの直接的なコピー(カット)&ペーストはできませんが、ウィンドウの左端中央にある「>>」をクリックすると、リモートセッションのクリップボードのテキストを参照および変更することが可能です。
プレビューの現在は、Windows PCからの接続では「Microsoft Edge」「Google Chrome」と、開発中の「Microsoft Edge Chromium」の使用が、Macからの接続ではGoogle ChromeとMicrosoft Edge Chromiumの使用がサポートされています。
その他、プレビューの制限や価格、導入手順などについては、以下の公式ドキュメントで確認してください。
- Azure Bastionのドキュメント(Microsoft Azure)
筆者紹介
山市 良(やまいち りょう)
岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(2018/7/1)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 開発者に朗報! Windows 10でWindows Serverコンテナが実行可能に
Windows 10の開発者向け機能として、Dockerによる「Windowsコンテナ」のサポートがあります。これまでは、Hyper-Vで分離された「Hyper-Vコンテナ」だけがサポートされていましたが、最新の「Docker Desktop for Windows」では、「Windows Serverコンテナ」もサポートされました。 - WindowsのDocker(コンテナ)対応、正しく理解できていますか?
Windows Server 2016とWindows 10では「Docker」がサポートされます。一方、Docker社は「Docker for Windows」を提供しています。どちらも“Docker”ですが、両者は似て非なるもの。似たものがいろいろと出てきていますので、整理しておきましょう。 - 「Windows Serverコンテナ」「Hyper-Vコンテナ」「Linuxコンテナ」「Docker」の違いとは?
軽量なアプリケーション実行環境であるコンテナ機能がWindows OSでも使えるようになった。Windowsコンテナには2種類あるが、その違いは? Linuxコンテナとは何が違う? - Kubernetes 1.14がリリース、Windowsコンテナサポートが安定版に到達
Kubernetesプロジェクトは2019年3月25日(米国時間)、Windowsノードの本番サポートなどを盛り込んだKubernetes 1.14をリリースしたと発表した。Kubernetes 1.14では、安定性に重点を置き、既にβ版などとして搭載している機能を成熟させることに力を注いだという。