Création d'applications sans serveur

avec Amazon Aurora sans serveur

Amazon Aurora est une base de données relationnelle compatible avec MySQL et PostgreSQL qui associe les performances et la disponibilité des bases de données d'entreprises traditionnelles à la simplicité et à la rentabilité des bases de données open source. Amazon Aurora sans serveur est une configuration de scalabilité automatique à la demande pour Amazon Aurora (éditions compatibles avec MySQL et PostgreSQL), où la base de données démarre, s'éteint et augmente ou réduit la capacité automatiquement en fonction des besoins de votre application. Elle vous permet d'exécuter votre base de données dans le cloud sans gérer d'instances de base de données. C'est une option relativement simple et économique pour les charges de travail peu fréquentes, intermittentes ou imprévisibles.

Dans ce didacticiel, vous apprendrez comment créer une application de traitement des messages sans serveur avec Amazon Aurora sans serveur (édition compatible avec PostgreSQL), API Données pour Aurora sans serveur, Amazon Lambda et Amazon Simple Notification Service (SNS). Le didacticiel fournit des instructions détaillées pour la création d'une base de données Aurora sans serveur, utiliser l'API Données pour la connexion à une fonction Amazon Lambda consommant les messages d'Amazon SNS et les stocke dans une base de données Aurora sans serveur.

À propos de ce didacticiel
Durée 10 à 20 minutes      
Coût Moins de 1 USD
Cas d'utilisation Bases de données
Produits Amazon Aurora, Amazon SNS, AWS Lambda
Niveau 100
Dernière mise à jour 24 septembre 2019

Étape 1 : Créer votre base de données Amazon Aurora sans serveur

1.1 — Ouvrez votre navigateur et accédez à la console Amazon RDS. Si vous avez déjà un compte AWS, connectez-vous à la console. Dans le cas contraire, créez un nouveau compte AWS pour démarrer.

Vous possédez déjà un compte ? Connectez-vous à votre compte

1.2 — Dans le coin supérieur droit, sélectionnez la région où vous souhaitez lancer le cluster de base de données Aurora.

1.3 — Cliquez sur « Créer une base de données » dans la fenêtre Amazon Aurora.

Avant de poursuivre, passez au flux de création de base de données :

Options du moteur

1.4 — Dans Moteur de base de données, sélectionnez « Amazon Aurora ».

1.5 — Dans Édition, sélectionnez « Amazon Aurora compatible avec PostgreSQL ».

Fonctionnalités des bases de données

1.6 — Sélectionnez « Sans serveur ».

Paramètres

1.7 — Choisissez un identifiant pour votre cluster Aurora DB, comme « database-1 ».

Paramètres des informations d'identification

1.8 — Sélectionnez un nom d'utilisateur et un mot de passe pour votre base de données.

Paramètres de capacités

1.9 — Pour l'unité de capacité Aurora maximale, sélectionnez 2.

Connectivité

1.10 — Sélectionnez le VPC où vous souhaitez créer la base de données.

Notez qu'une fois que la base de données a été créée, celle-ci ne peut pas être migrée vers un VPC différent.

1.11 — Cliquez sur « Configuration de connectivité supplémentaire ».

1.12 — Sélectionnez la valeur par défaut pour le groupe Sous-réseau.

1.13 — Dans le groupe de sécurité VPC, sélectionnez « créer ». Si vous disposez d'un groupe de sécurité qui autorise les connexions TCP entrantes sur le port 3306, vous pouvez le sélectionner à la place.

1.14 — Dans le nom du nouveau groupe de sécurité VPC, saisissez « aurora-tutorial ».

1.15 — Activez l'API Données.

Configuration supplémentaire

1.16 — Dans « Protection de la suppression », décochez « Activer la protection de la suppression ».

La bonne pratique est d'activer la protection de la suppression, mais si vous souhaitez supprimer la base de données à la fin du didacticiel, vous pouvez laisser cette option décochée.

Vérification et création

Après une vérification rapide de tous les champs du formulaire, vous pouvez poursuivre.

