mardi 3 mars 2026

On joue un peu avec les bases de données dans AWS

 

Une image contenant texte, capture d’écran, affichage, Logiciel multimédia

Le contenu généré par l’IA peut être incorrect.

Comparaison de bases de données

Description

L'équipe technologique de Minsahe Innovations Inc. souhaite en apprendre davantage sur le déploiement de bases de données SQL et NoSQL sur AWS avec une démonstration des différents types de bases de données.

Yene, le Directeur des Infrastructures Technologiques en conversation avec vous :

____________________________________

Vous : Salut. En quoi puis-je vous aider ?

Yene : Ma société souhaite mettre en place une base de données sur AWS pour un petit projet. Nous ne savons pas quel service nous devrions utiliser.

Vous : Je peux aider avec ça. Si vous voulez une base de données relationnelle basée sur SQL, Amazon Relational Database Service, Amazon RDS en abrégé, est la solution à adopter.

Vous : Si vous ne voulez pas la complexité d'une base de données relationnelle, Amazon DynamoDB est celle à utiliser.

Yene : Je ne suis pas sûr de ce qui est le mieux pour nous. Sont-ils faciles à configurer ? Et qu'en est-il de la mise à l'échelle pour une utilisation accrue. Les deux le font-ils ?

Vous : Les deux sont très rationalisés et axés sur l'utilisateur, et ils utilisent différentes méthodes pour la mise à l'échelle. La base de données RDS basée sur SQL peut utiliser soit des instances Amazon EC2 plus grandes et plus puissantes, soit vous pouvez rapidement configurer une réplique en lecture si vous voulez seulement plus de capacité de lecture.

Yene : Ça a l'air vraiment génial.

 

Sommaire

Créez une base de données Amazon Aurora en utilisant Amazon Aurora et RDS. Créez une base de données non relationnelle en utilisant Amazon DynamoDB. Améliorez la vitesse de la base de données non relationnelle en déployant un cluster DynamoDB Accelerator (DAX), et réduisez la charge de travail de lecture de la base de données Aurora en déployant une réplica de lecture.

 

Etape1 : Créer de la base de données SQL

-        Dans la zone de recherche de la barre de navigation supérieure, saisissez les caractères suivants : rds

Une image contenant texte, capture d’écran, logiciel, Icône d’ordinateur

Le contenu généré par l’IA peut être incorrect.

-        Dans les résultats de recherche, sous Services, cliquez sur Aurora and RDS, puis dans le volet de navigation de gauche, cliquez sur Databases.

 

Une image contenant texte, Appareils électroniques, capture d’écran, logiciel

Le contenu généré par l’IA peut être incorrect.

 

-        Dans la section Databases, cliquez sur Create database.

Une image contenant texte, capture d’écran, logiciel, Icône d’ordinateur

Le contenu généré par l’IA peut être incorrect.

-        Pour Choose a database creation method, choisissez Full Configuration, puis pour Engine type, choisissez Aurora (MySQL Compatible).

 

Une image contenant texte, capture d’écran, logiciel, Icône d’ordinateur

Le contenu généré par l’IA peut être incorrect.

-        Pour Templates, choisissez Dev/Test puis pour DB cluster identifier, tapez : minsahedb

 

Une image contenant texte, capture d’écran, logiciel, Page web

Le contenu généré par l’IA peut être incorrect.

 

-        Pour la gestion des informations d'identification, choisissez ou conservez Managed in AWS Secrets Manager.

 

Une image contenant texte, capture d’écran, logiciel, Icône d’ordinateur

Le contenu généré par l’IA peut être incorrect.

 

-        Pour la classe d'instance DB, choisissez Burstable classes, dans la liste déroulante ci-dessous, choisissez db.t3.medium.

 

Une image contenant texte, capture d’écran, logiciel, Icône d’ordinateur

Le contenu généré par l’IA peut être incorrect.

 

-        Pour Virtual private cloud (VPC), choisissez LabVPC. Vous l’avez déjà créé au TP 01.

 

