Introduction
Dans cet article, je résumerai le déploiement du système de détection d'intrusion flask sur AWS.
REMARQUE : Ceci est un résumé du projet, pour accéder au processus complet étape par étape pour le déploiement du projet, cliquez sur le lien ci-dessous
Déploiement d'un système de détection d'intrusion basé sur Flask sur AWS ECS
Victor ・ 15 novembre
#devops
#python
#aws
#docker
Architecture du projet
Ici, les services AWS utilisés pour le projet seront définis, ainsi que le schéma d'architecture AWS
Diagramme d'architecture AWS
Ressources de déploiement
1. VPC
J'ai créé un VPC dans la région us-east-1
-
Sous-réseaux : Suite au VPC, j'ai réalisé 4 sous-réseaux dans deux zones de disponibilité :
- Sous-réseaux publics : j'ai créé deux sous-réseaux publics dans les zones de disponibilité us-east 1a et us-east 1b pour l'Application Load Balancer (ALB) accessible sur Internet et d'autres ressources nécessitant Internet.
- Sous-réseaux privés : j'ai également créé deux sous-réseaux privés dans les zones de disponibilité us-east 1a et us-east 1b, mais cette fois, c'est pour mes tâches de service ECS. Cela crée une architecture plus sécurisée.
-
Passerelle Internet (IGW) : Attaché l'IGW et ajouté à la table de routage du VPC pour accorder l'accès Internet au VPC, car les VPC nouvellement créés n'en ont pas attaché
2. Points de terminaison d'un VPC
Les points de terminaison du VPC permettent aux tâches ECS du sous-réseau privé d'accéder à certaines ressources.
- Points de terminaison ECR et Docker : assurez-vous que les tâches ECS peuvent extraire des images Docker.
- Point de terminaison CloudWatch : pour une journalisation sécurisée.
- Point de terminaison de la passerelle S3 : accédez aux données et aux configurations en toute sécurité.
3. Équilibreur de charge d'application
- Écouteur : configuré pour transférer le trafic vers le groupe cible ECS. écoute sur le port 80 (HTTP)
- Groupe cible : achemine les requêtes vers les tâches ECS dans les sous-réseaux privés
- Distribue le trafic entrant entre les tâches ECS.
4. Registre de conteneurs élastiques (ECR)
J'ai utilisé ce service pour héberger mon image Docker.
5. Service de conteneur élastique (ECS)
- Définitions des tâches : j'ai défini ici le conteneur Docker et alloué les ressources nécessaires
- Service : cela crée les tâches fargate et les met à l'échelle derrière l'équilibreur de charge.
6. Itinéraire 53
- J'ai utilisé ce service pour la configuration DNS du domaine d'application, en acheminant le trafic vers l'ALB.
Défis rencontrés et solutions
défi:
Les tâches ECS dans le sous-réseau privé n'ont pas pu accéder à l'image Docker pour ECR
Solutions :
J'ai utilisé des points de terminaison VPC pour permettre aux tâches ECS du sous-réseau privé d'accéder au dépôt ECR.
Améliorations futures
Je prévois d'automatiser l'intégralité du déploiement en créant un pipeline CI/CD avec Code Pipeline et Codebuild.
Merci d'avoir lu, consultez mon profil, pour plus de publications Cloud et DevOps comme celle-ci
Liens pertinents
- Découvrez le projet sur mon GitHub
VSI12
/
Projet IDS
c'est un système de détection d'intrusion
Déploiement d'un système de détection d'intrusion sur AWS
Aperçu du projet
Ce projet montre comment créer et conteneuriser une application Web Flask avec Docker et la déployer sur AWS. Cette architecture garantit une version sécurisée, hautement disponible, tolérante aux pannes et évolutive en tirant parti de diverses architectures AWS.
Architecture
-
Cloud privé virtuel (VPC) : configuré avec des sous-réseaux publics et privés sur deux zones de disponibilité pour une haute disponibilité et une sécurité.
-
Interget Gateway : permet la communication entre le VPC et Internet
-
Points de terminaison du VPC : les points de terminaison du VPC permettent aux tâches ECS du sous-réseau privé d'accéder à certaines ressources.
Voir sur GitHub
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
Déclaration:Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn