我正在尝试用terraform配置ECS集群,在创建ECS服务之前,一切似乎都正常:
resource "aws_ecs_service" "ecs-service" { name = "ecs-service" iam_role = "${aws_iam_role.ecs-service-role.name}" cluster = "${aws_ecs_cluster.ecs-cluster.id}" task_definition = "${aws_ecs_task_definition.my_cluster.family}" desired_count = 1 load_balancer { target_group_arn = "${aws_alb_target_group.ecs-target-group.arn}" container_port = 80 container_name = "my_cluster" } }
IAM的角色是:
resource "aws_iam_role" "ecs-service-role" { name = "ecs-service-role" assume_role_policy = <<EOF { "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Principal": { "Service": "ec2.amazonaws.com" }, "Effect": "Allow", "Sid": "" } ] } EOF } resource "aws_iam_role_policy_attachment" "ecs-service-role-attachment" { role = "${aws_iam_role.ecs-service-role.name}" policy_arn = "arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceRole" }
我收到以下错误消息:
aws\U ecs\U服务。ecs服务:发生1个错误: aws\U ecs\U服务。ecs服务:InvalidParameterException:无法承担角色并验证指定的targetGroupArn。请验证 正在传递的ECS服务角色是否具有适当的权限。
aws\U ecs\U服务。ecs服务:发生1个错误:
aws\U ecs\U服务。ecs服务:InvalidParameterException:无法承担角色并验证指定的targetGroupArn。请验证 正在传递的ECS服务角色是否具有适当的权限。
在Askept\u role\u策略中,您是否可以将“Principal”行更改为如下所述:您正在 ec2.amazonaws.com .
ec2.amazonaws.com
{ "Version": "2012-10-17", "Statement": [ { "Action": "sts:AssumeRole", "Principal": { "Service": "ecs.amazonaws.com" }, "Effect": "Allow", "Sid": "" } ] }