Rumah >pembangunan bahagian belakang >Tutorial Python >Game of Life Django memenuhi AWS ECS - The Ultimate Deployment Hack!
Butiran dokumen ini menggunakan simulasi Game of Life klasik sebagai aplikasi web menggunakan Django dan AWS ECS. Mari kita menyelaraskan arahan untuk kejelasan.
Jadual Kandungan
Pengenalan
Projek ini melaksanakan Game of Life John Conway sebagai aplikasi web Django, yang digunakan di AWS ECS untuk skalabilitas dan kebolehpercayaan. Ini menunjukkan bagaimana orkestra kontena dapat memodenkan simulasi klasik.
prasyarat
git clone https://github.com/UkemeSkywalker/game_of_life
Persediaan Projek
selepas pengklonan, navigasi ke direktori projek (). cd game_of_life
Struktur Projek: Struktur projek adalah seperti berikut:
<code>game-of-life/ ├── Dockerfile ├── buildspec.yml ├── requirements.txt ├── manage.py ├── game_of_life/ (Django app) └── ecs/ (ECS deployment files)</code>
penyebaran infrastruktur AWS
1. Penciptaan repositori ECR: Buat repositori ECR bernama dengan pengimbasan imej didayakan: game-of-life
<code class="language-bash">aws ecr create-repository --repository-name game-of-life --image-scanning-configuration scanOnPush=true</code>
2. Eksport Pembolehubah Alam Sekitar: Eksport Pembolehubah Alam Sekitar yang Diperlukan:
<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>menguji log masuk 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>
3. Konfigurasi peranan IAM: Buat peranan IAM bernama dengan ecsTaskExecutionRole
dilampirkan. AmazonECSTaskExecutionRolePolicy
4. Penciptaan Kluster ECS: Buat kluster ECS bernama game-of-life
menggunakan Fargate:
<code>game-of-life/ ├── Dockerfile ├── buildspec.yml ├── requirements.txt ├── manage.py ├── game_of_life/ (Django app) └── ecs/ (ECS deployment files)</code>
Docker Image Build and Push
5. Bina imej Docker: Bina imej Docker:
<code class="language-bash">aws ecr create-repository --repository-name game-of-life --image-scanning-configuration scanOnPush=true</code>
6. Tag dan tolak imej: tag dan tolak imej ke 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>
7. Kemas kini fail definisi tugas:
navigasi ke dan kemas kini dengan pembolehubah persekitaran yang dieksport menggunakan ecs/
. task-definition.json
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>
Penyebaran Perkhidmatan Permainan
9. Butiran perkhidmatan dan mengimbangi beban: Dalam konsol AWS ECS, buat perkhidmatan baru bernama
, memilih definisi tugas yang baru didaftarkan dan membolehkan pengimbangan beban dengan pengimbang beban aplikasi.
game-of-life-svc
Mengakses permainan yang digunakan
10. Mengakses Titik Akhir Load Balancer: Sebaik sahaja digunakan, dapatkan nama DNS Balancer Load dari butiran perkhidmatan dan akses aplikasi dalam penyemak imbas anda.
Kesimpulan
Penyebaran ini berjaya menunjukkan pemodenan aplikasi klasik menggunakan kontena dan infrastruktur awan. Penggunaan Django dan AWS ECS menyediakan platform berskala dan boleh dipercayai untuk permainan kehidupan.
Atas ialah kandungan terperinci Game of Life Django memenuhi AWS ECS - The Ultimate Deployment Hack!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!