このドキュメントでは、DjangoおよびAWS ECSを使用したWebアプリケーションとしてLife of Lifeシミュレーションの古典的なゲームを展開する詳細を詳しく説明しています。 明確にするための指示を合理化しましょう
目次
前提条件 適切な権限を備えたAWSアカウント。
cli構成。
dockerがローカルにインストールされています。 gitリポジトリクローン:
git clone https://github.com/UkemeSkywalker/game_of_life
プロジェクトの構造は次のとおりです
AWSインフラストラクチャの展開
1。 ECRリポジトリの作成:cd game_of_life
イメージスキャンを有効にして
<code>game-of-life/ ├── Dockerfile ├── buildspec.yml ├── requirements.txt ├── manage.py ├── game_of_life/ (Django app) └── ecs/ (ECS deployment files)</code>
2。環境変数のエクスポート:
必要な環境変数のエクスポート:
ECRログインをテストします:
game-of-life
<code class="language-bash">aws ecr create-repository --repository-name game-of-life --image-scanning-configuration scanOnPush=true</code>
を添付した
という名前のiamロールを作成します。
4。 ECSクラスターの作成:Fargateを使用した名前のeCSクラスターを作成:game-of-life
<code>game-of-life/ ├── Dockerfile ├── buildspec.yml ├── requirements.txt ├── manage.py ├── game_of_life/ (Django app) └── ecs/ (ECS deployment files)</code>
dockerイメージのビルドとプッシュ
5。 Dockerイメージを作成します:
<code class="language-bash">aws ecr create-repository --repository-name game-of-life --image-scanning-configuration scanOnPush=true</code>
タグを付けて画像を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。タスク定義ファイルを更新します:
。
ecs/
8。タスクの定義を登録します: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>
9。サービスの詳細とロードバランシング:
game-of-life-svc
展開されたゲームへのアクセス
10。ロードバランサーのエンドポイントへのアクセス:展開したら、サービスの詳細からロードバランサーDNS名を取得し、ブラウザのアプリケーションにアクセスします。
結論 この展開は、コンテナ化とクラウドインフラストラクチャを使用して、古典的なアプリケーションの近代化を正常に示しています。 DjangoとAWS ECSの使用は、人生のゲームにスケーラブルで信頼できるプラットフォームを提供します。
以上がDjangoのLife of Life Meets AWS ECS - 究極の展開ハック!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。