Intégration AWS S3 avec Snowflake / Blogs / Perficient

Dans le monde d’aujourd’hui en constante évolution, les données sont essentielles pour tout type d’organisation, de client ou d’entreprise. De nos jours, la plupart des entreprises utilisent le stockage cloud pour stocker des données récupérables, rapidement disponibles et sécurisées. Les utilisateurs souhaitent toujours que les mises à niveau et la technologie la plus récente soient appliquées à leurs applications. Les utilisateurs ne pourront pas obtenir de mises à jour continues des données si les données sont mises à jour sur site. Pour obtenir des mises à jour continues des données, nous utilisons le stockage cloud. C’est pourquoi Snowflake intègre un moyen de charger des données à partir du stockage cloud (AWS, GCP ou Azur).
Importance du stockage cloud:
Tout le monde a la possibilité de sauvegarder des données numériques et d’y accéder de n’importe où, grâce aux services cloud prévus à cet effet. Les données numériques, telles que les documents, les images, les vidéos et autres types de médias, sont enregistrées numériquement sur des serveurs virtuels ou cloud hébergés par d’autres parties à l’aide d’un modèle de dépôt de données de stockage basé sur le cloud. Il vous permet de déplacer des données vers un système de stockage hors site et de les récupérer quand vous en avez besoin. Une approche de cloud computing appelée stockage cloud permet aux clients de stocker des fichiers multimédias ou des données critiques sur des serveurs distants appartenant à des tiers. Grâce à Internet, les utilisateurs peuvent accéder à ces serveurs quand ils le souhaitent. Un fournisseur de services basés sur le cloud gère et supervise le stockage cloud, souvent appelé stockage utilitaire.
AWS offre un stockage dans le cloud plus rapide et plus sécurisé que les autres fournisseurs :
La sécurité du cloud computing est similaire à la sécurité des centres de données sur site, sauf qu’il n’est pas nécessaire de payer pour la maintenance des bâtiments et du matériel. La sécurité est l’élément le plus crucial du stockage des données. AWS a fourni une plate-forme tierce offrant suffisamment d’espace pour le stockage de données dans les années 2000. À mesure que vous utilisez le cloud AWS, la sécurité s’améliore. Quelle que soit la quantité de données dont dispose votre entreprise, l’infrastructure AWS les protégera.
Snowflake intègre AWS pour son exploitation de données :
AWS est un réseau mondial qui offre une évolutivité, une concurrence et des performances infinies pour déplacer des données entre de nombreuses organisations. Les organisations peuvent combiner leurs données cloisonnées, exécuter une gamme de fonctions analytiques et partager des données restreintes de manière efficace et sécurisée en utilisant le Data Cloud de Snowflake sur AWS. Snowflake offre une expérience uniforme et fluide sur plusieurs cloud publics, quel que soit l’emplacement des utilisateurs ou des données. Rejoignez Snowflake et AWS, ainsi que vos clients, associés et fournisseurs de données, qui repoussent désormais les limites de leurs organisations vers le cloud de données.
Dans ce blog, nous explorerons la configuration du Intégration de Snowflake AWS S3. Les politiques de sécurité et de gestion des accès sur le compartiment S3 doivent permettre à Snowflake d’accéder à l’emplacement de stockage pour qu’il soit autorisé à lire et à écrire des données. Ce blog vous aide à suivre les étapes requises pour intégrer Snowflake aux données du compartiment AWS S3 en un seul endroit.
Voici les technologies utilisées dans le blog :
1. Flocon de neige
2.AWS
Ce diagramme montre comment charger des données d’AWS vers des tables Snowflake :
Le diagramme de flux fonctionne comme ci-dessous :
- Fichiers de données chargés dans le compartiment S3 et création d’une stratégie IAM dans AWS
- Une fois que Snowflake a accès, chargez les fichiers dans la table en utilisant pour créer une étape. Copiez dans la commande utilisée pour charger les fichiers dans les tables Snowflake.
Conditions préalables: –
1. Besoin de créer Compte flocon de neige avec le rôle ACCOUNTADMIN.
2. Besoin de créer Compte AWS vers une région prise en charge par Snowflake.
Étapes pour charger les données du compartiment S3 vers les tables Snowflake :
Examinons en détail toutes les étapes ci-dessus :
Étape 1 : – Connectez-vous au compte AWS
Une fois que vous avez cliqué sur la console, vous obtiendrez la capture d’écran ci-dessous et vous connecterez en tant qu’utilisateur root car nous avons besoin de politiques IAM :
Une fois connecté, vous obtenez la capture d’écran ci-dessous :
Note: –
Si le compartiment S3 est déjà créé, il entrera dans le compartiment récemment visité, sinon allez dans les services et recherchez S3.
Étape 2: – Créez le compartiment S3 :
Compartiment S3 créé avec succès comme dans la capture d’écran ci-dessous :
Étape 3 : – Créez maintenant la stratégie IAM :
Accédez aux services dans AWS comme ci-dessous :
Cliquez sur IAM, puis cliquez sur Paramètres du compte :
Aller à Politiques sous Gestion des accès comme capture d’écran ci-dessous :
Ensuite, créez une stratégie :
Remplacez le nom du bucket par le nom de votre bucket.
Comme dans la capture d’écran ci-dessus, le nom du bucket est « accès aux flocons de neige».
Passez ensuite à l’étape suivante et donnez le nom de la stratégie et de la stratégie créée :
Étape 4 : – Créer un rôle :
C’est sous IAM —Access Management—-Roles
Reportez-vous à la capture d’écran ci-dessous :
Choisissez la stratégie IAM que vous avez créée comme ci-dessous :
Une fois le rôle créé, copiez l’ARN pour créer l’intégration de stockage, comme capture d’écran ci-dessous :
Nous pouvons maintenant procéder à la configuration Snowflake requise pour obtenir les données ou les fichiers du compartiment AWS s3 :
Étape 1: – Créer une intégration de stockage:
Une intégration de stockage est un objet dans Snowflake qui fournit une interface entre des services tiers.
Vous trouverez ci-dessous la commande que nous utilisons pour créer l’intégration de stockage : –
Remplacez la valeur des crochets <> par vos valeurs de configuration telles que AWS_ROLE_ARN remplacer par ARN après avoir créé un rôle que vous avez obtenu comme ci-dessous :
Et le nom du bucket tel que vous l’avez donné lors de la création du bucket.
Intégrez l’utilisateur IAM au stockage Snowflake comme ci-dessous :
Une fois l’intégration de stockage créée avec succès, exécutez la commande ci-dessous :Nous obtenons ci-dessous les détails après l’exécution de la requête :
À partir du résultat ci-dessus de la requête, nous avons besoin des valeurs mises en surbrillance pour créer une relation de confiance dans AWS afin que Snowflake ait accès aux fichiers du compartiment S3.
Ensuite, accédez à nouveau à la console AWS–IAM—–Rôles :
Cliquez sur le rôle que vous avez créé lors de l’étape de création du rôle :
Et modifiez la relation de confiance comme indiqué par les valeurs requises (snowflake_user_arn, snowflake_external_id).
Et collez le JSON ci-dessous dans Modifier la stratégie de confiance :
Document de stratégie pour le rôle IAM
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "AWS": "<snowflake_user_arn>" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "<snowflake_external_id>" } } } ] }
Une fois toi modifier le confiance relation, alors créer La scène à obtenir des dossiers de S3 seau.
2. Créer Scène sur Flocon de neige compte:
À créer un scène, nous besoin à créer la base de données et schéma comme dans sous Rôle:
Créer base de données s3_base de données;
Utiliser schéma publique sous base de données comme base de données_publique. Exécuter la liste Commande @S3_db.public.S3_stage; pour obtenir la liste des fichiers comme ci-dessous :
Conclusion:
Dans ce blog, nous découvrons les étapes pour intégrer Snowflake à AWS. De nombreux avantages découlent de la possibilité d’interroger des fichiers externes sous forme de tables et de les lier à d’autres tables Snowflake, notamment la création simple de pipelines ETL et un accès et une jonction faciles aux données sur plusieurs plates-formes cloud.
Bonne lecture!! Bon apprentissage avec Snowflake !!
Source link