45
40

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

はじめての Azure Bastion

Last updated at Posted at 2019-12-16

はじめに

2019 年 11 月に Azure Bastion が正式に利用できるようになりました。
せっかくなので、Azure Bastion の設定手順などを紹介してみたいと思います。
この情報が、どなたかのお役に立つと幸いです!

Azure Bastion って、何に使うの?

仮想ネットワーク (VNet) に構築した仮想マシン (VM) に
“安全に” SSH やリモート デスクトップ接続するために使います。

Azure の仮想ネットワーク (VNet) に IaaS (VM) を構築するというのは、よくあることです。
構築後は、SSH やリモート デスクトップを使用して VM に接続し、作業をするわけですが…
VNet 内に構築した VM は、外部のネットワークと通信することは基本的にできません。
なので、下記の方法などを使用し、VNet および VM へ接続できるようにする必要があります。

  • 踏み台 VM を用意し、踏み台 VM にパブリック IP アドレスを設定する。
  • VNet とオンプレミスの環境を VPN Gateway で接続する。
  • ExpressRoute を使用する。

とはいえ、パブリック IP アドレスを設定して SSH やリモート デスクトップに必要なポートを公開するのはドキドキしてしまいます。
VPN Gateway と ExpressRoute は、企業の場合、一般的な方法だと思いますが、おそらく個人ではあまり使用しないのではないでしょうか。

そこで、Azure Bastion の登場です。
Azure ポータルでポチポチするだけで、安全に VM に接続できる環境ができあがります!

Azure Bastion って、どうやって構築するの?

さっそく、Azure Bastion を構築していきたいと思います。
この記事では、下図の構成を構築します。
また、赤枠の部分を構築するものとし、それ以外の部分は構築済みという前提とします。
構成.png
構築は下記の手順で行います。

  1. サブネットの構築
  2. Azure Bastion の構築
  3. Network Security Group (NSG) の設定
    ※ NSG の設定は、Azure Bastion の動作に必須ではありませんが、
      より安全に使用するために行っています。

サブネットの構築

Azure Bastion には、専用のサブネットが必要です。
なので、まずはサブネットから作成します。
(Azure Bastion の作成画面で、ついでにサブネットを作成しても OK です。)

  1. Azure ポータルのメニューから すべてのサービス を選択し、検索ボックスに vnet と入力し、検索します。
    すると、仮想ネットワーク というサービスが見つかるので、これをクリックしてください。
    subnet_create_001.png

  2. VNet の一覧に遷移するので、サブネットを追加したい VNet をクリックしてください。
    subnet_create_002.png

  3. VNet のメニューの サブネット をクリックし、表示されたサブネット一覧の上部にある サブネット をクリックしてください。
    subnet_create_003.png

  4. 下図のように入力し、サブネットを作成してください。
    subnet_create_004.png

入力項目 入力値 備考
名前 `AzureBastionSubnet` **Azure Bastion のサブネットは、
必ずこの名前にしないといけません!**
アドレス範囲 【任意のアドレス範囲】 `/27` または
それより大きい範囲を指定してください。
(`/26` など)
  1. サブネットの構築完了です。
    subnet_create_005.png

Azure Bastion の構築

「構築手順 (サブネット)」で構築したサブネットに、Azure Bastion を構築します。

  1. Azure ポータルのメニューから すべてのサービス を選択し、検索ボックスに bastion と入力し、検索します。
    すると、複数の要塞 というサービスが見つかります。
    これが Azure Bastion なので、クリックしてください。
    bastion_create_001.png

  2. Azure Bastion の一覧に遷移するので、追加 をクリックしてください。
    bastion_create_002.png

  3. 下図のように入力し、Azure Bastion を作成してください。
    (このときは、デプロイ開始から完了まで 5 分くらいでした。)
    bastion_create_003.png

