Я разрабатываю инфраструктурное решение для балансировки трафика между двумя различными веб-приложениями, размещенными в одном и том же экземпляре на разных путях и портах.
Я пытаюсь сделать Cloudformation, чтобы создать ALB, 1 прослушиватель, 2 целевые группы, указывающие на экземпляр, который создает группа автоматического масштабирования, и 2 разных правила прослушивателя с обеими целевыми группами.
Как я прочитал в документации AWS, я должен определить в свойствах AutoSG целевые группы, но у меня возникают проблемы с его определением.
Я тоже не уверен, что я делаю все правильно.
Я получаю сообщение об ошибке, используя этот код (я думаю, что это неправильная часть, когда я делаю ссылку в создании группы автоматического масштабирования на целевые группы)
"TargetGroupARNs": [
{
"Ref": "DefaultTG"
},
{
"Ref": "SecondTG"
}
],
Эти целевые группы определены так:
"DefaultTG" : {
"Type" : "AWS::ElasticLoadBalancingV2::TargetGroup",
"Properties" : {
"HealthCheckIntervalSeconds": 30,
"HealthCheckProtocol": "HTTPS",
"HealthCheckPath": "/home",
"HealthCheckTimeoutSeconds": 10,
"HealthyThresholdCount": 4,
"Matcher" : {
"HttpCode" : "200"
},
"Name": "Default",
"Port": 4443,
"Protocol": "HTTPS",
"UnhealthyThresholdCount": 3,
"VpcId": {"Ref" : "VpcID"}
},
Код слушателя и одно правило слушателя:
"ALBListener": {
"Type": "AWS::ElasticLoadBalancingV2::Listener",
"Properties": {
"DefaultActions": [{
"Type": "redirect",
"RedirectConfig" : {
"TargetGroupArn": { "Ref": "DefaultTG" }
}
}],
"LoadBalancerArn": { "Ref": "APIServerELB" },
"Port": "443",
"Protocol": "TCP"
}
},
"DefListenerRule": {
"Type": "AWS::ElasticLoadBalancingV2::ListenerRule",
"Properties": {
"Actions": [
{
"Type": "forward",
"TargetGroupArn": {
"Ref": "DefaultTG"
}
}
],
"Conditions" : [
{
"Field" : "path-pattern",
"Values" : [ "/home" ]
}
],
"ListenerArn": {
"Ref": "ALBListener"
}
}
},
И ошибка:
Template validation error: Invalid template resource property 'DefaultTG'
Я ожидаю, что Cloudformation создаст один ALB с слушателем и двумя правилами слушателя, используя 2 целевые группы, указывающие на экземпляры, созданные группой Autoscaling.