---
title: Object Storage (S3, Ceph RGW)
description: قم ببيع مساحة تخزين S3 بالدفع حسب الاستخدام على كتلة Ceph لديك: متطلبات RGW، وحساب المشرف والصلاحيات، وربط الواجهة الخلفية بمنطقة في NexCMP.
url: https://nexcmp.com/ar/docs/infrastructure/s3/
applies_to: NexCMP 1.6.1
updated: 2026-11-02
---

# Object Storage (S3, Ceph RGW) {#object-storage-s3-ceph-rgw}

> **الموقع في لوحة الإدارة:** Infrastructure › Cloud provider › Ceph S3 (RGW) (`/infra/s3`). الحسابات: Services › Object Storage › S3 accounts (`/s3`). التسعير: Services › Object Storage › PAYG pricing (`/s3/policy`). فعّل الوحدة ضمن System › Admin › License & updates.

## الوظيفة {#what-it-does}

ينشئ العملاء حسابات S3 من البوابة ويحصلون على مفاتيح الوصول. يتولى NexCMP إنشاء وحذف المستخدمين المطابقين على **Ceph RADOS Gateway (RGW) لديك** عبر RGW Admin Ops API، ويقرأ الاستخدام للفوترة، ويحاسب بنظام الدفع حسب الاستخدام: التخزين الزائد عن الفئة المجانية لكل جيجابايت شهريًا (يُحسب بالساعة) وحركة مرور التنزيل لكل جيجابايت. عمليات الرفع مجانية.

استخدم هذا الخيار عندما تدير كتلة Ceph مع RGW وترغب في إعادة بيع خدمة التخزين السحابي كائنات.

## المتطلبات {#requirements}