1.17 — Cliquez sur « Create database » (Créer une base de données).

Pendant la création des instances, une bannière s'affiche pour vous expliquer comment obtenir vos informations d'identification. Il s'agit d'une bonne opportunité pour enregistrer les informations d'identification quelque part, étant donné que c'est la seule fois où vous pourrez consulter le mot de passe.

Récupération de l'ARN de cluster

1.18 — Cliquez sur le nom de la base de données.

1.19 — Dans l'onglet « Configuration », copiez l'ARN du cluster et gardez-la à portée de main. Vous en aurez besoin par la suite.

Connexion à la base de données

1.20 — Ouvrez le panneau de gauche, puis cliquez sur « Query Editor » (éditeur de requêtes).

1.21 — Sélectionnez « database-1 », saisissez « postgres » comme nom d'utilisateur de base de données et saisissez le mot de passe de base de données créé précédemment, puis saisissez « postgres » comme nom de base de données.

1.22 — Cliquez sur « Connect to database » (se connecter à la base de données).

1.23 — Vous pouvez désormais cliquer sur « Exécuter » pour exécuter l'exemple de requête.

1.24 — Créez une base de données en exécutant la requête suivante :

Didacticiel CRÉATION D'UNE BASE DE DONNÉES ;

1.25 — Cliquez sur « Change database » (changer de base de données).

1.26 — Passez à la base de données que vous venez de créer.

1.27 — Créez un tableau avec cette requête :

CREATE TABLE sample_table(received_at TIMESTAMP, message VARCHAR(255));

En assurant la connexion à la base de données avec l'éditeur de requêtes, un secret que vous utiliserez plus tard dans votre fonction Lambda est créé. Laissez cet onglet ouvert, vous aurez en effet besoin d'exécuter des requêtes à la fin du didacticiel.

Copie de l'ARN du secret

Ouvrez un nouvel onglet et rendez-vous dans AWS Secrets Manager. Puis, suivrez les étapes ci-dessous pour récupérer l'ARN du secret. 

1.28 — Trouvez le secret contenant les « RDS database postgres credentials for database-1 ».

1.29 — Après avoir cliqué sur le nom du secret, copiez sur l'ARN du secret et gardez-la à portée de main.

Étape 2 : créer un environnement AWS Cloud9

Ouvrez un nouvel onglet et rendez-vous dans la console AWS Cloud9. Puis, suivez les étapes ci-dessous pour créer un nouvel environnement. 

2.1 — Cliquez sur « Créer un environnement » :

2.2 — Saisissez un nom pour votre nouvel environnement, puis cliquez sur « Étape suivante ».

2.3 — Faites défiler vers le bas et cliquez sur « Étape suivante ».

2.4 — Cliquez sur « Créer un environnement ».

2.5 — Une fois votre environnement prêt, cliquez sur « Create Lambda Function » (créer une fonction Lambda).

2.6 — Comme nom de fonction, saisissez « auroratest ». Puis, cliquez sur « Suivant ».

2.7 — Sélectionnez le blueprint « empty-python », puis cliquez sur « Suivant ».

2.8 — Dans les écrans suivants, cliquez sur « Suivant », « Suivant », puis « Terminer ».

L'environnement est désormais prêt, et vous verrez un blueprint pour une fonction Lambda.

Avant de commencer à coder, vous devez configurer certaines autorisations, comme décrit à l'Étape 3. Gardez cet environnement ouvert et utilisez d'autres onglets pour réaliser les étapes suivantes.

Étape 3 : configurer les autorisations

Ouvrez un nouvel onglet et rendez-vous dans la console AWS IAM. Puis, suivez les étapes ci-dessous pour attribuer des autorisations à votre fonction Lambda.

3.1 — Cliquez sur « Rôles » et cherchez un rôle commençant par « cloud9- ».

3.2 — Cliquez sur le nom du rôle, puis sur « Attach Policies » (attacher des stratégies).

