---
title: Object Storage (S3, Ceph RGW)
description: Vendi storage S3 pay-as-you-go sul tuo cluster Ceph: requisiti RGW, utente admin e privilegi, e come collegare il backend a una zona in NexCMP.
url: https://nexcmp.com/it/docs/infrastructure/s3/
applies_to: NexCMP 1.6.1
updated: 2026-11-02
---

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

> **Dove trovarlo nel pannello:** Infrastructure › Cloud provider › Ceph S3 (RGW) (`/infra/s3`). Account: Services › Object Storage › S3 accounts (`/s3`). Prezzi: Services › Object Storage › PAYG pricing (`/s3/policy`). Attiva il modulo in System › Admin › License & updates.

## Descrizione {#what-it-does}

I clienti creano account S3 dal portale e ottengono le chiavi di accesso. NexCMP crea ed elimina gli utenti corrispondenti sul tuo **Ceph RADOS Gateway (RGW)** tramite la RGW Admin Ops API, legge l'utilizzo per la fatturazione e addebita il pay-as-you-go: storage oltre una soglia gratuita per GB al mese (fatturato a ore) e traffico di download per GB. I caricamenti sono gratuiti.

Usalo quando gestisci un cluster Ceph con RGW e desideri rivendere object storage.

## Requisiti {#requirements}

