Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del 1 de noviembre de 2025. Si desea utilizar las UDF de Python, créelas antes de esa fecha. Las UDF de Python existentes seguirán funcionando con normalidad. Para obtener más información, consulte la publicación del blog
Migrar un clúster aprovisionado a Amazon Redshift Serverless
Puede migrar los clústeres aprovisionados existentes a Amazon Redshift sin servidor, lo que permite el escalado bajo demanda y automático de los recursos de computación. La migración de un clúster aprovisionado a Amazon Redshift sin servidor le permite optimizar los costos al pagar solo por los recursos que utilice y escalar de forma automática la capacidad en función de las demandas de carga de trabajo. Entre los casos de uso más comunes para la migración se incluyen la ejecución de consultas ad hoc, los trabajos periódicos de procesamiento de datos o la gestión de cargas de trabajo impredecibles sin aprovisionar recursos en exceso. Realice el siguiente conjunto de tareas para migrar el clúster de Amazon Redshift aprovisionado a la opción de implementación sin servidor.
Creación de una instantánea del clúster aprovisionado
nota
Amazon Redshift convierte automáticamente las claves intercaladas en claves compuestas al restaurar una instantánea de clúster aprovisionada en un espacio de nombres sin servidor.
Para transferir datos del clúster aprovisionado a Amazon Redshift Serverless, cree una instantánea del clúster aprovisionado y, a continuación, restaure la instantánea en Amazon Redshift Serverless.
nota
Antes de migrar los datos a un grupo de trabajo sin servidor, asegúrese de que las necesidades de clústeres aprovisionados sean compatibles con la cantidad de RPU que elija en Amazon Redshift sin servidor.
Para crear una instantánea del clúster aprovisionado
Inicie sesión en la AWS Management Console y abra la consola de Amazon Redshift en https://console.aws.amazon.com/redshiftv2/
. -
En el menú de navegación, elija Clusters (Clústeres), Snapshots (Instantáneas) y, a continuación, elija Create snapshot (Crear instantánea).
-
Introduzca las propiedades de la definición de instantánea, luego seleccione Create snapshot (Crear instantánea). La instantánea puede tardar un poco en estar disponible.
Para restaurar una instantánea de clúster aprovisionada en un espacio de nombres sin servidor:
Inicie sesión en la AWS Management Console y abra la consola de Amazon Redshift en https://console.aws.amazon.com/redshiftv2/
. -
Comience en la consola del clúster aprovisionado de Amazon Redshift y diríjase a las páginas Clusters (Clústeres), Snapshots (Instantáneas).
-
Elija la instantánea que desea utilizar.
-
Elija Restore snapshot (Restaurar instantánea), Restore to serverless namespace (Restaurar al espacio de nombres sin servidor).
-
Elija un espacio de nombres en el cual restaurar la instantánea.
-
Confirme que desea restaurar desde su instantánea. Esta acción reemplaza todas las bases de datos en su punto de conexión sin servidor por los datos de su clúster aprovisionado. Elija Restore (Restaurar).
Para obtener más información sobre las instantáneas del clúster aprovisionado, consulte Instantáneas de Amazon Redshift.
Conexión a Amazon Redshift sin servidor con un controlador
Para conectarse a Amazon Redshift sin servidor con el cliente SQL de su preferencia, puede utilizar el controlador JDBC versión 2.x proporcionado por Amazon Redshift. Se recomienda conectarse a Amazon Redshift mediante la última versión del controlador JDBC versión 2.x de Amazon Redshift. El número de puerto es opcional. Si no lo incluye, Amazon Redshift Serverless utiliza el puerto número 5439 de forma predeterminada. Puede cambiar a otro puerto del intervalo de puertos 5431-5455 u 8191-8215. Para cambiar el puerto predeterminado de un punto de conexión sin servidor, utilice la AWS CLI y la API de Amazon Redshift.
Para encontrar el punto de conexión exacto que se debe utilizar para el controlador JDBC, ODBC o Python, consulte Configuración de grupos de trabajo en Amazon Redshift sin servidor. También puede utilizar la operación GetWorkgroup de la API de Amazon Redshift sin servidor o la operación get-workgroups de la AWS CLI para devolver información sobre el grupo de trabajo y, a continuación, conectarse.
Conexión mediante autenticación basada en contraseña
Para establecer una conexión mediante autenticación basada en contraseña del controlador JDBC versión 2.x de Amazon Redshift, utilice la sintaxis siguiente:
jdbc:redshift://<workgroup-name>.<account-number>.<aws-region>.redshift-serverless.amazonaws.com:5439/?username=username&password=password
Para establecer una conexión mediante autenticación basada en contraseña del conector Python de Amazon Redshift, utilice la sintaxis siguiente:
import redshift_connector with redshift_connector.connect( host='<workgroup-name>.<account-number>.<aws-region>.redshift-serverless.amazonaws.com', database='<database-name>', user='username', password='password' # port value of 5439 is specified by default ) as conn: pass
Para establecer una conexión mediante autenticación basada en contraseña del controlador ODBC versión 2.x de Amazon Redshift, utilice la sintaxis siguiente:
Driver={Amazon Redshift ODBC Driver (x64)}; Server=<workgroup-name>.<account-number>.<aws-region>.redshift-serverless.amazonaws.com; Database=database-name; User=username; Password=password
Conexión mediante IAM
Si prefiere iniciar sesión con IAM, utilice la operación de la API GetCredentials de Amazon Redshift sin servidor.
Para usar la autenticación de IAM, agregue iam: a la URL de JDBC de Amazon Redshift detrás de jdbc:redshift:, como se muestra en el ejemplo siguiente.
jdbc:redshift:iam://<workgroup-name>.<account-number>.<aws-region>.redshift-serverless.amazonaws.com:5439/<database-name>
Este punto de conexión de Amazon Redshift sin servidor no admite la personalización de dbUser, dbGroup o auto-create. De forma predeterminada, el controlador crea automáticamente usuarios de la base de datos al iniciar sesión. A continuación, asigna a los usuarios los roles de base de datos de Amazon Redshift en función de las etiquetas especificadas en IAM o de los grupos definidos en el proveedor de identidades (IdP).
Asegúrese de que su identidad de AWS tenga la política de IAM correcta para la acción redshift-serverless:GetCredentials. A continuación, se muestra una política de IAM de ejemplo que concede los permisos correctos a una identidad de AWS para conectarse a Amazon Redshift Serverless. Para obtener más información sobre los permisos de IAM, consulte Agregación y eliminación de permisos de identidad de IAM en la Guía del usuario de IAM.
Para establecer una conexión mediante autenticación basada en IAM del conector Python de Amazon Redshift, utilice iam=true en el código, como se muestra en la sintaxis siguiente:
import redshift_connector with redshift_connector.connect( iam=True, host='<workgroup-name>.<account-number>.<aws-region>.redshift-serverless.amazonaws.com', database='<database-name>' <IAM credentials> ) as conn: pass
Para IAM credentials, puede utilizar cualquier credencial, incluidas las siguientes:
-
Configuración del perfil de AWS.
-
Credenciales de IAM (un ID de clave de acceso, clave de acceso secreta y, de forma opcional, token de sesión).
-
Federación de proveedores de identidades.
Para establecer una conexión mediante autenticación basada en IAM del controlador ODBC versión 2.x de Amazon Redshift y un perfil, utilice la sintaxis siguiente:
Driver={Amazon Redshift ODBC Driver (x64)}; IAM=true; Server=<workgroup-name>.<account-number>.<aws-region>.redshift-serverless.amazonaws.com; Database=database-name; Profile=aws-profile-name;
Conexión mediante IAM con la API GetClusterCredentials
nota
Al conectarse a Amazon Redshift sin servidor, le recomendamos que utilice la API GetCredentials. Esta API ofrece una funcionalidad integral de control de acceso basado en roles (RBAC), así como otras características nuevas que no están disponibles en GetClusterCredentials. Admitimos la API de GetClusterCredentials para simplificar la transición de los clústeres aprovisionados a los grupos de trabajo sin servidor, pero recomendamos encarecidamente migrar para usar GetCredentials lo antes posible para lograr una compatibilidad óptima.
Puede establecer una conexión con Amazon Redshift sin servidor mediante la API GetClusterCredentials. Para implementar este método de autenticación, modifique el cliente o aplicación incorporando los siguientes parámetros:
iam=trueclusterid/cluster_identifier=redshift-serverless-<workgroup-name>region=<aws-region>
En los ejemplos siguientes, se muestra el complemento BrowserSAML en los tres controladores. Esto representa uno de los varios enfoques de autenticación disponibles. Los ejemplos se pueden modificar para utilizar métodos de autenticación o complementos alternativos de acuerdo con sus requisitos específicos.
Permisos de política de IAM para GetClusterCredentials
A continuación, se muestra un ejemplo de política de IAM con los permisos necesarios para usar GetClusterCredentials con Amazon Redshift sin servidor:
Para establecer una conexión mediante el controlador JDBC versión 2.x de Amazon Redshift con GetClusterCredentials, utilice la sintaxis siguiente:
jdbc:redshift:iam://redshift-serverless-<workgroup-name>:<aws-region>/<database-name>?plugin_name=com.amazon.redshift.plugin.BrowserSamlCredentialsProvider&login_url=<single sign-on URL from IdP>"
Para establecer una conexión mediante el conector Python de Amazon Redshift con GetClusterCredentials, utilice la sintaxis siguiente:
import redshift_connector with redshift_connector.connect( iam=True, cluster_identifier='redshift-serverless-<workgroup-name>', region='<aws-region>', database='<database-name>', credentials_provider='BrowserSamlCredentialsProvider' login_url='<single sign-on URL from IdP>' # port value of 5439 is specified by default ) as conn: pass
Para establecer una conexión mediante el controlador ODBC versión 2.x de Amazon Redshift con GetClusterCredentials, utilice la sintaxis siguiente:
Driver= {Amazon Redshift ODBC Driver (x64)}; IAM=true; isServerless=true; ClusterId=redshift-serverless-<workgroup-name>; region=<aws-region>; plugin_name=BrowserSAML;login_url=<single sign-on URL from IdP>
A continuación, se muestra un ejemplo de configuración de DSN de ODBC en Windows:
Uso del SDK de Amazon Redshift Serverless
Si escribió scripts de administración con el SDK de Amazon Redshift, debe utilizar el nuevo SDK de Amazon Redshift sin servidor para administrar Amazon Redshift sin servidor. Para obtener más información sobre las operaciones de la API disponibles, consulte la Guía de referencia de la API de Amazon Redshift Serverless.