Azure Bastionホスト作成手順からBastionを使ったAzure VM接続方法まで

2019-11-09Azure,Bastion,Virtual Machine

Azure Bastionのリソース作成から仮想マシン(Azure VM)への接続までの手順です。

Azure Bastionは、Azureの仮想マシンとセキュアな接続を提供するサービスです。
仮想マシン自体にパブリックIPを付与する必要がなくなります。
インターネットからAzure Bastion経由で仮想マシンに接続できます。

Azure Bastionの概要から、リソース作成手順、Bastion経由での仮想マシン接続方法までを紹介しています。

※本記事内では、Azure Virtual Machines(Azure VM)を仮想マシンとして表記しています。
※本記事内では、Network Security Groups(ネットワークセキュリティグループ)をNSGとして表記しています。

スポンサーリンク

Azure Bastionの概要

Azure Bastionとは

Azure BastionはAzure上の仮想マシンや仮想マシンスケールセットとセキュアな接続を提供してくれるサービスです。

Azure Bastion とは

    • 主なAzure Bastionの特徴
      • 仮想マシンにパブリックIPを付与する必要がない
      • 各仮想マシンでSSHやRDPのポートを外部(インターネット)に公開する必要がない
        • NSGで接続許可する必要がありません
      • エージェントやクライアントソフトが必要ない
      • 仮想ネットワーク内にBastionが1つ
        • 仮想マシン単位にBastionは必要ない
      • ゼロディ攻撃等のセキュリティをAzure側で守ってくれる

特徴の詳細については公式サイトに記載されています。

Azure Bastion とは(主な利点)

※仮想ネットワークピアリングを利用する事で、1つのBastionを複数の仮想ネットワークで使う事ができます。(Developer SKUを除く)

Azure BastionのSKUは4つ

Azure BastionのSKUには、Premium、Standard、Basic、Developerがあります。

SKU

SKUのアップグレードは可能ですが、ダウングレードは出来ません。
SKUにより利用できる機能に差異があります。
利用したい機能に応じてSKUを選択します。

Basic以上のSKUについては時間単位での課金となります。
機能は制限されていますが、Developer SKUは無料で利用できます。

Azure Bastion の価格

※StandardやPremium SKUの場合、最低インスタンス数が2となります。

Azure Bastion経由の仮想マシン接続方法

Azure Bastion経由で仮想マシンへ接続する方法は2つです。

    • Azure Portal経由の接続
    • ネイティブクライアントによる接続

※ネイティブクライアントによる接続はStandard SKU以上で利用可能です。

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

Azure Bastionは仮想ネットワークと関連付けて利用します。
Azure Bastionがある仮想ネットワーク内の仮想マシンに対して接続できます。
但し、仮想ネットワークピアリングを利用する事で1つのBastionリソースを、複数の仮想ネットワークで利用できます。

※Developer SKUは仮想ネットワークピアリングを利用できません。

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

Azure Bastion自体はパブリックIPアドレスを使用しますが、仮想マシンにはパブリックIPアドレスが必要ありません。
仮想マシンのパブリックIPアドレスの関連付けを外しておくことが推奨されます。

仮想マシンのNSGにインターネットからの受信セキュリティ規則は必要ない

仮想マシンに適用しているNSGに、インターネットからの受信接続許可のルールは必要ありません。
Azure BastionのサブネットにNSGを設定する事もできます。

NSG アクセスと Azure Bastion を使用する

※Azure Bastionのサブネットから仮想マシンへのRDPやSSHは許可しておく必要があります。

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

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

Azure Bastionのリソース作成

参考にしたチュートリアル

公式サイトのチュートリアルを元に進めていきます。
今回はStandard SKUで作成します。

チュートリアル: 指定した設定を使用して Azure Bastion をデプロイする

設定内容

作成したリソースの設定内容です。
今回、パブリックIPはBastionのリソースと同時に作成しています。

要素 項目 設定値
パブリックIP 名前 bus-pip-01
SKU Standard
仮想ネットワーク 仮想ネットワーク名 test-vnet-01
アドレス空間 10.0.0.0/16
サブネット名 AzureBastionSubnet
ループ回数 10.0.255.0/26
Bastion 名前 bas-01
SKU Standard
インスタンス数 2
詳細設定 すべてにチェック
(セッションの記録除く)

※事前に作成しておいた仮想ネットワークを利用しています。
※セッションの記録はStandard SKUでは利用できません。
※Standard SKUのパブリックIPが利用できます。
※サンプル作成時にbas-pip-01とするつもりがbus-pip-01と間違えて設定しています。

サブネットを構成

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

    • サブネット構成時の注意点
      • サブネットの名前がAzureBastionSubnetである事
      • アドレス範囲が/26以上である事
      • 他のリソースが含まれていてはいけません

事前に作成しておいた仮想ネットワーク(test-vnet-01)にBastion用のサブネット(/26)を追加しています。

サブネット作成

仮想ネットワーク左側のリソースメニューでサブネットを選択します。
サブネットを選択します。
サブネットの追加が表示されます。
サブネットの目的にAzure Bastionを選択します。
アドレス範囲を入力します。
保存します。

仮想ネットワークにサブネットを追加
Azure Bastionのサブネットを追加

Bastionのリソース作成

Azure Bastionのリソースを作成します。
Bastionのリソースは様々なリソースのメニューから作成できます。

    • Bastion
    • 仮想ネットワーク
    • 仮想マシン

手動で構成を設定します。

