---
title: Object Storage (S3, Ceph RGW)
description: Verkaufen Sie nutzungsbasierten S3-Speicher auf Ihrem Ceph-Cluster: RGW-Anforderungen, Admin-Benutzer und Caps sowie die Anbindung an NexCMP.
url: https://nexcmp.com/de/docs/infrastructure/s3/
applies_to: NexCMP 1.6.1
updated: 2026-11-02
---

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

> **Wo im Administratorbereich:** Infrastructure › Cloud provider › Ceph S3 (RGW) (`/infra/s3`). Konten: Services › Object Storage › S3 accounts (`/s3`). Preise: Services › Object Storage › PAYG pricing (`/s3/policy`). Aktivieren Sie das Modul unter System › Admin › License & updates.

## Funktion {#what-it-does}

Kunden erstellen S3-Konten über das Portal und erhalten Zugriffsschlüssel. NexCMP erstellt und löscht die entsprechenden Benutzer auf Ihrem **Ceph RADOS Gateway (RGW)** über die RGW Admin Ops API, liest die Nutzung für die Abrechnung aus und berechnet die verbrauchsabhängige Nutzung: Speicher über ein kostenloses Kontingent pro GB und Monat (stündlich abgerechnet) und Download-Traffic pro GB. Uploads sind kostenlos.

Verwenden Sie dies, wenn Sie einen Ceph-Cluster mit RGW betreiben und Objektspeicher weiterverkaufen möchten.

## Anforderungen {#requirements}

