はじめに
株式会社ネクストスケープ、ソリューションビジネス部所属の小野塚です。
今回、Azure Bastionについて記事を書いてみました。
Azure Bastion、こちらは2019年11月頃にGAされており、その手軽さから既に利用されている方も多いと思いますので今さらかと思われる方もいらっしゃるかもしれません。
しかしながら
・本ネスケラボではまだ取り扱っていない
・2023年に入り、ランサムウェアの被害が大幅に増えている
そしてBastionの一機能が今年5月にGAされたこともあり、今回改めて取り上げてみたいと思います。
Azure VMをAzureポータルで操作していると左側のメニューにちらちらとこの「Bastion」の文字が出ていたと思いますが、それを何だろうと思いつつもスルーされていた方もいらっしゃるかもしれません。そういった方は是非本記事を見ていただければと思います。
Azure Bastionとは
Azure Bastion、Bastionの意味としては「要塞」・「砦」、ということですが、簡単に言ってしまえば踏み台サーバーのようなもの(分類としてはPaaS)になります。そういう意味で「要塞」・「砦」になるわけです。
通常、仮想マシンを作成してRDPのポートを開くように設定すると以下の様な警告が表示されます。
先に書いたランサムウェアの流行を考えるとVMでリモートデスクトップを有効にして何も対策を施さずにおくのはかなり危険です。
頻繁に使うのでなければVMを都度起動・シャットダウンする、あるいはIPアドレス制限をかける等、様々な方法が考えられますが、このAzure Bastionも一手段として有効です。
Azure Bastionの作成
それでは早速Azure Bastionを作成してみましょう。
Azure Portalで対象の仮想マシンを開き、左側のメニューから「Bastion」を選択すると以下のような画面になりますので、ここで「Bastionのデプロイ」を選択します。
Bastionのデプロイを行うと、Bastionのためにサブネットがまずは追加され、次にBastionが作成されます。
以前はサブネットも手動で作成する必要がありましたが、今はサブネット作成からBastionのデプロイまで一気通貫で対応してくれます。
以下の通知のスクリーンショットを見ていただけるとお分かりになる通り、7分程かかります。
決して問題が起きているわけではないので我慢強く待ちましょう。
作成出来たら改めてVMのメニューで「Bastion」を選ぶと以下のような画面になります。
ここでVM作成時に設定したユーザー名とパスワードを入力し、「接続」を押します。
初めて実行する場合、ブラウザの設定で以下のようなエラーが出ることがあるので、portal.azure.comからのポップアップを許可するように設定し、改めて接続をボタンを押してください。
設定によるのかもしれませんが、私のChromeですと以下のようなエラーが出て接続できず、代わりにEdgeで試したところ正常に動作しました。
同じ事象が発生した方はEdgeでお試しいただければと思います。
先ほどのBastionの画面で「新しいブラウザータブで開く」にチェックしなければ以下のようにAzureポータル上で(内で?)リモートデスクトップ画面が表示されます。
ただ、動作が少々重いですし、そもそも見づらいのでEdgeで新規タブを開き、お試しいただければと思います。
以下がEdgeで試した結果となりまして、ブラウザでリモートデスクトップでのアクセスと変わりなく操作が可能です。
このように非常に簡単にBastionのデプロイが行えます。
ちなみに今回はブラウザでアクセスしましたが、設定することでいつものようにネイティブクライアントでの接続も可能です。
Bastionの共有リンク機能(2023年5月GA)
さて、冒頭でお話しした通り、次は今年の5月にGAとなった共通リンク機能について説明&試してみたいと思います。
まずはAzureポータルで今回デプロイしたAzure Bastionの画面を開きます。
次に左側のメニューで「構成」をクリックすると以下のような画面になりますので、「レベル」をStandard、そして「共有可能なリンク」にチェックを入れて、「適用」ボタンをクリックします。
この時も3分ぐらいかかりますのでお待ちください。
そして、適用が完了したら同じくBastionの画面から(日本語の場合ですが)「共有可能リンク」をメニューから設定し、更にそこで表示された画面で「追加」ボタンを押下、そして、以下の画面にある通り「共有可能リンクの作成」で対象となるVM(属するサブスクリプションとリソースグループも)を選択して適用します。
そうすると以下のように共有可能リンクが作成され、一覧に表示されますので「共有可能リンク」のURLをコピペします。
そして、そのリンクをブラウザで叩くと以下のようなAzure Bastionのログイン画面が表示されますので、ユーザー名とパスワードを入力すると先ほどのようにブラウザ上でリモートデスクトップが開き、仮想マシンにアクセスできます。
「共有可能リンク」という名前の通り、これを他の人に共有すればその人のブラウザからでもアクセスが可能になります。
もし万が一流出してしまった場合も管理画面から簡単に共有リンクの削除・再作成が行えます。
パブリックIPアドレス削除
単純にBastionの確認だけであればこれでめでたしめでたしなのですが、このままですとVMのパブリックIPアドレスでリモートデスクトップにアクセスすることができるため、危険な状態です。
なので、VMのパブリックIPアドレスを削除し、Bastionでアクセスできるところまで試してみたいと思います。
まずはAzureポータルでVMを開き、概要の部分でパブリックIPの部分をクリックします(実際は赤枠部分にIPアドレスが表示されていますのでそこをクリックします)。
すると以下の画面になりますので、赤枠の「関連付けの解除」を選択します。
これで先ほどの概要の画面に戻るとパブリックIPアドレスが削除されていますので、念のためBastionで再度VMにアクセスしてみてください。
パブリックIPアドレスが削除されたにもかかわらず、先ほどと同じようにリモートデスクトップ接続できると思います。
終わりに
以上がAzure Bastion、そして追加機能となる共有可能リンクの説明となります。
そもそもVMではなく、AppServices等のPaaSを使うという選択肢もありますが、システムによってはVMの構築・利用が必要になる場合もあると思います。
上で説明した通りAzure Bastionはかなり手軽に作成・設定が可能ですので是非お試しください。
弊社はMicrosoftのパートナーとしてこのようなAzureのさまざまなリソース・機能を利用したWebサイト、ツール開発を得意としており、更にはスマホアプリやHoloLensと多岐に渡って開発を行っております。
もしお困りの方がいらっしゃいましたら、是非お気軽にお問い合わせください。