マネージドな踏み台サーバ「Azure Bastion」を試す
はじめに
2019/6/18にAzure仮想マシンへ対するSSH とRDP接続をSSLでトンネルできるマネージドな踏み台サーバ「Azure Bastion」がPreview公開されたので早速使ってしました。
https://azure.microsoft.com/ja-jp/updates/azure-bastion-now-available-for-preview/
手順
Preview利用登録
MSのドキュメントは以下になります。
https://docs.microsoft.com/en-us/azure/bastion/
日本では東日本リージョンで利用可能ですが、まずはAzure Cloud ShellのPower Shellから以下のコマンドでPreviewの利用登録をします。
Register-AzureRmProviderFeature -FeatureName AllowBastionHost -ProviderNamespace Microsoft.Network
Register-AzureRmResourceProvider -ProviderNamespace Microsoft.Network
以下のコマンドを入力すると、Preview利用の申請ステータスが確認できます。
Get-AzureRmProviderFeature -ProviderNamespace Microsoft.Network
タイミングによって申請が通るまでの時間はまちまちなので、なんとも言えませんが、私の場合は申請後、ランチを食べに行って帰ってきたらRegisteredになっていました。
PS Azure:> Get-AzureRmProviderFeature -ProviderNamespace Microsoft.Network
FeatureName ProviderName RegistrationState
AllowBastionHost Microsoft.Network Registered
仮想ネットワークの準備
既にある仮想ネットワーク内に「AzureBastionSubnet」を事前に作成しておきます。サブネットのprefixは/27以上にする必要があるみたいです。
Bastionのデプロイ
以下のPreview用Azureポータルから操作します。
「+リソースの作成」から検索フィールドに「bastion」と入力して、出てきた「Bastion(プレビュー)」を選択します。
「作成」をクリックします。
リソースグループ、名前は適当に。
地域は既存の仮想ネットワークがある東日本を選択しました。
仮想ネットワークを選択すると、自動的に「AzureBastionSubnet」が(存在していれば)自動で選択されます。
パブリックIPアドレスも今回は新規作成します。
最後に「確認及び作成」をクリックします。
最後に「作成」をクリックします。
5分ほど待ったら無事作成完了しました。
仮想マシンに接続
Linuxの場合
対象の仮想マシンの「Overview(概要)」画面で「Connect」をクリックします。
「Connect to virtual machine」のポップアップ画面で、既にタブが「BUSTION」が選ばれている状態なので 「Connect to virtual machine」のポップアップ画面で、UsernameとPasswordを入力して、「Connect」をクリックします。
ブラウザに新しいタブが開かれ、そちらにsshのターミナル画面が表示されます。
Windowsの場合
対象の仮想マシンの「Overview(概要)」画面で「Connect」をクリックします。
後は基本Linuxの時と一緒です。
「Connect to virtual machine」のポップアップ画面で、既にタブが「BUSTION」が選ばれている状態なので、UsernameとPasswordを入力して、「Connect」をクリックします。
ブラウザに新しいタブが開かれ、そちらにリモートデスクトップ画面が表示されます。
ブラウザの画面をリサイズしても、ちゃんとOS内でも画面サイズを変更してくれました。すばらしい。
おわりに
今回試した操作では、Preview用のAzureポータルからの操作で、各仮想マシンに繋ぐには、仮想マシンの概要ページから「Connect」で接続しました。
自分の希望としては、直接Bastionのエンドポイントを指定後に接続する仮想マシンを選んで認証してログイン、、、といったフローを期待するのですが、まずは各仮想マシンにPublic IPアドレスが無くてもAzure BastionだけVNET内のサブネットに展開しておけば簡単に接続できる事が確認できました。