> ## 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.

# إعداد الشبكات الخاصة لـ BYOC على Azure

> إعداد ربط VNet أو Private Link لـ BYOC على 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 خيارين للاتصال الخاص: [اقتران شبكات VNet](https://learn.microsoft.com/azure/virtual-network/virtual-network-peering-overview) و[Azure Private Link](https://learn.microsoft.com/azure/private-link/private-link-overview). يُبقي كلا الخيارين حركة المرور ضمن البنية الأساسية لـ Azure، بحيث لا تمر عبر الإنترنت العام مطلقًا.

<div id="common-prerequisites">
  ## المتطلبات المسبقة
</div>

الخطوات المشتركة المطلوبة لكلٍّ من اقتران شبكات VNet وPrivate Link.

<div id="step-enable-private-load-balancer-for-clickhouse-byoc">
  ### تفعيل موازن التحميل الخاص لـ ClickHouse BYOC
</div>

في وحدة تحكم ClickHouse Cloud، فعّل **موازن التحميل الخاص** لبنية BYOC التحتية. يمر خيارا الاتصال عبر موازن التحميل الداخلي هذا، لذا لن يعمل أيّ منهما حتى يتم تفعيله.

<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 تفعيل موازن التحميل الخاص" border width="1435" height="1096" data-path="images/cloud/reference/byoc-private-load-balancer-azure.webp" />

دوّن **الاسم المنطوق** للبنية التحتية. ينشر ClickHouse بنية BYOC التحتية في اشتراك Azure الخاص بك ضمن مجموعة موارد مُدارة باسم `clickhouse-cloud-<spoken-name>-default`. ستجد شبكة BYOC الافتراضية (VNet) في مجموعة الموارد هذه في الخطوات التالية.

<div id="azure-vnet-peering">
  ## إعداد اقتران شبكات VNet
</div>

يُرجى التعرّف على [اقتران شبكات VNet](https://learn.microsoft.com/azure/virtual-network/virtual-network-peering-overview) و[متطلباته وقيوده](https://learn.microsoft.com/azure/virtual-network/virtual-network-manage-peering#requirements-and-constraints) قبل البدء. يستخدم ClickHouse BYOC موازن تحميل خاصًا لإتاحة الاتصال بالشبكة عبر التناظر بخدمات ClickHouse.

<Note>
  تنطبق الخطوات الواردة في المثال على سيناريو بسيط، حيث تقترن إحدى شبكات VNet لديك مباشرةً بشبكة VNet الخاصة بـ BYOC. أما السيناريوهات المتقدمة، مثل بنيات المحور والأطراف أو الاتصال بالبيئات المحلية، فتتطلب بعض التعديلات — راجع [القيود](#vnet-peering-limitations).
</Note>

<div id="vnet-peering-prerequisites">
  ### المتطلبات الأساسية الإضافية لاقتران الشبكات
</div>

**مساحات عناوين غير متداخلة.** لا يمكن للشبكات الظاهرية المقترنة أن تتضمن نطاقات عناوين IP متداخلة. قارن مساحة عناوين VNet لديك بمساحة عناوين BYOC VNet، المعروضة في صفحة **Overview** الخاصة بـ BYOC VNet في بوابة Azure. إذا كانتا متداخلتين، فاستخدم Private Link بدلًا من ذلك.

**الأذونات.** يتطلب إنشاء اقتران منح الأذونين `Microsoft.Network/virtualNetworks/virtualNetworkPeerings/write` و`Microsoft.Network/virtualNetworks/peer/action` على *كلتا* الشبكتين الظاهريتين. يتضمن الدور المضمّن **Network Contributor** هذين الإذنين. راجع [أذونات اقتران الشبكات الظاهرية](https://learn.microsoft.com/azure/virtual-network/virtual-network-manage-peering#permissions).

<Steps>
  <Step title="إنشاء الاقتران من الشبكة الافتراضية لـ BYOC" id="step-1-create-peering-from-byoc-vnet">
    1. سجّل الدخول إلى [بوابة Azure](https://portal.azure.com) وانتقل إلى **اشتراك BYOC**.
    2. ابحث عن **الشبكات الافتراضية** وحدد شبكة VNet الخاصة بـ BYOC، الموجودة في مجموعة الموارد `clickhouse-cloud-<spoken-name>-default`.
    3. ضمن **الإعدادات**، حدد **الاقترانات**، ثم حدد **+ إضافة**.

    <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="إنشاء اقتران VNet لـ BYOC" border width="3126" height="1556" data-path="images/cloud/reference/byoc-vnetpeering-azure-1.webp" />

    4. املأ جزأي الاقتران:

    <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="تهيئة اقتران VNet لـ BYOC" border width="1326" height="1965" data-path="images/cloud/reference/byoc-vnetpeering-azure-2.webp" />

    5. انقر على **إضافة**.
  </Step>

  <Step title="إنشاء الاقتران العكسي إذا لم يُنشأ تلقائيًا" id="step-2-create-reverse-peering">
    يتكون اقتران Azure من جزأين، جزء لكل اتجاه، ولا تتدفق حركة المرور حتى يتوفر كلاهما. إذا أنشأت البوابة الجزأين في الخطوة السابقة، فتجاوز هذه الخطوة.

    إذا أنشأت الجزء الموجود على جانب BYOC فقط — لأن شبكة VNet الخاصة بك تقع في اشتراك أو مستأجر آخر — فستكون حالته **Initiated**. أنشئ الجزء المطابق من شبكة VNet الخاصة بك:

    1. انتقل إلى الاشتراك الذي يملك شبكة VNet الخاصة بك، وسجّل الدخول بحساب لديه دور **Network Contributor** عليها.
    2. حدد شبكة VNet الخاصة بك، ثم **Peerings** → **+ Add**.
    3. حدد **I know my resource ID**، والصق **معرّف مورد VNet الخاص بـ BYOC**، واختر **Directory** الذي يملك اشتراك BYOC. حدد **Authenticate** إذا طُلب منك ذلك.
    4. حدد **Add**.
  </Step>

  <Step title="التحقق من اتصال جزأي الاقتران" id="step-3-verify-peering">
    افتح **Peerings** على أي من الشبكتين الافتراضيتين. يجب أن تعرض **Peering status** الحالة **Connected** على كلا الجانبين. إذا بقي أحد الجزأين في حالة **Initiated**، فهذا يعني أن الجزء المقابل مفقود؛ وإذا ظهرت حالته **Disconnected**، فهذا يعني أن الجزء المقابل قد حُذف.

    لا يلزم إجراء أي تغييرات على جدول التوجيه. يضيف Azure تلقائيًا مسارات النظام لمساحة العناوين المقترنة على كلا الجانبين. يمكنك تأكيد ذلك من أي واجهة شبكة في شبكة VNet الخاصة بك ضمن **Effective routes**، حيث تظهر مساحة عناوين BYOC بنوع القفزة التالية **VNet peering**.

    <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="التحقق من اقتران VNet لـ BYOC" border width="2165" height="1505" data-path="images/cloud/reference/byoc-vnetpeering-azure-3.webp" />
  </Step>

  <Step title="السماح بالوصول من VNet المقترنة عبر مجموعة أمان الشبكة" id="step-4-allow-address-space-through-nsg">
    تخضع الشبكات الفرعية لـ BYOC للحماية بواسطة [مجموعة أمان شبكة](https://learn.microsoft.com/azure/virtual-network/network-security-groups-overview) يديرها ClickHouse، وتمنع حركة المرور الداخلية لشبكة VNet افتراضيًا. ولأن [علامة الخدمة `VirtualNetwork`](https://learn.microsoft.com/azure/virtual-network/service-tags-overview#available-service-tags) تشمل مساحة عناوين شبكات VNet المقترنة، تُسقط حركة المرور الواردة عبر الاقتران إلى أن تُضاف قاعدة سماح واردة.

    يرجى التواصل مع ClickHouse Support لطلب إضافة قواعد واردة تشمل نطاقات CIDR لشبكة VNet المقترنة الخاصة بك. بدون هذه الخطوة، ستظهر حالة الاقتران **Connected**، لكن ستنتهي مهلة الاتصالات.
  </Step>

  <Step title="الوصول إلى خدمة ClickHouse عبر الاقتران" id="step-5-access-ch-service-via-peering">
    للوصول إلى ClickHouse بشكل خاص، يتم توفير موازن تحميل خاص ونقطة نهاية خاصة لاتصال آمن من شبكة VNet المقترنة الخاصة بك. تتبع نقطة النهاية الخاصة تنسيق نقطة النهاية العامة مع اللاحقة `-private`. على سبيل المثال:

    * **نقطة النهاية العامة**: `h5ju65kv87.mhp0y4dmph.westus3.azure.clickhouse-byoc.com`
    * **نقطة النهاية الخاصة**: `h5ju65kv87-private.mhp0y4dmph.westus3.azure.clickhouse-byoc.com`
  </Step>
</Steps>

<div id="vnet-peering-limitations">
  ### القيود
</div>

**إقران الشبكات غير متعدٍ.** لا تستطيع الوصول إلى خدماتك إلا شبكة VNet المقترنة مباشرةً بشبكة VNet الخاصة بـ BYOC. لا يغطي الإقران الواحد العملاء في شبكة VNet فرعية خلف شبكة محورية، أو العملاء المحليين الذين يصلون عبر ExpressRoute أو بوابة VPN. تتطلب هذه البُنى إعدادات إضافية، مثل **السماح بحركة المرور المُمرَّرة** وعبور البوابة — راجع [البوابات والاتصال المحلي](https://learn.microsoft.com/azure/virtual-network/virtual-network-peering-overview#gateways-and-on-premises-connectivity) — أو استخدم Private Link بدلًا من ذلك.

**يعمل الإقران عبر المناطق، لكنه أكثر تكلفة.** يُعد الإقران بين شبكات VNet في مناطق مختلفة إقرانًا عالميًا. ويصل إلى ClickHouse بشكل طبيعي — إذ إن موازن التحميل الخاص بـ BYOC هو موازن تحميل داخلي من SKU Standard، وقيد Azure على الوصول إلى الواجهات الأمامية لموازنات التحميل عبر الإقران العالمي ينطبق فقط على موازنات التحميل من SKU Basic. ما ستتحمله هو زمن انتقال إضافي للرحلة ذهابًا وإيابًا و[رسوم نقل البيانات عبر المناطق](https://azure.microsoft.com/pricing/details/virtual-network). يُفضَّل الإقران ضمن المنطقة نفسها لأحمال العمل الحساسة لزمن الانتقال. إذا كان الإقران عبر المناطق يعرض **Connected** لكن الاتصالات لا تزال تفشل، فليست المنطقة هي السبب — إذ إن السبب الأكثر شيوعًا هو عدم وجود قاعدة واردة في مجموعة أمان الشبكة لمساحة عناوينك، لذا تواصل مع ClickHouse Support.

**تتطلب تغييرات مساحة العناوين إعادة مزامنة.** إذا غيّرت حجم مساحة عناوين VNet بعد إنشاء الإقران، [زامن الإقران](https://learn.microsoft.com/azure/virtual-network/update-virtual-network-peering-address-space) للإعلان عن النطاقات الجديدة، وتواصل مع ClickHouse Support لتوسيع قاعدة مجموعة أمان الشبكة الواردة لتشملها.

**تُفرض رسوم على حركة مرور الإقران.** تفرض Azure رسومًا على حركة الدخول والخروج عبر الإقران. راجع [تسعير الشبكة الظاهرية](https://azure.microsoft.com/pricing/details/virtual-network).

<div id="delete-vnet-peering">
  ### احذف اتصال الاقتران
</div>

احذف اتصال الاقتران من أيٍّ من الجانبين. يؤدي حذف أحد الطرفين إلى قطع الاتصال وترك الطرف الآخر في حالة **Disconnected**، لذا احذف الطرفين لتنظيف الموارد بالكامل. راجع [حذف اتصال اقتران](https://learn.microsoft.com/azure/virtual-network/virtual-network-manage-peering#delete-a-peering).

<div id="setup-privatelink">
  ## إعداد Private Link
</div>

يوفر Azure Private Link اتصالاً آمناً وخاصاً بخدمات ClickHouse BYOC لديك. وتبقى جميع حركة البيانات ضمن شبكة Azure، مما يضمن عدم عبورها الإنترنت العام مطلقاً.

<Steps>
  <Step title="فعّل Private Link في ClickHouse console" id="step-1-enable-private-link">
    <Note>
      تأكد من تفعيل **موازن التحميل الخاص** كمتطلب أساسي.
    </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="تفعيل PrivateLink لـ BYOC" border width="2800" height="1848" data-path="images/cloud/reference/byoc-privatelink.webp" />
  </Step>

  <Step title={<>احصل على <code>Service name</code> الخاص بنقطة النهاية</>} id="step-2-obtain-endpoint-service-name">
    1. في ClickHouse Cloud console، انتقل إلى صفحة Settings للخدمة التي ترغب في الاتصال بها عبر Private Link.
    2. انقر على "Set up private endpoint".
    3. في اللوحة المنبثقة التي تفتح، انسخ قيمتي `Service name` (الاسم المستعار لخدمة Private Link) و`DNS name` — ستستخدمهما في الخطوات التالية. (قد يستغرق إنشاء هذه القيم بعض الوقت بعد تمكين 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="نقاط النهاية الخاصة" border width="1898" height="918" data-path="images/cloud/security/azure-privatelink-pe-create.webp" />
  </Step>

  <Step title="أنشئ نقطة نهاية خاصة في شبكتك" id="step-3-create-endpoint">
    1. افتح **Azure Portal** الخاص بك (أي اشتراك Azure الذي يوجد فيه تطبيق العميل) → **Network Foundation** → **Private endpoints** → **Create**.
    2. في علامة التبويب **Basics**، اختر الاشتراك ومجموعة الموارد والاسم والمنطقة لنقطة النهاية الخاصة. يجب أن تكون المنطقة هي منطقة شبكة VNet التي يتصل منها تطبيق العميل.
           <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="إنشاء نقطة نهاية خاصة: الأساسيات" border width="784" height="923" data-path="images/cloud/security/azure-pe-create-basic.webp" />
    3. في علامة التبويب **Resource**، اختر **Connect to an Azure resource by resource ID or alias** وأدخل `Service name` الذي حصلت عليه في الخطوة السابقة.
           <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="اختيار مورد نقطة النهاية الخاصة" border width="1122" height="911" data-path="images/cloud/security/azure-pe-resource.webp" />
    4. في علامة التبويب **Virtual Network**، اختر الشبكة الظاهرية والشبكة الفرعية حيث ستُنشأ نقطة النهاية الخاصة. ويمكنك اختياريًا إرفاق مجموعة أمان للتطبيقات لتصفية حركة المرور إلى نقطة النهاية الخاصة.
           <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="اختيار الشبكة الظاهرية لنقطة النهاية الخاصة" border width="1056" height="917" data-path="images/cloud/security/azure-pe-create-vnet.webp" />
    5. تابع عبر علامات التبويب المتبقية وانقر على **Create**. ستكون **Connection status** لنقطة النهاية الخاصة التي أنشأتها في حالة **Pending** إلى أن تضيف `Resource ID` الخاص بها إلى قائمة السماح لخدمة ClickHouse في الخطوات التالية.
    6. افتح واجهة الشبكة المرتبطة بنقطة النهاية الخاصة وانسخ **Private IPv4 address** — ستستخدمه في خطوة إعداد 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="عنوان IP لنقطة النهاية الخاصة" border width="1155" height="621" data-path="images/cloud/security/azure-pe-ip.webp" />
  </Step>

  <Step title={<>أضف <code>معرّف المورد</code> الخاص بنقطة النهاية الخاصة إلى قائمة السماح لخدمة ClickHouse</>} id="step-4-add-endpoint-id-to-services-allow-list">
    للحصول على Resource ID لنقطة النهاية الخاصة، افتح نقطة النهاية الخاصة التي أنشأتها سابقًا في Azure Portal وانقر على **JSON View**، ثم انسخ حقل `id` ذي المستوى الأعلى (أي **Resource ID** الظاهر في أعلى العرض، بالصيغة `/subscriptions/.../providers/Microsoft.Network/privateEndpoints/<name>`). لا تستخدم حقول `id` المتداخلة داخل كائن `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="معرّف مورد نقطة النهاية الخاصة" border width="1704" height="1824" data-path="images/cloud/security/azure-pe-resource-id.webp" />

    1. في ClickHouse Cloud console، انتقل إلى صفحة Settings للخدمة التي تريد الاتصال بها عبر Private Link.
    2. انقر على "إعداد نقطة نهاية خاصة".
    3. في اللوحة الجانبية المفتوحة، أدخل `Resource ID` الذي حصلت عليه أعلاه في حقل `Endpoint ID`، وأضف وصفًا اختياريًا.
    4. انقر على "إنشاء نقطة نهاية".

    <Note>
      إذا كنت تريد السماح بالوصول من اتصال Private Link حالي، فاستخدم القائمة المنسدلة لنقاط النهاية الحالية.
      تعرض القائمة المنسدلة اتصالات Private Link الحالية بالخدمات ضمن البنية التحتية نفسها.
    </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="عامل تصفية نقاط النهاية الخاصة" border width="1898" height="918" data-path="images/cloud/security/azure-privatelink-pe-filter.webp" />

    <Note>
      لا يلزم الحصول على موافقة يدوية في Azure Portal — فبمجرد إضافة `Resource ID` إلى قائمة السماح، يُعتمد اتصال نقطة النهاية تلقائيًا، ويُضاف `LinkID` الخاص به تلقائيًا إلى `AuthorizationPolicy` في Istio لخدمة ClickHouse. تتغير **حالة الاتصال** لنقطة النهاية الخاصة في اشتراكك إلى **تمت الموافقة**.
    </Note>
  </Step>

  <Step title="عيّن اسم DNS خاصًا لنقطة النهاية" id="step-5-set-private-dns-name-for-endpoint">
    <Note>
      توجد عدة طرق لتهيئة DNS. يُرجى إعداد DNS بما يتناسب مع حالة الاستخدام الخاصة بك.
    </Note>

    عليك توجيه جميع النطاقات الفرعية (wildcard) لـ "اسم DNS" (كل ما يلي معرّف الخدمة، مثل `privatelink.mhp0y4dmph.westus3.azure.clickhouse-byoc.com`) إلى عنوان IP لنقطة النهاية الخاصة. يضمن ذلك تمكّن الخدمات/المكونات ضمن VNet من حلّه على نحو صحيح. إعداد نموذجي باستخدام Azure Private DNS:

    1. [أنشئ نطاق Private DNS](https://learn.microsoft.com/en-us/azure/dns/private-dns-getstarted-portal) باسم "اسم DNS" بعد إزالة معرّف الخدمة من بدايته، على سبيل المثال `privatelink.mhp0y4dmph.westus3.azure.clickhouse-byoc.com`.
    2. في النطاق، أنشئ مجموعة سجلات wildcard: عيّن **الاسم** إلى `*`، وأدخل عنوان IP لنقطة النهاية الخاصة الذي نسخته سابقًا في **عنوان IP**.
    3. [اربط نطاق Private DNS بشبكتك الافتراضية](https://learn.microsoft.com/en-us/azure/dns/private-dns-getstarted-portal#link-the-virtual-network) لكي تتمكن العملاء ضمن VNet من حلّ النطاق.

    تحقق من إعداد DNS من مضيف داخل VNet — ينبغي أن يُحل "اسم DNS" إلى عنوان IP لنقطة النهاية الخاصة:

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

  <Step title="الوصول إلى مثيل عبر Private Link" id="step-6-connect-via-privatelink">
    1. في ClickHouse Cloud console، انتقل إلى صفحة Settings الخاصة بالخدمة.
    2. انقر على "إعداد نقطة نهاية خاصة".
    3. في اللوحة المنبثقة، انسخ `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="اسم DNS لنقطة النهاية الخاصة" border width="1898" height="918" data-path="images/cloud/security/azure-privatelink-pe-dns.webp" />
           <Note>
             يتحكم ClickHouse في الوصول إلى خدماته عبر Private Link من خلال **Istio Authorization Policy** على مستوى الخدمة، ضمن BYOC infrastructure الخاصة بك.
           </Note>
  </Step>
</Steps>
