Concetti — Bucket S3
Architettura
Il servizio Object Storage di Hikube è compatibile S3. I dati sono replicati automaticamente su 3 datacenter geograficamente distinti, il che mantiene la disponibilità anche in caso di perdita completa di un datacenter.
Terminologia
| Termine | Descrizione |
|---|---|
| Bucket | Spazio di storage a oggetti creato dalla console (menu Infrastructure → S3 Buckets). |
| Nome del bucket (console) | Nome scelto alla creazione. Identifica il bucket nella console e non può essere modificato. |
| S3 Bucket Name | Nome effettivo del bucket lato S3, generato dalla piattaforma nella forma bucket-<identificativo>. È questo nome che i suoi client S3 devono utilizzare: con il nome della console ricevono AccessDenied. È visualizzato nella pagina del bucket non appena il bucket ha un utente. |
| S3 Endpoint | Indirizzo del servizio S3 (ad esempio prod.s3.hikube.cloud), visualizzato nella pagina del bucket. |
| Utente S3 | Identità associata a un bucket, con un diritto Read-only o Read / Write. Un bucket può avere più utenti. |
| Access Key ID / Secret Access Key | Coppia di chiavi di autenticazione S3 di un utente, generata alla sua creazione. La chiave segreta viene mostrata una sola volta. |
| Object Lock (WORM) | Object Lock (Write Once, Read Many): ogni oggetto è bloccato per 365 giorni dopo la sua scrittura, in modalità COMPLIANCE; nessuno può modificarlo né eliminarlo prima della scadenza. |
| Encryption at rest (LUKS) | Cifratura dei dati memorizzati su disco. |
Funzionamento
Creazione
Un bucket si crea con la procedura guidata Create a bucket. Solo il nome è obbligatorio; alla creazione è possibile attivare due opzioni:
- Enable Object Lock (WORM)
- Enable encryption at rest (LUKS)
La procedura guidata chiede inoltre di creare almeno un utente S3. Al termine, la console mostra per ciascun utente S3 Bucket Name, Access Key, Secret Key e API Endpoint (S3).
Il nome, il blocco e la cifratura si scelgono alla creazione. La console non permette di modificarli in seguito.
Utenti e diritti
| Diritto | Etichetta nella console | Effetto |
|---|---|---|
| Lettura / scrittura | Read / Write | Elencare, leggere, scrivere ed eliminare oggetti del bucket |
| Sola lettura | Read-only | Solo elencare e leggere gli oggetti |
Il diritto di un utente si modifica in qualsiasi momento con Edit access, in entrambi i sensi: deselezionando Read-only access l'utente torna in Read / Write. Le chiavi di un utente non possono essere visualizzate di nuovo: per ottenere nuove chiavi, crei un nuovo utente e poi elimini quello precedente.
Ambito delle chiavi
Le chiavi di un utente danno accesso unicamente al bucket a cui è associato. Non permettono di elencare tutti i bucket dell'endpoint: i comandi devono sempre indicare il bucket (s3://<nome-del-bucket-s3>/).
Eliminazione
L'eliminazione di un bucket si conferma inserendone il nome. Ciò che accade agli oggetti dipende dal blocco:
| Bucket | Effetto dell'eliminazione |
|---|---|
| Senza blocco | Il bucket e tutti i suoi oggetti vengono eliminati definitivamente, anche se non è vuoto. |
| Bloccato (WORM) | Il bucket viene rimosso dalla console, ma la piattaforma conserva il suo storage e tutti i suoi oggetti. Ogni oggetto resta bloccato per 365 giorni dopo la sua scrittura (modalità COMPLIANCE). |
La finestra di conferma indica il caso che si applica.
Replica multi-datacenter
| Datacenter | Ubicazione |
|---|---|
| Region 1 | Ginevra |
| Region 2 | Gland |
| Region 3 | Lucerna |
La replica è trasparente: non deve configurare nulla.
Tariffe
La procedura guidata mostra un Estimated Cost per GB al mese (e all'ora). La tariffa dipende dalla cifratura: un bucket cifrato ha una tariffa distinta rispetto a un bucket standard.
Strumenti compatibili
| Strumento | Caso d'uso |
|---|---|
| AWS CLI | Gestione dei file da riga di comando |
| MinIO Client (mc) | Client compatibile S3 |
| rclone | Sincronizzazione e migrazione di dati |
| s3cmd | Gestione S3 alternativa |
| Velero | Backup di cluster Kubernetes |
| Restic | Backup di file e di database |
| SDK | boto3 (Python), AWS SDK (Go, Java, Node.js) |
Limiti
| Parametro | Valore |
|---|---|
| Nome del bucket | Da 3 a 16 caratteri: lettere minuscole, cifre e trattini; inizia con una lettera, termina con una lettera o una cifra |
| Nome utente S3 | Da 3 a 16 caratteri, stesse regole; alcuni nomi sono riservati |
| Utenti per bucket | Almeno uno alla creazione |
| Replica | 3 datacenter, automatica |
Per approfondire
- Panoramica: presentazione del servizio
- Avvio rapido: creare il primo bucket
- Gestire gli utenti e le chiavi di accesso