【问题标题】:ECS migration from EC2 to FargateECS 从 EC2 迁移到 Fargate
【发布时间】:2018-04-07 00:00:17
【问题描述】:

我正在尝试从 Amaxon ECS EC2 迁移到 Fargate。在这里,我根据https://aws.amazon.com/blogs/compute/migrating-your-amazon-ecs-containers-to-aws-fargate/ 的建议进行了一些更改。我正在使用 amazon cloudformation 创建/更新资源。

ECSTaskDefinition:
    Type: AWS::ECS::TaskDefinition
    Properties:
        Family : !Join ["_", [!Ref "AppName", !Ref "ComponentName", !Ref "TargetEnv" ]]
        NetworkMode: "awsvpc"
        ExecutionRoleArn: arn:aws:iam::${AWS::AccountId}:role/ecsTaskExecutionRole
        TaskRoleArn: 
            Fn::Sub: 
                [ 
                    "arn:aws:iam::${AWS::AccountId}:role/exec_dp_${TargetEnv}",
                    { 
                        TargetEnv: !Ref "TargetEnv"
                    }
                ]
        RequiresCompatibilities:
          - "FARGATE"
        Memory: "512"
        Cpu: '256'
        ContainerDefinitions:

这里的问题是当我尝试创建堆栈时,它给了我如下错误:

无法承担服务相关角色。请验证 ECS 服务关联角色是否存在

我也尝试过创建服务相关角色,如下所示:

AwsEcsTaskExecutionRole:
     Type: AWS::IAM::Role
     Properties:
        Path: /
        AssumeRolePolicyDocument:
             Version: 2012-10-17
             Statement:
                     - Effect: Allow
             Principal:
             Service: ecs.amazonaws.com
             Action: sts:AssumeRole
        ManagedPolicyArns:
             - arn:aws:iam::aws:policy/aws-service-role/AmazonECSServiceRolePolicy

然后将其指定为 ExecutionRoleArn: !GetAtt AwsEcsTaskExecutionRole.Arn

它不工作。任何有关的方向都会有帮助。

【问题讨论】:

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


    【解决方案1】:

    简答:

    运行这个命令:aws iam create-service-linked-role --aws-service-name ecs.amazonaws.com

    长答案:

    AWS 介绍了Service-Linked Roles。对于旧的 AWS 账户,或者如果您从未在控制台中手动创建过 ECS 集群,则必须运行上述命令才能创建角色。

    【讨论】:

    • 有没有办法使用 cloudFormation 实现这一点?
    • 我曾考虑使用 CustomResource 来创建/删除服务相关角色,但它是整个帐户的唯一角色(无论区域如何)。这意味着,如果您删除创建角色的堆栈,它可能会对您账户中的其他堆栈产生影响。在 AWS 中,有些事情不能自动化,例如增加服务限制的支持请求。这应该为新的 AWS 账户修复,但同时我建议您只运行命令并记录您所做的事情。
    • 感谢您的快速输入。在这里,我们的人想要完全控制 IAM。如果您可以通过指向 cloudFormation 信息的链接更新您的答案,那就太好了。
    猜你喜欢
    • 1970-01-01
    • 2019-10-23
    • 1970-01-01
    • 2013-11-07
    • 2021-06-08
    • 2019-12-14
    • 2017-04-16
    • 1970-01-01
    • 2010-12-12
    相关资源
    最近更新 更多