Bastion作成
Bastionのメニューで作成を選択します。
もしくは手動で構成を選択します。
【Bastion】Bastionで作成を選択(Bastionのリソース作成)

【仮想ネットワーク】

仮想ネットワークからBastionのリソースを作成(Bastionのリソース作成)

【仮想マシン】仮想マシンからBastionのリソースを作成(Bastionのリソース作成)

基本設定のタブです。
インスタンスの詳細で名前やレベルなどを指定します。
仮想ネットワークの構成では、Bastionを利用する仮想ネットワークを選択します。
サブネットには、"AzureBastionSubnet"という名前のサブネットのみ指定できます。
パブリックIPアドレスの設定では、Bastionで使用するパブリックIPのリソースを指定します。
新規作成の場合、パブリックIPアドレス名は任意の名前に変更できます。
インスタンスの詳細、仮想ネットワークの構成(基本タブ)(Bastionのリソース作成)
パブリックIPアドレスの設定(基本タブ)(Bastionのリソース作成)
詳細設定のタブです。
SKU(レベル)により選択できる項目が変わります。
利用したい機能にチェックを付けます。
【Standardの場合】機能を選択(詳細設定タブ)(Bastionのリソース作成)
【Developerの場合】機能を選択(Developerの場合)(詳細設定タブ)(Bastionのリソース作成)
確認画面です。
作成を選択するとBastionのリソースが作成されます。
確認および作成画面(Bastionのリソース作成)

詳細設定の各項目の詳細については公式サイトで確認をお願いします。

コピー/貼り付け:Windows VM – Bastion 経由でのコピーと貼り付け
IP ベースの接続:指定したプライベート IP アドレスを使用して VM に接続する
Kerberos 認証:Azure portal を使用して Kerberos 認証の Bastion を構成する
ネイティブ クライアント サポート:ネイティブ クライアント接続用に Bastion を構成する
共有可能なリンク:Bastion の共有可能リンクを作成する
セッションの記録:Bastion セッション記録を構成する

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

—広告—

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

Windowsの仮想マシンにRDPで接続

仮想マシンのメニューからBastionを使って接続します。
仮想マシン自体に特に設定する事はなく接続できます。

仮想マシンへ接続

仮想マシンの左側のメニューでBastionを選択します。
もしくはBastionの左側のメニューで接続を選択します。
Bastionのリソースメニューから接続する場合、接続先の仮想マシンのIPアドレス(ローカル)を指定します。

【仮想マシン】仮想マシンのメニューからBastionを利用(Bastionを利用して仮想マシンに接続)

【Bastion】

Bastionのメニューから仮想マシンに接続(Bastionを利用して仮想マシンに接続)

ログインするユーザー名とパスワードを入力し接続をクリックします。

ユーザー名とパスワードで仮想マシンに接続(Bastionを利用して仮想マシンに接続)

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

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

Bastion経由で接続した場合のWindowsデスクトップ表示(Bastionを利用して仮想マシンに接続)

パスワードはKey Vaultのシークレットを利用できる

パスワードにはKey Vaultのシークレットを利用できます。

※シークレットにアクセスする権限が必要です。
※Developer SKUでは利用できません。

Key Vaultを利用する

認証の種類でAzure Key Vaultからのパスワードを選択します。
Key Vaultのリソースとシークレットを選択します。

RDP(Windows)の場合の認証の種類(Bastionを利用して仮想マシンに接続)
認証の種類にAzure Key Vaultを指定した場合(Bastionを利用して仮想マシンに接続)

セッション情報を確認

Bastion経由で仮想マシンに接続している情報は、セッションのメニューで確認できます。
接続しているユーザー名(Bastionで指定したユーザー名)、接続先の仮想マシンのローカルIPアドレスやリソースIDなどが確認できます。

セッションを確認
Bationのメニューでセッションを選択するとセッション情報が表示されます。 Bastion経由で仮想マシンへアクセスした場合のセッション情報(Bastionを利用して仮想マシンに接続)

※診断設定を利用すると、Bastion経由の接続情報をログとして確認する事ができます。

Linuxの仮想マシンにSSHで接続

Bastion経由での仮想マシン接続にはSSHも選択できます。
SSHで接続する場合は、鍵認証による接続もできます。
認証の種類は"VMパスワード"、"Key Vaultからのパスワード"、"ローカルファイルからのSSH秘密キー"、"Azure Key VaultからのSSH秘密キー"の4つから選択できます。

※パスフレーズ付きの秘密鍵も利用できます。

仮想マシンへ接続

プロトコルでSSHを選択します。
認証の種類を選択します。
ユーザー名を指定します。
パスワードや秘密キーを指定し接続します。

SSHでLinuxの仮想マシンへアクセスする場合(Bastionを利用して仮想マシンに接続)
Linuxの仮想マシンの場合の認証の種類(Bastionを利用して仮想マシンに接続)
認証の種類にSSH秘密キーを選択した場合(Bastionを利用して仮想マシンに接続)

最後に

Azure Bastionの概要から、リソース作成、仮想マシン(Azure VM)への接続手順までを確認してみました。
仮想マシン自体に特別な設定なく利用できるのはとても便利かと思いました。
無料で利用できる、Developer SKUなどもあり検証環境でもお手軽に利用できるようになった事は大変ありがたいです。
今回は実施していませんが、セッション情報も診断設定を利用して保管する事ができます。

引き続き色々試してみたいと思います。

仮想マシンでSSH鍵を利用する場合についてこちらの記事で紹介しています。
鍵の作成方法から仮想マシンの作成手順、接続方法まで記載しています。

スポンサーリンク