Skip to main content
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

Scopri lo spazio dei nomi globale per la grid federation

Collaboratori netapp-lhalbert netapp-pcarriga

Uno spazio dei nomi globale consente al tenant di accedere ai bucket su più sistemi StorageGRID. Quando lo spazio dei nomi globale è abilitato sulle connessioni di federazione della griglia, le richieste S3 CreateBucket e ListBuckets destinate all'endpoint dello spazio dei nomi globale possono essere inviate all'endpoint del bilanciatore di carico di qualsiasi griglia e vengono instradate automaticamente alla griglia corretta in base alla regione di firma nella richiesta.

Che cos'è uno spazio dei nomi globale?

Uno spazio dei nomi globale consente al tenant di accedere ai bucket su più sistemi StorageGRID. Quando lo spazio dei nomi globale è abilitato sulle connessioni di federazione della griglia, le richieste S3 CreateBucket e ListBuckets destinate all'endpoint dello spazio dei nomi globale possono essere inviate all'endpoint del bilanciatore di carico di qualsiasi griglia e vengono instradate automaticamente alla griglia corretta in base alla regione di firma nella richiesta.

Nota Dovresti configurare un DNS resolver per eseguire la mappatura DNS degli URL dei bucket su una griglia specifica. Se necessario, consulta il tuo amministratore di rete per assicurarti che il DNS resolver sia configurato correttamente. Consulta "Configura la risoluzione DNS".

StorageGRID non impone nomi di bucket univoci tra le griglie nello spazio dei nomi globale, quindi bucket con lo stesso nome possono esistere su griglie diverse. La regione di firma nella richiesta viene utilizzata per determinare quale griglia possiede il bucket e deve ricevere la richiesta.

Ad esempio, se Grid A utilizza la regione us-east-1 e Grid B utilizza la regione us-west-1, una richiesta CreateBucket inviata a qualsiasi grid con la regione us-west-1 viene automaticamente instradata a Grid B.

Per ulteriori informazioni sulla federazione di griglie, consulta "Che cos'è la federazione di griglie?".

Esempio di spazio dei nomi globale

Griglia 1
  • Regione predefinita: region-1

  • CNAME predefinito: s3.region-1.company.com

  • Endpoint globale: s3.company.com

Grid 2
  • Regione predefinita: region-2

  • CNAME predefinito: s3.region-2.company.com

  • Endpoint globale: s3.company.com

Griglia 3
  • Regione predefinita: region-3

  • CNAME predefinito: s3.region-3.company.com

  • Endpoint globale: s3.company.com

CreateBucket e ListBuckets operations

Se crei un bucket (bucket123 con regione di firma region-2 e lo indirizzi all'endpoint globale s3.company.com, qualsiasi grid che riceve la richiesta creerà il bucket su Grid 2.

Operazioni specifiche per bucket e operazioni generali sugli oggetti

Dopo che un bucket è stato creato su una determinata griglia, il tuo resolver DNS risolverà l'URL del bucket nel CNAME del bucket e della griglia.

Nel esempio sopra, il DNS resolver dovrebbe risolvere bucket123.s3.company.com in bucket123.s3.grid3.company.com (bucket e CNAME della grid). In altre parole, tutte le richieste vengono inviate direttamente a quella grid senza bisogno di routing aggiuntivo.

Esempio

PutObject to bucket123.s3.company.com risolve in bucket123.s3.grid3.company.com

Comportamento S3 con namespace globale

Dopo che lo spazio dei nomi globale è stato completamente configurato, si applica il seguente comportamento S3.

Applicazione della regione

Tutte le richieste S3 all'endpoint dello spazio dei nomi globale, eccetto "CreateBucket" e "ListBucket", richiedono che la regione di firma nell'intestazione di autenticazione V4 corrisponda alla regione predefinita della grid.

  • Se la regione di firma non corrisponde, la richiesta viene rifiutata con il seguente errore:

    An error occurred (AuthorizationHeaderMalformed) when calling the <operation> operation: The authorization header is malformed; the region '<signing-region>' is wrong; expecting '<grid-default-region>'
  • L'applicazione delle restrizioni regionali si applica a tutti i bucket della griglia, inclusi quelli creati prima dell'abilitazione dello spazio dei nomi globale.

  • L'applicazione delle restrizioni regionali si applica solo alle richieste di autenticazione V4. Le richieste anonime e V2 non sono soggette all'applicazione delle restrizioni regionali.

Routing CreateBucket

CreateBucket requests inviate all'endpoint dello spazio dei nomi globale (s3.company.com possono essere indirizzate all'endpoint del bilanciatore di carico di qualsiasi grid. La richiesta viene automaticamente instradata alla grid la cui regione predefinita corrisponde alla regione di firma nella richiesta.

Ad esempio:

  • La griglia A ha regione predefinita us-east-1 e la griglia B ha regione predefinita us-west-1.

  • Un client invia una richiesta CreateBucket a s3.company.com con regione di firma us-west-1.

  • Round-robin DNS indirizza la richiesta alla Grid A.

  • Grid A instrada la richiesta a Grid B.

  • Il bucket viene creato su Grid B.

Considerazioni aggiuntive per CreateBucket:

  • L' LocationConstraint`elemento può essere impostato su una qualsiasi delle regioni predefinite o non predefinite della griglia. Questo influisce solo sulla policy ILM, non su quale griglia crea il bucket (a differenza del comportamento di AWS con `us-east-1).

  • La regione di firma nella richiesta determina quale grid crea il bucket (la regione di firma deve corrispondere alla regione predefinita della grid di destinazione).

  • Le richieste V4 prefirmate sono supportate.

  • Le richieste anonime e V2 non sono supportate per il routing dello spazio dei nomi globale.

Routing di ListBuckets

ListBuckets richieste inviate all'endpoint dello spazio dei nomi globale vengono instradate in modo simile alle richieste CreateBucket, utilizzando la regione di firma per determinare la griglia corretta.

Né le risposte di HEAD Bucket né quelle di ListBuckets includono la regione predefinita della griglia. La regione predefinita è implicita nella regione di firma, che viene imposta in modo da corrispondere alla regione predefinita della griglia.

Gestione degli account e delle chiavi di accesso

Gli account tenant e le chiavi di accesso S3 possono essere sincronizzati tra tutte le griglie usando "sincronizzazione account", ma lo spazio dei nomi globale funziona anche quando ogni griglia ha il proprio set separato di chiavi di accesso. Se usi chiavi di accesso separate, assicurati che il client S3 usi la chiave di accesso corretta quando invia richieste a ciascuna griglia.

E ora?