検索
連載

ブラウザオンリー、パブリックIPなしで安全に仮想マシンに接続できる「Azure Bastion」プレビュー開始Microsoft Azure最新機能フォローアップ(83)

Azure仮想マシンのパブリックIPアドレスを使用せずに、Azureポータルから仮想マシンに直接RDPまたはSSH接続を可能にする新しいフルマネージドサービス「Azure Bastion」のプレビュー提供が開始されました。

PC用表示 関連情報
Share
Tweet
LINE
Hatena
「Microsoft Azure最新機能フォローアップ」のインデックス

Microsoft Azure最新機能フォローアップ

Azure Bastion、それはクローズドなネットワークを護る要塞ホスト

 「Azure Bastion」は、Azure仮想マシンで利用する、プライベートIPアドレス空間の仮想ネットワークにプロビジョニングされるリモート管理用の一種のゲートウェイです。「Bastion」(バスティン、バスティオン)は「要塞(ようさい)」を意味する言葉です。

 Azure Bastionは、クローズドな仮想ネットワークへの外部からのアクセスを遮断しながら、仮想ネットワーク上の任意のWindows仮想マシンに対するリモートデスクトッププロトコル(RDP)によるリモートデスクトップ接続と、Linux仮想マシンに対するSSH接続を可能にします。

 通常、AzureにWindowsまたはLinux仮想マシンをデプロイする場合は、リモート管理用にパブリックIPアドレスを割り当て、RDPまたはSSHのポートに対する外部からの受信を許可します。そして、ローカルPCのリモートデスクトップ接続クライアントやSSHクライアントを使用してコンソールやシェルに接続します(画面1)。

画面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)。

画面2
画面2 Azure仮想マシンで利用する仮想ネットワークに専用のサブネット「AzureBustionSubnet」(/27)を作成し、Bastionホストを作成する

 プレビューである現在、通常の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の許可)だけで済みます。

Azure Bastionのエクスペリエンス

 Bastionホストをデプロイした仮想ネットワークに接続されるAzure仮想マシンは、パブリックIPアドレスを必要としません。Azure仮想マシンが自信の役割をインターネットに対して提供するためにパブリックIPアドレスやロードバランサーを必要とするなら、もちろんあっても構いません。リモート管理用のRDP/SSHポートに対する受信の許可ルールは削除することができます。

 今回は、パブリックIPアドレスが不要であることを示すため、パブリックIPアドレスを持たないWindowsおよびLinux仮想マシンをデプロイしてAzure Bastionで接続してみました(画面3)。パブリックIPアドレスやRDP/SSHポートの許可規則は存在しないため、従来の接続方法では仮想マシンに到達することはできません(画面4)。

画面3
画面3 パブリックIPアドレスを持たないWindowsおよびLinux仮想マシンを、Bastionホストがデプロイ済みの仮想ネットワークのサブネットにデプロイする
画面4
画面4 パブリックIPアドレスやポートの許可規則がないため、従来のRDP/SSH接続は不可能な状態

 Azure Bastionを使用してWindows仮想マシンに接続するには、「Connect to virtual machine(仮想マシンに接続する)」の「BASTION」タブで資格情報を入力し、「Connect(接続)」をクリックします(画面5)。Linux仮想マシンの場合は、ユーザー名とパスワード、ユーザー名とSSHキー(入力またはファイル指定)による両方の接続が可能です(画面6)。

画面5
画面5 Azure Bastionを使用した、パブリックIPアドレスのないWindows仮想マシンへのRDP接続
画面6
画面6 Azure Bastionを使用した、パブリックIPアドレスのないLinux仮想マシンへのSSH接続

 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.

ページトップに戻る