3.3 — Sélectionnez la stratégie « AmazonRDSDataFullAccess », puis cliquez sur « Attach policy » (attacher une stratégie).

Vous verrez un écran avec une bannière vert clair indiquant le bon attachement de la stratégie.

Étape 4 : créer votre fonction AWS Lambda

Retournez à l'environnement Cloud9 créé à l'étape 2, puis suivez les instructions ci-dessous.

4.1 — Rendez-vous dans le répertoire auroratest en exécutant cette commande dans la console :

$ cd auroratest

4.2 — Installez la dépendance boto3 en exécutant cette commande dans la console :

$ pip install boto3 -t boto3

4.3 — Supprimez le code dans le fichier lambda_function et à sa place, copiez ce code d'exemple.

4.4 — Remplacez les valeurs cluster_arn et secret_arn par l'ARN du cluster et du secret obtenue pendant les étapes précédentes.

4.5 — Cliquez sur « Fichier > Enregistrer », puis sélectionnez votre fonction Lambda dans le panneau de droite.

4.6 — Déployez votre fonction Lambda en cliquant sur la flèche vers le haut.

Étape 5 : créer une rubrique Amazon SNS

Votre fonction Lambda traitera les messages d'Amazon Simple Notification Service (SNS), qui propose une messagerie de type pub/sub pour les microservices et les applications sans serveur.

Dans un nouvel onglet, rendez-vous sur le Tableau de bord SNS et suivez ces instructions :

5.1 — Dans « Nom de la rubrique », saisissez aurora-lambda-sns-test, puis cliquez sur « Étape suivante ».

5.2 — Conservez toutes les valeurs par défaut et cliquez sur « Créer une rubrique ».

Vous verrez une bannière vert clair indiquant que la rubrique a été créée avec succès.

5.3 — Copiez l'ARN SNS et gardez-la à portée de main.

Gardez cet onglet ouvert, étant donné que vous l'utiliserez pour publier un message une fois que la fonction Lambda sera configurée de façon à lire depuis la rubrique créée.

Étape 6 : inscrire la fonction AWS Lambda à une rubrique Amazon SNS

Rendez-vous dans la console de gestion AWS Lambda et suivez les instructions ci-dessous :

6.1 — Cliquez sur le nom de la fonction Lambda que vous avez créée à l'étape 4.

6.2 — Cliquez sur « Ajouter un déclencheur».

6.3 — Saisissez « SNS » et sélectionnez les services « SNS » dans le menu déroulant.

6.4 — Dans le champ « Rubrique SNS », saisissez l'ARN du SNS.

6.5 — Activez le déclencheur et cliquez sur « Ajouter ».

Étape 7 : publier un message de test

Retournez au Tableau de bord SNS et suivez ces instructions :

7.1 — Cliquez sur « Publier un message ».

7.2 — Saisissez une valeur pour le champ « Sujet ».

7.3 — Saisissez une valeur pour le champ « Corps ».

7.4 — Faites défiler vers le bas et cliquez sur « Publier un message ».

Une fois le message publié, votre fonction Lambda le consomme et le traite. Dans la section suivante, vous vérifierez l'écriture des données dans votre base de données Aurora.

Vérification des modifications des bases de données

7.5 — Rendez-vous dans l'onglet où vous avez laissé l'éditeur de requêtes ouvert. Si vous l'avez fermé, consultez le Tableau de bord RDS et connectez-vous à l'éditeur de requêtes, comme indiqué au point 1.20.

7.6 — Connectez-vous à la base de données « tutorial ».

7.7 — Sélectionnez tous les enregistrements dans le sample_table :

SELECT * FROM sample_table;

7.8 — Cliquez sur « Exécuter » et faites défiler vers le bas pour consulter les résultats.

Tout devrait fonctionner à présent. Vous pouvez essayer de modifier les messages envoyés par le biais de SNS ou la fonction lambda_handler comme vous le souhaitez.

Étape 8 : nettoyage