入力項目 入力値 備考
プロジェクトの詳細
 サブスクリプション 【任意のサブスクリプション】
 リソース グループ 【任意のリソース グループ】
インスタンスの詳細
 名前 【(Azure Bastion の)
 任意のリソース名】
 地域 【任意のリージョン】 利用可能なリージョン
(2019/12 時点)
 • 米国西部
 • 米国東部
 • 西ヨーロッパ
 • 米国中南部
 • オーストラリア東部
 • **東日本**
仮想ネットワークを構成します
 仮想ネットワーク 【Azure Bastion の
 サブネットを作成した VNet】
 サブネット AzureBastionSubnet
パブリック IP アドレス
 パブリック IP アドレス 新規作成 既存のものを
流用してもいいと思います。
 パブリック IP アドレス名 【任意のリソース名】
  1. Azure Bastion の構築完了です。
    bastion_create_004.png

Network Security Group (NSG) の設定

より安全に Azure Bastion を使用するため、NSG を作成し、サブネットに設定します。

AzureBastion のサブネットの NSG

Azure Bastion のサブネット (AzureBastionSubnet) に NSG を設定します。

  1. Azure ポータルのメニューから すべてのサービス を選択し、検索ボックスに nsg と入力し、検索します。
    すると、ネットワーク セキュリティ グループ というが見つかるので、これをクリックしてください。
    nsg_create_001.png

  2. NSG の一覧に遷移するので、追加 をクリックしてください。
    nsg_create_002.png

  3. 下図のように入力し、NSG を作成してください。
    nsg_create_003.png

入力項目 入力値
プロジェクトの詳細
 サブスクリプション 【任意のサブスクリプション】
 リソース グループ 【任意のリソース グループ】
インスタンスの詳細
 名前 【任意のリソース名】
 地域 【VNet と同じリージョン】
  1. NSG の作成が完了したら、リソースに移動 をクリックしてください。
    nsg_create_004.png

  2. VNet のメニューの 受信セキュリティ規則 をクリックし、表示された受信セキュリティ規則一覧の上部にある 追加 をクリックしてください。
    nsg_create_005.png

  3. 下図のように入力し、受信セキュリティ規則を 3 つ追加してください。
    nsg_i_1001.png
    nsg_i_1002.png
    nsg_i_4096.png

  4. 受信セキュリティ規則が、下図のようになっていれば OK です。
    nsg_i_list.png

    • 1001 : Allow-HTTPS-InBound
      • Internet からの接続を HTTPS (ポート : 443) のみ許可する設定です。
    • 1002 : Allow-GatewayManager-InBound
      • コントロール プレーン (GatewayManager) からの接続を HTTPS (ポート : 443) のみ許可する設定です。
    • 4096 : Deny-All-InBound
      • すべての接続を拒否する設定です。
  5. VNet のメニューの 送信セキュリティ規則 をクリックし、表示された送信セキュリティ規則一覧の上部にある 追加 をクリックしてください。
    nsg_create_008.png

  6. 下図のように入力し、送信セキュリティ規則を 3 つ追加してください。
    nsg_o_1001.png
    nsg_o_1002.png
    nsg_o_4096.png

  7. 送信セキュリティ規則が、下図のようになっていれば OK です。
    nsg_o_list.png

  • 1001 : Allow-SSH-RDP-OutBound
    • VNet 内への接続を SSH (ポート : 22) とリモート デスクトップ (ポート:3389) のみ許可する
      設定です。
  • 1002 : Allow-AzureCloud-OutBound
    • Azure 内のパブリック エンドポイントへの接続を HTTPS (ポート : 443) のみ許可する設定です。
  • 4096 : Deny-All-OutBound
    • すべての接続を拒否する設定です。
  1. VNet のメニューの サブネット をクリックし、表示されたサブネット一覧の上部にある 関連付け をクリックしてください。
    nsg_create_011.png

  2. 下図のように入力し、NSG とサブネットを関連付けしてください。
    nsg_create_012.png

  3. サブネットの関連付けができました。
    nsg_create_013.png

