You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法从部署的AWS Fargate获取响应?技术排查求助

问题:ECS Fargate部署Spring Boot应用无法访问接口

环境背景

  • 已按照AWS控制台文档《How to create Task Definition using AWS console》完成集群与Task Definition创建
  • 使用ECR中的镜像启动任务,容器运行状态正常,可在CloudWatch及ECS控制台查看日志,任务配置页面显示有公网IP
  • 采用Fargate模式部署,Task Definition关联了带托管策略的角色AwsTutorialECS_FullAccess_Role,执行角色为ecsTaskExecutionRole,操作账号拥有AdministratorAccess权限

Spring Boot应用代码

@SpringBootApplication
@RestController
@RequestMapping("aws")
public class AwsTutorialApplication {

    public static void main(String[] args) {
        SpringApplication.run(AwsTutorialApplication.class, args);
    }

    @GetMapping("/hello")
    public String helloAws(){
        return "Hello from AWS!";
    }

}

尝试的访问地址(均无响应)

http://publicIp:8080/aws/hello
http://publicIp:80/aws/hello
http://publicIp/aws/hello

Task Definition配置详情

{
    "taskDefinitionArn": "arn:aws:ecs:eu-central-1:myAccount:task-definition/NewTaskDefinition:1",
    "containerDefinitions": [
        {
            "name": "spring-boot-container",
            "image": "myAcc.dkr.ecr.eu-central-1.amazonaws.com/aws-tutorial:latest",
            "cpu": 0,
            "memory": 3072,
            "portMappings": [
                {
                    "name": "spring-boot-container-8080-tcp",
                    "containerPort": 8080,
                    "hostPort": 8080,
                    "protocol": "tcp",
                    "appProtocol": "http"
                }
            ],
            "essential": true,
            "environment": [],
            "environmentFiles": [],
            "mountPoints": [],
            "volumesFrom": [],
            "logConfiguration": {
                "logDriver": "awslogs",
                "options": {
                    "awslogs-create-group": "true",
                    "awslogs-group": "/ecs/NewTaskDefinition",
                    "awslogs-region": "eu-central-1",
                    "awslogs-stream-prefix": "ecs"
                }
            }
        }
    ],
    "family": "NewTaskDefinition",
    "taskRoleArn": "arn:aws:iam::myAccount:role/AwsTutorialECS_FullAccess_Role",
    "executionRoleArn": "arn:aws:iam::myAccount:role/ecsTaskExecutionRole",
    "networkMode": "awsvpc",
    "revision": 1,
    "volumes": [],
    "status": "ACTIVE",
    "requiresAttributes": [
        {
            "name": "com.amazonaws.ecs.capability.logging-driver.awslogs"
        },
        {
            "name": "ecs.capability.execution-role-awslogs"
        },
        {
            "name": "com.amazonaws.ecs.capability.ecr-auth"
        },
        {
            "name": "com.amazonaws.ecs.capability.docker-remote-api.1.19"
        },
        {
            "name": "com.amazonaws.ecs.capability.task-iam-role"
        },
        {
            "name": "ecs.capability.execution-role-ecr-pull"
        },
        {
            "name": "com.amazonaws.ecs.capability.docker-remote-api.1.18"
        },
        {
            "name": "ecs.capability.task-eni"
        },
        {
            "name": "com.amazonaws.ecs.capability.docker-remote-api.1.29"
        }
    ],
    "placementConstraints": [],
    "compatibilities": [
        "EC2",
        "FARGATE"
    ],
    "requiresCompatibilities": [
        "FARGATE"
    ],
    "cpu": "1024",
    "memory": "3072",
    "runtimePlatform": {
        "cpuArchitecture": "X86_64",
        "operatingSystemFamily": "LINUX"
    },
    "registeredAt": "2023-03-21T18:20:52.034Z",
    "registeredBy": "arn:aws:iam::accountiD:user/myUserName",
    "tags": []
}

更新信息

  • 已根据安全组相关建议删除并重新创建Task Definition与任务,问题依旧
  • 已通过@CrossOrigin注解及以下配置禁用CORS:
@Configuration
public class Config implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**").allowedMethods("*");
    }
}

疑问

为何无法获取接口响应?

内容的提问来源于stack exchange,提问作者Wrapper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 04:57:46