Проблемы со службой ecs в облачной информации: предоставленная целевая группа имеет экземпляр целевого типа, который несовместим с сетью awsvpc - PullRequest
0 голосов
/ 11 апреля 2019

Я создаю архитектуру с облачной информацией, в момент создания службы ECS появляется ошибка, что мой экземпляр балансировщика несовместим с режимом awsvpc

Я пробовал несколько способов, и ни один из них не работает для меня, я видел руководства по aws, и все это соответствует, пожалуйста, если возможно перейти к решению

"AWSTemplateFormatVersion": "2010-09-09",
"Resources": {

    "LoadBalancerQA01": {
        "Type": "AWS::ElasticLoadBalancingV2::LoadBalancer",
        "Properties": {
           "SecurityGroups": [
                {
                    "Ref": "SecurityGroupPublic01"
                }
            ],
            "Subnets": [
                {
                    "Ref": "SubnetPublicQATestUno"
                },
                {
                    "Ref": "SubnetPublicQATestDos"
                }
            ],
            "Name": "LoadBalancerQA01"
        }
    },
    "LoadBalancerListener": {
      "Type": "AWS::ElasticLoadBalancingV2::Listener",
      "Properties": {
        "DefaultActions": [{
          "Type": "forward",
          "TargetGroupArn": { "Ref": "TargetGroupQA" }
        }],
        "LoadBalancerArn": { "Ref": "LoadBalancerQA01" },
        "Port": 8080,
        "Protocol": "HTTP"
      }
    },
    "TargetGroupQA": {
      "Type": "AWS::ElasticLoadBalancingV2::TargetGroup",
      "Properties": {
        "Name": "TargetGroupQA",
        "Port": 8080,
        "Protocol": "HTTP",
        "VpcId": { "Ref": "VPCQA" }
      },
      "DependsOn": [ "LoadBalancerQA01" ]
    },
    "ClusterQA": {
        "Type": "AWS::ECS::Cluster",
        "Properties": {},
        "DependsOn": [
            "SubnetPrivateQATestUno",
            "SubnetPrivateQATestDos"
        ]
    },
    "TaskQA": {
        "Type": "AWS::ECS::TaskDefinition",
        "Properties": {
            "RequiresCompatibilities": ["FARGATE"],
            "Cpu" : "1024",
            "TaskRoleArn" : "arn:aws:iam::683574420318:role/ecsTaskExecutionRole",
            "ExecutionRoleArn" : "arn:aws:iam::683574420318:role/ecsTaskExecutionRole",
            "Memory": "2048",
            "NetworkMode" : "awsvpc",
             "ContainerDefinitions" : [{ 
                        "Image": "683574420318.dkr.ecr.us-west-1.amazonaws.com/mto:latest",
                        "Cpu": "1024",
                        "Memory": "2048",  
                        "Name":"ContenedorName",
                        "PortMappings":[{ "ContainerPort": 8080,"HostPort": 8080}]

            }]
        }
    },
    "ServiceQA": {
      "Type": "AWS::ECS::Service",
      "DependsOn": [ "LoadBalancerQA01" ],
      "Properties" : {
        "NetworkConfiguration" : {
              "AwsvpcConfiguration" : {
              "AssignPublicIp" : "ENABLED",
              "SecurityGroups" : [
                {
                    "Ref": "SecurityGroupPublic01"
                }
            ],"Subnets": [
                {
                    "Ref": "SubnetPublicQATestUno"
                },
                {
                    "Ref": "SubnetPublicQATestDos"
                }
            ]}
         },
        "Cluster": { "Ref": "ClusterQA" },
        "DesiredCount": "1",
        "LoadBalancers": [
          {
            "ContainerName": "ContenedorName",
            "ContainerPort": 8080,
            "TargetGroupArn": { "Ref": "TargetGroupQA" }
          }
        ],
        "TaskDefinition" : {"Ref":"TaskQA"}
    }      
}     

1 Ответ

0 голосов
/ 11 апреля 2019

Насколько я вижу, вы определили TargetGroup без TargetType, что означает, что по умолчанию установлено значение instance.Для службы ECS необходимо TargetType установить как ip, это единственная опция, поддерживаемая awsvpc.В вашем CloudFormation просто добавьте:

"TargetType": "ip",

И это должно решить вашу проблему.Если что-то не так, сообщите об ошибке из консоли CloudFormation.

...