Azure Bastionホストの作成から仮想マシンへの接続まで試してみた

2019-11-09Azure,Bastion

Azure BastionはAzure上に構築された仮想マシンとのセキュアな接続を提供してくれるサービスになります。

Azure Bastion とは

仮想マシンにパブリックIPを付与する事無く外部からアクセスする事ができます。
Azure Portal(ブラウザ)経由で仮想マシンにアクセスする事ができます。
また2022年3月時点ではネイティブ クライアントを使用した接続もプレビューで開始されています。
ネイティブクライアントを使ったアクセスの詳細はこちら

今回はAzure Bastionのリソース作成からBastion(Azure Portal)経由で仮想マシンにアクセスする所まで試してみました。

スポンサーリンク

Azure Bastionのリソース作成の前に

Azure BastionのSKUにはStandardとBasicがある

Azure BastionのSKUにはStandardとBasicがあります。
BasicからStandardへのアップグレードは可能ですが、StandardからBasicへのダウングレードは出来ません。
今回はStandardで作成しています。

    • Standardでしか出来ない事
      • Standardではインスタンス(ホスト)のスケーリングが可能
        • Basicではインスタンスが2固定
      • ネイティブクライアントからの接続、ファイル転送が可能
      • カスタム受信ポートが使用可能

各SKUの詳細は公式サイトのガイドを参照ください。
価格は公式サイト価格表を参照ください。

Azure Bastionは仮想ネットワーク単位

Azure Bastionは仮想ネットワーク単位になります。
複数の仮想ネットワークに仮想マシンが分散している場合はその数分Bastionのリソースを作成する必要があります。

仮想マシンにパブリックIPは必要ない

Azure Bastion自体はパブリックIPを使いますが仮想マシン自体にはパブリックIPは必要ありません。
Bastion使う場合は仮想マシン自体のパブリックIPは外しておく事が推奨されます。

ネットワークセキュリティグループでインターネットからのアクセス許可は必要はない

Azure Bastion経由での仮想マシンへの接続はローカルIPを使います。
仮想マシンやサブネットでグローバルIPからのアクセスの許可設定をする必要ありません。

※仮想マシンのOSではRDPやSSHを許可しておく必要があります。

Azure Portal経由で仮想マシンに接続する方法にはシリアルコンソール接続もある

Azure Portal経由で仮想マシンに接続する方法にはシリアルコンソール接続もあります。
シリアルコンソール接続はこちらを参照ください。

 

Azure Bastionのリソース作成

Bastion構築チュートリアル

今回はマイクロソフト公開のチュートリアルを元に進めていきます。

チュートリアル:Bastion を構成し、Windows VM に接続する

事前準備として必要になるもの

Azure Bastionを設定するにあたって必要なリソースがあります。
Bastionの設定画面で一緒に新規作成もできます。

    • Azure Bastion専用のサブネット
      • サブネットの名前がAzureBastionSubnetである必要があります
      • /26以上で必要になります
      • 他のリソースが含まれていてはいけません
      • Bastionを使う仮想マシンがある仮想ネットワークに作る必要があります
    • パブリックIP
      • SKUはStandardである必要があります

今回はサブネットは事前に準備します。
パブリックIPはBastionのリソース作成時に一緒に作成します。

サブネットを構成する

Azure Bastionを使うサブネットを構成します。
サブネット構成時には注意点がありますので気を付けて作成します。

    • サブネット構成時の注意点
      • サブネットの名前がAzureBastionSubnetである事
      • アドレス範囲が/26以上である事

事前に作成しておいたTest-VNET-01にBastion用のサブネット(/24)を追加する形にしています。
自身の環境に合わせて適時読み替えて下さい。

サブネット作成

仮想マシンのメニューから作成します。
サブネットを選択します。
サブネットの追加が表示されますので名前、サブネットのアドレス範囲を入力します。
保存をクリックすればサブネットの作成は完了です。

AzureBastionSubnetと言う名前でサブネットが作成されている事が確認できました。

Azure Bastionをセットアップ

Azure BastionはBastionのメニューもしくは仮想マシンのメニューどちらからでも作成が可能です。
今回はBastionのメニューから作成しています。リソース名はTest-Bastion-01と言う名前で作成しています。

Bastion作成
Bastionのメニューで作成を選択します。
Bastionの設定画面です。
インスタンスの詳細ではレベル等を指定します。
仮想ネットワークの構成でBastionを利用する仮想ネットワークを選択します。サブネットで指定出来るのはAzureBastionSubnetと言う名前のサブネットのみです。
パブリックアドレスはでBastionにアタッチするパブリックを指定します。パブリックIPアドレス名の名前を入力する事で任意の名前のパブリックIPを作成する事ができます。
タグの設定画面です。
任意で付与します。
詳細設定ではネイティブクライアントサポートのチェック選択できます。レベル(SKU)でStandardを指定した場合のみ利用できます。

確認画面で内容を確認し問題が無ければ作成をクリックします。
これでBastionのリソース作成は完了です。

PowerShellやREST APIを使ったAzure Bastionホストの作成や削除はこちら。

Azure Bastion経由で仮想マシンに接続する

Azure Bastionを使って仮想マシンに接続する

仮想マシンのメニューからBastionを使って接続してみます。
仮想マシン側いる仮想ネットワークにBastionをデプロイしておけば、仮想マシン側で特に設定する事はなく接続できました。

仮想マシンへ接続

仮想マシンのメニューでBastionを選択します。仮想マシンのOSで設定しているユーザー名とパスワードを入力し接続をクリックします。

※新しいウィンドウで開く場合は、ブラウザでポップアップを許可しておく必要があります。

ブラウザ上の仮想マシンのデスクトップが表示されました。

Azure Bastionでセッション情報を確認

Bastionのリソース内で実際に接続されているセッションを確認する事が出来ます。

セッション確認
Bationのメニューでセッションを選択するとセッション情報が表示されます。
ユーザー(OSのユーザー)がどの仮想マシンへ接続しているかが分かります。

Azure Bastionを使ってみて

Webベースでアクセスできることは非常に便利ですし、何よりもセキュリティ的なリスクが軽減される事は非常に良いかと思いました。
パブリックプレビュー中ではありますがネイティブクライアントからの接続やファイル転送が出来る点も実際の運用で使うには非常に良い進化かと思いました。
ネイティブクライアントからの接続など今後も色々試してみたいと思います。