> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuration du réseau privé BYOC sur Azure

> Configurer le peering VNet ou Private Link pour BYOC sur Azure

export const Image = ({img, alt, size = "lg"}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} />
      </Frame>
    </div>;
};

ClickHouse BYOC on Azure prend en charge deux options de connexion privée : le [peering de réseau virtuel Azure](https://learn.microsoft.com/azure/virtual-network/virtual-network-peering-overview) et [Azure Private Link](https://learn.microsoft.com/azure/private-link/private-link-overview). Ces deux options maintiennent le trafic sur le réseau fédérateur Azure afin qu'il ne transite jamais par Internet public.

<div id="common-prerequisites">
  ## Prérequis
</div>

Étapes communes requises pour le peering de VNet et Private Link.

<div id="step-enable-private-load-balancer-for-clickhouse-byoc">
  ### Activer le répartiteur de charge privé pour ClickHouse BYOC
</div>

Dans la console ClickHouse Cloud, activez le **répartiteur de charge privé** pour votre infrastructure BYOC. Les deux options de connexion passent par ce répartiteur de charge interne, et aucune ne fonctionne tant qu’il n’est pas activé.

<Image img="https://mintcdn.com/private-7c7dfe99/opz1Ra3A0XYGQQzH/images/cloud/reference/byoc-private-load-balancer-azure.webp?fit=max&auto=format&n=opz1Ra3A0XYGQQzH&q=85&s=c04fb293d7b6d74dec045371674c30a3" size="md" alt="BYOC – Activer le répartiteur de charge privé" border width="1435" height="1096" data-path="images/cloud/reference/byoc-private-load-balancer-azure.webp" />

Notez le **Spoken name** de l’infrastructure. ClickHouse déploie votre infrastructure BYOC dans votre propre abonnement Azure, dans un groupe de ressources géré nommé `clickhouse-cloud-<spoken-name>-default`. C’est dans ce groupe de ressources que vous trouverez le VNet BYOC aux étapes ci-dessous.

<div id="azure-vnet-peering">
  ## Configurer le peering de VNet
</div>

Familiarisez-vous avec le [peering de réseaux virtuels Azure](https://learn.microsoft.com/azure/virtual-network/virtual-network-peering-overview) et ses [exigences et contraintes](https://learn.microsoft.com/azure/virtual-network/virtual-network-manage-peering#requirements-and-constraints) avant de commencer. ClickHouse BYOC utilise un répartiteur de charge privé pour permettre la connectivité réseau avec les services ClickHouse via le peering.

<Note>
  Les étapes données en exemple correspondent à un scénario simple : l’un de vos VNets est directement appairé au VNet BYOC. Pour les scénarios avancés, tels que les topologies en étoile ou la connectivité sur site, certains ajustements sont nécessaires — consultez les [Limitations](#vnet-peering-limitations).
</Note>

<div id="vnet-peering-prerequisites">
  ### Prérequis supplémentaires pour le peering
</div>

**Espaces d’adressage non chevauchants.** Les réseaux virtuels appairés ne peuvent pas avoir de plages d’adresses IP qui se chevauchent. Comparez l’espace d’adressage de votre VNet à celui du VNet BYOC, indiqué sur la page **Overview** du portail Azure. En cas de chevauchement, utilisez plutôt Private Link.

**Autorisations.** La création d’un peering requiert les autorisations `Microsoft.Network/virtualNetworks/virtualNetworkPeerings/write` et `Microsoft.Network/virtualNetworks/peer/action` sur *les deux* réseaux virtuels. Le rôle intégré **Network Contributor** les inclut. Consultez les [autorisations de peering de réseau virtuel](https://learn.microsoft.com/azure/virtual-network/virtual-network-manage-peering#permissions).

<Steps>
  <Step title="Créer le peering depuis le réseau virtuel BYOC" id="step-1-create-peering-from-byoc-vnet">
    1. Connectez-vous au [portail Azure](https://portal.azure.com) et basculez vers l’**abonnement BYOC**.
    2. Recherchez **Réseaux virtuels** et sélectionnez le VNet BYOC, situé dans le groupe de ressources `clickhouse-cloud-<spoken-name>-default`.
    3. Sous **Paramètres**, sélectionnez **Peerings**, puis **+ Ajouter**.

    <Image img="https://mintcdn.com/private-7c7dfe99/q1j8AEITpaXZR_oV/images/cloud/reference/byoc-vnetpeering-azure-1.webp?fit=max&auto=format&n=q1j8AEITpaXZR_oV&q=85&s=9f60b83a7702af6f2e978eac6caf729e" size="lg" alt="BYOC Créer un peering de VNet" border width="3126" height="1556" data-path="images/cloud/reference/byoc-vnetpeering-azure-1.webp" />

    4. Renseignez les deux côtés du peering :

    <Image img="https://mintcdn.com/private-7c7dfe99/q1j8AEITpaXZR_oV/images/cloud/reference/byoc-vnetpeering-azure-2.webp?fit=max&auto=format&n=q1j8AEITpaXZR_oV&q=85&s=bfa7f148087df37b85d30a53896b7984" size="md" alt="BYOC Configurer un peering de VNet" border width="1326" height="1965" data-path="images/cloud/reference/byoc-vnetpeering-azure-2.webp" />

    5. Cliquez sur **Ajouter**.
  </Step>

  <Step title="Créer le peering inverse s’il n’a pas été créé automatiquement" id="step-2-create-reverse-peering">
    Le peering Azure se compose de deux côtés, un dans chaque direction, et le trafic ne circule que lorsque les deux existent. Si le portail a créé les deux côtés à l’étape précédente, ignorez cette étape.

    Si vous avez créé uniquement le côté BYOC — parce que votre VNet se trouve dans un autre abonnement ou tenant — son état est **Initiated**. Créez le côté correspondant depuis votre propre VNet :

    1. Basculez vers l’abonnement auquel appartient votre VNet et connectez-vous avec un compte disposant du rôle **Network Contributor** sur celui-ci.
    2. Sélectionnez votre VNet, puis **Peerings** → **+ Ajouter**.
    3. Sélectionnez **Je connais mon ID de ressource**, collez l’**ID de ressource du VNet BYOC**, puis choisissez l’**Annuaire** auquel appartient l’abonnement BYOC. Sélectionnez **Authentifier** si vous y êtes invité.
    4. Sélectionnez **Ajouter**.
  </Step>

  <Step title="Vérifier que les deux côtés sont connectés" id="step-3-verify-peering">
    Ouvrez **Peerings** sur l’un ou l’autre réseau virtuel. L’**état du peering** doit afficher **Connected** des deux côtés. Un côté qui reste à l’état **Initiated** signifie que son homologue est manquant ; un côté affichant **Disconnected** signifie que son homologue a été supprimé.

    Aucune modification de table de routage n’est nécessaire. Azure installe automatiquement des routes système pour l’espace d’adressage appairé des deux côtés. Vous pouvez le vérifier sur n’importe quelle interface réseau de votre VNet, sous **Itinéraires effectifs**, où l’espace d’adressage BYOC apparaît avec **Peering de VNet** comme type de tronçon suivant.

    <Image img="https://mintcdn.com/private-7c7dfe99/q1j8AEITpaXZR_oV/images/cloud/reference/byoc-vnetpeering-azure-3.webp?fit=max&auto=format&n=q1j8AEITpaXZR_oV&q=85&s=2c88e1adaa1a9f5edcfa345da952a467" size="lg" alt="BYOC Vérifier le peering de VNet" border width="2165" height="1505" data-path="images/cloud/reference/byoc-vnetpeering-azure-3.webp" />
  </Step>

  <Step title="Autoriser l’accès du VNet appairé via le groupe de sécurité réseau" id="step-4-allow-address-space-through-nsg">
    Les sous-réseaux BYOC sont protégés par un [groupe de sécurité réseau](https://learn.microsoft.com/azure/virtual-network/network-security-groups-overview) géré par ClickHouse, qui bloque par défaut le trafic interne au VNet. Étant donné que le [tag de service `VirtualNetwork`](https://learn.microsoft.com/azure/virtual-network/service-tags-overview#available-service-tags) couvre l’espace d’adressage des VNets appairés, le trafic arrivant via le peering est bloqué jusqu’à l’ajout d’une règle entrante l’autorisant.

    Contactez ClickHouse Support pour demander l’ajout de règles entrantes incluant les plages CIDR de votre VNet appairé. Sans cette étape, le peering affiche l’état **Connected**, mais les connexions expirent.
  </Step>

  <Step title="Accéder au service ClickHouse via le peering" id="step-5-access-ch-service-via-peering">
    Pour accéder à ClickHouse de façon privée, un répartiteur de charge privé et un endpoint sont provisionnés afin de fournir une connectivité sécurisée depuis votre VNet appairé. L’endpoint privé reprend le format de l’endpoint public, avec le suffixe `-private`. Par exemple :

    * **Endpoint public** : `h5ju65kv87.mhp0y4dmph.westus3.azure.clickhouse-byoc.com`
    * **Endpoint privé** : `h5ju65kv87-private.mhp0y4dmph.westus3.azure.clickhouse-byoc.com`
  </Step>
</Steps>

<div id="vnet-peering-limitations">
  ### Limitations
</div>

**Le peering n'est pas transitif.** Seul le VNet directement appairé au VNet BYOC peut accéder à vos services. Les clients d'un VNet spoke derrière un hub, ou les clients on-premise qui arrivent via ExpressRoute ou une passerelle VPN, ne sont pas couverts par un seul peering. Ces topologies nécessitent une configuration supplémentaire, notamment **Autoriser le trafic transféré** et le transit de passerelle — consultez [les passerelles et la connectivité on-premise](https://learn.microsoft.com/azure/virtual-network/virtual-network-peering-overview#gateways-and-on-premises-connectivity) — ou utilisez plutôt Private Link.

**Le peering interrégional fonctionne, mais coûte plus cher.** Un peering entre des VNets situés dans différentes régions est un peering global. Il permet d'accéder normalement à ClickHouse — le répartiteur de charge privé BYOC est un load balancer interne Standard SKU, et la restriction d'Azure concernant l'accès aux frontends des load balancers via un peering global ne s'applique qu'aux load balancers Basic SKU. En revanche, vous payez une latence aller-retour supplémentaire et des [frais de transfert de données interrégional](https://azure.microsoft.com/pricing/details/virtual-network). Préférez un peering dans la même région pour les workloads sensibles à la latence. Si un peering interrégional affiche **Connected**, mais que les connexions échouent toujours, la région n'est pas en cause — la raison la plus fréquente est l'absence de règle entrante de groupe de sécurité réseau pour votre espace d’adressage ; contactez donc ClickHouse Support.

**Les modifications de l’espace d’adressage nécessitent une resynchronisation.** Si vous redimensionnez l’espace d’adressage de votre VNet après la création du peering, [synchronisez le peering](https://learn.microsoft.com/azure/virtual-network/update-virtual-network-peering-address-space) afin que les nouvelles plages soient annoncées, puis contactez ClickHouse Support pour étendre la règle entrante de groupe de sécurité réseau afin de les couvrir.

**Le trafic de peering est facturé.** Azure facture l'ingress et l'egress via un peering. Consultez la [tarification des réseaux virtuels](https://azure.microsoft.com/pricing/details/virtual-network).

<div id="delete-vnet-peering">
  ### Supprimer le peering
</div>

Supprimez le peering de l’un ou l’autre côté. La suppression d’une moitié rompt la connexion et laisse l’autre à l’état **Disconnected** ; supprimez donc les deux moitiés pour tout nettoyer. Consultez [supprimer un peering](https://learn.microsoft.com/azure/virtual-network/virtual-network-manage-peering#delete-a-peering).

<div id="setup-privatelink">
  ## Configurer Azure Private Link
</div>

Azure Private Link fournit une connexion sécurisée et privée à vos services ClickHouse BYOC. L’ensemble du trafic circule au sein du réseau Azure, ce qui garantit qu’il ne transite jamais par l’Internet public.

<Steps>
  <Step title="Activez Private Link dans la console ClickHouse" id="step-1-enable-private-link">
    <Note>
      Assurez-vous que le **private load balancer** est activé au préalable.
    </Note>

    <Image img="https://mintcdn.com/private-7c7dfe99/_Wm1iA2BOg7clsCl/images/cloud/reference/byoc-privatelink.webp?fit=max&auto=format&n=_Wm1iA2BOg7clsCl&q=85&s=d3a063f250ac548a25ab7e323ea24cd9" size="md" alt="Activer PrivateLink BYOC" border width="2800" height="1848" data-path="images/cloud/reference/byoc-privatelink.webp" />
  </Step>

  <Step title={<>Obtenir le <code>Service name</code> de l’endpoint</>} id="step-2-obtain-endpoint-service-name">
    1. Dans la console ClickHouse Cloud, accédez à la page Settings du service auquel vous souhaitez vous connecter via Private Link.
    2. Cliquez sur « Set up private endpoint ».
    3. Dans le flyout qui s’ouvre, copiez les valeurs `Service name` (l’alias du service Private Link) et `DNS name` ; vous les utiliserez dans les étapes suivantes. (La génération des valeurs peut prendre un certain temps après l’activation de Private Link.)
           <Image img="https://mintcdn.com/private-7c7dfe99/5su3gw1SIJE0qay9/images/cloud/security/azure-privatelink-pe-create.webp?fit=max&auto=format&n=5su3gw1SIJE0qay9&q=85&s=f650cb45d35bda7e72386027c94a2133" size="md" alt="Points de terminaison privés" border width="1898" height="918" data-path="images/cloud/security/azure-privatelink-pe-create.webp" />
  </Step>

  <Step title="Créez un Private Endpoint dans votre réseau" id="step-3-create-endpoint">
    1. Ouvrez votre **propre Azure Portal** (c.-à-d. l’abonnement Azure dans lequel se trouve votre application cliente) → **Network Foundation** → **Private endpoints** → **Create**.
    2. Dans l’onglet **Basics**, choisissez l’abonnement, le groupe de ressources, le nom et la région du point de terminaison privé. La région doit être celle du VNet à partir duquel votre application cliente se connecte.
           <Image img="https://mintcdn.com/private-7c7dfe99/5su3gw1SIJE0qay9/images/cloud/security/azure-pe-create-basic.webp?fit=max&auto=format&n=5su3gw1SIJE0qay9&q=85&s=fab48a5216c31538c13758e70fb669b4" size="md" alt="Créer les paramètres de base du point de terminaison privé" border width="784" height="923" data-path="images/cloud/security/azure-pe-create-basic.webp" />
    3. Dans l’onglet **Resource**, sélectionnez **Connect to an Azure resource by resource ID or alias** et saisissez le `Service name` obtenu à l’étape précédente.
           <Image img="https://mintcdn.com/private-7c7dfe99/5su3gw1SIJE0qay9/images/cloud/security/azure-pe-resource.webp?fit=max&auto=format&n=5su3gw1SIJE0qay9&q=85&s=910da72d9890bb9e6acf0d318951444c" size="md" alt="Sélection de la ressource du point de terminaison privé" border width="1122" height="911" data-path="images/cloud/security/azure-pe-resource.webp" />
    4. Dans l’onglet **Virtual Network**, choisissez le réseau virtuel et le sous-réseau dans lesquels le point de terminaison privé sera créé. Vous pouvez également associer un groupe de sécurité d’application afin de filtrer le trafic vers le point de terminaison privé.
           <Image img="https://mintcdn.com/private-7c7dfe99/5su3gw1SIJE0qay9/images/cloud/security/azure-pe-create-vnet.webp?fit=max&auto=format&n=5su3gw1SIJE0qay9&q=85&s=2a27bbea4d16466ae9e946863ceca6bc" size="md" alt="Sélection du réseau virtuel du point de terminaison privé" border width="1056" height="917" data-path="images/cloud/security/azure-pe-create-vnet.webp" />
    5. Continuez dans les onglets restants, puis cliquez sur **Create**. Le **Connection status** du point de terminaison privé créé restera à l’état **Pending** jusqu’à ce que vous ajoutiez son `Resource ID` à la liste d’autorisation du service ClickHouse lors des étapes suivantes.
    6. Ouvrez l’interface réseau associée au point de terminaison privé et copiez l’**adresse IPv4 privée** — vous l’utiliserez lors de l’étape de configuration DNS.
           <Image img="https://mintcdn.com/private-7c7dfe99/5su3gw1SIJE0qay9/images/cloud/security/azure-pe-ip.webp?fit=max&auto=format&n=5su3gw1SIJE0qay9&q=85&s=e5ee6a31ba1f1f43cbe12b16377ea35a" size="lg" alt="Adresse IP du point de terminaison privé" border width="1155" height="621" data-path="images/cloud/security/azure-pe-ip.webp" />
  </Step>

  <Step title={<>Ajoutez le <code>Resource ID</code> du Private Endpoint à la liste d’autorisation du service ClickHouse</>} id="step-4-add-endpoint-id-to-services-allow-list">
    Pour obtenir le Resource ID du private endpoint, ouvrez le private endpoint créé précédemment dans l’Azure Portal, cliquez sur **JSON View**, puis copiez le champ `id` de premier niveau (le **Resource ID** affiché en haut de la vue, au format `/subscriptions/.../providers/Microsoft.Network/privateEndpoints/<name>`). N’utilisez pas les champs `id` imbriqués dans l’objet `properties` :

    <Image img="https://mintcdn.com/private-7c7dfe99/5su3gw1SIJE0qay9/images/cloud/security/azure-pe-resource-id.webp?fit=max&auto=format&n=5su3gw1SIJE0qay9&q=85&s=e90839650dd0f482b0f92c44f982e968" size="lg" alt="ID de ressource du Private Endpoint" border width="1704" height="1824" data-path="images/cloud/security/azure-pe-resource-id.webp" />

    1. Dans la ClickHouse Cloud console, accédez à la page Settings du service auquel vous souhaitez vous connecter via Private Link.
    2. Cliquez sur « Set up private endpoint ».
    3. Dans le flyout qui s’ouvre, saisissez le `Resource ID` obtenu ci-dessus dans le champ `Endpoint ID`, ainsi qu’une description facultative.
    4. Cliquez sur « Create endpoint ».

    <Note>
      Pour autoriser l’accès depuis une connexion Private Link existante, utilisez le menu déroulant des endpoints existants.
      Ce menu affiche les connexions Private Link existantes aux services de la même infrastructure.
    </Note>

    <Image img="https://mintcdn.com/private-7c7dfe99/5su3gw1SIJE0qay9/images/cloud/security/azure-privatelink-pe-filter.webp?fit=max&auto=format&n=5su3gw1SIJE0qay9&q=85&s=6d63219782a1c14f2196d4fdaeebad56" size="md" alt="Filtre des Private Endpoints" border width="1898" height="918" data-path="images/cloud/security/azure-privatelink-pe-filter.webp" />

    <Note>
      Aucune approbation manuelle dans l’Azure Portal n’est requise : une fois le `Resource ID` ajouté à la liste d’autorisation, la connexion de l’endpoint est automatiquement approuvée et son `LinkID` est automatiquement ajouté à l’Istio `AuthorizationPolicy` du ClickHouse service. Le **Connection status** du private endpoint dans votre abonnement passe à **Approved**.
    </Note>
  </Step>

  <Step title="Définir le nom DNS privé de l’endpoint" id="step-5-set-private-dns-name-for-endpoint">
    <Note>
      Il existe différentes façons de configurer le DNS. Configurez-le selon votre cas d’utilisation.
    </Note>

    Vous devez faire pointer tous les sous-domaines (caractère générique) du "nom DNS" (tout ce qui suit l’ID de service, par exemple `privatelink.mhp0y4dmph.westus3.azure.clickhouse-byoc.com`) vers l’adresse IP du point de terminaison privé. Ainsi, les services/composants de votre VNet pourront le résoudre correctement. Voici une configuration type avec Azure Private DNS :

    1. [Créez une zone DNS privée](https://learn.microsoft.com/en-us/azure/dns/private-dns-getstarted-portal) portant le "nom DNS" sans l’ID de service initial, par exemple `privatelink.mhp0y4dmph.westus3.azure.clickhouse-byoc.com`.
    2. Dans la zone, créez un jeu d’enregistrements générique : pour le **Nom**, utilisez `*` et, pour l’**Adresse IP**, saisissez l’adresse IP du point de terminaison privé copiée précédemment.
    3. [Liez la zone DNS privée à votre réseau virtuel](https://learn.microsoft.com/en-us/azure/dns/private-dns-getstarted-portal#link-the-virtual-network) afin que les clients du VNet puissent résoudre la zone.

    Vérifiez la configuration DNS depuis un hôte situé dans votre VNet : le "nom DNS" doit être résolu en adresse IP du point de terminaison privé :

    ```bash theme={null}
    nslookup h5ju65kv87.privatelink.mhp0y4dmph.westus3.azure.clickhouse-byoc.com
    ```
  </Step>

  <Step title="Accéder à une instance via Private Link" id="step-6-connect-via-privatelink">
    1. Dans la console ClickHouse Cloud, accédez à la page Settings du service.
    2. Cliquez sur "Set up private endpoint".
    3. Dans le flyout qui s’ouvre, copiez le `DNS name`.
           <Image img="https://mintcdn.com/private-7c7dfe99/5su3gw1SIJE0qay9/images/cloud/security/azure-privatelink-pe-dns.webp?fit=max&auto=format&n=5su3gw1SIJE0qay9&q=85&s=119bbe26574ec0e4561292ab179ff327" size="md" alt="Nom DNS du Private Endpoint" border width="1898" height="918" data-path="images/cloud/security/azure-privatelink-pe-dns.webp" />
           <Note>
             L’accès aux services ClickHouse via Private Link est contrôlé par l’**Istio Authorization Policy** au niveau du service, gérée par ClickHouse au sein de votre infrastructure BYOC.
           </Note>
  </Step>
</Steps>
