Azure Bastionホスト作成手順からBastionを使ったAzure VM接続方法まで
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の特徴
- 仮想マシンにパブリック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を選択します。
Basic以上のSKUについては時間単位での課金となります。
機能は制限されていますが、Developer SKUは無料で利用できます。
※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を設定する事もできます。
※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)を追加しています。
サブネット作成 | |
仮想ネットワーク左側のリソースメニューでサブネットを選択します。 |
|
Bastionのリソース作成
Azure 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を使って接続します。
仮想マシン自体に特に設定する事はなく接続できます。
パスワードはKey Vaultのシークレットを利用できる
パスワードにはKey Vaultのシークレットを利用できます。
※シークレットにアクセスする権限が必要です。
※Developer SKUでは利用できません。
Key Vaultを利用する | |
認証の種類でAzure Key Vaultからのパスワードを選択します。 |
|
セッション情報を確認
Bastion経由で仮想マシンに接続している情報は、セッションのメニューで確認できます。
接続しているユーザー名(Bastionで指定したユーザー名)、接続先の仮想マシンのローカルIPアドレスやリソースIDなどが確認できます。
セッションを確認 | |
Bationのメニューでセッションを選択するとセッション情報が表示されます。 |
※診断設定を利用すると、Bastion経由の接続情報をログとして確認する事ができます。
Linuxの仮想マシンにSSHで接続
Bastion経由での仮想マシン接続にはSSHも選択できます。
SSHで接続する場合は、鍵認証による接続もできます。
認証の種類は"VMパスワード"、"Key Vaultからのパスワード"、"ローカルファイルからのSSH秘密キー"、"Azure Key VaultからのSSH秘密キー"の4つから選択できます。
※パスフレーズ付きの秘密鍵も利用できます。
仮想マシンへ接続 | |
プロトコルでSSHを選択します。 |
|
最後に
Azure Bastionの概要から、リソース作成、仮想マシン(Azure VM)への接続手順までを確認してみました。
仮想マシン自体に特別な設定なく利用できるのはとても便利かと思いました。
無料で利用できる、Developer SKUなどもあり検証環境でもお手軽に利用できるようになった事は大変ありがたいです。
今回は実施していませんが、セッション情報も診断設定を利用して保管する事ができます。
引き続き色々試してみたいと思います。
仮想マシンでSSH鍵を利用する場合についてこちらの記事で紹介しています。
鍵の作成方法から仮想マシンの作成手順、接続方法まで記載しています。