Commencer avec zéro ETL intégration - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Commencer avec zéro ETL intégration

Avant de configurer votre ETL intégration zéro sur Amazon Redshift, configurez votre source d'intégration et configurez-la avec les paramètres et autorisations requis. Passez ensuite au reste de la configuration initiale depuis la console Amazon Redshift et. AWS CLI

Pour créer une ETL intégration zéro d'Aurora avec Amazon Redshift

Pour créer une ETL intégration zéro d'Aurora avec Amazon Redshift, procédez comme suit :

  1. Depuis la RDS console Amazon, créez un groupe de paramètres de cluster de base de données personnalisé, comme décrit dans le guide de l'utilisateur Amazon Aurora.

  2. À partir de la RDS console Amazon, créez un cluster de base de données Amazon Aurora source comme décrit dans le guide de l'utilisateur Amazon Aurora.

  3. À partir de la console Amazon Redshift : Création et configuration d’un entrepôt des données Amazon Redshift cible.

  4. À partir de la RDS console Amazon, créez une ETL intégration zéro comme décrit dans le guide de l'utilisateur Amazon Aurora.

  5. À partir de la console Amazon Redshift ou de l’éditeur de requêtes v2, créez une base de données Amazon Redshift à partir de votre intégration.

    Ensuite, interrogez et créez des vues matérialisées avec les données répliquées.

Pour créer une ETL intégration RDS zéro avec Amazon Redshift

Pour créer une ETL intégration RDS zéro avec Amazon Redshift, procédez comme suit :

  1. Depuis la RDS console Amazon, créez un groupe de paramètres de base de données personnalisé, comme décrit dans le guide de RDS l'utilisateur Amazon.

  2. Depuis la RDS console Amazon, créez une RDS instance Amazon source comme décrit dans le guide de RDS l'utilisateur Amazon.

  3. À partir de la console Amazon Redshift : Création et configuration d’un entrepôt des données Amazon Redshift cible.

  4. À partir de la RDS console Amazon, créez une ETL intégration zéro comme décrit dans le guide de RDS l'utilisateur Amazon.

  5. À partir de la console Amazon Redshift ou de l’éditeur de requêtes v2, créez une base de données Amazon Redshift à partir de votre intégration.

    Ensuite, interrogez et créez des vues matérialisées avec les données répliquées.

La RDS console Amazon propose un flux de création step-by-step d'intégration, dans lequel vous spécifiez la base de données source et l'entrepôt de données Amazon Redshift cible. Si des problèmes surviennent, vous pouvez choisir de demander à Amazon de les RDS résoudre pour vous au lieu de les résoudre manuellement sur la console Amazon RDS ou Amazon Redshift.

Création et configuration d’un entrepôt des données Amazon Redshift cible

Avant cette étape, créez votre source d'intégration et configurez les paramètres requis par le type de source pour les ETL intégrations nulles.

Au cours de cette étape, vous créez et configurez un entrepôt des données Amazon Redshift cible, tel qu’un groupe de travail Redshift sans serveur ou un cluster provisionné.

Votre entrepôt des données cible doit présenter les caractéristiques suivantes :

Note

Pour les ETL intégrations Aurora Postgre SQL et RDS My SQL zero- avec Amazon Redshift, tenez également compte des points suivants pour votre entrepôt de données cible :

  • Vous devez créer votre entrepôt des données en version préliminaire sur le suivi preview_2023. Vous ne pouvez pas utiliser les fonctionnalités de version préliminaire en production ni déplacer votre entrepôt des données en version préliminaire vers un déploiement en production.

  • Si vous choisissez de créer un cluster provisionné Amazon Redshift, ce cluster doit comporter au moins deux nœuds.

  • Pour les SQL sources Aurora Postgre, vous devez créer votre entrepôt de données cible dans la AWS région USA Est (Ohio). Notez que vous devez créer votre base de données source pour les ETL intégrations SQL zéro d'Aurora Postgre à l'aide de l'environnement Amazon RDS Database Preview.

    RDSPour Mes SQL sources, vous devez créer votre entrepôt de données cible dans une AWS région prise en charge. Pour obtenir la liste des AWS régions dans lesquelles les ETL intégrations RDS pour My SQL Zero sont disponibles, consultez la section Régions prises en charge pour les ETL intégrations zéro avec Amazon Redshift dans le guide de l'utilisateur Amazon RDS.

