投稿者: Tim Warner 投稿日: 2020年3月2

Azure Bastion を一言で説明するなら、マネージド・ジャンプホストという表現が適しているかもしれません。ジャンプボックスとも呼ばれるジャンプホストは、仮想ネットワーク上に配置される仮想マシンです。このブログでは、Azure Bastionの使用を開始する方法を記述します。

Microsoft Azure の仮想ネットワークにデプロイされた2つの仮想マシン、Linux VM と Windows Server VM を管理すると仮定しましょう。前者は Secure Shell で管理する必要があり、後者は Remote Desktop Protocol(RDP)で管理する必要があります。

ところが、会社にはセキュリティポリシーがあって、これらの Azure 仮想マシンにパブリックIPアドレスを関連付けることは許可されていません。また、オンプレミス環境を Azure に接続するためのサイト間仮想プライベートネットワーク(S2S VPN)や ExpressRoute 回線はまだ検討されていません。

さらに、仮想ネットワークにジャンプホストVMをデプロイすることに伴う費用とセキュリティ関連のオーバーヘッドは、セキュリティ部門が快く受け入れてくれるとは思えません。

さあ、困りましたね。どうすればいいのかと頭を抱えても、パニックになる必要はありません。Azure Bastion が助けになるはずです。使用方法を説明します。

Azure Bastion のアーキテクチャ

Azure Bastion は、冒頭に書いたように、マネージド・ジャンプホストです。ジャンプホストは、仮想ネットワーク上に配置され、パブリックIPアドレスが割り当てられ、厳格なネットワークトラフィックの入出力ルールで保護された仮想マシンです。

ジャンプホストに接続し、ジャンプホストを介してネットワーク上の実稼働VMを管理することを考えます。Windows 環境では、ジャンプホストは通常、リモートデスクトップゲートウェイ(RDゲートウェイ)を実行して、複数の同時管理セッションをサポートします。

Microsoft から確認を得ているわけではありませんが、私は、Azure Bastion は実際には内部のRDゲートウェイ仮想マシンであると考えています。とはいえ、Bastion は完全に管理されたネットワーク仮想アプライアンスとして機能するため、Bastion と直接対話することはできません。

図1は、私のラボ環境を示しています

figure01-3

[図1: Azure Bastion ネットワークトポロジ]

Azure VM 管理者は、Azure Bastion を利用することで、次のようなメリットが得られます。

  • VM にパブリック IP アドレスが付与されることはなく、インターネットに直接公開されることもない。
  • Bastion ホストには、TCP 443(HTTPSプロトコル)でのみインバウンドトラフィックを受け入れるパブリック IP アドレスがあって、管理ポートを使用して Bastion との接続をリクエストする必要がない。
  • Bastion ホストは VNet 上の VM とシームレスに通信でき、SSH 接続と RDP 接続の両方が可能。
  • Bastion と VM サブネットの両方にネットワークセキュリティグループ(NSG)を展開できるオプションを利用することで、セキュリティ・レイヤを追加可能。

では、Azure Bastion ホストをどのようにして作成し、設定するかを説明します。

Azure Bastion のデプロイ

Bastion をデプロイする前に、ターゲットの仮想ネットワークを設定しておきます。Bastion には独自の権限移譲されていない、空のサブネットが必要で、この点はしっかり覚えておくべきです。サブネットには適切な名前(AzureBastionSubnet)をつけます。また、サブネットIDは最低でも /27 である必要があります。

図2に、VNet サブネット設定を示します

figure02-3

[図2: Azure Bastion 用に設定された VNet サブネット]

[Bastions] ブレードに移動し、[Add] をクリックして、[Create a Bastion] フォームの次の項目に入力します。

  • サブスクリプション
  • リソースグループ
  • インスタンス名
  • リージョン: Bastion が利用可能な Azure リージョンには制限があります。利用可能なリージョンが追加されたら更新されますので、Microsoft のこのドキュメントをチェックしてください。
  • 仮想ネットワーク: 必ず正しい VNet と AzureBastionSubnet サブネットを指定してください。
  • パブリック IP アドレス

 [Create] をクリックし、デプロイメントが完了するまで待ちます。次に、2つの仮想マシンをターゲットの仮想ネットワークにデプロイします。1つは Windows Server を実行し、もう1つは Linux を実行します。

VM デプロイにおける注意事項:

  • サーバーにはパブリック IP アドレスを付与しないようにしてください。
  • VMの仮想ネットワークインタフェースカード(NIC)には、まだネットワークセキュリティグループ(NSG)を関連付けないでください。

図3は、この時点での仮想ネットワーク構成を示しています。Azure Diagram では AzureBastionSubnet サブネット上に Bastion が表示されていません

[図3: これらのVMは、パブリックインターネットに公開されていません]

RDP および SSH 接続のテスト

このブログを書いている時点では、Bastion ホストを介して Azure VM に接続するには、Azure Portal を使用する必要があります。ただし、Microsoft の Azure Bastion エンジニアリングチームは、いずれはクライアント側のRDPおよびSSHツールもサポートする計画を持っています。

今のところは、Azure Portal を使い、図4に示すように、Windows Server VMの [Overview] ブレードをブラウズし、[Connect] をクリックして、[BASTION] タブを選択します

[図4: Azure Bastion を介して Windows Server VM に接続]

ローカルの管理アカウントで認証すると、共有クリップボードへのアクセスを許可またはブロックするように求められます。その後は、図5に示すように、グラフィカルRDPセッションでサーバーを自由に管理できます

[図5: Bastion を介した RDP を使用した Windows Server VM の管理]

Linux VM の場合も、基本的な接続手順は同じです(図6を参照)。SSH Private Key かパスワードかを使用して VM に対して認証を行うと、SSH プロンプトが表示されます(図7)。

[図6: Azure Bastion を介して Linux VM に接続]

[図7: Bastion を介した SSH を使用した Linux VM の管理]

ブラウザのタブを閉じれば、セッションが終了します。

Azure Bastion を利用することのメリットに記述したように、Bastion サブネットと VM サブネットの両方に NSG を追加して、セキュリティをさらに強化できます。詳細については、Microsoft のドキュメント「NSG アクセスと Azure Bastion を使用する」を参照してください。

注意事項

Azure Bastion は優れたサービスですが、その一方で、取り組むべき重大な「成長に伴う痛み」があるのも事実です。

1つ目は、現在の使用料が1時間あたり0.19ドル(Bastion ホストごとに1か月あたり約138ドル)で、Bastion を停止したり割り当て解除したりできない現状からすると、サービスはかなり高価になります。

2つ目は、現時点では、Bastion は、ピア VNet や VNet-to-VNet VPN で接続された VNet にまたがることができません。つまり、この方法で管理しようとするすべてのサブネットに個別の Bastion ホストをデプロイする必要があります。この点もまた、費用面の負担を増大させます。

3つ目として、アーキテクチャの項で指摘したように、Bastion ホストと直接対話することができないため、RDP セッションポリシーを、オンプレミスのグループポリシーで行うようには設定できません。図8を見るとわかるように、実際は、セッションの検査以外には、Bastion ホストでできることはあまりありません

[図8]

関連リソース

Azure Bastion に関して、多少はご理解いただけたでしょうか?より深く知りたい場合は、私が選出した以下の関連リソースにアクセスしてください。


Tim Warner
Tim Warner is a Microsoft MVP, Microsoft Press/Wiley author, and Azure solution architect based in Nashville, TN. Contact Tim at Twitter (@TechTrainerTim) or his website, techtrainertim.com.
著者が作成したブログ

関連タグ

Prefooter Dots
Subscribe Icon

Latest Stories in Your Inbox

Subscribe to get all the news, info and tutorials you need to build better business apps and sites

The specified form no longer exists or is currently unpublished.