Migrazione di un cluster con provisioning ad Amazon Redshift Serverless - Amazon Redshift

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Migrazione di un cluster con provisioning ad Amazon Redshift Serverless

Puoi migrare i cluster predisposti esistenti su Amazon Redshift Serverless, abilitando la scalabilità on-demand e automatica delle risorse di elaborazione. La migrazione di un cluster predisposto su Amazon Redshift Serverless consente di ottimizzare i costi pagando solo per le risorse utilizzate e scalando automaticamente la capacità in base alle richieste del carico di lavoro. I casi d'uso più comuni per la migrazione includono l'esecuzione di query ad hoc, processi periodici di elaborazione dei dati o la gestione di carichi di lavoro imprevedibili senza sovradimensionare le risorse. Esegui la seguente serie di attività per migrare il cluster Amazon Redshift di cui hai effettuato il provisioning verso l'opzione di distribuzione serverless.

Creazione di uno snapshot del cluster con provisioning

Per trasferire i dati dal cluster con provisioning ad Amazon Redshift Serverless, crea uno snapshot del cluster, quindi ripristina lo snapshot in Amazon Redshift Serverless. Amazon Redshift converte automaticamente le chiavi interlacciate in chiavi composte quando si ripristina uno snapshot di cluster con provisioning in uno spazio dei nomi serverless.

Nota

Prima di migrare i dati verso un gruppo di lavoro serverless, assicurati che le esigenze del cluster a cui è stato assegnato il provisioning siano compatibili con la quantità che RPU scegli in Amazon Redshift Serverless.

Creazione di uno snapshot del cluster con provisioning

  1. Accedi al AWS Management Console e apri la console Amazon Redshift all'indirizzo. https://console.aws.amazon.com/redshiftv2/

  2. Dal menu di navigazione, scegli Clusters (Cluster), Snapshots (Snapshot), quindi scegli Create snapshot (Crea snapshot).

  3. Inserisci le proprietà della definizione dello snapshot, quindi scegli Create snapshot (Crea snapshot). La disponibilità dello snapshot potrebbe richiedere del tempo.

Per ripristinare uno snapshot cluster con provisioning in uno spazio dei nomi serverless:

  1. Accedi al AWS Management Console e apri la console Amazon Redshift all'indirizzo. https://console.aws.amazon.com/redshiftv2/

  2. Avvia la console del cluster con provisioning Amazon Redshift e passa alla pagina Clusters (Cluster), Snapshots (Snapshot).

  3. Scegliere uno snapshot da utilizzare.

  4. Sceglie Ripristina da snapshot (Restore snapshot), Restore to serverless namespace (Ripristina su spazio dei nomi serverless).

  5. Scegli uno spazio dei nomi in cui ripristinare lo snapshot.

  6. Conferma di voler eseguire il ripristino dallo snapshot. Questa azione sostituisce tutti i database dell'endpoint serverless con i dati del cluster sottoposto a provisioning. Scegli Restore (Ripristina).

Per ulteriori informazioni sugli snapshot del cluster con provisioning, consulta Snapshot di Amazon Redshift.

Connessione ad Amazon Redshift serverless usando un driver

Per connetterti ad Amazon Redshift Serverless con il tuo SQL client preferito, puoi utilizzare il driver versione 2 del driver fornito JDBC da Amazon Redshift. Ti consigliamo di connetterti utilizzando la versione del JDBC driver 2.1.x o successiva. Il numero di porta è facoltativo. Se non lo includi, Amazon Redshift Serverless utilizzerà il numero di porta 5439. È possibile passare a un'altra porta compresa nell'intervallo 5431-5455 o 8191-8215. Per modificare la porta predefinita per un endpoint serverless, usa AWS CLI e Amazon RedshiftAPI.

Per trovare l'endpoint esatto da utilizzare per il driver, o Python JDBCODBC, consulta Configurazione del gruppo di lavoro in Amazon Redshift Serverless. Puoi anche utilizzare il funzionamento Serverless API di Amazon Redshift o GetWorkgroup AWS CLI operazione get-workgroups per restituire informazioni sul gruppo di lavoro e quindi connettersi.

