amazon-web-services - AWS ECS 服务创建(Ec2 Launch 类型)保持“Create IN Progress”状态并在回滚后显示“Create Failed”状态

标签 amazon-web-services aws-cloudformation amazon-ecs aws-fargate

我正在通过创建集群、服务和任务定义(ECS EC2 启动类型)来学习和探索 AWS ECS 服务。并从 AWS ECR 中提取 docker 镜像。集群和任务定义都已成功创建。但创建服务时,长时间处于“Create In Progress”状态,并显示“Create Failed”。向下滚动时,它还会列出回滚。

对于 helloworld 角度应用程序,我的 Docker 文件如下所示,

FROM node:latest as build
WORKDIR /app

RUN npm install -g @angular/cli
COPY ./package.json .
RUN npm install
COPY . .
RUN ng build --configuration production

FROM nginx as runtime
COPY --from=build /app/dist/helloworld/ /usr/share/nginx/html
EXPOSE 80

我的任务完成的步骤

  1. 集群创建

    1.1 创建支持 Ec2 Launch 类型的集群 1.2 选择 Amazon Linux 2 实例 1.3 选择t2.micro实例类型

  2. 任务定义

    2.1 选择 EC2 启动类型 2.2 选择Linux/x86_64 2.3 .5 vCPU 和 1 Gb 内存 2.4 选择我的图像 ECR URL 并映射到端口 80 2.5 网络模式awsvpc

  3. 服务创建

    3.1 选择 EC2 启动类型 3.2 应用型服务。 3.3 选择族并创建任务定义。 3.4 服务类型副本 3.4 选择任务1的期望数量

注意 -:它在 ECS Fargate 方法中成功运行(通过在任务定义中选择 Fargate 选项并在服务中选择 Fargate 选项)

问题是当我定义任务定义 ec2 启动类型和服务以及 Ec2 启动类型时。如果我在两个地方都选择 Ec2 类型,它会显示创建失败的错误。 当我检查 CloudWatch Logs 时,它没有提供任何日志。

问题已解决,

  1. 为了交叉检查角色/权限/策略问题,我从根用户帐户创建,但响应仍然相同。
  2. 我创建了集群来支持 Fargate/ec2 启动类型,并使用 Fargate 创建了服务(通过使用应用程序 LB 和不使用应用程序 LB),但响应仍然相同
  3. 与超出 t2.micro 实例类型的定义内存进行交叉检查
  4. 通过定义健康检查的/路径进行交叉检查
  5. 检查端口映射和http协议(protocol)
  6. ECR 存储库路径
  7. 允许权限的安全组
  8. 我交叉检查了通过定义启动类型 Ec2 创建的集群和任务定义。

任何人都可以建议任何故障排除方法或请提供任何解决指导吗?

enter image description here

更新错误

操作期间发生错误“ECS 部署断路器在 aws ecs 中触发错误

enter image description here

enter image description here

最佳答案

您不能将 t2.micro 用于需要“1 Gb 内存”的 ECS 任务。 t2.micro 太小了,因为它只有 1 Gb 的 RAM。在实例上运行的操作系统和其他进程占用了 1 Gb 可用空间的大部分,没有足够的空间来执行任务。

关于amazon-web-services - AWS ECS 服务创建(Ec2 Launch 类型)保持“Create IN Progress”状态并在回滚后显示“Create Failed”状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77007298/

相关文章:

amazon-web-services - 使用根 key 从 AWS cli S3 cp AccessDenied

amazon-web-services - 如何使用 CloudFormation 或 CDK 将另一个 AWS 账户的事件总线指定为 EventBridge 规则的目标?

amazon-web-services - 请参阅 Elastic Beanstalk 从我的应用程序创建的资源?

amazon-web-services - Terraform:将 CloudFormation 模板写入磁盘

amazon-web-services - 当 ECS 中有多个服务仅命令不同时,如何避免 terraform 重复?

amazon-web-services - AWS Glue Crawler - 单记录 CSV

node.js - 如何获取 aws-dynamoDB 中存在的所有字段?

java - 如何使用 CloudFormation 安装 java

amazon-web-services - AWS ECS 部署 : insufficient memory

amazon-web-services - AWS CDK 应用程序在重新部署期间不会启动新的 EC2 实例