1

ララベルを使用しています。ECS (B/G) にデプロイして、その動作を確認したいと考えています。開発環境ではLaravelが動いています。docker を使用して EC2 で Laravel プロジェクトを起動できました。Fargate を初めて使用し、ECS にデプロイしたい!

また、CodeBuild は正常に完了しました。

appspec.yml

version: 0.0 Resources:
  - TargetService:
      Type: AWS::ECS::Service
      Properties:
        TaskDefinition: "<TASK_DEFINITION>"
        LoadBalancerInfo:
          ContainerName: "nginx"
          ContainerPort: "80"

タスク定義.json

{
  "taskRoleArn": "arn:aws:iam::**********:role/ecsTaskExecutionRole",
  "executionRoleArn": "arn:aws:iam::**********:role/ecsTaskExecutionRole",
  "containerDefinitions": [
    {
      "logConfiguration": {
        "logDriver": "awslogs",
        "options": {
          "awslogs-group": "/ecs/****-system",
          "awslogs-region": "******",
          "awslogs-stream-prefix": "ecs"
        }
      },
      "entryPoint": [
        "sh",
        "-c"
      ],
      "command": [
        "php artisan config:cache && php artisan migrate && chmod -R 777 storage/ &&  chmod -R 777 bootstrap/cache/"
      ],
      "cpu": 0,
      "environment": [
        {
          "name": "APP_ENV",
          "value": "staging"
        }
      ],
      "workingDirectory": "/var/www/html",
      "image": "<IMAGE1_NAME>",
      "name": "php"
    },
    {
      "logConfiguration": {
        "logDriver": "awslogs",
        "options": {
          "awslogs-group": "/ecs/****-system",
          "awslogs-region": "****",
          "awslogs-stream-prefix": "ecs"
        }
      },
      "portMappings": [
        {
          "hostPort": 80,
          "protocol": "tcp",
          "containerPort": 80
        }
      ],
      "environment": [
        {
          "name": "APP_ENV",
          "value": "staging"
        }
      ],
      "workingDirectory": "/var/www/html",
      "image": "**********.dkr.ecr.**********.amazonaws.com/**********-nginx:latest",
      "name": "nginx"
    }
  ],
  "placementConstraints": [],
  "memory": "2048",
  "family": "*****-system",
  "requiresCompatibilities": [
    "FARGATE"
  ],
  "networkMode": "awsvpc",
  "cpu": "1024",
  "volumes": []
}

CodeDeploy は INSTALL で停止し、エラーはありません。キャプチャでわかるように、「<TASK_DEFINITION>」が置き換えられていることを確認できます。不足している情報があれば知りたいです。

「.env」などの環境変数の設定方法がわからないので、これが原因ではないかと考えています。

CodeDeploy に失敗しました

リビジョン

タスク定義

ECR

ECR nginx

ECR src(laravel)

4

1 に答える 1