メインコンテンツまでスキップ

ネットワーク構成図

infra-cli が作成する Azure インフラのネットワーク構成について説明します。

📊 ネットワーク構成図

🏗️ ネットワーク構成の詳細

Virtual Network (VNet)

リージョンCIDR総アドレス数
Japan East10.0.0.0/1665,536
US East10.1.0.0/1665,536

サブネット構成

サブネット名CIDRアドレス数用途
Container App Subnet10.0.0.0/1816,384Container Apps Environment(500 企業対応)
Database Subnet10.0.64.0/198,192MySQL Flexible Server、Redis Cache
Shared Services Subnet10.0.96.0/198,192ACR、Key Vault、Log Analytics
Bastion Subnet10.0.128.0/2664Azure Bastion(管理用)
Jumpbox Subnet10.0.128.64/2664Jumpbox VM(管理用)
予約領域10.0.128.128/1732,704将来拡張用

Network Security Group (NSG) ルール

Container App NSG

優先度方向ポートソース目的
100Inbound80InternetHTTP アクセス許可
101Inbound443InternetHTTPS アクセス許可
102Inbound*Container App Subnet内部通信許可
103Outbound443ACRイメージプル
104Outbound443Key Vaultシークレット取得

Database NSG

優先度方向ポートソース目的
100Inbound3306Container App SubnetMySQL アクセス
101Inbound6379Container App SubnetRedis アクセス
102Inbound3306Jumpbox Subnet管理アクセス

🔒 セキュリティ設計

  • インターネット公開: Frontend Container App は HTTPS(443)でアクセス可能、Backend Container App は内部 Ingress のみ
  • 内部通信: Container Apps → Database は VNet 内部通信(暗号化)、ACR と Key Vault は Managed Identity による認証
  • 管理アクセス: Azure Bastion 経由で Jumpbox VM にアクセス、Jumpbox VM から Database の管理操作を実行、パブリック IP は不要

🔄 トラフィックフロー

  • ユーザーアクセス: ユーザー → Internet → Frontend Container App (HTTPS:443) → Backend Container App (内部HTTPS) → MySQL Database (3306) / Redis (6379)
  • CI/CD デプロイ: GitHub Actions → Container Registry (Push Image) → Container Apps (Pull Image)
  • ログと監視: すべてのリソース → Log Analytics Workspace → Azure Monitor / Application Insights

🚀 スケーラビリティ

  • マルチテナント対応: Container App Subnet は 16,384 アドレス(500 企業 × 約 30 アドレス)、Database Subnet は 8,192 アドレス(500 企業 × 約 15 アドレス)、将来拡張用に 32,704 アドレスの予約領域
  • リージョン展開: Japan East (10.0.0.0/16)、US East (10.1.0.0/16)、各リージョンで独立した VNet 構成

📚 関連ドキュメント