Pour terminer ce didacticiel, vous apprendrez comment supprimer votre cluster de BD Aurora lorsqu'il n'est plus nécessaire, ainsi que la fonction Lambda, l'environnement Cloud9, le Secret pour la connexion à la base de données d'autres éléments restants.

Suppression de votre fonction Lambda

8.1 — Rendez-vous dans la Console de gestion AWS Lambda et sélectionnez votre fonction Lambda.

8.2 — Cliquez sur « Actions > Supprimer ».

Suppression de vos rubriques SNS

8.3 — Rendez-vous dans le Tableau de bord SNS, puis cliquez sur « Rubriques » dans le panneau de gauche.

8.4 — Sélectionnez la rubrique créée à l'Étape 5 et cliquez sur « Supprimer ».

8.5 — Vous serez invité à confirmer. Saisissez « delete me » pour confirmer, puis cliquez sur « Supprimer ».

Suppression de l'environnement Cloud9

8.6 — Rendez-vous dans la console AWS Cloud9 et sélectionnez l'environnement créé dans ce didacticiel.

8.7 — Cliquez sur « Supprimer ».

8.8 — Lorsque vous êtes invité à confirmer, saisissez « Supprimer », puis cliquez sur le bouton « Supprimer ».

Suppression de votre base de données Aurora sans serveur

8.9 — Rendez-vous dans la console Amazon RDS, puis sélectionnez la base de données créée pour ce didacticiel.

8.10 — Cliquez sur « Actions > Supprimer ».

Il vous sera demandé si vous voulez créer un instantané final. C'est généralement une bonne idée, mais cela n'est pas utile aux fins du présent didacticiel.

8.11 — Lorsque vous êtes invité à confirmer, sélectionnez « Non » pour la question relative à la création d'un instantané final. Puis, cochez « Je reconnais... » et cliquez sur « Delete DB cluster » (supprimer cluster BD).

Suppression de votre Secret

8.12 — Rendez-vous dans AWS Secrets Manager, trouvez le secret contenant « RDS database admin credentials for database-1 », puis cliquez sur son nom.

8.13 — Cliquez sur « Actions > Delete secret » (supprimer le secret).

8.14 — Les secrets ne peuvent pas être supprimés immédiatement. La période d'attente minimale pour une suppression planifiée est de 7 jours. Sélectionnez 7 jours, puis cliquez sur « Planifier la suppression ».

Suppression de votre rôle IAM

8.15 — Rendez-vous dans la console AWS IAM. Cliquez sur « Rôles » et cherchez un rôle commençant par « cloud9- ».

8.16 — Sélectionnez le rôle, puis cliquez sur « Supprimer le rôle ».

8.17 — Lorsque vous êtes invité à confirmer, cliquez sur « Oui, supprimer ».

Félicitations

Vous avez créé une base de données Aurora sans serveur et l'avez connectée à une fonction AWS Lambda par le biais de l'API Données d'Aurora. Vous avez configuré Amazon Simple Notification Service (SNS) comme déclencheur pour votre fonction Lambda et les messages que vous avez envoyés via SNS ont été traités et stockés dans votre base de données Amazon sans serveur.

Ce didacticiel vous a-t-il été utile ?

Merci
Merci de nous indiquer ce que vous avez aimé.
Nous sommes désolés de vous décevoir.
Quelque chose est-il obsolète, déroutant ou inexact ? Aidez-nous à améliorer ce didacticiel en fournissant des commentaires.

Apprenez-en plus sur les fonctionnalités d'Amazon Aurora

Obtenez plus d'informations sur les fonctionnalités d'Amazon Aurora avec le Guide de l'utilisateur Amazon Aurora.

Bonnes pratiques d'Amazon Aurora

En savoir plus sur les bonnes pratiques et options générales concernant l'utilisation ou la migration de données vers un cluster de base de données Amazon Aurora.

En savoir plus sur le sans serveur

Si vous voulez en savoir plus sur les applications sans serveur, consultez la Documentation d'AWS Lambda, ainsi que le Guide de l'utilisateur d'Aurora.