Pour créer votre entrepôt de données cible en version préliminaire pour votre Aurora Postgre SQL et RDS pour les ETL intégrations My SQL zero-, consultez l'une des rubriques suivantes en fonction de votre type de déploiement :

Pour créer votre entrepôt de données cible pour vos ETL intégrations Aurora My SQL zero-, consultez l'une des rubriques suivantes en fonction de votre type de déploiement :

Lorsque vous créez un cluster alloué, Amazon Redshift crée également un groupe de paramètres par défaut. Vous ne pouvez pas modifier le groupe de paramètres par défaut. Toutefois, vous pouvez créer un groupe de paramètres personnalisé avant de créer un nouveau cluster, puis l’associer au cluster. Une alternative consiste à modifier le groupe de paramètres qui sera associé au cluster créé. Vous devez également activer la distinction majuscules/minuscules pour le groupe de paramètres soit lors de la création du groupe de paramètres personnalisé, soit lors de la modification d'un groupe actuel pour utiliser ETL des intégrations nulles.

Vous pouvez créer un groupe de paramètres personnalisé à l'aide de la console Amazon Redshift ou de la manière AWS CLI suivante :

Activation de la sensibilité à la casse pour votre entrepôt des données

Vous pouvez attacher un groupe de paramètres et activer la sensibilité à la casse pour un cluster provisionné lors de sa création. Toutefois, vous pouvez mettre à jour un groupe de travail sans serveur via l’ AWS Command Line Interface (AWS CLI) uniquement après sa création. Cela est nécessaire pour prendre en compte la distinction majuscules/minuscules dans My SQL et PostgreSQL. enable_case_sensitive_identifierest une valeur de configuration qui détermine si les identificateurs de nom des bases de données, des tables et des colonnes distinguent les majuscules et minuscules. Ce paramètre doit être activé pour créer des ETL intégrations nulles dans l'entrepôt de données. Pour plus d’informations, consultez enable_case_sensitive_identifier.

Pour Amazon Redshift sans serveur : Activez la distinction majuscules/minuscules pour Amazon Redshift Serverless à l'aide du AWS CLI. Notez que vous pouvez activer la sensibilité à la casse pour Amazon Redshift sans serveur uniquement à partir d’ AWS CLI.

Pour les clusters provisionnés Amazon Redshift, activez la sensibilité à la casse pour votre cluster cible en utilisant l’une des rubriques suivantes :

Activez la distinction majuscules/minuscules pour Amazon Redshift Serverless à l'aide du AWS CLI

Exécutez la AWS CLI commande suivante pour activer la distinction majuscules/majuscules pour votre groupe de travail.

aws redshift-serverless update-workgroup \ --workgroup-name target-workgroup \ --config-parameters parameterKey=enable_case_sensitive_identifier,parameterValue=true

Attendez que le statut du groupe de travail soit Active avant de passer à l’étape suivante.

Activation de la sensibilité à la casse pour les clusters alloués Amazon Redshift à l’aide de la console Amazon Redshift

  1. Connectez-vous à la console Amazon Redshift AWS Management Console et ouvrez-la à l'adresse. https://console.aws.amazon.com/redshiftv2/

  2. Dans le volet de navigation de gauche, choisissez Tableau de bord des clusters alloués.

  3. Choisissez le cluster alloué dans lequel vous souhaitez répliquer les données.

  4. Dans le volet de navigation de gauche, choisissez Configurations > Gestion de la charge de travail.

  5. Sur la page de gestion de la charge de travail, choisissez le groupe de paramètres.

  6. Sélectionnez l’onglet Paramètres.

  7. Choisissez Modifier les paramètres, puis modifiez enable_case_sensitive_identifier en spécifiant true.

  8. Ensuite, choisissez Enregistrer.

