Azure仮想マシンのパブリックIPアドレスを使用せずに、Azureポータルから仮想マシンに直接RDPまたはSSH接続を可能にする新しいフルマネージドサービス「Azure Bastion」のプレビュー提供が開始されました。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
「Azure Bastion」は、Azure仮想マシンで利用する、プライベートIPアドレス空間の仮想ネットワークにプロビジョニングされるリモート管理用の一種のゲートウェイです。「Bastion」(バスティン、バスティオン)は「要塞(ようさい)」を意味する言葉です。
Azure Bastionは、クローズドな仮想ネットワークへの外部からのアクセスを遮断しながら、仮想ネットワーク上の任意のWindows仮想マシンに対するリモートデスクトッププロトコル(RDP)によるリモートデスクトップ接続と、Linux仮想マシンに対するSSH接続を可能にします。
通常、AzureにWindowsまたはLinux仮想マシンをデプロイする場合は、リモート管理用にパブリックIPアドレスを割り当て、RDPまたはSSHのポートに対する外部からの受信を許可します。そして、ローカルPCのリモートデスクトップ接続クライアントやSSHクライアントを使用してコンソールやシェルに接続します(画面1)。
この仮想マシンのリモート管理用ポートは、ポートスキャンの対象となるため、セキュリティ侵害のリスクを伴います。そのため、攻撃面を縮小するために、仮想ネットワーク上の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仮想マシンで利用中の仮想ネットワーク(または新規の仮想ネットワーク)に、「AzureBastionSubnet」という名前のサブネットを作成し、「Bastionホスト」を作成します(画面2)。
プレビューである現在、通常のAzureポータルのMarketplaceには、Azure Bastionサービスは表示されませんし、Azureポータルの「仮想マシンに接続する」にも「BASTION」タブは表示されません。
プレビューを利用するには、以下のドキュメントに従ってAzure PowerShellでプレビュー機能を有効化し、Azure Bastionに対応した専用のプレビューAzureポータルを使用してBastionホストの作成と、Azureポータルから「BASTION」タブを使用しての管理対象の仮想マシンへのRDP/SSH接続を行う必要があります。また、Azure Bastionプレビューは、利用可能なリージョンも限られています(日本では東日本で利用可能)。
BastionホストはフルマネージドのPaaSサービスであり、作成後は管理の必要がありません(Azure仮想マシンとしては表示されません)。BastionホストはパブリックIPアドレスを持ち、TLS(TCPポート443)を仮想ネットワーク上のWindows仮想マシンのRDPポート(TCPポート3389)、Linux仮想マシンのSSHポート(TCPポート22)に中継します。
セキュリティ設定は、仮想マシンごとに行う必要はなく、BastionホストのパブリックIPアドレスに対する1回の設定(TCPポート443の許可)だけで済みます。
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の使用がサポートされています。
その他、プレビューの制限や価格、導入手順などについては、以下の公式ドキュメントで確認してください。
岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(2018/7/1)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.