Une image contenant texte, capture d’écran, logiciel, Page web

Le contenu généré par l’IA peut être incorrect.

 

-        Pour Enhanced Monitoring, décochez la case pour désélectionner Enable Enhanced monitoring. Cliquez pour développer la section Additional configuration. Faites défiler vers le bas jusqu'à la section Maintenance (non montrée).

 

Une image contenant texte, capture d’écran, logiciel, Page web

Le contenu généré par l’IA peut être incorrect.

 

-        Décochez la case pour désactiver Enable auto minor version update. Au bas de la page, cliquez sur Create database.

Une image contenant texte, capture d’écran, logiciel, Page web

Le contenu généré par l’IA peut être incorrect.

-        Dans l'alerte d'information, vérifiez que la base de données est en cours de création. Attendez que la base de données soit créée. Cela peut prendre jusqu'à 10 minutes pour que le statut passe à Disponible.

Une image contenant texte, logiciel, Page web, Icône d’ordinateur

Le contenu généré par l’IA peut être incorrect.

 

-        Dans l'alerte de réussite, examinez le message. Dans la section Databases, cliquez sur minsahedb.

Une image contenant texte, logiciel, Page web, Icône d’ordinateur

Le contenu généré par l’IA peut être incorrect.

 

-        Cliquez pour développer la liste déroulante Actions. Examinez les actions disponibles pour la base de données. Notez l'action Add reader, que vous devez utiliser dans la section DIY ultérieure de cette solution.

Une image contenant texte, capture d’écran, logiciel, Page web

Le contenu généré par l’IA peut être incorrect.

 

Étape 2 : Création d’une table dans la base de données DynamoDB

-        Dans la zone de recherche de la barre de navigation supérieure, tapez : dynamodb, Dans les résultats de recherche, sous Services, cliquez sur DynamoDB.

Une image contenant texte, capture d’écran, logiciel, Icône d’ordinateur

Le contenu généré par l’IA peut être incorrect.

 

-        Dans le volet de navigation de gauche, cliquez sur Tables.

 

Une image contenant texte, capture d’écran, logiciel, Page web

Le contenu généré par l’IA peut être incorrect.

 

-        Dans la section Tables, cliquez sur Create table.

 

Une image contenant texte, logiciel, Page web, Icône d’ordinateur

Le contenu généré par l’IA peut être incorrect.

 

-        Pour Table name, saisissez un nom de votre choix, comme mytable. Pour Partition key, saisissez un nom de clé de votre choix, comme mytableid.

Une image contenant texte, capture d’écran, logiciel, Page web

Le contenu généré par l’IA peut être incorrect.

-        En bas de la page, cliquez sur Create table. Dans l'alerte d'information, vérifiez que la table est en cours de création.

 

Une image contenant texte, logiciel, Page web, Icône d’ordinateur

Le contenu généré par l’IA peut être incorrect.

 

-        Attendez que la table soit créée.

Une image contenant texte, logiciel, capture d’écran, Page web

Le contenu généré par l’IA peut être incorrect.

 

Étape 3 : Créer un cluster

-        Dans l'alerte de réussite, examinez le message. Dans le volet de navigation de gauche, sous DAX, cliquez sur Clusters.

 

Une image contenant texte, logiciel, capture d’écran, Page web

Le contenu généré par l’IA peut être incorrect.

 

-        Dans la section Clusters, cliquez sur Create cluster.

 

Une image contenant texte, logiciel, Page web, Site web

Le contenu généré par l’IA peut être incorrect.

 

-        Dans l'étape Choose cluster nodes, pour Cluster name, tapez un nom de votre choix, comme minsahedb-cluster.

Une image contenant texte, capture d’écran, logiciel, Page web

Le contenu généré par l’IA peut être incorrect.

-        nPour les Node types, dans le champ de recherche, saisissez : dax.r5.large 2. Choisissez dax.r5.large. Faites défiler vers le bas de la page, puis cliquez sur Next (non affiché).

