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
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
| 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. |
| 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. |
Prepara l'infrastruttura
Su un nodo admin Ceph:
Crea l'utente admin e assegnagli le funzionalità Admin Ops necessarie:
bashradosgw-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-adminCopia
access_keyesecret_keydall'output. Sono la Admin access key e la Admin secret key in NexCMP.Attiva il log di utilizzo e riavvia i gateway:
bashceph config set client.rgw rgw_enable_usage_log truePosiziona 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:
bashcurl -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
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.
Apri Infrastructure › Cloud provider › Ceph S3 (RGW) e clicca Add backend:
Campo Valore di esempio Backend name Ceph RGW 1Zona la zona del passaggio 1 RGW Admin Ops endpoint https://s3.example.comEndpoint S3 cliente https://s3.example.comRegione di firma S3 defaultChiave di accesso amministrativa XXXXChiave segreta amministrativa XXXXActive on Abilita vendite (richiede prima il test di connessione) off per ora Motivo della modifica initial setup
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.
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.
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. 
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.
Verifica
- Check restituisce "Ceph connection successful".
- Come cliente (o con un account di test), crea un account S3. Su Ceph,
radosgw-admin user listmostra un nuovo utente e S3 accounts lo elenca. - Crea un bucket con qualsiasi client S3 utilizzando le chiavi del cliente rispetto all'endpoint del cliente. Carica un file.
- Dopo il ciclo di fatturazione dell'ora successiva, S3 accounts mostra l'utilizzo.
Limiti e note
- 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
| 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. |