| العنصر | المتطلب |
|---|---|
| Ceph | كتلة تحتوي على ديمون RGW واحد على الأقل، مع تفعيل **Admin Ops API** (يتضمن الإعداد الافتراضي `rgw_enable_apis` القيمة `admin`). |
| Admin user | مستخدم RGW مخصص لـ NexCMP يتمتع بالصلاحيات الموضحة أدناه. لا تستخدم مستخدمًا يمتلك بيانات العملاء. |
| Endpoints | نقطة نهاية S3 التي يستخدمها العملاء، ونقطة نهاية Admin Ops. تُكتب كلتاهما بالصيغة `https://host` **بدون مسار، وعلى المنفذ 443 فقط**، ويجب أن يتم حلهما إلى عنوان **عام**: يتم رفض عناوين loopback وlink-local وmulticast والعناوين الخاصة وunique-local. |
| Certificate | شهادة صالحة لمضيف نقطة النهاية. |
| Usage log | تفعيل تسجيل الاستخدام في RGW (`rgw_enable_usage_log = true`)، حتى تتمكن واجهة API الخاصة بالاستخدام من الإبلاغ عن حركة المرور. |
| المنطقة | منطقة رئيسية تم تحديد الخدمة **Object Storage (S3)** فيها. راجع [Zones](https://nexcmp.com/ar/docs/infrastructure/zones/). |
| التخزين | سعة تخزينية كافية في Ceph للحصص التي تبيعها. |
| يعتمد على | الوحدة **Object Storage**. تُحسب حركة مرور التنزيل أيضًا ضمن [Bandwidth](https://nexcmp.com/ar/docs/catalog/bandwidth/). |

## تجهيز البنية التحتية {#prepare-the-infrastructure}

على عقدة إدارة Ceph:

1. أنشئ مستخدم الإدارة وامنحه صلاحيات Admin Ops المطلوبة:

   ```bash
   radosgw-admin user create --uid=nexcmp-admin --display-name="NexCMP admin"
   radosgw-admin caps add --uid=nexcmp-admin --caps="users=*;buckets=*;usage=read;metadata=read"
   radosgw-admin user info --uid=nexcmp-admin
   ```

   انسخ `access_key` و`secret_key` من المخرجات. وهما يمثلان **Admin access key** و**Admin secret key** في NexCMP.

2. فعّل سجل الاستخدام وأعد تشغيل البوابات:

   ```bash
   ceph config set client.rgw rgw_enable_usage_log true
   ```

3. ضع البوابات خلف اتصال HTTPS على المنفذ 443 (وكيل عكسي أو بروتوكول TLS الخاص بـ RGW)، وانشر اسم DNS، ثم اختبر الاتصال من خادم اللوحة:

   ```bash
   curl -fsS -o /dev/null -w '%{http_code}\n' https://s3.example.com/
   ```

   يجب أن تتلقى استجابة S3 بتنسيق XML (رمز HTTP 200 أو 403)، وليس انتهاء مهلة الاتصال.


## الربط في NexCMP {#connect-in-nexcmp}

1. **قم بتعيين خدمة S3 للمنطقة.** افتح **Infrastructure › Datacenter › Zone**، وعدّل المنطقة وحدد **Object Storage (S3)**. تظهر المناطق الرئيسية التي تحتوي على خدمة S3 فقط في نموذج الواجهة الخلفية.


2. افتح **Infrastructure › Cloud provider › Ceph S3 (RGW)** وانقر على **Add backend**:

   | الحقل | مثال للقيمة |
   |---|---|
   | اسم الواجهة الخلفية | `Ceph RGW 1` |
   | المنطقة | المنطقة من الخطوة 1 |
   | نقطة نهاية RGW Admin Ops | `https://s3.example.com` |
   | نقطة نهاية S3 للعميل | `https://s3.example.com` |
   | منطقة توقيع S3 | `default` |
   | مفتاح وصول Admin | `XXXX` |
   | المفتاح السري لـ Admin | `XXXX` |
   | نشط | مفعّل |
   | تمكين المبيعات (يتطلب اختبار الاتصال أولاً) | **معطّل** حاليًا |
   | سبب التغيير | `initial setup` |

      ![مربع حوار واجهة S3 الخلفية مع أمثلة لنقاط النهاية والمنطقة والمفاتيح المقنعة](https://nexcmp.com/ar/docs/images/infrastructure/s3-02-backend-dialog.webp)

3. انقر على **OK** (حفظ)، ثم على **Check** في الصف. يستدعي NexCMP واجهة برمجة تطبيقات Admin Ops API باستخدام مفتاح المسؤول. تعني رسالة **Ceph connection successful** والشارة **Verified** أن الاتصال يعمل بنجاح.


4. انقر على **Edit**، وفعّل **Enable sales** ثم احفظ التغييرات. يرفض NexCMP إتاحة المبيعات حتى ينجح الفحص.
5. افتح **Services › Object Storage › PAYG pricing** واضبط التسعير:

   | الحقل | المعنى |
   |---|---|
   | التخزين الزائد عن الفئة المجانية (VND/GB/شهر) | سعر التخزين؛ يُفوتر بالساعة بحساب السعر الشهري مقسومًا على 730. |
   | التنزيل (VND/GB) | سعر حركة البيانات الصادرة. |
   | الرفع (VND/GB) | دائمًا 0. |
   | الفئة المجانية مع Running VM (GB) | محددة بـ 100 GB لكل حساب طالما يمتلك العميل جهاز VM واحد قيد التشغيل على الأقل، وتتم مشاركتها عبر حسابات S3 التابعة له بحسب الحجم. |
   | حد المديونية (VND) | الحد المسموح به للاستخدام غير المدفوع. |
   | حد الفوترة (VND) | يتم تجميع الاستخدام في فاتورة واحدة بمجرد تجاوز هذا المبلغ. |
   | الحد الأدنى للرصيد لإنشاء S3 (VND) | رصيد المحفظة المطلوب لإنشاء حساب. |
   | الحد الأقصى لحسابات S3 لكل عميل، الحصة الفنية الافتراضية (GB) | الحدود المفروضة على الحسابات الجديدة. |

      ![نموذج تسعير S3 PAYG](https://nexcmp.com/ar/docs/images/infrastructure/s3-04-pricing.webp)

   يتم إدخال أسعار S3 بعملة VND. وتُحوّل للعرض والخصم من المحفظة بسعر الصرف الساري؛ راجع [العملة وأسعار الصرف](https://nexcmp.com/ar/docs/catalog/currency-and-exchange-rates/).

## التحقق {#verify}

1. يعطي **Check** نتيجة "Ceph connection successful".
2. بصفتك عميلاً (أو باستخدام حساب اختباري)، أنشئ حساب S3. على Ceph، يعرض `radosgw-admin user list` مستخدمًا جديدًا، وتدرجه **S3 accounts** في القائمة.
3. أنشئ bucket باستخدام أي عميل S3 ومفاتيح العميل مقابل نقطة نهاية العميل. قم برفع ملف.
4. بعد دورة الفوترة للساعة التالية، ستعرض **S3 accounts** بيانات الاستخدام.

## القيود والملاحظات {#limits-and-notes}

- تحتفظ الواجهة الخلفية المرتبطة بحسابات بالفعل بـ **المنطقة ونقطة النهاية والإقليم** الخاصة بها؛ ولتغييرها، أنشئ واجهة خلفية جديدة.
- يمكن أن تمتلك المنطقة الواحدة واجهة خلفية خاصة بها؛ وترتبط الحسابات والواجهات الخلفية بالمنطقة بصورة دائمة.
- تُعد الفئة المجانية وقاعدة "الرفع مجاني" قواعد ثابتة وليست خيارات قابلة للتعديل.
- تُخزن المفاتيح مشفرة؛ ولا تعرض لوحة التحكم سوى حقل "leave blank to keep the current key". ويتم دائمًا إدخال زوج المفاتيح معًا.
- تُعرض المفاتيح السرية للعملاء مرة واحدة فقط عند الإنشاء ولا تظهر مجددًا أبدًا. ويتم استبدال المفتاح المفقود عبر تدويره.

## استكشاف الأخطاء وإصلاحها {#troubleshooting}

| العَرَض | السبب | الحل |
|---|---|---|
| "Endpoint requires HTTPS" | تستخدم نقطة النهاية بروتوكول HTTP غير المشفر | انشر HTTPS على المنفذ 443. |
| "منفذ نقطة النهاية غير مسموح به" | منفذ آخر غير 443 | استخدم منفذ HTTPS القياسي. |
| "عنوان نقطة النهاية غير مسموح به" | يتحول الاسم إلى عنوان خاص أو محلي حلقي (loopback) أو محلي للارتباط أو محلي فريد | استخدم عنوانًا عامًا. |
| "يجب أن تتضمن نقطة النهاية البروتوكول والمضيف فقط" | يحتوي عنوان URL على مسار أو استعلام أو معلومات مستخدم | استخدم `https://host` فقط. |
| "فشل في حل نقطة النهاية" | يتعذر حل DNS من خادم اللوحة | أصلح DNS. |
| "Failed to connect to Ceph" | خطأ في الجدار الناري أو TLS | اختبر باستخدام `curl` من خادم اللوحة. |
| "Ceph returned HTTP 403 AccessDenied" | مفاتيح خاطئة أو صلاحيات مفقودة | تحقق من المفاتيح وأعد تشغيل `radosgw-admin caps add`. |
| "Invalid Ceph response" | نقطة النهاية ليست واجهة RGW Admin Ops API | وجّهها إلى RGW، وليس إلى صفحة ويب. |
| "يجب أن ينجح اختبار الاتصال قبل تفعيل المبيعات" | قمت بتفعيل المبيعات قبل نجاح **Check** | شغّل **Check**، ثم فعّل المبيعات. |
| "جميع المفاتيح الجديدة لنقطة النهاية مطلوبة" | تم تغيير نقطة النهاية دون تقديم كلا المفتاحين | أدخل مفتاح الوصول والمفتاح السري معًا. |
| "يحتوي النظام الخلفي بالفعل على موارد مرتبطة؛ أنشئ نظاماً خلفياً جديداً لتغيير المنطقة أو نقطة النهاية" | توجد حسابات على هذه النهاية الخلفية | أنشئ نهاية خلفية جديدة. |
| "حدد المنطقة الرئيسية المزودة بخدمة S3" | المنطقة ليست رئيسية أو لا تحتوي على خدمة S3 | حدد **Object Storage (S3)** في المنطقة. |
| "Invalid region" | تحتوي المنطقة على محارف أخرى غير الحروف والأرقام و`-` و`_` | استخدم `default` أو اسم zonegroup الخاص بـ RGW لديك. |
| "ملخص استخدام Ceph مفقود؛ لم تتم الفوترة" | سجل الاستخدام معطل | فعّل `rgw_enable_usage_log`. |
