首页 > 解决方案 > 通过 ApplicationLoadBalancedFargateService 中的 cdk 在 AWS Fargate 上启用 ExecuteCommand

问题描述

目前已通过 AWS CDK(Python) 使用ApplicationLoadBalancedFargateService配置 AWS Fargate 服务,希望在 Fargate 容器上启用 ExecuteCommand 以访问它们。

但目前无法找到在此 Fargate 服务上启用 Exec 的方法。

对此的任何帮助将不胜感激。

标签: amazon-web-servicescontainersamazon-ecsaws-cdkaws-fargate

解决方案


万一有人需要从 cli 启用 shell 访问的命令。

aws ecs update-service --cluster <cluster_name> --service <service_name> --task-definition <task_definition_name> --enable-execute-command --force-new-deployment

附带说明一下:除了默认 ecs-tasks 角色 ecsTaskExecutionRole 中的 AmazonECSTaskExecutionRolePolicy 之外,您还需要创建一个自定义 AWS Service: ecs-tasks 角色,该角色包括系统管理员权限。

这是一个示例策略。

{
"Version": "2012-10-17",
"Statement": [
    {
        "Sid": "VisualEditor0",
        "Effect": "Allow",
        "Action": [
            "ssmmessages:CreateDataChannel",
            "ssmmessages:OpenDataChannel",
            "ssmmessages:OpenControlChannel",
            "ssmmessages:CreateControlChannel"
        ],
        "Resource": "*"
    }
]
}

推荐阅读