Skip to content

[M10-5] Configurer Private Endpoints (Production) #57

@bensellamwalid

Description

@bensellamwalid

Objectif

Configurer des Private Endpoints pour isoler les services Azure du réseau public.

À implémenter lors du passage en production - Non recommandé pour le POC actuel.


État actuel

Service Accès réseau Authentification
AI Search (srch-6gija77qmvkek) 🌐 Public ✅ Managed Identity
AI Foundry (aif-6gija77qmvkek) 🌐 Public ✅ Managed Identity
Container Apps (ca-it-docs-backend) 🌐 Public ✅ Managed Identity
Key Vault (kv-itdocs-walid) 🌐 Public ✅ Managed Identity
ACR (vdgitdocsacr) 🌐 Public ✅ Managed Identity

Tous les services sont accessibles via Internet public, mais l'authentification est déjà sécurisée via Managed Identity.


Analyse des coûts

Coûts actuels du POC

Service Coût /mois
Azure Cognitive Search (Basic) ~CA$24
Foundry Models (OpenAI) ~CA$1
Storage, Key Vault, etc. <CA$1
Total POC ~CA$25/mois (~18 USD)

Coûts additionnels avec Private Endpoints

Composant Coût estimé
Private Endpoint (x3-4) ~10 USD/mois chacun
DNS privé (zones) ~0.50 USD/mois/zone
Container Apps avec VNet ~90 USD/mois (workload profile requis)
Total supplémentaire ~130-150 USD/mois

Impact

Scénario Coût mensuel
POC actuel ~20 USD
POC + Private Endpoints ~150-170 USD
Multiplicateur x7-8

Pourquoi reporter en production ?

Sécurité déjà en place ✅

ROI pour le POC

Le coût supplémentaire (~130$/mois) n'est pas justifié pour un environnement de test/développement où les données ne sont pas sensibles.


Alternatives gratuites (si nécessaire)

1. Firewall IP (GRATUIT)

Restreindre l'accès aux IPs autorisées :

# Restreindre AI Search
az search service update --name srch-6gija77qmvkek \
  --resource-group VDGtestIA_Walid \
  --ip-rules "votre-ip-bureau"

⚠️ Limite : Container Apps utilise des IPs dynamiques.

2. Service Endpoints (nécessite VNet)

Route le trafic via le backbone Azure, mais nécessite Container Apps avec VNet integration (~90$/mois).


Plan d'implémentation (Production)

Prérequis

  1. Budget approuvé (~150$/mois supplémentaires)
  2. VNet configuré avec sous-réseaux dédiés
  3. DNS privé configuré

Étapes

  1. Créer un VNet avec sous-réseaux pour chaque service
  2. Migrer Container Apps vers un environment avec VNet integration
  3. Créer les Private Endpoints :
    • AI Search
    • AI Foundry (Cognitive Services)
    • Key Vault
    • Storage Account
  4. Configurer les zones DNS privées
  5. Désactiver l'accès public sur chaque service
  6. Valider que l'application fonctionne toujours

Commandes (référence)

# Créer VNet
az network vnet create --name vnet-itdocs --resource-group VDGtestIA_Walid \
  --address-prefix 10.0.0.0/16 --subnet-name snet-endpoints --subnet-prefix 10.0.1.0/24

# Créer Private Endpoint pour AI Search
az network private-endpoint create \
  --name pe-search \
  --resource-group VDGtestIA_Walid \
  --vnet-name vnet-itdocs \
  --subnet snet-endpoints \
  --private-connection-resource-id $(az search service show --name srch-6gija77qmvkek -g VDGtestIA_Walid --query id -o tsv) \
  --group-id searchService \
  --connection-name search-connection

# Créer zone DNS privée
az network private-dns zone create --resource-group VDGtestIA_Walid \
  --name privatelink.search.windows.net

# Lier zone DNS au VNet
az network private-dns link vnet create --resource-group VDGtestIA_Walid \
  --zone-name privatelink.search.windows.net \
  --name search-dns-link \
  --virtual-network vnet-itdocs \
  --registration-enabled false

Décision

Environnement Recommandation Statut
POC/Test ❌ Ne pas implémenter Actuel
Production ✅ Implémenter À planifier

Références

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions