gpt4 book ai didi

amazon-web-services - AWS ECS Fargate 任务无法从 Cloudformation Stack 正常工作

转载 作者:行者123 更新时间:2023-12-03 07:35:56 25 4
gpt4 key购买 nike

我有一个使用 AWS 控制台创建的 ECS Fargate 启动类型任务的工作“模型”。但是,我需要创建一个 Cloudformation YAML 文件并部署它。

我遇到的问题是,当我部署堆栈时,会创建集群和服务,也会创建任务并在控制台中显示为“正在运行”。它只是一个简单的 NGINX 容器,里面有我自己的内容。但部署的版本从未在其公共(public) IP 上做出响应。如果我停止它然后在控制台中启动另一个任务,它就可以正常工作。我不明白为什么部署的版本不起作用而手动启动的版本却起作用。

Cloudwatch 日志中没有显示任何内容,Cloudtrail 中也没有显示任何内容。任何建议表示赞赏。这是我的 Cloudformation YAML 文件:

AWSTemplateFormatVersion: 2010-09-09
Description: ECS NGINX FARGATE

Resources:
ECSCluster:
Type: 'AWS::ECS::Cluster'
Properties:
ClusterName: 'jwh20-ecs-cluster'

NginxService:
Type: 'AWS::ECS::Service'
Properties:
Cluster: !Ref ECSCluster
LaunchType: FARGATE
TaskDefinition: !Ref NginxTask
DesiredCount: 1
NetworkConfiguration:
AwsvpcConfiguration:
AssignPublicIp: ENABLED
Subnets:
- 'subnet-XXXXXXXXXXXX'

NginxTask:
Type: 'AWS::ECS::TaskDefinition'
Properties:
Cpu: 512
Memory: 1024
Family: jwh-nginx
ContainerDefinitions:
- Name: jwh20-container
Image: 'XXXXXXXXXXXX.dkr.ecr.us-east-1.amazonaws.com/jwh20'
Name: jwh20-nginx-cont
PortMappings:
-
ContainerPort: 80
HostPort: 80
Protocol: 'tcp'
LogConfiguration:
LogDriver: awslogs
Options:
awslogs-group: '/ecs/jwh-nginx-cf'
awslogs-region: !Ref AWS::Region
awslogs-stream-prefix: 'ecs'
ExecutionRoleArn: 'arn:aws:iam::XXXXXXXXXXXX:role/ecsTaskExecutionRole'
TaskRoleArn: 'arn:aws:iam::XXXXXXXXXXXX:role/ecsTaskExecutionRole'
NetworkMode: awsvpc
RequiresCompatibilities:
- 'FARGATE'

最佳答案

如果您可以看到任务来到 RUNNING State,这意味着 ECR 中的镜像已成功拉取,意味着出站连接成功。但是,如果您无法通过点击 PUBLIC_IP:80 从任务中获得任何响应,这通常表明安全组或 NACL 相关问题。我假设您请求超时。如果没有,请分享以下输出:

curl -v http://<PUBLIC_IP_OF_THE_TASK>


观察模板时,

网络配置中没有指定安全组

      NetworkConfiguration:
AwsvpcConfiguration:
AssignPublicIp: ENABLED
Subnets:
- 'subnet-XXXXXXXXXXXX'

AWS::ECS::Service AwsVpcConfiguration - If you do not specify a security group, the default security group for the VPC is used.

默认安全组可能未打开端口 80。你可以看看。

其次,这可能是一个拼写错误,我看到了 Name 属性被指定两次,

    ContainerDefinitions:
- Name: jwh20-container
Image: 'XXXXXXXXXXXX.dkr.ecr.us-east-1.amazonaws.com/jwh20'
Name: jwh20-nginx-cont
PortMappings:

关于amazon-web-services - AWS ECS Fargate 任务无法从 Cloudformation Stack 正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57750050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com