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.
Création d'ETLintégrations zéro avec Aurora avec Amazon Redshift
Lorsque vous créez une ETL intégration zéro avec Aurora, vous spécifiez le cluster de Aurora DB source et l'entrepôt de données Amazon Redshift cible. Vous pouvez également personnaliser les paramètres de chiffrement et ajouter des balises. Aurora crée une intégration entre le cluster source et sa cible. Une fois l'intégration active, toutes les données que vous insérez dans le cluster de source seront répliquées dans la cible Amazon Redshift configurée.
Rubriques
Prérequis
Avant de créer une ETL intégration zéro, vous devez créer un cluster de source et un entrepôt de données Amazon Redshift cible. Vous devez également autoriser la réplication dans l'entrepôt de données en ajoutant le cluster en tant que source d'intégration autorisée.
Pour obtenir des instructions sur la réalisation de chacune de ces étapes, consultez Démarrez avec Aurora : zéro ETL intégration avec Amazon Redshift.
Autorisations nécessaires
Certaines IAM autorisations sont requises pour créer une ETL intégration zéro. Vous avez au moins besoin des autorisations requises pour effectuer les actions suivantes :
Créez zéro ETL intégration pour le cluster de base de RDS données Aurora DB source.
Affichez et supprimez toutes les ETL intégrations zéro.
Créer des intégrations entrantes dans l'entrepôt de données cible. Vous n'avez pas besoin de cette autorisation si le même compte est propriétaire de l'entrepôt des données Amazon Redshift et que ce compte est un principal autorisé pour cet entrepôt des données. Pour obtenir des informations sur l'ajout de principaux autorisés, consultez Configuration de l'autorisation pour votre entrepôt de données Amazon Redshift.
L'exemple de politique suivant illustre les autorisations de moindre privilège requises pour créer et gérer des intégrations. Il se peut que vous n'ayez pas besoin de ces autorisations exactes si votre utilisateur ou votre rôle dispose d'autorisations plus étendues, telles qu'une politique AdministratorAccess
gérée.
Note
Les noms de ressources Redshift Amazon (ARNs) ont le format suivant. Notez l'utilisation d'une barre oblique ((/
) plutôt que de deux points (:
) avant l'espace de noms sans serveur. UUID
-
Cluster provisionné –
arn:aws:redshift:{region}:{account-id}:namespace:
namespace-uuid
-
Sans serveur –
arn:aws:redshift-serverless:{region}:{account-id}:namespace/
namespace-uuid
Important
Pour la SQL version préliminaire d'Aurora Postgre, toutes les ARNs actions de l'environnement de prévisualisation de RDS base de données Amazon-preview
ajoutées à l'espace de noms du service. Par exemple : rds
et -preview
:CreateIntegrationarn:aws:rds
.-preview
:…
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "rds:CreateIntegration" ], "Resource": [ "arn:aws:rds:
{region}
:{account-id}
:cluster:source-db
", "arn:aws:rds:{region}
:{account-id}
:integration:*" ] }, { "Effect": "Allow", "Action": [ "rds:DescribeIntegrations" ], "Resource": ["*"] }, { "Effect": "Allow", "Action": [ "rds:DeleteIntegration", "rds:ModifyIntegration" ], "Resource": [ "arn:aws:rds:{region}
::integration:*" ] }, { "Effect": "Allow", "Action": [ "redshift:CreateInboundIntegration" ], "Resource": [ "arn:aws:redshift:
{account-id}
{region}
::namespace:
{account-id}
namespace-uuid
" ] }] }
Choix d'un entrepôt de données cible dans un autre compte
Si vous prévoyez de spécifier un entrepôt de données Amazon Redshift cible situé dans un autre Compte AWS, vous devez créer un rôle permettant aux utilisateurs du compte courant d'accéder aux ressources du compte cible. Pour plus d'informations, voir Fournir un accès à un IAM utilisateur dans un autre Compte AWS que vous possédez.
Le rôle doit disposer des autorisations suivantes, qui permettent à l'utilisateur de consulter les clusters provisionnés Amazon Redshift et les espaces de noms Redshift sans serveur disponibles dans le compte cible.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "redshift:DescribeClusters", "redshift-serverless:ListNamespaces" ], "Resource":[ "*" ] } ] }
Le rôle doit respecter la politique d'approbation suivante, qui spécifie l'ID du compte cible.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "AWS": "arn:aws:iam::
:root" }, "Action":"sts:AssumeRole" } ] }
{external-account-id}
Pour obtenir des instructions quant à la création du rôle, consultez Création d'un rôle à l'aide de politiques d'approbation personnalisées.
Création d'ETLintégrations nulles
Vous pouvez créer zéro Aurora My à ETL l'aide du AWS Management Console, le AWS CLI, ou le RDSAPI. Pour créer une SQL intégration Aurora Postgre, vous devez utiliser le AWS Management Console.
Pour créer une ETL intégration zéro
Connectez-vous au AWS Management Console et ouvrez la RDS console Amazon à l'adresse https://console.aws.amazon.com/rds/
. Si vous utilisez un cluster de SQL base de données Aurora Postgre comme source d'intégration, vous devez vous connecter à l'environnement de prévisualisation de RDS base de données Amazon https://us-east-2.console.aws.amazon.com/rds-preview/chez vous ? region=us-east-2 #databases
. -
Dans le volet de navigation de gauche, choisissez Zero- ETL integrations.
-
Choisissez Créer une ETL intégration zéro.
-
Dans Identifiant d'intégration, saisissez un nom pour l'intégration. Ce nom peut comporter jusqu'à 63 caractères alphanumériques et peut inclure des traits d'union.
-
Choisissez Suivant.
Pour Source, sélectionnez le cluster Aurora DB d'où proviendront les données.
Note
Pour Mes SQL sources, vous RDS avertit si les paramètres du cluster de base de données ne sont pas correctement configurés. Si vous recevez ce message, vous pouvez soit choisir Fix it for me, soit les configurer manuellement. Pour obtenir des instructions pour les corriger manuellement, reportez-vous à Étape 1 : Créer un groupe de paramètres de cluster de base de données personnalisé.
La modification des paramètres du cluster de base de données nécessite un redémarrage. Avant de créer l'intégration, le redémarrage doit être terminé et les nouvelles valeurs de paramètres doivent être correctement appliquées au cluster de .
-
Si vous avez sélectionné un cluster SQL source Aurora Postgre, sous Base de données nommée, spécifiez la base de données nommée à utiliser comme source pour votre intégration. Le modèle de SQL ressources Postgre permet de créer plusieurs bases de données au sein d'un seul cluster de bases de données, mais une seule peut être utilisée pour chaque ETL intégration zéro.
La base de données nommée doit être créée à partir de
template1
. Pour plus d'informations, consultez la section Bases de données modèlesdans la SQL documentation Postgre. -
(Facultatif) Si vous avez sélectionné un cluster de base de données Aurora My SQL source, sélectionnez Personnaliser les options de filtrage des données et ajoutez des filtres de données à votre intégration. Vous pouvez utiliser des filtres de données pour définir l'étendue de la réplication vers l'entrepôt de données cible. Pour de plus amples informations, veuillez consulter Filtrage des données pour les ETL intégrations zéro d'Aurora avec Amazon Redshift.
-
Une fois que le cluster source est correctement configuré, choisissez Next.
Pour Cible, procédez comme suit :
(Facultatif) Pour utiliser un autre Compte AWS pour l'objectif Amazon Redshift, choisissez Spécifier un autre compte. Entrez ensuite un IAM rôle autorisé à afficher vos entrepôts de données. ARN Pour obtenir des instructions relatives à la création du IAM rôle, consultezChoix d'un entrepôt de données cible dans un autre compte.
Pour l'entrepôt de données Amazon Redshift, sélectionnez la cible pour les données répliquées à partir du cluster de source. Vous pouvez choisir un cluster Amazon Redshift provisionné ou un espace de noms Redshift sans serveur comme cible.
Note
RDSvous avertit si la politique de ressources ou les paramètres de distinction majuscules/minuscules pour l'entrepôt de données spécifié ne sont pas correctement configurés. Si vous recevez ce message, vous pouvez soit choisir Fix it for me, soit les configurer manuellement. Pour obtenir des instructions pour les corriger manuellement, consultez Activation de la sensibilité à la casse pour votre entrepôt des données et Configuration de l'autorisation pour votre entrepôt des données dans le Guide de gestion Amazon Redshift.
La modification de la sensibilité à la casse pour un cluster Redshift provisionné nécessite un redémarrage. Avant de créer l'intégration, le redémarrage doit être terminé et la nouvelle valeur de paramètre doit être correctement appliquée au cluster.
Si la source et la cible que vous avez sélectionnées sont différentes Comptes AWS, alors Amazon RDS ne peut pas corriger ces paramètres pour vous. Vous devez accéder à l'autre compte et les corriger manuellement dans Amazon Redshift.
-
Une fois que votre entrepôt des données cible est correctement configuré, choisissez Suivant.
-
(Facultatif) Pour Balises, ajoutez une ou plusieurs balises à l'intégration. Pour de plus amples informations, veuillez consulter Marquage d'Amazon Aurora et des ressources Amazon RDS.
-
Pour Chiffrement, spécifiez la manière dont vous souhaitez que votre intégration soit chiffrée. Par défaut, RDS chiffre toutes les intégrations avec un Clé détenue par AWS. Pour choisir plutôt une clé gérée par le client, activez Personnaliser les paramètres de chiffrement et choisissez une KMS clé à utiliser pour le chiffrement. Pour de plus amples informations, veuillez consulter Chiffrement des Amazon Amazon Aurora.
Ajoutez éventuellement un contexte de chiffrement. Pour plus d'informations, consultez la section Contexte de chiffrement dans le AWS Key Management Service Guide du développeur.
Note
Amazon RDS ajoute les paires de contextes de chiffrement suivantes en plus de celles que vous ajoutez :
-
aws:redshift:integration:arn
-IntegrationArn
-
aws:servicename:id
-Redshift
Cela réduit le nombre total de paires que vous pouvez ajouter de 8 à 6 et contribue à la limite de caractères globale de la contrainte de subvention. Pour plus d'informations, consultez la section Utilisation des contraintes de subvention dans le AWS Key Management Service Guide du développeur.
-
-
Choisissez Suivant.
Vérifiez vos paramètres d'intégration et choisissez Create zero- ETL integration.
Si la création échoue, consultez Je ne peux pas créer une ETL intégration zéro pour obtenir les étapes de résolution des problèmes.
L'intégration a un statut de Creating
lors de sa création et l'entrepôt de données Amazon Redshift cible a un statut de Modifying
. Pendant ce temps, vous ne pouvez pas interroger l'entrepôt de données ni y apporter aucune modification de configuration.
Quand l'intégration est créée avec succès, le statut de l'intégration et celui de l'entrepôt de données Amazon Redshift cible passent tous deux à Active
.
Note
Lors de la version préliminaire des intégrations SQL zéro d'Aurora Postgre, vous ne pouvez créer ETL des intégrations que par le biais du AWS Management Console. Vous ne pouvez pas utiliser le AWS CLI, l'Amazon RDS API ou l'un desSDKs.
Pour créer une ETL intégration nulle à l'aide du AWS CLI, utilisez la commande create-integration avec les options suivantes :
-
--integration-name
: spécifiez le nom de l'intégration. -
--source-arn
— Spécifiez le cluster ARN de Aurora DB qui sera la source de l'intégration. -
--target-arn
— Spécifiez ARN l'entrepôt de données Amazon Redshift qui sera la cible de l'intégration.
Dans Linux, macOS, ou Unix:
aws rds create-integration \ --integration-name
my-integration
\ --source-arn arn:aws:rds:{region}
:{account-id}
:my-db
\ --target-arn arn:aws:redshift:{region}
:{account-id}
:namespace:namespace-uuid
Dans Windows:
aws rds create-integration ^ --integration-name
my-integration
^ --source-arn arn:aws:rds:{region}
:{account-id}
:my-db
^ --target-arn arn:aws:redshift:{region}
:{account-id}
:namespace:namespace-uuid
Note
Lors de la version préliminaire des intégrations SQL zéro d'Aurora Postgre, vous ne pouvez créer ETL des intégrations que par le biais du AWS Management Console. Vous ne pouvez pas utiliser le AWS CLI, l'Amazon RDS API ou l'un desSDKs.
Pour créer une ETL intégration zéro à l'aide d'Amazon RDSAPI, utilisez l'CreateIntegration
opération avec les paramètres suivants :
-
IntegrationName
: spécifiez le nom de l'intégration. -
SourceArn
— Spécifiez le cluster ARN de Aurora DB qui sera la source de l'intégration. -
TargetArn
— Spécifiez ARN l'entrepôt de données Amazon Redshift qui sera la cible de l'intégration.
Chiffrer les intégrations à l'aide d'une clé gérée par le client
Si vous spécifiez une KMS clé personnalisée plutôt qu'une Clé détenue par AWS lorsque vous créez une intégration, la politique clé doit fournir au service Amazon Redshift l'accès principal à l'CreateGrant
action. En outre, il doit autoriser le compte ou le rôle du demandeur à exécuter les actions DescribeKey
etCreateGrant
.
Les exemples de déclarations de politique clés suivants illustrent les autorisations requises dans votre document de politique. Certains exemples incluent des clés contextuelles pour réduire davantage la portée des autorisations.
La déclaration de politique suivante permet au compte ou au rôle du demandeur de récupérer des informations sur une KMS clé.
{ "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::
{account-ID}
:role/{role-name}
" }, "Action":"kms:DescribeKey", "Resource":"*" }
La déclaration de politique suivante permet au compte ou au rôle du demandeur d'ajouter une subvention à une KMS clé. La clé de kms:ViaService
condition limite l'utilisation de la KMS clé aux demandes d'AmazonRDS.
{ "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::
{account-ID}
:role/{role-name}
" }, "Action":"kms:CreateGrant", "Resource":"*", "Condition":{ "StringEquals":{ "kms:EncryptionContext:{context-key}
":"{context-value}
", "kms:ViaService":"rds.{region}
.amazonaws.com" }, "ForAllValues:StringEquals":{ "kms:GrantOperations":[ "Decrypt", "GenerateDataKey", "CreateGrant" ] } } }
La déclaration de politique suivante autorise le directeur du service Amazon Redshift à ajouter une autorisation à une KMS clé.
{ "Effect":"Allow", "Principal":{ "Service":"redshift.amazonaws.com" }, "Action":"kms:CreateGrant", "Resource":"*", "Condition":{ "StringEquals":{ "kms:EncryptionContext:
{context-key}
":"{context-value}
", "aws:SourceAccount":"{account-ID}
" }, "ForAllValues:StringEquals":{ "kms:GrantOperations":[ "Decrypt", "GenerateDataKey", "CreateGrant" ] }, "ArnLike":{ "aws:SourceArn":"arn:aws:*:{region}
:{account-ID}
:integration:*" } } }
Pour plus d'informations, consultez la section Création d'une politique clé dans le AWS Key Management Service Guide du développeur.
Étapes suivantes
Une fois que vous avez réussi à créer une ETL intégration zéro, vous devez créer une base de données de destination au sein de votre cluster ou groupe de travail Amazon Redshift cible. Vous pouvez ensuite commencer à ajouter des données au cluster de source Aurora DB et à les interroger dans Amazon Redshift. Pour obtenir des instructions, consultez Création de bases de données de destination dans Amazon Redshift.