3
3

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 1 year has passed since last update.

Azure環境でHub&Spoke構成のネットワーク構築(1.VNET編)

Last updated at Posted at 2023-05-02

Azure環境にてHub&Spoke構成のネットワークを構築してみたいと思います。環境を構築した上で今後はいろんなAzureサービスを構築してみたいと思います。

参考資料:下記マイクロソフトの公式ドキュメント

<前提条件>

1. Azure アカウントを所有すること
※ Azureは無料アカウントの利用が可能

2. 構築するネットワーク所在のサブスクリプションは作成済みであること
※ Azureのサブスクリプションの作り方

3. サブスクリプションの所有者または共同作成者でログインしていること
※Azure RBAC組込みロールのドメインサービス共同作成者(Domain Services Contributor)もVNETとSubnet作成の権限を持っています。


<環境構成>

■構成図

image.png

■リソースグループ(Resource Group)

HubVNETは共用リソース(Azure Firewall、Bastion、DNS Server等)を配置するVNETとして、1つまたは複数のSpokeVNET(システムごとにSpokeVNETを切り分ける想定)の通信制御、交通整理、ログ収集の役割を果たします。一方で、各システムをSpokeVNET単位で分けます。運用管理上の考慮でHubVNETと各SpokeVNETのリソースはそれぞれ別のリソースグループ(RG)に格納した方がよい※と個人的に考えています。
※システム単位での削除や他のサブスクリプションへの移動の際にRGを丸ごと移動できるところが便利です。

  • HubVNET:poc-hub-resourcegroup
  • SpokeVNET1:poc-spoke01-resourcegroup
  • SpokeVNET2:poc-spoke02-resourcegroup

■VNET & Subnet

- HubVNET:poc-hub-vnet
(IP range: 10.250.0.0/16)

※注意!VPN Gateway、Azure Firewall、Bastionはそれぞれ専用のsubnetが必要で、且つsubnet名は指定となります。実際にそれぞれのリソースを作成する時にもsubnetを作れるが、作っておくのが個人的の流儀です。(subnetの作成と保持は非課金です)

  • → GatewaySubnet(IP range: 10.250.1.0/26)

  • → AzureFirewallSubnet(IP range: 10.250.2.0/26)

  • → AzureBastionSubnet(IP range: 10.250.3.0/26)

  • SpokeVNET1:poc-spoke01-vnet
    (IP range: 10.251.0.0/16)

    • → poc-spokevnet01-subnet01
      (IP range:10.251.0.0/24)
  • SpokeVNET2:poc-spoke02-vnet
    (IP range:10.252.0.0/16)

    • → poc-spokevnet02-subnet01
      (IP range:10.252.0.0/24)

■リソース作成

1.Resource groupの作成

>Step 1: Azure Portalの検索バーで"resource"を検索image.png

...または直近で使用した場合は利用履歴から選択
image.png

>Step 2: Resource group一覧画面の左上の「Create」をクリック!image.png

>Step 3: 必要項目を記入

(Tagsは必要に応じて利用する形だが、今回は割愛します)

[Basics]image.png

[Tags]image.png

>Step 4: 「Review+create」タグで入力値の妥当性チェックが自動的に行われ、問題がなければ"Validation passed."が表示される。「create」をクリックしたらデプロイ開始

[Review + create]image.png

>Step 5: デプロイ完了したら右上の通知でメッセージが表示される。「Go to resource group」をクリックしたら、デプロイしたリソースの「概要」画面に遷移

image.png

image.png

>Step 6: 以上でHubVNETのリソースグループの作成が完了したが、同じ手順でSpokeVNET1とSpokeVNET2のResource groupを作成

image.png



2.HubVNETの作成

>Step 1: 「Virtual networks」の一覧画面を開く(開き方はResource group作成のStep1を参照)

image.png

>Step 2: 一覧画面の左上の「Create」をクリックし、作成画面を開く![image.png]image.png

>Step 3: 必要項目を記入

[Basics]
image.png

[IP Addresses]
IPアドレス空間を入力し、ここで既に決めた3つのSubnetをまとめて作成。
(VNETを作成した後にもsubnetの作成が可能)
image.png

[subnet作成]

1. GatewaySubnet
image.png

2. AzureFirewallSubnet
image.png

3. AzureBastionSubnet
image.png

image.png

[Security]
BastionHost、DDoS Network Protection、Firewallは後で設定として、"Disable"のままでOK
image.png

[Review + create]
image.png

デプロイ中
image.png

デプロイ完了
image.png

>Step 4: 以上でHubVNETの作成が完了したが、同じ手順でSpokeVNET1とSpokeVNET2を作成

※SpokeVNET作成時にそれぞれのResource groupを指定するようにご注意ください
image.png



3.VNET Peeringの設定

本来、VNET Peeringの設定は接続同士ごとに行う必要があるが、今は片方(どちらでも可能)の設定画面でまとめて設定するようになっています。Hub&Spoke構成はすべてのSpokeVNETとHubVNET間をpeeringで接続するが、SpokeVNET同士間はpeeringで接続しません。SpokeVNET間の通信はHubVNETにあるAzure Firewall(サードパーティーのNVAも可)経由で実現します。

個人的には漏れを防ぐためにHubVNETと各SpokeVNETのpeeringは一律HubVNET上で設定するようにします。

>Step 1: 「Virtual networks」→ HubVNET名 → 左側サイドバーのカテゴリ「Settings」→「Peernings」をクリック

image.png

>Step 2: 「Add」をクリックし、HubVNETとSpokeVNET1のpeeringを作成

image.png

>Step 3: 必要項目を記入

image.png

image.png

image.png

>Step 4: 「Add」をクリックしたら、デプロイ開始。デプロイは成功したら、2通のメッセージが表示される。

※HubVNET→SpokeVNET1のpeeringとSpokeVNET1→HubVNETのpeeringは別々のデプロイとして実行したため
image.png

>Step 5: HubVNETのpeerings画面で「hubvnet-to-spokevnet01-peering」(HubVNET→SpokeVNET1のpeering)の存在を確認

正常な場合に「Peering status」は"Connected"になっている。
※デプロイ直後に"Updating"になっていることがあるが、「Refresh」をクリックしてstatusを更新してください
image.png

>Step 6: SpokeVNET1のpeerings画面で「spokevnet01-to-hubvnet-peering」(SpokeVNET1→HubVNETのpeering)の存在を確認

image.png

>Step 7: 以上でHubVNETとSpokeVNET1のpeering設定は完了したが、同じ手順でHubVNETとSpokeVNET2のpeeringを設定。設定後にHubVNETのpeerings画面でHubVNETと2つのSpokeVNETのpeeringリンクが存在することを確認

image.png



まとめ

ここまで下記Hub&Spoke構成のネットワークを構築しましたが、作業ミスや漏れを避けるためには事前に必要な情報(IPアドレスやリソースの名称等)を決め、正確かつ詳細なネットワーク構成図を作成することをお勧めします。
image.png

では、次回以降にHubVNET内の共用リソースであるAzure Firewall、Bastion、VPN Gatewayを順次に構築していきたいと思います。

ありがとうございました。

3
3
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
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?