- Le plus récent
- Le plus de votes
- La plupart des commentaires
Bonjour et bonne année 2025 à vous aussi. Je comprends votre frustration face à ce problème. Voici quelques pistes à explorer pour résoudre votre problème d'accès aux données des locataires dans votre application Laravel multi-tenant déployée sur AWS :
-
Configuration de la base de données : Assurez-vous que votre application Laravel est correctement configurée pour se connecter à la base de données RDS. Vérifiez le fichier de configuration de la base de données (database.php) et assurez-vous qu'il utilise les variables d'environnement pour lire les informations de connexion.
-
Variables d'environnement : Vérifiez que les variables d'environnement nécessaires pour la connexion à la base de données sont correctement définies dans votre environnement Elastic Beanstalk. Cela inclut l'hôte, le nom de la base de données, l'utilisateur et le mot de passe.
-
Groupes de sécurité : Assurez-vous que le groupe de sécurité de votre instance EC2 est autorisé à accéder à l'instance RDS. Vérifiez les règles entrantes du groupe de sécurité RDS pour permettre le trafic depuis le groupe de sécurité EC2.
-
Configuration multi-tenant : Vérifiez la configuration de votre bibliothèque multi-tenant (stancl). Assurez-vous qu'elle est correctement configurée pour utiliser la base de données RDS et qu'elle peut créer et accéder aux bases de données des locataires.
-
Logs d'application : Activez la journalisation détaillée dans votre application Laravel et vérifiez les logs pour tout message d'erreur ou avertissement lié à la connexion à la base de données ou à l'accès aux données des locataires. Téléchargez les journaux complets de votre environnement Beanstalk et consultez le journal des applications.
-
Connexion à la base de données : Essayez de vous connecter manuellement à la base de données RDS depuis votre instance Beanstalk EC2 en utilisant les mêmes informations de connexion que votre application. Cela vous aidera à vérifier si le problème est lié à la connectivité ou à la configuration de l'application.
-
Permissions de la base de données : Vérifiez que l'utilisateur de la base de données a les permissions nécessaires pour accéder et modifier les bases de données des locataires.
-
Cache de l'application : Essayez de vider le cache de votre application Laravel, car parfois des problèmes peuvent survenir en raison de configurations mises en cache.
Si après avoir vérifié ces points le problème persiste, il serait utile d'activer temporairement l'affichage des erreurs dans votre environnement de production pour obtenir plus d'informations sur le problème. Assurez-vous de désactiver cet affichage une fois le problème résolu pour des raisons de sécurité.
N'hésitez pas à fournir plus de détails sur votre configuration ou sur les étapes que vous avez déjà essayées pour que nous puissions vous aider davantage.
NOTE : Si vous rencontrez toujours des problèmes, je vous recommande de créer un dossier de support technique auprès de l'équipe d'assistance AWS Premium Elastic Beanstalk afin que l'équipe puisse étudier votre problème de manière plus approfondie.
Sources
Deploying a Laravel application to Elastic Beanstalk - AWS Elastic Beanstalk
Using Elastic Beanstalk with Amazon RDS - AWS Elastic Beanstalk
Viewing logs from Amazon EC2 instances in your Elastic Beanstalk environment
Après avoir journalisé les logs des requêtes, il semble ne pas y avoir de problème.
Voici le résultat du fichier laravel.logs sur AWS :
Le résultat est le même fichier pour l'application qui fonctionne sans problème au niveau local /
Pour compléter :
Je joins une fois de plus les logs des requêtes capturées, AWS vs Local.
AWS
Local
La méthode de journalisation en vert utilisée est celle-ci : https://medium.com/@mehhfooz/log-requests-and-responses-in-laravel-f859d1f47b74
La méthode en noir & bleu celle-ci : https://medium.com/@CodeBriefly/how-to-log-all-sql-queries-in-laravel-a1798783ddf2 && https://laravel.com/docs/8.x/database#listening-for-query-events
Vous pouvez voir que la requête en bleu n'est pas capturée côté AWS.
Merci pour votre assistance.
Contenus pertinents
- demandé il y a 2 ans
- demandé il y a un an
- AWS OFFICIELA mis à jour il y a 3 ans
- AWS OFFICIELA mis à jour il y a 3 mois
- AWS OFFICIELA mis à jour il y a 2 ans