| Elemento | Requisito |
|---|---|
| Ceph | Un cluster con almeno un demone RGW, con la **Admin Ops API** abilitata (l'impostazione predefinita `rgw_enable_apis` include `admin`). |
| Utente admin | Un utente RGW per NexCMP con le funzionalità elencate di seguito. Non utilizzare un utente che possiede i dati dei clienti. |
| Endpoint | L'endpoint S3 utilizzato dai clienti e l'endpoint Admin Ops. Entrambi sono scritti come `https://host` **senza percorso, solo porta 443**, e devono risolversi in un indirizzo **pubblico**: gli indirizzi loopback, link-local, multicast, privati e unique-local vengono rifiutati. |
| Certificato | Un certificato valido per l'host dell'endpoint. |
| Log di utilizzo | Logging dell'utilizzo RGW attivo (`rgw_enable_usage_log = true`), in modo che l'API di utilizzo possa segnalare il traffico. |
| Zona | Una zona master con il servizio **Object Storage (S3)** spuntato. Vedi [Zones](https://nexcmp.com/it/docs/infrastructure/zones/). |
| Storage | Capacità in Ceph per le quote che vendi. |
| Dipende da | Il modulo **Object Storage**. Il traffico di download concorre inoltre al conteggio di [Bandwidth](https://nexcmp.com/it/docs/catalog/bandwidth/). |

## Prepara l'infrastruttura {#prepare-the-infrastructure}

Su un nodo admin Ceph:

1. Crea l'utente admin e assegnagli le funzionalità Admin Ops necessarie:

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

   Copia `access_key` e `secret_key` dall'output. Sono la **Admin access key** e la **Admin secret key** in NexCMP.

2. Attiva il log di utilizzo e riavvia i gateway:

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

3. Posiziona i gateway dietro HTTPS sulla porta 443 (un reverse proxy o il TLS nativo di RGW), pubblica il nome DNS ed esegui il test dal server del pannello:

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

   Dovresti ricevere una risposta XML S3 (HTTP 200 o 403), non un timeout.


## Collega in NexCMP {#connect-in-nexcmp}

1. **Assegna il servizio S3 a una zona.** Apri **Infrastructure › Datacenter › Zone**, modifica la zona e spunta **Object Storage (S3)**. Solo le zone master con il servizio S3 compaiono nel modulo di backend.


2. Apri **Infrastructure › Cloud provider › Ceph S3 (RGW)** e clicca **Add backend**:

   | Campo | Valore di esempio |
   |---|---|
   | Backend name | `Ceph RGW 1` |
   | Zona | la zona del passaggio 1 |
   | RGW Admin Ops endpoint | `https://s3.example.com` |
   | Endpoint S3 cliente | `https://s3.example.com` |
   | Regione di firma S3 | `default` |
   | Chiave di accesso amministrativa | `XXXX` |
   | Chiave segreta amministrativa | `XXXX` |
   | Active | on |
   | Abilita vendite (richiede prima il test di connessione) | **off** per ora |
   | Motivo della modifica | `initial setup` |

      ![Finestra di dialogo S3 del backend con endpoint di esempio, regione e chiavi mascherate](https://nexcmp.com/it/docs/images/infrastructure/s3-02-backend-dialog.webp)

3. Fai clic su **OK** (salva), quindi su **Check** nella riga. NexCMP chiama l'API Admin Ops con la chiave admin. **Ceph connection successful** e il tag **Verified** indicano che funziona.


4. Fai clic su **Edit**, attiva l'opzione **Enable sales** e salva. NexCMP si rifiuta di aprire le vendite finché un controllo non va a buon fine.
5. Apri **Services › Object Storage › PAYG pricing** e imposta i prezzi:

   | Campo | Significato |
   |---|---|
   | Spazio oltre il piano gratuito (VND/GB/mese) | Prezzo dello spazio; fatturato a ore come prezzo mensile diviso per 730. |
   | Download (VND/GB) | Prezzo per il traffico in uscita. |
   | Upload (VND/GB) | Sempre 0. |
   | Livello gratuito con VM in esecuzione (GB) | Fissato a 100 GB per account finché il cliente ha almeno una VM in esecuzione, condiviso tra i relativi account S3 in base alle dimensioni. |
   | Limite di debito (VND) | L'ammontare di utilizzo non pagato consentito. |
   | Soglia di fatturazione (VND) | L'utilizzo viene aggregato in un'unica fattura una volta superato questo importo. |
   | Saldo minimo per creare S3 (VND) | Saldo del portafoglio necessario per creare un account. |
   | Max account S3 per cliente, Quota tecnica predefinita (GB) | Limiti per i nuovi account. |

      ![Modulo di prezzo S3 PAYG](https://nexcmp.com/it/docs/images/infrastructure/s3-04-pricing.webp)

   I prezzi S3 sono inseriti in VND. Vengono convertiti per la visualizzazione e gli addebiti sul portafoglio al tasso di cambio in vigore; vedi [Currency and exchange rates](https://nexcmp.com/it/docs/catalog/currency-and-exchange-rates/).

## Verifica {#verify}

1. **Check** restituisce "Ceph connection successful".
2. Come cliente (o con un account di test), crea un account S3. Su Ceph, `radosgw-admin user list` mostra un nuovo utente e **S3 accounts** lo elenca.
3. Crea un bucket con qualsiasi client S3 utilizzando le chiavi del cliente rispetto all'endpoint del cliente. Carica un file.
4. Dopo il ciclo di fatturazione dell'ora successiva, **S3 accounts** mostra l'utilizzo.

## Limiti e note {#limits-and-notes}

- Un backend che ha già account associati mantiene la propria **zona, endpoint e regione**; per modificarli, crea un nuovo backend.
- Una zona può avere il proprio backend; account e backend sono associati definitivamente a una zona.
- Il livello gratuito e "gli upload sono gratuiti" sono regole fisse, non opzioni.
- Le chiavi vengono memorizzate crittografate; la console mostra solo un campo "lascia vuoto per mantenere la chiave corrente". Una coppia di chiavi viene sempre inserita insieme.
- Le chiavi segrete dei clienti vengono mostrate una volta sola alla creazione, mai più. Una chiave smarrita viene sostituita rigenerandola.

## Troubleshooting {#troubleshooting}

| Sintomo | Causa | Soluzione |
|---|---|---|
| "Endpoint requires HTTPS" | L'endpoint utilizza HTTP in chiaro | Pubblica HTTPS sulla porta 443. |
| "Porta dell'endpoint non consentita" | Una porta diversa dalla 443 | Usa la porta HTTPS standard. |
| "Indirizzo dell'endpoint non consentito" | Il nome viene risolto in un indirizzo privato, di loopback, link-local o unique-local | Usa un indirizzo pubblico. |
| "L'endpoint deve contenere solo protocollo e host" | L'URL contiene un percorso, una query o informazioni utente | Usa solo `https://host`. |
| "Impossibile risolvere l'endpoint" | Il DNS non viene risolto dal server del pannello | Correggi il DNS. |
| "Failed to connect to Ceph" | Errore di firewall o TLS | Esegui il test con `curl` dal server del pannello. |
| "Ceph returned HTTP 403 AccessDenied" | Chiavi errate o funzionalità mancanti | Verifica le chiavi ed esegui nuovamente `radosgw-admin caps add`. |
| "Invalid Ceph response" | L'endpoint non è un'API RGW Admin Ops | Puntalo verso RGW, non verso una pagina web. |
| "Il test di connessione deve riuscire prima di abilitare le vendite" | Hai attivato le vendite prima di un **Check** riuscito | Esegui **Check**, quindi abilita le vendite. |
| "Tutte le nuove chiavi per l'endpoint sono obbligatorie" | L'endpoint è stato modificato senza entrambe le chiavi | Inserisci la chiave di accesso e la chiave segreta insieme. |
| "Il backend ha già risorse collegate; crea un nuovo backend per cambiare zona o endpoint" | Esistono account su questo backend | Crea un nuovo backend. |
| "Seleziona la master zone con il servizio S3" | La zona non è una zona master o non dispone del servizio S3 | Seleziona **Object Storage (S3)** sulla zona. |
| "Invalid region" | La regione contiene caratteri diversi da lettere, cifre, `-` e `_` | Usa `default` o il nome del tuo RGW zonegroup. |
| "Riepilogo dell'utilizzo di Ceph mancante; non fatturato" | Log di utilizzo disabilitato | Abilita `rgw_enable_usage_log`. |