Une image contenant texte, capture d’écran, logiciel, Icône d’ordinateur

Le contenu généré par l’IA peut être incorrect.

-        Dans l'étape Configure networks, pour Subnet group, choisissez Create new. 2. Pour Subnet group name, saisissez un nom de votre choix, tel que cluster-subnet-group.

Une image contenant texte, capture d’écran, logiciel, Page web

Le contenu généré par l’IA peut être incorrect.

 

-        Pour VPC ID, choisissez LabVPC.

 

Une image contenant texte, capture d’écran, logiciel, Page web

Le contenu généré par l’IA peut être incorrect.

 

-        Pour les sous-réseaux, choisissez les deux sous-réseaux disponibles. En bas de la page, cliquez sur Next.

Une image contenant texte, capture d’écran, logiciel, Page web

Le contenu généré par l’IA peut être incorrect.

 

-        Dans l'étape Configure security, pour IAM Service role for DynamoDB access, sélectionnez le bouton radio Choose existing. 2. Dans la liste déroulante ci-dessous, sélectionnez LabDXRole. Cliquez sur Next.

Une image contenant texte, capture d’écran, logiciel, Page web

Le contenu généré par l’IA peut être incorrect.

-        Dans l'étape Vérifier les paramètres avancés, en bas de la page, cliquez sur Suivant.

Une image contenant texte, Appareils électroniques, capture d’écran, logiciel

Le contenu généré par l’IA peut être incorrect.

-        Dans l'étape Review and create, faites défiler vers le bas pour examiner la page, puis cliquez sur Create cluster (non affiché).

Une image contenant texte, capture d’écran, logiciel, Page web

Le contenu généré par l’IA peut être incorrect.

 

Félicitations ! Vous avez terminé la section Pratiquer.

 

Allez dans la section suivante pour compléter la solution.

 

Une image contenant texte, logiciel, Page web, Icône d’ordinateur

Le contenu généré par l’IA peut être incorrect.

 

Méthode de validation de la solution

Notre service de validation vérifiera que la table DynamoDB et le cluster DAX ont été créés et que la base de données Aurora a été créée avec une réplique de lecture.

Indice : La sélection de la base de données existante et le choix des "Actions" vous donne l'option dont vous avez besoin.

Assurez-vous que le statut du lecteur passe à "Disponible" avant de vérifier.

 

 

Une image contenant texte, capture d’écran, logiciel, Icône d’ordinateur

Le contenu généré par l’IA peut être incorrect.

 

Une image contenant texte, capture d’écran, nombre, Police

Le contenu généré par l’IA peut être incorrect.

 

Une image contenant texte, capture d’écran, logiciel, Icône d’ordinateur

Le contenu généré par l’IA peut être incorrect.

 

Une image contenant texte, capture d’écran, logiciel, Icône d’ordinateur

Le contenu généré par l’IA peut être incorrect.

 

Une image contenant texte, capture d’écran, Logiciel multimédia, logiciel

Le contenu généré par l’IA peut être incorrect.

jeudi 19 février 2026

Autorisations pour une application sans serveurs dans AWS

Mbadi oum

Demande de solution

Un client de Minsahe Innovations Inc. rencontre des difficultés pour s'assurer que l'intégration et la communication sont sécurisées entre divers services AWS au sein de son architecture sans serveur. L'entreprise souhaite mettre en œuvre des mesures de sécurité appropriées pour protéger la base de données, les systèmes de stockage et l'exécution des fonctions tout en maintenant la conformité. Ndjigi, Chef de projets chez Minsahe Innovations Inc. Vous consulte en tant qu’Expert chez Amazon…

Nken : Bonjour!

Vous : Bonjour ! Comment puis-je vous aider aujourd'hui ?

Nken : Ma société souhaite mettre en place pour un client, des mesures de sécurité appropriées pour protéger la base de données, les systèmes de stockage et l'exécution des fonctions. Je ne sais pas comment configurer une intégration et une communication sécurisées entre les services AWS dans mon architecture sans serveur. Pouvez-vous m'aider ?