VM のサブネットの NSG

VM のサブネット (IaaS-subnet) に NSG を設定します。

  1. NSG の作成は、同じ手順なので省略します。

  2. 下図のように入力し、受信セキュリティ規則を 2 つ追加してください。

  • ソース IP アドレス/CIDR 範囲 には、Azure Bastion を構築したサブネットの IP アドレス範囲を指定してください。
    nsg_v_i_1001.png
    nsg_v_i_4096.png
  1. 受信セキュリティ規則が、下図のようになっていれば OK です。
    nsg_v_i_list.png

    • 1001 : Allow-HTTPS-InBound
      • Azure Bastion を構築したサブネットからの接続を SSH (ポート : 22) とリモート デスクトップ (ポート:3389) のみ許可する設定です。
    • 4096 : Deny-All-InBound
      • すべての接続を拒否する設定です。
    • ⚠ Azure Bastion を試すのに必要なポートしか開けていないので、他に必要なポートがある場合は、適宜開けてください。
  2. 送信セキュリティ規則の設定は、今回は 面倒なので 省略します。
    ここまでの NSG 設定と同じように、必要最小限な範囲で許可するのがいいと思います。

  3. 下図のように入力し、NSG とサブネットを関連付けしてください。
    nsg_v_005.png

  4. サブネットの関連付けができました。
    nsg_v_006.png

Azure Bastion って、どうやって使うの?

Azure Bastion が構築できたので、使ってみたいと思います。

  1. 接続したい VM の 概要 の上部にある 接続 をクリックしてください。
    use_001.png

  2. 仮想マシンに接続する が表示されたら、要塞 のタブを選択してください。
    VM のログイン情報を入力し、接続 をクリックすると、Azure Bastion 経由で VM に接続されます。
    ⚠ ポップアップ ブロックに注意!
    use_002.png

  3. ログインできました。
    use_003.png

文字列のコピー&ペースト

  1. Azure Bastion でログインすると、画面左側の中央あたりに >> のようなアイコンがあります。
    これ (Clipboard) を使用して、文字列のコピー&ペーストが行えます。
    use_004.png

  2. 画面上のコピーしたい文字列を選択状態にして、>> をクリックすると、選択した文字列が Clipboard に入っています。
    use_copy_001.png
    use_copy_002.png

  3. ペーストしたい文字列を Clipboard に入力して << をクリックして閉じてから、(Linux の場合) 画面上で右クリックすると、Clipboard に入力した文字列がペーストされます。
    use_paste_001.png
    use_paste_002.png

Azure Bastion って、どう安全なの?

『VM 自体でのユーザー制御機能』+『Azure のユーザー・権限制御機能』で、
より安全に SSH 、リモート デスクトップが利用できます!

Azure Bastion による接続は、Azure ポータルを経由する必要があります。
つまり、Azure Active Directory のユーザー管理機能が使用できます。(ユーザーのサインインのブロックなど…)
また、Azure の IAM などのアクセス管理機能も使用できるので、Azure Bastion を利用するだけのユーザーを用意し、そのユーザーにしか Azure Bastion を利用させないといったことも可能です。

Azure Bastion って、高いの?安いの?

『¥ 10.64 (ユニット/時間ごと)』なので、1 ヶ月で『¥ 7,767.20』になります。(2019/12 時点)
上記の金額が基本料金で、これにデータ転送量が追加されます。
Azure の安い VM と同じくらいの金額だと思うので、VM の OS アップデートなどの管理の手間がないことを考えれば、妥当ではないかと思います。

おわりに

外部のネットワークから VM を管理したいと思ったとき、踏み台 VM など、今までの手法の他に Azure Bastion という方法もあるということを、頭の片隅に置いておいていただけると幸いです!

参考情報

45
40
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
45
40

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?