首页 > 后端开发 > Python教程 > Django的生活游戏遇到了AWS ECS - 最终的部署黑客!

Django的生活游戏遇到了AWS ECS - 最终的部署黑客!

Susan Sarandon
发布: 2025-01-30 08:13:08
原创
635 人浏览过

>本文档详细介绍了使用Django和AWS ECS将经典游戏模拟部署为Web应用程序。 让我们简化说明以确保清晰度。

目录的

  • 介绍
  • 先决条件
  • 项目设置
    • 项目结构
  • AWS基础架构部署
      ECR存储库创建
    • 环境变量导出
    • IAM角色配置
    • > ECS群集创建
  • docker映像构建和推动>
      构建Docker Image
    • 登录到ECR
    • 标签并按下图像
  • >任务定义创建
      更新任务定义文件
    • 注册任务定义
  • 游戏服务部署
      >服务详细信息
    • >负载平衡配置
  • >访问已部署的游戏>
      访问负载平衡器端点
  • 结论

介绍

>这个项目将约翰·康威(John Conway)的生命游戏实现为Django Web应用程序,该应用程序已在AWS ECS上部署,以供可伸缩性和可靠性。 这表明了容器编排如何现代化经典模拟。

先决条件

    > AWS帐户具有适当的权限。
  • aws CLI配置了。
  • docker在本地安装。
  • git存储库克隆:
  • git clone https://github.com/UkemeSkywalker/game_of_life>

项目设置 克隆后,导航到项目目录(

)。

>cd game_of_life项目结构:

项目的结构如下:

AWS基础架构部署

<code>game-of-life/
├── Dockerfile
├── buildspec.yml
├── requirements.txt
├── manage.py
├── game_of_life/  (Django app)
└── ecs/         (ECS deployment files)</code>
登录后复制
登录后复制

1。 ECR存储库的创建:创建一个启用图像扫描的ECR存储库:

>

game-of-life

<code class="language-bash">aws ecr create-repository --repository-name game-of-life --image-scanning-configuration scanOnPush=true</code>
登录后复制
登录后复制

2。环境变量导出:Django’s Game of Life Meets AWS ECS – The Ultimate Deployment Hack!导出必要的环境变量:Django’s Game of Life Meets AWS ECS – The Ultimate Deployment Hack!

测试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>
登录后复制
登录后复制
3。 IAM角色配置:

创建一个名为

的IAM角色。

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。 ECS群集创建:使用Fargate创建一个名为game-of-life的ECS群集:

<code>game-of-life/
├── Dockerfile
├── buildspec.yml
├── requirements.txt
├── manage.py
├── game_of_life/  (Django app)
└── ecs/         (ECS deployment files)</code>
登录后复制
登录后复制

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映像构建和推动

>

5。构建Docker映像:构建Docker映像:

<code class="language-bash">aws ecr create-repository --repository-name game-of-life --image-scanning-configuration scanOnPush=true</code>
登录后复制
登录后复制

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

6。标记并推动图像:

标签,然后将图像推到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>
登录后复制
登录后复制

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

>任务定义创建

7。更新任务定义文件:

使用>。ecs/task-definition.json 8。注册任务定义:sed注册任务定义:

<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>
登录后复制

游戏服务部署Django’s Game of Life Meets AWS ECS – The Ultimate Deployment Hack!

9。服务详细信息和负载平衡:在AWS ECS控制台中,创建一个名为的新服务,选择新注册的任务定义,并使用应用程序负载均衡器启用负载平衡。

game-of-life-svc

>访问已部署的游戏

>

10。访问负载均衡器端点:>一旦部署,从服务详细信息中获取负载平衡器DNS名称,并在浏览器中访问应用程序。>>>>>

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!

结论

这种部署成功地展示了使用容器化和云基础架构现代化的经典应用程序。 Django和AWS ECS的使用为生活游戏提供了可扩展可靠的平台。

以上是Django的生活游戏遇到了AWS ECS - 最终的部署黑客!的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板