Vous : Oui. Vous pouvez intégrer AWS Lambda, Amazon DynamoDB, Amazon S3 et AWS Identity and Access Management, ou IAM, pour construire une architecture sans serveur qui traite les données, les stocke de manière sécurisée et se développe efficacement.

Nken : Ça a l'air génial ! Pouvez-vous me donner un aperçu de la façon dont je peux y parvenir ?

Vous : Certainement ! Nous pouvons créer une fonction Lambda qui insère des données dans une table DynamoDB et télécharge des objets dans un bucket S3.

Nken : Comment sécuriser les données et l'application ?

Vous : Excellente question ! Nous utiliserons un rôle IAM avec les autorisations nécessaires pour que la fonction Lambda accède à DynamoDB et S3. Nous configurerons également une politique de compartiment S3 pour restreindre l'accès.

Nken : Compris. Sécuriser l'application avec des rôles IAM et des politiques de bucket est crucial pour un environnement de production.

Vous : Génial ! Commençons alors.

Annotations techniques

  1. Construire une application sans serveur en utilisant Lambda, DynamoDB et S3.
  2. Utiliser un rôle IAM et une politique de bucket S3 pour les permissions.

 

Objectifs

-        Créer un compartiment dans Amazon S3 qui inclut une politique de compartiment

-        Créer une table Amazon DynamoDB

-        Créer une fonction AWS Lambda en utilisant un rôle d’exécution approprié

-        Configurer la fonction Lambda pour tester la table DynamoDB et le compartiment S3

 

Étape 1 : Consultation du fichier de l’atelier

-        Sauvegarder le contenu suivant dans un fichier le fichier lab_resources.txt.

 

 

################ S3 BUCKET POLICY ################

 

{

    "Version": "2012-10-17",

    "Statement": [

        {

            "Effect": "Deny",

            "Principal": "*",

            "Action": "s3:PutObject",

            "Resource": "<BUCKET_ARN>/*",

            "Condition": {

                "StringNotEquals": {

                    "aws:PrincipalArn": "arn:aws:iam::<ACCOUNT_ID>:role/LabLambdaRole"

                }

            }

        }

    ]

}

 

################ LAMBDA FUNCTION ################

 

import os

import boto3

import uuid

s3 = boto3.resource('s3')

dynamodb = boto3.resource('dynamodb')

def lambda_handler(event, context):

   message = "Hello from AWS Lambda!"

   encoded_string = message.encode("utf-8")

   file_name = "hello.txt"

   s3_path = "test/" + file_name

   dynamodb.Table(os.environ['DYNAMODB_TABLE_NAME']).put_item(Item={'ID': '12345','content':message})

   s3.Bucket(os.environ['S3_BUCKET_NAME']).put_object(Key=s3_path, Body=encoded_string)

   response = {

      'statusCode': 200,

      'body': 'success!',

      'headers': {

            'Content-Type': 'application/json',

            'Access-Control-Allow-Origin': '*'

      },

   }

   return response

 

Étape 2 : Configuration de l’accès aux ressources

AWS Identity and Access Management (IAM) est un service web qui vous aide à contrôler de manière sécurisée l'accès aux ressources AWS. Avec IAM, vous pouvez gérer les autorisations qui contrôlent les ressources AWS auxquelles les utilisateurs peuvent accéder.

-        Dans la barre de navigation supérieure, vérifiez que le sélecteur de région est défini sur N. Virginia (us-east-1).

 

-        Dans la zone de recherche Services, tapez : iam Dans les résultats de recherche, sous Services, cliquez sur IAM.

 

-        Dans le volet de navigation de gauche, sous Gestion des accès, cliquez sur Rôles.

-        Dans la zone de recherche de la section Rôles, saisissez : LabLambda

Vous utilisez IAM pour contrôler qui est authentifié (connecté) et autorisé (dispose des autorisations) à utiliser des ressources

