Cours > Module > Chapitre

Lab : Déploiement d’Amazon ElastiCache avec une Application Python

Objectif

Ce lab vous guide dans la mise en place d’un cluster Amazon ElastiCache for Redis et son utilisation avec une application Python. Vous apprendrez à :

  • Créer un cluster ElastiCache (Redis).
  • Déployer une application Flask qui utilise Redis pour stocker des données en cache.
  • Tester l’application pour observer l’amélioration des performances.

1. Architecture du Lab

  • Une instance EC2 exécutant une application Flask.
  • Un cluster ElastiCache for Redis pour la mise en cache.
  • L’application Flask interagit avec Redis pour stocker et récupérer des données.

2. Étapes du Déploiement

1. Déploiement d’ElastiCache (Redis)

1.1. Créer un Cluster ElastiCache

  1. Allez sur AWS Management Console > Amazon ElastiCache.
  2. Cliquez sur Create Cluster et choisissez Redis.
  3. Configuration :
    • Nom : cache-demo
    • Type : Cluster Mode Disabled
    • Instance Type : cache.t2.micro
    • Nombre de nœuds : 1
    • VPC : Sélectionnez un VPC existant
    • Security Group : Autoriser les connexions depuis l’instance EC2
  4. Lancez la création du cluster et notez l’Endpoint Redis une fois le cluster actif.

2. Déploiement d’une Instance EC2

  1. Allez dans EC2 > Instances > Create Instance.
  2. AMI : Amazon Linux 2
  3. Type : t2.micro
  4. Security Group :
    • Autoriser SSH (22) pour se connecter.
    • Autoriser HTTP (80) pour l’application web.
    • Autoriser Redis (6379) pour l’accès au cache depuis cette instance uniquement.

Lancez l’instance et connectez-vous en SSH :

				
					ssh -i votre-cle.pem ec2-user@<public-ip-instance>

				
			

3. Installer les Dépendances

Mettez à jour le système :

				
					sudo yum update -y
				
			

Installez Python et Pip :

				
					sudo yum install python3 -y
sudo pip3 install flask redis

				
			

Vérifiez la connexion Redis :

				
					telnet <redis-endpoint> 6379
				
			

Si la connexion fonctionne, Redis est accessible.

4. Déployer l’Application Flask avec Redis

4.1. Créer l’Application

Créez un fichier app.py :

				
					from flask import Flask
import redis
import os

app = Flask(__name__)

# Connexion à Redis
redis_host = "<redis-endpoint>"
redis_port = 6379
cache = redis.StrictRedis(host=redis_host, port=redis_port, decode_responses=True)

@app.route("/")
def index():
    count = cache.incr("visits")  # Incrémenter le compteur de visites
    return f"Nombre de visites : {count}"

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=80)
				
			

Lancez l’application :

				
					sudo python3 app.py
				
			

5. Tester l’Application

Ouvrez un navigateur et accédez à l’adresse : http://<public-ip-ec2>/

Rechargez plusieurs fois la page, vous verrez le compteur de visites augmenter, prouvant que Redis stocke et met à jour les données.

6. Nettoyer les Ressources

  1. Supprimez l’instance EC2.

Supprimez le cluster ElastiCache.

×

Panier