aws - ECS 容量提供商权限

aws - ECS 容量提供商权限

我正在尝试使用 teraform 来管理我的基础设施,但遇到了一些问题,我不知道要寻找什么。

我正在尝试为我的 ECS 集群创建容量提供程序,但出现以下错误

ClientException: The capacity provider could not be created because you do not have autoscaling:CreateOrUpdateTags permissions to create tags on the Auto Scaling group

以下是我的文件:

启动配置并自动缩放组创建

resource "aws_launch_configuration" "ecs_launch_configuration" {
    name = "ecs_launch_configuration"
    image_id = "ami-0fe19057e9cb4efd8"
    user_data = "#!/bin/bash\necho ECS_CLUSTER=ecs_cluster >> /etc/ecs/ecs.config"
    security_groups = [aws_security_group.vpc_securityGroup.id]
    iam_instance_profile = aws_iam_instance_profile.iam_role_profile.name
    key_name = "key_pair_name"
    instance_type = "t2.small"
}

resource "aws_autoscaling_group" "ecs_autoScale_group" {
    name                      = "ecs_autoScale_group"
    desired_capacity          = 1
    min_size                  = 1
    max_size                  = 2
    launch_configuration = aws_launch_configuration.ecs_launch_configuration.name
    vpc_zone_identifier = [aws_subnet.vpc_subnet_public.id]
    tag {
        key                 = "AmazonECSManaged"
        value               = true
        propagate_at_launch = true
    }
}

ECS 集群和容量提供商创建

resource "aws_ecs_cluster" "ecs_cluster"{
    name = "ecs_cluster"
    capacity_providers = [ aws_ecs_capacity_provider.ecs_capacity_provider.name ]
}

resource "aws_ecs_capacity_provider" "ecs_capacity_provider" {
    name = "ecs_capacity_provider"
    auto_scaling_group_provider {
        auto_scaling_group_arn = aws_autoscaling_group.ecs_autoScale_group.arn
        managed_scaling {
            maximum_scaling_step_size = 2
            minimum_scaling_step_size = 1
            status                    = "ENABLED"
            target_capacity           = 1
        }
    }
}

我能够从控制台的 GUI 创建它,但是只有 terraform 返回此错误。

非常感谢您的帮助。

提前致谢。

答案1

听起来您的控制台 GUI 用户和 CLI 用户具有不同的权限。您是否从某个 CI/CD 管道运行 terraform?

如果您从 CloudShell(右上角图标组中的 CLI 终端图标,位于帐户、支持等旁边)运行此 terrafotm 脚本,会怎么样?这将具有与您的 GUI 用户相同的权限 - 如果是您的 TF 或凭据的问题,这是一种缩小范围的好方法。

相关内容