Maison > développement back-end > Tutoriel Python > Game of Life de Django rencontre AWS ECS - le hack de déploiement ultime!

Game of Life de Django rencontre AWS ECS - le hack de déploiement ultime!

Susan Sarandon
Libérer: 2025-01-30 08:13:08
original
635 Les gens l'ont consulté

Ce document détaille le déploiement de la simulation classique du jeu de vie en tant qu'application Web à l'aide de Django et AWS ECS. Ramovions les instructions de clarté.

Table des matières

  • Introduction
  • Prérequis
  • Configuration du projet
    • Structure du projet
  • AWS Infrastructure Deployment
    • Création du référentiel ECR
    • Exportation variable d'environnement
    • IAM Configuration des rôles
    • Création de cluster ECS
  • Docker Image Build and Push
    • construire l'image docker
    • Connectez-vous à ECR
    • Tag et poussez l'image
  • Création de définition de la tâche
    • Mettez à jour le fichier de définition de la tâche
    • Enregistrez la définition de la tâche
  • Déploiement du service de jeu
    • Détails du service
    • Configuration d'équilibrage de charge
  • Accès au jeu déployé
    • Accès au point de terminaison de l'équilibreur de charge
  • Conclusion

Introduction

Ce projet met en œuvre le jeu de vie de John Conway en tant qu'application Web de Django, déployé sur AWS ECS pour l'évolutivité et la fiabilité. Cela montre comment l'orchestration des conteneurs peut moderniser les simulations classiques.

Prérequis

  • Compte AWS avec des autorisations appropriées.
  • AWS CLI configuré.
  • docker installé localement.
  • GIT REPOSETORY CLONED: git clone https://github.com/UkemeSkywalker/game_of_life

Configuration du projet

Après le clonage, accédez au répertoire du projet (cd game_of_life).

Structure du projet: La structure du projet est la suivante:

<code>game-of-life/
├── Dockerfile
├── buildspec.yml
├── requirements.txt
├── manage.py
├── game_of_life/  (Django app)
└── ecs/         (ECS deployment files)</code>
Copier après la connexion
Copier après la connexion

AWS Infrastructure Deployment

1. Création du référentiel ECR: Créez un référentiel ECR nommé game-of-life avec la numérisation d'image activée:

<code class="language-bash">aws ecr create-repository --repository-name game-of-life --image-scanning-configuration scanOnPush=true</code>
Copier après la connexion
Copier après la connexion

Django’s Game of Life Meets AWS ECS – The Ultimate Deployment Hack! Django’s Game of Life Meets AWS ECS – The Ultimate Deployment Hack!

2. Variable d'environnement Exportation: Exporter les variables d'environnement nécessaires:

<code class="language-bash">export AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text)
export AWS_REGION=us-east-1
export ECR_REPOSITORY_URI=$AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/game-of-life</code>
Copier après la connexion
Copier après la connexion

Testez la connexion ECR:

<code class="language-bash">aws ecr get-login-password --region $AWS_REGION | docker login --username AWS --password-stdin $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com</code>
Copier après la connexion
Copier après la connexion

3. IAM Configuration des rôles: Créer un rôle IAM nommé ecsTaskExecutionRole avec le AmazonECSTaskExecutionRolePolicy attaché.

Django’s Game of Life Meets AWS ECS – The Ultimate Deployment Hack! Django’s Game of Life Meets AWS ECS – The Ultimate Deployment Hack! Django’s Game of Life Meets AWS ECS – The Ultimate Deployment Hack!

4. Création de cluster ECS: Créez un cluster ECS nommé game-of-life en utilisant fargate:

<code>game-of-life/
├── Dockerfile
├── buildspec.yml
├── requirements.txt
├── manage.py
├── game_of_life/  (Django app)
└── ecs/         (ECS deployment files)</code>
Copier après la connexion
Copier après la connexion

Django’s Game of Life Meets AWS ECS – The Ultimate Deployment Hack! Django’s Game of Life Meets AWS ECS – The Ultimate Deployment Hack!

Docker Image Build and Push

5. Construisez l'image docker: Créez l'image docker:

<code class="language-bash">aws ecr create-repository --repository-name game-of-life --image-scanning-configuration scanOnPush=true</code>
Copier après la connexion
Copier après la connexion

Django’s Game of Life Meets AWS ECS – The Ultimate Deployment Hack!

6. Tag et poussez l'image: Tag et poussez l'image vers ECR:

<code class="language-bash">export AWS_ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text)
export AWS_REGION=us-east-1
export ECR_REPOSITORY_URI=$AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/game-of-life</code>
Copier après la connexion
Copier après la connexion

Django’s Game of Life Meets AWS ECS – The Ultimate Deployment Hack!

Création de définition de la tâche

7. Mettez à jour le fichier de définition des tâches: naviguer vers ecs/ et mettre à jour task-definition.json avec les variables d'environnement exportées en utilisant sed.

8. Enregistrez la définition de la tâche: Enregistrez la définition de la tâche:

<code class="language-bash">aws ecr get-login-password --region $AWS_REGION | docker login --username AWS --password-stdin $AWS_ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com</code>
Copier après la connexion
Copier après la connexion

Django’s Game of Life Meets AWS ECS – The Ultimate Deployment Hack!

Déploiement du service de jeu

9. Détails du service et équilibrage de charge: Dans la console AWS ECS, créez un nouveau service nommé game-of-life-svc, en sélectionnant la définition de la tâche nouvellement enregistrée et en activant l'équilibrage de charge avec un équilibreur de chargement d'application.

Django’s Game of Life Meets AWS ECS – The Ultimate Deployment Hack! Django’s Game of Life Meets AWS ECS – The Ultimate Deployment Hack! Django’s Game of Life Meets AWS ECS – The Ultimate Deployment Hack! Django’s Game of Life Meets AWS ECS – The Ultimate Deployment Hack!

Accès au jeu déployé

10. Accès au point de terminaison de l'équilibreur de charge: Une fois déployé, obtenez le nom DNS de l'équilibreur de charge à partir des détails du service et accédez à l'application dans votre navigateur.

Django’s Game of Life Meets AWS ECS – The Ultimate Deployment Hack! Django’s Game of Life Meets AWS ECS – The Ultimate Deployment Hack! Django’s Game of Life Meets AWS ECS – The Ultimate Deployment Hack! Django’s Game of Life Meets AWS ECS – The Ultimate Deployment Hack! Django’s Game of Life Meets AWS ECS – The Ultimate Deployment Hack!

Conclusion

Ce déploiement démontre avec succès la modernisation d'une application classique à l'aide de la conteneurisation et de l'infrastructure cloud. L'utilisation de Django et AWS ECS fournit une plate-forme évolutive et fiable pour le jeu de la vie.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal