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 は、冒頭に書いたように、マネージド・ジャンプホストです。ジャンプホストは、仮想ネットワーク上に配置され、パブリックIPアドレスが割り当てられ、厳格なネットワークトラフィックの入出力ルールで保護された仮想マシンです。
ジャンプホストに接続し、ジャンプホストを介してネットワーク上の実稼働VMを管理することを考えます。Windows 環境では、ジャンプホストは通常、リモートデスクトップゲートウェイ(RDゲートウェイ)を実行して、複数の同時管理セッションをサポートします。
Microsoft から確認を得ているわけではありませんが、私は、Azure Bastion は実際には内部のRDゲートウェイ仮想マシンであると考えています。とはいえ、Bastion は完全に管理されたネットワーク仮想アプライアンスとして機能するため、Bastion と直接対話することはできません。
図1は、私のラボ環境を示しています
[図1: Azure Bastion ネットワークトポロジ]
Azure VM 管理者は、Azure Bastion を利用することで、次のようなメリットが得られます。
では、Azure Bastion ホストをどのようにして作成し、設定するかを説明します。
Bastion をデプロイする前に、ターゲットの仮想ネットワークを設定しておきます。Bastion には独自の権限移譲されていない、空のサブネットが必要で、この点はしっかり覚えておくべきです。サブネットには適切な名前(AzureBastionSubnet)をつけます。また、サブネットIDは最低でも /27 である必要があります。
図2に、VNet サブネット設定を示します
[図2: Azure Bastion 用に設定された VNet サブネット]
[Bastions] ブレードに移動し、[Add] をクリックして、[Create a Bastion] フォームの次の項目に入力します。
[Create] をクリックし、デプロイメントが完了するまで待ちます。次に、2つの仮想マシンをターゲットの仮想ネットワークにデプロイします。1つは Windows Server を実行し、もう1つは Linux を実行します。
VM デプロイにおける注意事項:
図3は、この時点での仮想ネットワーク構成を示しています。Azure Diagram では AzureBastionSubnet サブネット上に Bastion が表示されていません
[図3: これらのVMは、パブリックインターネットに公開されていません]
このブログを書いている時点では、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 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.
より優れた業務アプリケーションやウェブサイトの開発に役立つ、ニュース、情報、チュートリアルをご案内します。
The specified form no longer exists or is currently unpublished.