-        Sous Nom du rôle, cliquez sur LabLambdaRole.

 

-        Dans la section Summary, sous ARN, cliquez sur l'icône de copie pour copier l'ARN fourni. Vous utiliserez cet ARN dans les étapes suivantes.

 

 

arn:aws:iam::133733946321:role/LabLambdaRole

 

-         Sous la section, cliquez sur l'onglet Permissions.

Un rôle IAM est une identité IAM que vous pouvez créer dans votre compte et qui possède des autorisations spécifiques. Il possède des stratégies d'autorisation qui déterminent ce que l'identité peut et ne peut pas faire dans AWS.

 

Vous gérez l'accès dans AWS en créant des stratégies et en les attachant aux identités IAM (utilisateurs, groupes d'utilisateurs ou rôles) ou aux ressources AWS. Une stratégie est un objet dans AWS qui, lorsqu'elle est associée à une identité ou une ressource, définit leurs autorisations.

-        Dans l'onglet Permissions, sous Policy name, cliquez le signe + pour développer la stratégie DynamoDBPutItem. Examinez la stratégie. Cette stratégie autorise l'action PutItem sur tout nom de table Amazon DynamoDB commençant par lab-table.

 

 

-        Cliquez pour développer la stratégie S3PutObject. Examinez la stratégie. Cette stratégie autorise l'action PutObject sur tout nom de compartiment S3 commençant par lab-bucket-.

 

Étape 3 : Configuration du service de stockage

Amazon Simple Storage Service (Amazon S3) est un service de stockage d'objets qui stocke les données sous forme d'objets dans des buckets. Un objet est un fichier et toutes les métadonnées qui décrivent le fichier.


- Dans la zone de recherche Services, tapez : S3 puis cliquez sur S3

-        Dans l'onglet General purpose buckets, cliquez sur Create bucket.

 


Pour stocker vos données dans Amazon S3, vous devez d'abord créer un bucket et spécifier un nom de bucket et une région AWS. Un bucket est un conteneur pour les objets stockés dans Amazon S3. Vous pouvez stocker un nombre quelconque d'objets dans un bucket et avoir jusqu'à 100 buckets dans votre compte.

 

-        Pour Bucket name, tapez le nom de votre choix commençant par lab-bucket. Les noms de bucket doivent être uniques. Si vous rencontrez une erreur « bucket already exists », essayez un autre nom de lab-bucket.

 

 

Amazon S3 applique le chiffrement côté serveur avec les clés gérées par Amazon S3 (SSE-S3) comme niveau de chiffrement de base pour chaque bucket dans Amazon S3.

-        Faites défiler vers le bas jusqu'à Default encryption. Review la section Default encryption.

-        En bas de la page, cliquez sur Create bucket.

-        Dans l'alerte de réussite, examinez le message.

-        Dans l'onglet General purpose buckets, sélectionnez (surligné) et copiez le nom du bucket que vous venez de créer. Vous utilisez ce nom de bucket dans une étape ultérieure.

lab-bucket-29022026

 

-        Cliquez sur le même nom de bucket.

 

-        Cliquez sur l'onglet Permissions.

-        Faites défiler vers le bas jusqu'à la politique de Bucket.

 

 


Une stratégie de bucket est une stratégie basée sur les ressources que vous pouvez utiliser pour accorder des autorisations d'accès à votre bucket Amazon S3 et aux objets qu'il contient.

-        Sur Bucket policy, Cliquez sur Edit

-        Sur votre appareil, dans le fichier lab_resources.txt, copiez le code S3 BUCKET POLICY, puis collez-le dans la fenêtre de code de la console.

-        Au-dessus de la fenêtre de code, sous Bucket ARN, cliquez sur l'icône de copie pour copier l'ARN fourni.

-        Pour Resource, afin de remplacer le placeholder <BUCKET_ARN>, collez l'ARN que vous venez de copier.

 