Activez la distinction majuscules/minuscules pour les clusters provisionnés par Amazon Redshift à l'aide du AWS CLI

  1. Comme vous ne pouvez pas modifier le groupe de paramètres par défaut, dans le programme de votre terminal, exécutez la AWS CLI commande suivante pour créer un groupe de paramètres personnalisé. Vous l’associerez ultérieurement au cluster provisionné.

    aws redshift create-cluster-parameter-group \ --parameter-group-name zero-etl-params \ --parameter-group-family redshift-1.0 \ --description "Param group for zero-ETL integrations"
  2. Exécutez la AWS CLI commande suivante pour activer la distinction majuscules/minuscules pour le groupe de paramètres.

    aws redshift modify-cluster-parameter-group \ --parameter-group-name zero-etl-params \ --parameters ParameterName=enable_case_sensitive_identifier,ParameterValue=true
  3. Exécutez la commande suivante pour associer le groupe de paramètres au cluster.

    aws redshift modify-cluster \ --cluster-identifier target-cluster \ --cluster-parameter-group-name zero-etl-params
  4. Attendez que le cluster provisionné soit disponible. Vous pouvez vérifier le statut du cluster à l’aide de la commande describe-cluster. Ensuite, exécutez la commande suivante pour redémarrer le cluster.

    aws redshift reboot-cluster \ --cluster-identifier target-cluster

Configuration de l’autorisation pour votre entrepôt des données Amazon Redshift

Pour répliquer les données à partir de votre source d’intégration dans votre entrepôt des données Amazon Redshift, vous devez initialement ajouter les deux entités suivantes :

  • Principal autorisé : identifie l'utilisateur ou le rôle qui ne peut créer aucune ETL intégration dans l'entrepôt de données.

  • Source d’intégration autorisée : identifie la base de données source qui peut mettre à jour l’entrepôt des données.

Vous pouvez configurer les principaux autorisés et les sources d'intégration autorisées depuis l'onglet Resource Policy de la console Amazon Redshift ou à l'aide de l'opération Amazon Redshift. PutResourcePolicy API

Ajout de principaux autorisés

Pour créer une ETL intégration nulle dans votre groupe de travail Redshift Serverless ou votre cluster provisionné, autorisez l'accès à l'espace de noms ou au cluster provisionné associé.

Vous pouvez ignorer cette étape si les deux conditions suivantes sont remplies :

  • Le Compte AWS propriétaire du groupe de travail Redshift Serverless ou du cluster provisionné possède également la base de données source.

  • Ce principe est associé à une IAM politique basée sur l'identité avec des autorisations permettant de ne créer aucune ETL intégration dans cet espace de noms Redshift Serverless ou dans ce cluster provisionné.

Ajout de principaux autorisés à un espace de noms Amazon Redshift sans serveur

  1. Dans la console Amazon Redshift, dans le volet de navigation de gauche, choisissez Redshift sans serveur.

  2. Choisissez Configuration d’espace de noms, puis choisissez votre espace de noms et accédez à l’onglet Politique en matière de ressources.

  3. Choisissez Ajouter des principaux autorisés.

  4. Pour chaque principal autorisé que vous souhaitez ajouter, entrez dans l'espace de noms soit le nom ARN de l' AWS utilisateur ou du rôle, soit l'ID de l'utilisateur Compte AWS auquel vous souhaitez accorder l'accès afin de créer des ETL intégrations nulles. Un identifiant de compte est stocké sous forme deARN.

  5. Sélectionnez Enregistrer les modifications.

Ajout de principaux autorisés à un cluster alloué Amazon Redshift

  1. Dans la console Amazon Redshift, dans le volet de navigation de gauche, choisissez Tableau de bord des clusters alloués.

  2. Choisissez Clusters, puis choisissez le cluster et accédez à l’onglet Politique en matière de ressources.

  3. Choisissez Ajouter des principaux autorisés.

  4. Pour chaque principal autorisé que vous souhaitez ajouter, entrez dans le cluster soit le nom ARN de l' AWS utilisateur ou du rôle, soit l'ID de l'utilisateur Compte AWS auquel vous souhaitez accorder l'accès afin de créer des ETL intégrations nulles. Un identifiant de compte est stocké sous forme deARN.

  5. Sélectionnez Enregistrer les modifications.

