【Microsoft Azure】Azure BastionでVMに簡単かつ安全にRDP/SSH接続する

こんばんは。今日は、Azure Bastionについて勉強してみたことを整理しておこうと思います。

Azure Bastionの概要

公式ドキュメントでは、以下のように説明されています。簡単に言うと、セキュリティを維持しながら目的のサーバに接続するための踏み台サーバーの役割を果たすことができるサービスです。

Azure Bastion は、Azure portal を介して直接お客様の仮想マシンへの安全でシームレスな RDP および SSH アクセスを提供するフル マネージド PaaS サービスです。Azure Bastion は、お客様の仮想ネットワーク (VNet) 内で直接プロビジョニングされ、パブリック IP アドレス経由で公開されることなく、SSL を使用して仮想ネットワーク (VNet) 内のすべての VM をサポートします。

以下が、Azure Bastionの構成になります。

Azure Bastionの構成(公式ページより)

この構成のポイントは以下です。「Azure Portalから」RDPやSSHができるようになるんですね。Azure Portalからアクセスできるので、クライアントに接続ツールの導入や設定も不要です。そして、このサービスを使うことで、複数の接続先VMの踏み台として、一元的にアクセスを管理できるようになるのです。

  • Azure Bastion ホストは仮想ネットワーク内にデプロイされています。
  • ユーザーは任意の HTML5 ブラウザーを使用して Azure portal に接続します。
  • ユーザーは、接続先の仮想マシンを選択します。
  • 1 回クリックすると、ブラウザーで RDP または SSH セッションが開きます。
  • Azure VM ではパブリック IP が必要ありません。
Bastionとは

日本語の直訳は「要塞」ですが、Bastion Serverと言うと、踏み台と訳されることが一般的です。この言葉はAzureに固有の用語ではなく、一般的なアーキテクチャの言葉になります。

(公式ページ)https://docs.microsoft.com/ja-jp/azure/bastion/bastion-overview

Azure Bastionの機能と価格

こちらも、公式ページの説明に譲ります。Azure BastionのサブネットにNSGを構成する必要がなかったり、様々なセキュリティの脅威から守る機能をフルマネージドで提供してくれておりと、複雑な管理の手間なく簡単に、強力なセキュリティを有する踏み台サーバを立てれる点が魅力です。

https://docs.microsoft.com/ja-jp/azure/bastion/bastion-overview#key-features

  • Azure portal で直接 RDP および SSH を使用する: シングルクリックのシームレスなエクスペリエンスを使用して、Azure portal 内で直接 RDP および SSH セッションに接続できます。
  • TLS 経由のリモート セッションと RDP または SSH のファイアウォール トラバーサル: Azure Bastion では、ローカルのデバイスに自動的にストリーム配信される HTML5 ベースの Web クライアントを使用しているため、企業ファイアウォールを安全にトラバーサルできるようにポート 443 で TLS を介して RDP または SSH セッションに接続します。
  • Azure VM ではパブリック IP が不要: Azure Bastion は、お使いの Azure 仮想マシンのプライベート IP を使用してその VM への RDP または SSH 接続を開きます。 仮想マシンのパブリック IP は必要ありません。
  • NSG を管理する手間はなし: Azure Bastion は、Azure が提供するフル マネージド プラットフォーム PaaS サービスで、安全な RDP または SSH 接続を提供するよう内部で強化されています。 Azure Bastion サブネットに NSG を適用する必要はありません。 Azure Bastion はプライベート IP 経由で仮想マシンに接続するため、Azure Bastion からの RDP または SSH のみを許可するよう構成できます。 これで、お使いの仮想マシンへの安全な接続が必要になるたびに NSG を管理する手間がなくなります。
  • ポート スキャンからの保護: お使いの仮想マシンをパブリック インターネットに公開する必要がないため、この VM は、仮想ネットワーク外部の悪意のあるユーザーによるポート スキャンから保護されます。
  • ゼロデイ攻撃から保護する。一元的な強化: Azure Bastion は、フル プラットフォームマネージド PaaS サービスです。 これは仮想ネットワークの境界に配置されるため、その仮想ネットワーク内の各仮想マシンを強化することについて心配する必要はありません。 Azure プラットフォームは、Azure Bastion を強化して常に最新の状態にしておくことで、ゼロデイ攻撃から保護します。

