Provider di capacità del cluster AWS ECS

Aug 22 2020

Sto utilizzando questo modello cloudformation per creare provider di capacità per il cluster ECS con il gruppo di scalabilità automatica specificato nel provider di capacità ecs:

"ECSCapacityProvider": {
            "Type": "AWS::ECS::CapacityProvider",
            "Properties": {
                "AutoScalingGroupProvider": {
                    "AutoScalingGroupArn": { "Ref" : "AutoScalingGroup" }
                }
            },
            "DependsOn" : "AutoScalingGroup" 
        },
        "DRCluster": {
            "Type": "AWS::ECS::Cluster",
            "Properties": {
                "ClusterName": { "Ref" : "WindowsECSCluster" },
                "CapacityProviders" : "ECSCapacityProvider",
                "Tags": [
                    {
                        "Key": "environment",
                        "Value": "dr"
                    }
                ]
            },
            "DependsOn" : "ECSCapacityProvider" 
        }

Ma durante la creazione dello stack ha provocato il seguente errore:

Model validation failed (#/CapacityProviders: expected type: JSONArray, found: String)

Non sono riuscito a trovare la documentazione adeguata per i fornitori di capacità. Lo sto usando per collegare il gruppo Auto Scaling al cluster, che spero sia il modo corretto per farlo. Sono nuovo in cloudformation, qualsiasi aiuto è molto apprezzato.

Risposte

2 Marcin Aug 22 2020 at 06:44

CapacityProviders è un List of String , non Stringcome quello che hai ora:

"CapacityProviders" : "ECSCapacityProvider",

Pertanto, in te DRClusterpuoi usare invece quanto segue:

"CapacityProviders" : [ {"Ref": "ECSCapacityProvider"} ],