Ajout de sources d’intégration autorisées

Pour permettre à votre source de mettre à jour votre entrepôt des données Amazon Redshift, vous devez l’ajouter en tant que source d’intégration autorisée à l’espace de noms.

Ajout d’une source d’intégration autorisée à un espace de noms Amazon Redshift sans serveur

  1. Dans la console Amazon Redshift, accédez à Tableau de bord sans serveur.

  2. Choisissez le nom de l’espace de noms.

  3. Accédez à l’onglet Politique en matière de ressources.

  4. Choisissez Ajouter une source d’intégration autorisée.

  5. Spécifiez ARN la source pour l'ETLintégration zéro.

Note

La suppression d’une source d’intégration autorisée empêche la réplication des données dans l’espace de noms. Cette action désactive toutes les ETL intégrations nulles de cette source dans cet espace de noms.

Ajout d’une source d’intégration autorisée à un cluster alloué Amazon Redshift

  1. Dans la console Amazon Redshift, accédez à Tableau de bord des clusters alloués.

  2. Choisissez le nom du cluster alloué.

  3. Accédez à l’onglet Politique en matière de ressources.

  4. Choisissez Ajouter une source d’intégration autorisée.

  5. Spécifiez ARN la source qui est la source de données pour l'ETLintégration zéro.

Note

La suppression d’une source d’intégration autorisée empêche la réplication des données dans le cluster alloué. Cette action désactive toutes les ETL intégrations nulles provenant de cette source dans ce cluster provisionné par Amazon Redshift.

Configurer l'autorisation à l'aide d'Amazon Redshift API

Vous pouvez utiliser les API opérations Amazon Redshift pour configurer des politiques de ressources qui fonctionnent sans aucune intégration. ETL

Pour contrôler la source susceptible de créer une intégration entrante dans l’espace de noms, créez une politique de ressources et attachez-la à l’espace de noms. Avec la politique de ressources, vous pouvez spécifier la source qui a accès à l’intégration. La politique de ressources est attachée à l’espace de noms de votre entrepôt des données cible pour permettre à la source de créer une intégration entrante afin de répliquer les données en direct de la source vers Amazon Redshift.

Voici un exemple de politique de ressources.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "redshift.amazonaws.com" }, "Action": "redshift:AuthorizeInboundIntegration", "Condition": { "StringEquals": { "aws:SourceArn": "source_arn" } } }, { "Effect": "Allow", "Principal": { "AWS": "source_principal" }, "Action": "redshift:CreateInboundIntegration" } ] }

Voici un résumé des opérations Amazon API Redshift applicables à la configuration des politiques de ressources pour les intégrations :

  • Utilisez cette PutResourcePolicyAPIopération pour conserver la politique de ressources. Lorsque vous fournissez une autre politique de ressources, la politique de ressources précédente appliquée à la ressource est remplacée. Utilisez l’exemple de politique de ressources précédent, qui accorde des autorisations pour les actions suivantes :

    • CreateInboundIntegration : permet au principal source de créer une intégration entrante pour les données à répliquer de la source vers l’entrepôt des données cible.

    • AuthorizeInboundIntegration— Permet à Amazon Redshift de valider en permanence que l'entrepôt de données cible peut recevoir des données répliquées depuis la source. ARN

  • Utilisez l'GetResourcePolicyAPIopération pour afficher les politiques de ressources existantes.

  • Utilisez cette DeleteResourcePolicyAPIopération pour supprimer une politique de ressource de la ressource.

Pour mettre à jour une politique de ressources, vous pouvez également utiliser la put-resource-policy AWS CLI commande.

Étapes suivantes

Maintenant que vous avez configuré l'autorisation pour votre entrepôt de données Amazon Redshift cible, vous pouvez créer une ETL intégration zéro et commencer à répliquer les données.

Selon votre source, effectuez l’une des actions suivantes :