オンプレミス時代は「踏み台サーバー(ジャンプサーバー)」を経由してサーバー管理を行うのが常識でした。Azureに移行したとき、その踏み台をどう置き換えるか悩んでいませんか?
パブリックIPをVMに割り当てて直接接続する方法は手っ取り早いですが、インターネットにポートを公開した時点でセキュリティリスクが跳ね上がります。かといってAzure上に踏み台VMを別途立てると、OSのパッチ管理やコスト負担がそのままかかるだけです。
この記事では、Azure Bastionを使ってパブリックIP不要・踏み台VM不要でVMにRDP/SSH接続する方法を、オンプレ経験者の視点で解説します。構築手順から料金・よくあるトラブルまでカバーします。
なぜAzure Bastionなのか?踏み台VMとの違い
オンプレミスのサーバー管理では、「踏み台サーバー → 目的のサーバー」という2段階接続が定石でした。ファイアウォールでRDP(3389番)/SSH(22番)ポートは踏み台のIPからのみ許可し、踏み台には多要素認証を設定する構成が標準です。
Azureでも同じ構成は再現できます。しかしAzure上の踏み台VMには次の課題があります。
・OSパッチ管理が必要: Windows Serverなら毎月のWindowsUpdateが発生します
・止められない: 踏み台VMを停止すると管理アクセス手段がなくなります
・パブリックIPの露出: 踏み台VM自体にパブリックIPを付ける必要があり、ブルートフォース攻撃の標的になります
・コストの二重発生: 踏み台VM分の料金に加え、OSライセンス料金も発生します
Azure Bastionはこれらをすべて解消するフルマネージドの踏み台PaaSサービスです。Azureポータルのブラウザから直接RDP/SSH接続ができ、クライアント側にRDPクライアントやSSHクライアントをインストールする必要すらありません。
Azure Bastionの仕組みとアーキテクチャ
Azure Bastionは、仮想ネットワーク(VNet)内の専用サブネット「AzureBastionSubnet」にデプロイするサービスです。
接続の流れはこうです。
1. ユーザーがAzureポータルにHTTPS(443番ポート)でアクセスする
2. Azureポータル上で対象VMを選択し「Bastionで接続」をクリックする
3. Azure BastionがVNet内部から対象VMへRDP/SSHで中継接続する
4. ブラウザ画面上にRDP/SSHセッションが表示される
エンドユーザーからVMへの直接通信は発生しません。VMのNSG(ネットワークセキュリティグループ)でインターネットからのRDP/SSHポートを閉じたままでOKです。これがオンプレの踏み台と比べた最大の利点です。
接続に必要なものはAzureポータルへのアクセス権限だけです。外出先や自分のPCからでも、ブラウザとインターネット接続さえあれば管理作業ができます。
| 比較項目 | 踏み台VM方式 | Azure Bastion |
|---|---|---|
| クライアント要件 | RDP/SSHクライアントが必要 | ブラウザのみでOK |
| VMのパブリックIP | 踏み台VMに必要 | 接続先VMには不要 |
| OS管理 | 自前でパッチ適用が必要 | Azureがフルマネージド |
| 停止中の課金 | VM停止中は計算料金ゼロ | 存在するだけで時間課金 |
Azure Bastionのセットアップ手順(Azureポータル)
既存のVNetとVMがある環境にAzure Bastionを追加する手順を解説します。
1. 仮想ネットワークにAzureBastionSubnetを追加する
Azure Bastionには専用サブネット名「AzureBastionSubnet」が必須です。名前は大文字・小文字を含め完全一致が必要で、別名では動作しません。
サブネットのアドレス空間は/26以上(64アドレス以上)が必要です。/27や/28ではデプロイ時にエラーになります。
設定手順:
Azureポータル → 対象のVNet → 「サブネット」→「+サブネット」
・名前: AzureBastionSubnet(この名前以外は使用不可)
・サブネットアドレス範囲: 例)10.0.1.0/26
・ネットワークセキュリティグループ: 空のまま(自動管理)
・ルートテーブル: 空のまま(自動管理)
既存VNetに空きアドレス空間がない場合は、Azureポータルから VNet → 「アドレス空間」→ IPレンジ追加 の順に操作してから、サブネットを作成します。
2. Azure Bastionリソースを作成する
Azureポータルの検索バーで「Bastion」と入力し、「Bastion」サービスを選択して「作成」をクリックします。
主な設定項目:
・サブスクリプション・リソースグループ: 接続先VMと同じグループを推奨します
・名前: 任意(例: bastion-prod)
・リージョン: 接続先VMと同じリージョン(例: Japan East)
・レベル(SKU): BasicまたはStandard(後述)
・仮想ネットワーク: 接続先VMが属するVNet
・サブネット: AzureBastionSubnetが自動で選択されます
・パブリックIPアドレス: 新規作成(名前は任意、Standard SKUのIPが必要)
「確認および作成」→「作成」でデプロイ開始です。完了まで5分程度かかります。
3. VMへのRDP/SSH接続を試す
デプロイ完了後、接続先VMの管理画面へ移動します。
Azureポータル → 対象VM → 「接続」→「Bastionを使用して接続する」
Windowsサーバー(RDP)の場合:
・接続の種類: RDP
・ポート: 3389(デフォルト)
・ユーザー名: VMの管理者アカウント
・パスワード: VM作成時に設定したパスワード
「接続」ボタンを押すと、同じブラウザタブ内でWindowsのデスクトップ画面が表示されます。RDPクライアントをインストールしていない端末でも、ブラウザだけで作業できるのが大きな利点です。
LinuxサーバーへのSSH接続の場合:
・接続の種類: SSH
・ポート: 22(デフォルト)
・ユーザー名: Linuxユーザー名(例: azureuser)
・認証の種類: パスワードまたはSSH秘密キー(ファイルアップロードまたは直接貼り付け)
LinuxサーバーへのSSH接続に関する基礎知識は、姉妹サイトLinuxMaster.JPで詳しく解説しています。
料金の仕組み(2026年3月時点)
Azure BastionはBasicとStandardの2つのSKUがあります。料金はインスタンス稼働時間とデータ転送量の2軸で構成されます。
| 項目 | Basic SKU | Standard SKU |
|---|---|---|
| 時間単価(Japan East) | 約$0.19/時間 | 約$0.35/時間 |
| 月額試算(24時間稼働) | 約$137/月 | 約$252/月 |
| ファイル転送 | 非対応 | 対応 |
| セッション録画 | 非対応 | 対応 |
| スケールユニット | 固定(2ユニット) | 2~50ユニットで調整可 |
| マルチVNet接続 | 非対応 | VNetピアリング経由で対応 |
データ転送料金はアウトバウンド通信として約$0.087/GB(Japan East、2026年3月時点)が別途発生します。
【コスト注意点】踏み台VMと比較した場合
オンプレ経験者がよく「踏み台VMの方が安いのでは?」と考えますが、整理すると次のとおりです。
・踏み台VM(B1ms、Japan East): 約$0.022/時間 → 月額約$16。VM停止期間の計算料金はゼロ
・Azure Bastion Basic: 約$137/月(常時稼働の場合)
Azure Bastionはリソースが存在するだけで時間課金が発生します。VMのように「停止」することはできません(削除して再作成が必要)。
コスト最適化が優先の開発・検証環境では、踏み台VMによる接続、または接続が必要な時間帯だけBastionをデプロイして作業後に削除するという運用も選択肢に入れてください。
応用・実務Tips
SKU選択の判断基準
BasicとStandardの選択は、主に「ファイル転送の必要性」と「コンプライアンス要件」で判断します。
BasicでOKなケース:
・開発・検証環境での単純なRDP/SSHアクセスが目的
・同時接続セッション数が少ない(2セッション程度)
・セッション録画やファイル転送は不要
Standardが必要なケース:
・ブラウザ経由でのファイルアップロード/ダウンロードが必要
・コンプライアンス要件でセッション録画・監査ログが必要
・ピアリング済みの複数VNetのVMを1つのBastionから接続管理したい
Azure PolicyでBastion経由接続を強制適用する
開発者が「とりあえずパブリックIPを付けて直接接続」してしまうリスクは、Azureでも起きやすい問題です。Azure Policyで「パブリックIPアドレスの作成を拒否する」組み込みポリシー定義を適用すると、BastionやVPNを経由しない接続経路を組織全体でブロックできます。
クラウドセキュリティのガバナンス設計については、姉妹サイトSecurityMasters.TOKYOで詳しく解説しています。
マルチVNet環境でのBastion共有(Standard SKUのみ)
Standard SKUではVNetピアリングを活用して、ピアリング済みの複数VNet内のVMに対して1つのBastionから接続できます。開発VNet・本番VNetそれぞれにBastionを立てる必要がなくなり、コストを抑えられます。
設定手順: Azure Bastionの設定 → 「リモートVNet」タブ → ピアリング済みVNetを追加するだけです。
接続ログの取得(診断設定)
Azure Bastionの診断設定を有効にすると、BastionSessionAuditLogsをLog Analytics Workspaceに転送できます。「誰がいつどのVMにアクセスしたか」の証跡を残せるため、PCI DSS・ISO27001等の監査証跡要件にも対応できます。
よくあるトラブルと対処法
「AzureBastionSubnetが見つからない」エラー
サブネット名が完全一致していない場合に発生します。「azurebastionsubnet」「Azurebastionsubnet」など大文字・小文字の違いでも認識されません。Azureポータルのサブネット一覧で名前を確認し、必要に応じてサブネットを削除・再作成してください。
「サブネットのアドレス空間が不十分」エラー
/26未満(/27以下)のサブネットではデプロイできません。VNetに空きアドレスがない場合は、VNetのアドレス空間から追加IPレンジを設定してから、/26のサブネットを作成します。
接続後にブラウザ内のRDP画面が表示されない
ブラウザのポップアップブロックが原因のことが多いです。Azureポータル(portal.azure.com)のポップアップを許可するか、Google Chrome(Chromiumベースのブラウザ)を使用してください。Internet ExplorerやEdgeレガシーは非対応です。
VMへの接続が「タイムアウト」する
VMのNSGで、Azure BastionサブネットからのRDP/SSHインバウンドが許可されているか確認します。以下のAzure CLIコマンドでルールを追加できます。
# Azure CLI: VMのNSGにBastionSubnetからのRDP許可ルールを追加 # ※ BastionSubnetのアドレス範囲は環境に合わせて変更してください az network nsg rule create \ --resource-group myResourceGroup \ --nsg-name myNSG \ --name Allow-Bastion-to-RDP \ --priority 1000 \ --source-address-prefixes 10.0.1.0/26 \ --source-port-ranges '*' \ --destination-address-prefixes '*' \ --destination-port-ranges 3389 \ --access Allow \ --protocol Tcp \ --direction Inbound
SSH(22番)の場合は –destination-port-ranges を 22 に変更して同様のルールを追加してください。
「セッションが切れやすい」場合
ネットワーク品質が低い環境(VPN越しのAzureポータルアクセス等)ではセッションが切断されやすくなります。Standard SKUではセッション録画機能を使って接続状況を記録できるため、長時間の作業が必要な場面ではStandardへのアップグレードを検討してください。
本記事のまとめ
Azure Bastionは、オンプレミスの踏み台サーバーをクラウドネイティブに置き換えるフルマネージドサービスです。
| 比較項目 | 踏み台VM方式 | Azure Bastion |
|---|---|---|
| OS管理 | 自前でパッチ適用が必要 | Azureがフルマネージド |
| パブリックIP | 踏み台VMに必要 | 接続先VMには不要 |
| クライアント | RDP/SSHクライアントが必要 | ブラウザのみでOK |
| 停止中の課金 | VM停止中は計算料金ゼロ | 存在するだけで時間課金 |
| 月額コスト目安 | 約$16(B1ms常時稼働) | 約$137(Basic常時稼働) |
| セッション録画 | 別途ツールが必要 | Standard SKUで標準対応 |
・本番環境・コンプライアンス要件がある環境ではAzure Bastionを強く推奨します
・コストを抑えたい開発・検証環境では踏み台VMまたは「必要時のみデプロイ」運用も選択肢です
・複数VNetを横断して管理する場合はStandard SKUのマルチVNet接続機能が有効です
オンプレの踏み台サーバー運用と比べると、管理コストが大幅に下がります。クラウド移行のタイミングで、Bastionへの切り替えを積極的に検討してください。
Azureの安全な接続設計、もっと体系的に学びたいですか?
Azure BastionをはじめとするAzureのネットワーク・セキュリティ設計は、単体の知識より「全体像を知ること」で活かせます。
オンプレの経験を活かしながら、現場で使えるクラウドスキルを体系的に身につけたい方へ、メルマガで実践的なクラウド活用ノウハウをお届けしています。