Connessione tramite autenticazione basata su password

Per connetterti tramite l'autenticazione basata su password, utilizza la sintassi seguente.

jdbc:redshift://<workgroup-name>.<account-number>.<aws-region>.redshift-serverless.amazonaws.com:5439/?username=enter a username&password=enter a password

Per connettersi tramite il driver Python di Amazon Redshift, utilizzare la sintassi seguente.

import redshift_connector with redshift_connector.connect( host='<workgroup-name>.<account-number>.<aws-region>.redshift-serverless.amazonaws.com', database='<database-name>', user='enter a user', password='enter a password' # port value of 5439 is specified by default ) as conn: pass

Connessione tramite IAM

Se preferisci accedere conIAM, usa il seguente endpoint del driver. Questo endpoint driver ti consente di connetterti a un database specifico e utilizza il funzionamento Serverless di Amazon Redshift GetCredentialsAPI.

jdbc:redshift:iam://<workgroup-name>.<account-number>.<aws-region>.redshift-serverless.amazonaws.com:5439/<database-name>

Questo endpoint del driver non supporta la personalizzazione di dbUser, dbGroup e auto-create. Per impostazione predefinita, il driver crea automaticamente gli utenti del database al momento dell'accesso e li assegna ai gruppi in base ai gruppi in cui sono stati definiti. IAM Nota: i nomi di gruppo specificati IAM devono contenere solo lettere minuscole, numeri, trattino basso ('_'), segno più ('+'), punto (punto), simbolo di chiocciola (@) o trattino ('-'). In caso contrario, il driver potrebbe non connettersi a dbGroup.

Assicurati che il tuo AWS identity ha la IAM politica corretta per l'RedshiftServerlessGetCredentialsazione. Di seguito è riportato un esempio di IAM politica che concede le autorizzazioni corrette a un AWS identità per connettersi ad Amazon Redshift Serverless. Per ulteriori informazioni sulle IAM autorizzazioni, consulta Add IAM Identity Permissions.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Action": "redshift-serverless:GetCredentials", "Resource": "*" } ] }

Connessione tramite IAM e dbUser dbGroups

Se desideri utilizzare opzioni personalizzate dbUser e di dbGroups connessione, utilizza il seguente endpoint del driver. Analogamente all'altro endpoint del driver di Amazon Redshift Serverless, questa sintassi crea automaticamente gli utenti del database al momento dell'accesso. Questo endpoint driver utilizza il funzionamento Serverless di Amazon Redshift GetCredentialsAPI. dbUser deve iniziare con una lettera, deve contenere solo caratteri alfanumerici, trattino basso ('_'), segno più ('+'), punto ('.'), punto ('@') o trattino ('-') e deve contenere meno di 128 caratteri. dbGroups deve contenere solo lettere minuscole, numeri, trattino basso ('_'), segno più ('+'), punto (punto), simbolo della chiocciola (@) o trattino.

jdbc:redshift:iam://redshift-serverless-<workgroup-name>:<aws-region>/<database-name>

Per connettersi tramite il driver Python di Amazon Redshift, utilizzare la sintassi seguente.

import redshift_connector with redshift_connector.connect( iam=True, host='<workgroup-name>.<account-number>.<aws-region>.redshift-serverless.amazonaws.com', database='<database-name>', db_user='enter a user', password='enter a password', db_groups='<db-groups>' # port value of 5439 is specified by default ) as conn: pass

Connessione tramite ODBC

Per connettersi utilizzandoODBC, utilizzare la seguente sintassi.

Driver={Amazon Redshift (x64)}; Server=<workgroup-name>.<account-number>.<aws-region>.redshift-serverless.amazonaws.com; Database=dev

Utilizzo di Amazon Redshift Serverless SDK

Se hai scritto degli script di gestione utilizzando Amazon SDK Redshift, devi utilizzare il nuovo Amazon Redshift Serverless SDK per gestire Amazon Redshift Serverless e le risorse associate. Per ulteriori informazioni sulle API operazioni disponibili, consulta la guida di riferimento di Amazon Redshift Serverless API.