1. はじめに
業務において Microsoft Azure 上に仮想ネットワークを構築することになった。
セキュリティの観点から、各仮想マシンにはパブリック IP を割り当てないこととしたのだが、その際に「各仮想マシンに実際に接続して設定等を行いたいのだが、どうすればいい?」というところで詰まったので、その備忘として記載する。
実現したいこととしては、VMware において仮想マシンへ接続する際に、ブラウザから直に接続できるけど、それを Azure でも実現したい!!って感じ。
どうやら、Azure には Azure Bastion という踏み台サーバ的なもの?があるらしく、それを使えば Web ブラウザから直に仮想マシンへ接続できるらしい。ということで、その構築メモ。
2. 構築環境
- 使用端末:MacOS
- 使用ブラウザ:Google Chrome
- 構築仮想マシン:Linux および Windows10
※ ものすごい簡潔なイメージは以下の通り。
「パブリック IP 割り当ててないけど、仮想マシンにアクセスできるじゃん!」って状態にしたい。
業務で構築予定のネットワークには、以下に加えてサブネット作成とかファイアウォール設定が入ってくるので、もうちょい複雑。
3. Azure Bastion 構築手順
大まかに以下の 4 手順になるかと思われる。
① アドレス空間を設定
② Azure Bastion 用のサブネットを作成
③ 仮想マシンを構築後、Bastion で実際に接続
④ 対象仮想マシンへの接続を確認
以下、詳細。
① アドレス空間を設定
Amazon Web Service とか Google Cloud Platform とかも同様かと思うが、
仮想マシンの作成前にまずは仮想ネットワークの作成からやるのが良さげ。
Azure の場合、「アドレス空間」作成 → 「サブネット」作成、という手順になるぽい。
Azure Bastion のための専用サブネットが必要なので、その作成準備。
② Azure Bastion 用のサブネットを作成
なんか色々他にもサブネットがあるけど、今は無視いただければ。
③ 仮想マシンを構築後、Bastion で実際に接続
仮想マシンを構築し(多分 Bastion とは別のサブネットを用意の上、そのサブネット上に作成する必要あり)、その仮想マシンの詳細画面へ。
「接続」タブがあるのでそこから Bastion を選択。
ユーザ名・パスワードを入力し、接続。
④ 接続確認
以下のように、Google Chrome ブラウザにて、Windows10 に接続できる。
以上で、ブラウザから Azure 上の仮想マシンへの接続が実施できる。
4. まとめ
- ここまでの手順により、以下のようなネットワークが構築されているはず。
1 つの仮想ネットワークの中に、Bastion 用と仮想マシン用のサブネットの合計 2 のサブネットが構築されている。
- 調べたところ、Azure Bastion は有料。
以下によると 1 時間あたり 20 円強。停止もできない(常時起動 or 削除)みたいなので、コストは注意が必要そう。
https://azure.microsoft.com/ja-jp/pricing/details/azure-bastion/ - 今回は Azure で確認を行ったが、AWS と GCP で同様に「ブラウザからの仮想マシン接続」ができるのか?は調べてみたい(正直怪しい感じはしているが)。気が向けばこの調査結果も記事として投稿するかも。
- また、ファイアウォールも駆使してもうちょいセキュアなネットワーク構築も試す予定。Azure では一度経験済なのだが、AWS とか GCP ではまた勝手が違いそう。
今回は以上。
参考になれば幸いです。