また、同時接続可能なRDP/SSHはそれぞれ25/50のようです。

https://docs.microsoft.com/ja-jp/azure/bastion/bastion-overview#how-many-concurrent-rdp-and-ssh-sessions-does-each-azure-bastion-support

価格については、時間課金+転送データ量による課金のようです。リージョンによって値段が異なりますが、東日本リージョンの場合、1ヶ月間起動していて、5GB未満の転送の場合、およそ月15000円ほどになりそうです。

見積もりは、こちらから計算できます。

https://azure.microsoft.com/ja-jp/pricing/calculator/?service=azure-bastion

価格表
見積もり例

Azure Bastion経由でVMにアクセスできるようにする

仮想ネットワークとAzure Bastionホストを作成する

はじめに仮想ネットワークとAzure Bastionのホストを作成します。

これらをポータルから作成する方法は2つあります。

「仮想ネットワークの作成」から作成するか「Azure Bastionの作成」から作成するかです。

今回は後者から両方を作成する方法を取りました。

先の概要でも説明があった通り、Azure Bastion作成時は配置される専用のSubnetとそのVNETを割り当てる必要があります。

仮想ネットワークはこの画面からも作成が可能ですが、”AzureBastionSubnet”という名前でサブネットを作成してやる必要があります。アドレス範囲は、defaultと重複しない空間で指定してやります。

このデプロイには5分ほどかかります。

VNET選択時の制約
  • Azure Bastionに割り当てるVNETは、Bastionと同一リソースグループである必要はないですが、同じリージョンである必要があります。(ポータル上だと、自動的にそのフィルタがかかって表示されます)(実はこれ、Azureの資格試験で結構問われたりする・・)

仮想マシンを作成する

続いて、仮想マシンの作成です。ポイントは、受信ポートでRDP用のポートを開けておくことと、パブリックIPアドレスを作成しないこと、そして仮想マシンをAzure Bastionと同じVNETの異なるサブネット(今回はdefault)に配置することです。

もう1点、注意は、仮想マシンのSKUです。一番安い物にすると、メモリが1GBのものになるのですが、そうすると流石にリモートデスクトップに耐えられない少なさになり、接続が非常に不安定です。最低でも2GB以上メモリのあるサイズにすることをお勧めします。

仮想マシンの作成画面1
仮想マシンの作成画面2
仮想マシンの作成画面3

仮想マシンにAzure Bastion経由でRDP接続

さて、リソースの準備ができたところで仮想マシンにAzure Bastion経由で接続します。

仮想マシンの「接続」ブレードから、Azure Bastionタブを選択すると、Azure VM経由

おおお、無事、ポータルから目的のVMヘBastionを経由して接続することができました!

所感など

最後に、使ってみた所感をまとめておきます。

  • とても簡単に踏み台サーバーを設定できる(10分あれば必要な作業は完了する)
  • ポータルから利用するという点が斬新。だけど、リモートデスクトップのクライアントソフトを準備したりする必要がないので、Azure Portalに接続できるどんなマシンからでも手軽に利用できて良い

以上、Azure Bastionの概要と、これを利用してVMへの踏み台アクセスを行う方法の解説でした!

本日も最後までご覧いただきありがとうございました!

この記事を気に入っていただけたらシェアをお願いします!

ABOUT US

Yuu113
初めまして。Yuu113と申します。 兵庫県出身、東京でシステムエンジニアをしております。現在は主にデータ分析、機械学習を活用してビジネスモデリングに取り組んでいます。日々学んだことや経験したことを整理していきたいと思い、ブログを始めました。旅行、カメラ、IT技術、江戸文化が大好きですので、これらについても記事にしていきたいと思っています。