首頁 >後端開發 >Python教學 >Django的生活遊戲遇到了AWS ECS - 最終的部署黑客!

Django的生活遊戲遇到了AWS ECS - 最終的部署黑客!

Susan Sarandon
Susan Sarandon原創
2025-01-30 08:13:08638瀏覽

>本文檔詳細介紹了使用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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn