どうも、エピックです。
このノートでは Azure Bastion を試したのでその内容についてメモします。
大まかな手順を確認する
今回はAzure Bastionを作成し、同一ネットワークにあるVMへの接続まで試してみたいと思います。
なるべくセキュリティなども意識し、NSG の作成も含め次の手順で実施していきます。
- リソースグループを作成する
- VNET を作成する
- VNET 上にサブネットを作成する
- NSG を作成する
- Bastion を作成する
- VM を作成する
- 接続する
それではいきましょう。
リソースグループを作成する
Azure Portal へログインし、まずはリソースグループを作成します。
設定項目も少ないので特に迷うことはないかと思います。
リージョンは “Japan East” を設定しています。
VirtualNetwork を作成する
VirtualNetwork (仮想ネットワーク)を作成します。
リソースグループは先ほど作成したもの、リージョンも同じく “Japan East”を選択します。
リソースグループ内のリソースを統一する必要はないのですが、リソースのメタデータがリソースグループを作成したリージョンに保管されます。
障害時のマネジメントが大変になるのでなるべく同一のリージョンとしましょう。
続いての「IPアドレス」の設定ページでサブネットを追加します。
Bastion用、VM(グループ)用それぞれ作成しますので計2つ作成します。
- AzureBastionSubnet:Bastion用
- VMSubnet:VM用
ここでBastion用のサブネットの作成にはルールがあるので注意してください。
- サブネット名は必ず「AzureBastionSubnet」とする
- アドレス範囲は /26 より大きい値(例. 24など)を指定する
ここまで設定後「セキュリティ」設定などは特に変更せず、作成を行います。
NSGを作成する
Network Security Group (NSG) を作成していきます。
NSGは、L3/ L4 レイヤーでのセキュリティを強固にしてくれるので、可能な限りサブネット単位でつけるようにします。
まずは、Bastion用のサブネットに追加するNSGを作成していきます。
作成が完了したら、リソースに移動し「受信セキュリティ規則」「送信セキュリティ規則」をそれぞれ設定していきます。
設定については、Bastionサブネットに追加必須の規則があるので注意してください。
こちらのサイトが非常にまとまっており参考にさせていただきました。
受信セキュリティ規則は次のようにしています。
これらを設定せずにBastionサブネット(AzureBastionSubnet)に関連付けを行おうとすると、エラーとなります。(経験済み)
優先度100 の AllowClientAccess のソースをインターネットにしていますが、実際の運用ではここを特定のIPアドレスまたは範囲に絞るようにします。
送信セキュリティ規則は次のようにしています。
こちらも設定しないと関連付けの際にエラーになるので必ず追加してください。
Bastion用の NSG が作成できたら続いて、VM用サブネットの NSG を作成します。
BastionSubnet からのアクセスのみを受け取るように受信セキュリティ規則を設定します。
ポートは SSH の 22 のみにしていますが、必要に応じ追加しても問題ありません。
送信規則の方は今回は変更をしません。
2つ作成が完了したらそれぞれサブネットに設定をしていきます。
作成したVNETを選択し、左側のペインから「サブネット」を選択します。
すると、さきほど作成したサブネットの一覧が表示されるのでクリック。
今度は右側にペインが現れるのでその中の「ネットワークセキュリティグループ」から適用する NSG をリストから選択し「保存」をクリックします。
Bastionを作成する
ポータルからAzure Bastionを作成していきます。
Public IPアドレスを作成する必要があるためこのタイミングで作成(新規作成)しています。
SKUとして Basic と Standard が選択できます。
Basic で事足りる仕様ですが、今回は Standard で作成しています。
違いについて公式サイトが参考になります。
詳細設定は次のようになっています。
ここまで設定が完了したら作成を行います。
VMを作成する
AzurePortalからVirtual Machineを作成します。
基本設定は次のようにしています。
特にアプリケーションなどを作成するわけではないのでコスト重視でいきます。
SSHを生成し、アクセスはBastion経由で行うためパブリックアクセスはなしにしています。
続いてディスク設定。
こちらも特にSLAなどの要件は気にしていないので、StandaeSSDにしています。
続けてネットワーク設定。
ネットワーク設定では、作成済のサブネットを選択します。
NSG を NIC (Network Interface Card) に設定しない(サブネットに設定する)ので、 “NIC ネットワークセキュリティグループ” は「なし」に設定します。
あとは作成で問題ありませんが、作成の際にSSHキー(.pem)がダウンロードされるので保存場所を覚えておきます。
接続する
これで一通りの作成が完了したので接続をしてみたいと思います。
接続は作成したVMリソースから行います。
リソースを選択すると、[接続]-[Bastion]がクリックできるのでそちらをクリックします。
続いて接続設定を入力する画面になるので、ユーザー名・認証の種類などを入力します。
デフォルトであれば下記入力で接続できると思います。
- ユーザー名:azureuser
- 認証の種類:ローカルファイルからのSSH秘密キー
- ローカルファイル:先ほどダウンロードしたファイル(.pem)
[接続]をクリックし、新規ブラウザタブで次のようなページが表示されれば完了です。
最後に
今回はAzure Bastionを試したのでそれについて書いてみました。
もしわからないこと等あればコメントにていただければと思います。
今回も最後までお読みいただきありがとうございました。
では。