Я использую AWS Cloudformation для создания приложения, которое развертывает несколько экземпляров внутри кластера с группой Autoscaling. Я развертываю его в us-east-1
Дело в том, что вчера мы перешли на Summertime, и мой скрипт перестал работать, выдав очень странную ошибку, потому что я запускал тот же скрипт в пятницу, и он работал отлично.
После некоторой отладки я нашел виновника, и, похоже, это встроенная функция Fn::GetAZs
.
Я указывал свои зоны доступности и подсети для группы Autoscaling, и ошибка была:
Зоны доступности указанных подсетей и группы Auto Scaling не совпадают
После этого я изменил свой сценарий. Вместо следующего формата:
AvailabilityZones:
- Fn::Select:
- '0'
- Fn::GetAZs:
Ref: AWS::Region
- Fn::Select:
- '1'
- Fn::GetAZs:
Ref: AWS::Region
- Fn::Select:
- '2'
- Fn::GetAZs:
Ref: AWS::Region
Я использовал этот формат
AvailabilityZones:
- us-east-1a
- us-east-1b
- us-east-1c
И это сработало, но, конечно, я не могу иметь такие жестко закодированные значения. Это навело меня на мысль, что после смены часового пояса он начал давать сбой. Мое текущее местоположение — Белу-Оризонти, Бразилия.
Кто-нибудь сталкивается с той же проблемой? Имеет ли это смысл ?
Спасибо.
Template error: Fn::Select cannot select nonexistent value at index 1
``` Fn::Select: - '1' - Fn::GetAZs: Ref: AWS::Region ``` - person prasun   schedule 15.07.2021