グループ設計と管理(グループ予約 CIDR & IPAM 競合自動再採番)
グループ(Groups) は、AegisMesh におけるアクセス制御(ACL)、社内 UTM Web フィルタリング、および IP アドレス管理(IPAM)の基本単位です。
AegisMesh では、NetBird 本家の単なるタグ機能を超え、「グループ別専用 IP サブネットプール(Group Dedicated CIDR)」 および 「予約 CIDR の一般プール完全隔離 & 競合ピア自動再採番(Auto-Reallocation)」 を独自開発・搭載しています。
これにより、部署ごとの IP アドレス帯を完全分離し、既存の社内 UTM(Sophos XGS / FortiGate 等)の IP レンジ別 Web フィルタリングやログ監査を 100% そのまま適用できます。
1. グループ設計の推奨パターン(エンタープライズ基本構成)
エンタープライズ環境では、以下の2軸でグループを設計・階層化することを推奨します。
flowchart TD
subgraph Users["部署・ユーザー軸 (Actor Groups)"]
G_Sales["営業部 (sales)<br>Dedicated CIDR: 100.77.10.0/24"]
G_Dev["開発部 (dev-team)<br>Dedicated CIDR: 100.77.20.0/24"]
G_Corp["社給PC (corporate-machines)<br>Dedicated CIDR: 100.77.90.0/24"]
end
subgraph ACL["ゼロトラスト・アクセスポリシー"]
P_Dev["開発部専用ポリシー<br>(GitHub, AWS, 本番DB 443/5432)"]
P_Sales["営業部専用ポリシー<br>(Salesforce, 社内ポータル 443)"]
P_Mach["マシントンネルポリシー<br>(社内 AD/DNS 88/389/53 のみ)"]
end
subgraph Resources["リソース・宛先軸 (Target Groups)"]
T_DB["本番DBサーバー群 (prod-db)"]
T_Intra["社内イントラWeb (portal)"]
T_DC["ドメインコントローラー (ad-dc)"]
T_UTM["社内専用 UTM (Sophos XGS / RAW IP Exit Node)"]
end
G_Dev --> P_Dev --> T_DB
G_Dev --> P_Dev --> T_UTM
G_Sales --> P_Sales --> T_Intra
G_Sales --> P_Sales --> T_UTM
G_Corp --> P_Mach --> T_DC
- 部署・役割軸(Actor Groups):
corporate-machines: PC 起動直後のマシントンネル用(ドメイン認証のみ許可)。sales: 営業部(外出先から社内 CRM および UTM 経由での Web 閲覧)。dev-team: 開発部・SRE(本番 DB や Kubernetes へのアクセスを許可)。
- リソース・サービス軸(Target Groups):
prod-db: 本番データベースクラスタ。ad-domain-controllers: Active Directory ドメインコントローラー。utm-exit-nodes: 社内 UTM 直結 RAW IP イグジットノード。
2. ★ グループ別専用 IP サブネットプール (Group Dedicated CIDR)
AegisMesh では、グループごとにオーバーレイ仮想 IP アドレス帯(CIDR)を指定できます。
flowchart LR
subgraph Pool["テナント全体アドレス空間 (100.77.0.0/16)"]
Reserved1["営業部 予約 CIDR<br>100.77.10.0/24 (254台)"]
Reserved2["開発部 予約 CIDR<br>100.77.20.0/24 (254台)"]
General["一般デフォルトプール<br>(予約帯を自動除外した残余帯域)"]
end
SalesPC["営業部端末 (Alice)"] -->|Primary Group で採番| Reserved1
DevPC["開発部端末 (Bob)"] -->|Primary Group で採番| Reserved2
GuestPC["一般・未分類端末"] --> General
独自機能の優位点
- 予約 CIDR の一般プール完全隔離:
グループに割り当てられたサブネット(例:
100.77.10.0/24)は、テナント全体の一般採番プールから自動的に完全除外・保護されます。所属していない一般端末や一時ゲスト端末に営業部や開発部の IP が誤って採番される事故を 100% 防止します。 - 競合ピアの自動再採番(Auto-Reallocation): 後から運用中に新しいグループ CIDR を設定した場合でも、既存ピアの中に該当レンジと重複する IP が存在すれば、システムがそれを検知して**無停止で別の空き IP へ自動的に再採番(リロケーション)**します。
- UTM Web フィルタリングとの連動:
社内 UTM(Sophos / FortiGate)側で「
100.77.20.0/24(開発部)は GitHub / Docker Hub / AWS を許可」「100.77.10.0/24(営業部)は業務ポータルのみ許可」といった 部署別 IP ポリシーがそのまま適用可能 になります。
3. 設定手順: グループ専用 CIDR の設定
- 管理コンソール(
https://app.aegismesh.kusa-cloud.com)を開きます。 - 左メニューから 「Networks & Peers」>「Groups」 を開きます。
- 新規作成(「+ Add Group」)または既存グループの編集をクリックします。
- 設定モーダルにて、以下の項目を入力して保存します。
設定項目マトリクス表
| 項目名 | 設定例 | 必須 | 説明と設計ガイドライン |
|---|---|---|---|
| Group Name | dev-team | 必須 | グループの識別名(英数字・ハイフン推奨)。 |
| IP Range (IPv4 CIDR) | 100.77.20.0/24 | 任意 | [独自機能] このグループ専用の IPv4 アドレス帯。テナント親ネットワーク(例: 100.77.0.0/16)内のサブネットを指定します。 |
| IP Range (IPv6 Prefix) | fd00:100:77:20::/64 | 任意 | このグループ専用の IPv6 アドレス帯(IPv6 利用時)。 |
| Description | 開発部・SREメンバー専用アドレス帯 | 任意 | 管理用メモ。 |
4. 複数グループ所属時の採番優先順位(Priority Matrix)
社員端末が複数のグループ(例: All, corporate-machines, dev-team)に所属している場合、以下の厳格な優先順位アルゴリズム(management/server/peer.go)に基づいて IP が採番されます。
| 優先度 | 判定基準 | 採番される IP レンジ | 適用されるシーン |
|---|---|---|---|
| 第1位(最優先) | ユーザーの「Primary Group」 | ユーザーに設定された主所属部署の専用 CIDR(例: 100.77.20.0/24) | 社員が PC から SSO ログイン(Tier 2 昇格)した瞬間 |
| 第2位 | 最小プレフィックス長(最詳細サブネット) | 所属グループの中で最もサブネットマスクが細かい CIDR(例: /24 > /20 > /16) | マシントンネル時、または Primary Group 未設定の一般ユーザー端末 |
| 第3位 | テナント一般プール | 予約済み CIDR をすべて除外した残りの全体ネットワーク範囲 | どのグループにも専用 CIDR が設定されていない端末 |
5. 注意: デフォルトグループ All の取り扱い
AegisMesh の全アカウントには、初期状態で All グループが存在します。
- 初期状態では全端末が
Allに入るため、PoC・検証時は即座に疎通確認が可能です。 - 本番運用への移行時: マシントンネル稼働中は
Allグループが動的マスクされるため、ドメインコントローラーや業務システム宛てのポリシーはAllではなく、明示的な個別グループ(corporate-machines,dev-team等)に対して作成してください。