| Komponente | Anforderung |
|---|---|
| Ceph | Ein Cluster mit mindestens einem RGW-Daemon, bei dem die **Admin Ops API** aktiviert ist (die Standardeinstellung `rgw_enable_apis` enthält `admin`). |
| Admin-Benutzer | Ein RGW-Benutzer für NexCMP mit den unten aufgeführten Berechtigungen. Verwenden Sie keinen Benutzer, der Kundendaten besitzt. |
| Endpoints | Der von Kunden verwendete S3-Endpoint und der Admin Ops-Endpoint. Beide werden als `https://host` geschrieben, **ohne Pfad, nur Port 443**, und müssen zu einer **öffentlichen** Adresse aufgelöst werden: Loopback-, Link-Local-, Multicast-, Private- und Unique-Local-Adressen werden abgelehnt. |
| Zertifikat | Ein gültiges Zertifikat für den Endpoint-Host. |
| Nutzungsprotokoll | Aktivierte RGW-Nutzungsprotokollierung (`rgw_enable_usage_log = true`), damit die Usage-API Traffic melden kann. |
| Zone | Eine Master-Zone, bei der der Dienst **Object Storage (S3)** ausgewählt ist. Siehe [Zones](https://nexcmp.com/de/docs/infrastructure/zones/). |
| Storage | Kapazität in Ceph für die von Ihnen verkauften Quotas. |
| Abhängig von | Das Modul **Object Storage**. Download-Traffic zählt ebenfalls zu [Bandwidth](https://nexcmp.com/de/docs/catalog/bandwidth/). |

## Infrastruktur vorbereiten {#prepare-the-infrastructure}

Auf einem Ceph-Admin-Node:

1. Erstellen Sie den Admin-Benutzer und weisen Sie ihm die erforderlichen Admin Ops-Berechtigungen zu:

   ```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
   ```

   Kopieren Sie `access_key` und `secret_key` aus der Ausgabe. Dies sind der **Admin access key** und der **Admin secret key** in NexCMP.

2. Aktivieren Sie das Nutzungsprotokoll und starten Sie die Gateways neu:

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

3. Platzieren Sie die Gateways hinter HTTPS auf Port 443 (ein Reverse Proxy oder das RGW-eigene TLS), veröffentlichen Sie den DNS-Namen und testen Sie vom Panel-Server aus:

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

   Sie sollten eine S3-XML-Antwort (HTTP 200 oder 403) erhalten, kein Zeitüberschreitung (Timeout).


## In NexCMP verbinden {#connect-in-nexcmp}

1. **Weisen Sie einer Zone den S3-Dienst zu.** Öffnen Sie **Infrastructure › Datacenter › Zone**, bearbeiten Sie die Zone und aktivieren Sie **Object Storage (S3)**. Nur Master-Zones mit dem S3-Dienst werden im Backend-Formular angezeigt.


2. Öffnen Sie **Infrastructure › Cloud provider › Ceph S3 (RGW)** und klicken Sie auf **Add backend**:

   | Feld | Beispielwert |
   |---|---|
   | Backend name | `Ceph RGW 1` |
   | Zone | die Zone aus Schritt 1 |
   | RGW Admin Ops endpoint | `https://s3.example.com` |
   | S3-Endpunkt für Kunden | `https://s3.example.com` |
   | S3-Signierregion | `default` |
   | Admin-Access-Key | `XXXX` |
   | Admin-Secret-Key | `XXXX` |
   | Aktiv | on |
   | Verkauf aktivieren (erfordert zuerst einen Verbindungstest) | **off** vorerst |
   | Änderungsgrund | `initial setup` |

      ![Backend-S3-Dialog mit Beispielendpunkten, Region und maskierten Schlüsseln](https://nexcmp.com/de/docs/images/infrastructure/s3-02-backend-dialog.webp)

3. Klicken Sie auf **OK** (speichern) und danach in der Zeile auf **Check**. NexCMP ruft die Admin Ops API mit dem Adminschlusskel auf. **Ceph connection successful** und das Tag **Verified** bedeuten, dass es funktioniert.


4. Klicken Sie auf **Edit**, schalten Sie **Enable sales** ein und speichern Sie. NexCMP verweigert den Verkauf, bis ein Test erfolgreich war.
5. Öffnen Sie **Services › Object Storage › PAYG pricing** und legen Sie die Preise fest:

   | Feld | Bedeutung |
   |---|---|
   | Speicher über der Free Tier (VND/GB/Monat) | Speicherpreis; wird stündlich als Monatspreis geteilt durch 730 abgerechnet. |
   | Download (VND/GB) | Preis für ausgehenden Datenverkehr. |
   | Upload (VND/GB) | Immer 0. |
   | Free Tier mit laufender VM (GB) | Fest auf 100 GB pro Konto, solange der Kunde mindestens eine laufende VM besitzt, nach Größe auf seine S3-Konten aufgeteilt. |
   | Schuldenlimit (VND) | Wie viel unbezahlte Nutzung zulässig ist. |
   | Abrechnungsschwelle (VND) | Die Nutzung wird in einer Rechnung zusammengefasst, sobald dieser Betrag überschritten wird. |
   | Min. Guthaben zum Erstellen von S3 (VND) | Für die Erstellung eines Kontos erforderliches Guthaben im Wallet. |
   | Max. S3-Konten pro Kunde, Standard-technisches Kontingent (GB) | Grenzwerte für neue Konten. |

      ![S3-PAYG-Preisformular](https://nexcmp.com/de/docs/images/infrastructure/s3-04-pricing.webp)

   S3-Preise werden in VND eingegeben. Sie werden für die Anzeige und Wallet-Belastungen zum jeweils gültigen Wechselkurs umgerechnet; siehe [Currency and exchange rates](https://nexcmp.com/de/docs/catalog/currency-and-exchange-rates/).

## Verifizierung {#verify}

1. **Check** gibt „Ceph connection successful“ aus.
2. Erstellen Sie als Kunde (oder mit einem Testkonto) ein S3-Konto. Auf Ceph zeigt `radosgw-admin user list` einen neuen Benutzer und **S3 accounts** führt diesen auf.
3. Erstellen Sie mit einem beliebigen S3-Client und den Kundenschlüsseln am Kundenendpunkt einen Bucket. Laden Sie eine Datei hoch.
4. Nach dem Abrechnungstakt der nächsten Stunde zeigt **S3 accounts** die Nutzung an.

## Grenzwerte und Hinweise {#limits-and-notes}

- Ein Backend, dem bereits Konten zugeordnet sind, behält seine **Zone, seinen Endpunkt und seine Region**; um diese zu ändern, erstellen Sie ein neues Backend.
- Eine Zone kann ein eigenes Backend haben; Konten und Backends sind dauerhaft an eine Zone gebunden.
- Das Free Tier und „Uploads sind kostenlos“ sind feste Regeln und keine Optionen.
- Schlüssel werden verschlüsselt gespeichert; die Konsole zeigt nur ein Feld mit der Beschriftung „leer lassen, um den aktuellen Schlüssel beizubehalten“. Ein Schlüsselpaar wird immer gemeinsam eingegeben.
- Die Secret Keys der Kunden werden einmal bei der Erstellung angezeigt und danach nie wieder. Ein verlorener Schlüssel wird durch Rotation ersetzt.

## Fehlerbehebung {#troubleshooting}

| Symptom | Ursache | Behebung |
|---|---|---|
| "Endpoint requires HTTPS" | Der Endpunkt verwendet unverschlüsseltes HTTP | HTTPS auf Port 443 bereitstellen. |
| "Endpoint-Port nicht zulässig" | Ein anderer Port als 443 | Den Standard-HTTPS-Port verwenden. |
| "Endpoint-Adresse nicht zulässig" | Der Name wird zu einer privaten, Loopback-, Link-Local- oder Unique-Local-Adresse aufgelöst | Verwenden Sie eine öffentliche Adresse. |
| "Endpoint darf nur Protokoll und Host enthalten" | Die URL enthält einen Pfad, eine Abfrage oder Benutzerinformationen | Verwenden Sie nur `https://host`. |
| "Endpoint konnte nicht aufgelöst werden" | DNS wird vom Panel-Server aus nicht aufgelöst | Beheben Sie das DNS-Problem. |
| "Failed to connect to Ceph" | Firewall- oder TLS-Fehler | Testen Sie mit `curl` vom Panel-Server aus. |
| "Ceph returned HTTP 403 AccessDenied" | Falsche Schlüssel oder fehlende Berechtigungen | Überprüfen Sie die Schlüssel und führen Sie `radosgw-admin caps add` erneut aus. |
| "Invalid Ceph response" | Der Endpunkt ist keine RGW Admin Ops API | Verweisen Sie darauf auf das RGW, nicht auf eine Webseite. |
| "Verbindungstest muss vor Aktivierung des Verkaufs erfolgreich sein" | Sie haben den Verkauf vor einem erfolgreichen **Check** aktiviert | Führen Sie **Check** aus und aktivieren Sie dann den Verkauf. |
| "Alle neuen Schlüssel für den Endpoint sind erforderlich" | Endpunkt ohne beide Schlüssel geändert | Geben Sie den Access Key und den Secret Key zusammen ein. |
| "Backend enthält bereits verknüpfte Ressourcen; erstellen Sie ein neues Backend, um Zone oder Endpoint zu ändern" | Auf diesem Backend existieren Konten | Erstellen Sie ein neues Backend. |
| "Master-Zone mit S3-Dienst auswählen" | Die Zone ist keine Master-Zone oder verfügt über keinen S3-Dienst | Wählen Sie **Object Storage (S3)** für die Zone aus. |
| "Invalid region" | Die Region enthält andere Zeichen als Buchstaben, Ziffern, `-` und `_` | Verwenden Sie `default` oder Ihren RGW-Zonegroup-Namen. |
| "Ceph-Nutzungsübersicht fehlt; nicht abgerechnet" | Nutzungsprotokoll deaktiviert | Aktivieren Sie `rgw_enable_usage_log`. |
