はじめに
Azureの仮想ネットワークに構築されたAzure VMに対してRDPやSSHにて接続を実施する場合、パブリックIPアドレスを持つ踏み台VMを構築し、踏み台を経由して接続を実施することが一般的かと思いますが、Azureでは踏み台機能のマネージドサービスとしてAzure Bationを利用することができます。
仮想ネットワーク上にAzure Bationをデプロイすることで、Azure Portal経由でAzure VMに対してRDPやSSH接続を実施することが可能になります。
今回はAzure Bastionのネイティブクライアント接続機能を利用して、Azure Portalからではなく、WindowsOSのリモートデスクトップ接続機能を利用してAzure VMにRDP接続する手順を検証します。
Azure Bastionの詳細はこちらを参照ください
※ 本ブログに記載した内容は個人の見解であり、所属する会社、組織とは全く関係ありません。
構成図
Azure Bastionの構築
前提
・Azure Bastionをデプロイするリソースグループが作成されていること。
・Azure Bastionをデプロイする仮想ネットワーク上にサブネット「AzureBastionSubnet」が作成されていること
AzureBastionSubnetのIP アドレス範囲の値は /26 以上のサブネットを使用します。
・Azure Bastionをデプロイする仮想ネットワーク上でRDP接続先のAzure VMが構築されていること。本検証ではWindowsServer2022を構築しています。
手順
Azure Portalから、サービス「Bastion」を選択します。
「基本」タブについて以下の通り設定します。
<プロジェクトの詳細>
リソースグループ: 事前に準備しているAzure Bastionをデプロイするリソースグループを選択します。
<インスタンスの詳細>
名前: 任意の名前を入力します。
地域: 本検証では東日本リージョンを利用します。
レベル: Standardを選択します。
ネイティブクライアント接続を利用するためにはStandardレベルを選択する必要があります。
インスタンス数: 本検証では最小の2台とします。
<仮想ネットワークの構成>
仮想ネットワーク: 事前に準備しているAzure Bastionをデプロイする仮想ネットワークを選択します。
サブネット: 事前に作成した「AzureBastionSubnet」を選択します。
<パブリックIPアドレス>
パブリックIPアドレス: 「新規作成」を選択します。
パブリックIPアドレス名: 任意の名前を設定します。
事前に作成されているパブリックIPアドレスを利用しても問題ありませんが、SKUがStandardで、割り当てが「静的」の必要があるのでご注意ください。
「詳細設計」タブを以下の通り設定します。
<Bastionの機能>
「ネイティブクライアントサポート」を有効にします。
本検証ではコピー/貼り付け機能についても有効にしますが、必要に応じてその他の機能についても有効にします。
設定内容に間違いがないことを確認し、「作成」をクリックします。
ネイティブクライアント接続検証
前提
・Azure CLIがインストールされていること。 (バージョン 2.32 以降)
Azure CLIのインストール手順はこちらを参照ください
手順
PowerShell を起動し、az loginにてEntra ID ユーザでサインインをします。
※ Azure Bastionへのアクセス権限を持っているユーザの必要があります。
以下コマンドを実行します
<BastionName>、<ResourceGroupName>は環境に合わせて適切な値を入れてください。
<VMResourceId>には接続先のAzure VMのリソースIDの値を入れてください。
#RDP 経由コマンド
az network bastion rdp --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId>"
ユーザ名とパスワードの入力が求められるのでVMにログインするユーザ情報を入力します。
※本検証ではローカルユーザを利用しております。
ユーザ情報を入力後、「OK」をクリックします。
本検証で作成したAzure Bastionでは「コピー/貼り付け」を許可しているため、ネイティブクライアント経由で資材の送付も実施可能です。
おわりに
Azure Bastionのネイティブクライアント接続を利用してAzure VMにRDP接続を実施することができました。普段から使い慣れているネイティブクライアントを利用でき、資材もコピー&ペーストで送ることができるので便利かなと思います。SSHについても接続可能ですので、接続先のOSによって使い分けていただけたらと思います。
本検証の手順に関する詳細はこちらを参照ください。