-        Examinez la politique. Cette politique de compartiment refuse l'action PutObject sur le compartiment, sauf si l'action est effectuée par le rôle IAM, LabLambdaRole. La clé de condition aws:PrincipalArn est utilisée pour comparer l'ARN du principal qui a effectué la demande avec l'ARN que vous spécifiez dans la politique. Dans la section DIY, vous devrez mettre à jour cette clé de condition.

-        Faites défiler jusqu'en bas de la page, puis cliquez sur Save changes (non illustré).

 

Étape 4 : Créer une table dans DynamoDB

-        Naviguez jusqu'à la console Amazon DynamoDB.

-        Cliquez sur Create table.

 

-        Pour le nom de la table, saisissez : lab-table.

-        Pour la clé de partition, saisissez : ID.

 

-        Cliquez sur Create table.

 

-        Dans la section Tables, sous Status, vérifiez que le statut est Active. Attendez que le statut soit Active avant de continuer.

 

 

Étape 5 : Créer la fonction Lamba

-        Naviguez jusqu'à la console AWS Lambda.

-        Dans la section Fonction, examinez la diy_function. Vous devez utiliser cette fonction dans la section DIY suivante de cette solution.

-        Cliquez sur Créer une fonction

 

-        Pour Create function, choisissez Author from scratch.

-        Pour Function name, tapez : lab-function

-        Pour Runtime, dans la liste déroulante, choisissez Python 3.14.

-        Faites défiler jusqu'à Permissions.

-        Cliquez pour développer Change default execution role.

-        Pour Execution role, choisissez Use an existing role.

-        Pour Existing role, choisissez LabLambdaRole.

-        Cliquez sur Create function.

-        Faites défiler jusqu'à l'onglet Code.

-        Sur votre appareil, dans le fichier lab_resources.txt, copiez le code LAMBDA FUNCTION, puis collez-le dans la fenêtre lambda_function.py sur la console.

-        Examinez le code Python. Dans ce code, la fonction Lambda écrit une chaîne dans un fichier temporaire sous le dossier /tmp. La chaîne est également écrite dans une table DynamoDB. Le fichier temporaire est téléchargé vers un bucket S3.

-        Dans le volet de navigation gauche, sous DEPLOY [UNDEPLOYED CHANGES], cliquez sur Deploy.

 

-        Cliquez sur l'onglet Configuration.

-        Cliquez sur Environment variables.

-        Cliquez sur Edit.

-        Cliquez sur Add environment variable

-        Pour la nouvelle clé, tapez : DYNAMODB_TABLE_NAME, Pour Value, tapez : lab-table.

-        Cliquez sur Add environment variable.

Pour la nouvelle clé, tapez : S3_BUCKET_NAME, Pour la nouvelle valeur, collez le nom complet du bucket S3 que vous avez copié dans une étape précédente, lab-bucket-29022026

-         Vous avez créé et nommé ce bucket.

6. Cliquez sur Save

 

 

 

-        Cliquez sur l'onglet Test. 2. Pour l'action Test event, choisissez Create new event. 3. Pour Event name, saisissez : TestEvent.

 

-        Cliquez sur Test.

 

-        Naviguez vers la console Amazon DynamoDB.

-        Dans le volet de navigation de gauche, cliquez sur Explore items.

-        Dans le volet Tables, choisissez lab-table.

-        Dans le volet Items returned, examinez le nouvel élément. Cet élément a été écrit dans la table par la fonction Lambda, lab-function.

 

 

-        Naviguez jusqu'au nom du bucket S3 commençant par lab-bucket- dans la console Amazon S3.

-        Dans l'onglet Objects, cliquez sur le dossier test/.

 

-        Dans l'onglet Objects, examinez le fichier qui a été téléchargé par la fonction Lambda, lab-function.

 


Félicitations ! Vous avez terminé la section Pratique.

 


On joue un peu avec les bases de données dans AWS

  Comparaison de bases de données Description L'équipe technologique de Minsahe Innovations Inc . souhaite en apprendre davantage ...