Я обнаружил, что в некоторых регионах (например, us-east-1) доступны только некоторые зоны доступности для создания подсетей (и, следовательно, экземпляров VPC). В моем случае зонами являются us-east-1c, -1d и -1e, но они зависят от учетной записи.
Я создаю script, который генерирует подсети и экземпляры VPC, поэтому было бы полезно узнать программно, какие зоны VPC-совместимы, тем более, что я вижу, что причина, по которой набор зон не мог измениться ( или, по крайней мере, расти) со временем.
Это сообщение задавало в основном тот же вопрос, но принятый ответ фактически не предоставил информацию я и того, кто искал (если только зоны ec2-describe-availability не имеют определенного параметра VPC, я не знаю of): Доступность Amazon VPC
Я выяснил одно возможное обходное решение, которое заключается в попытке создать подсеть с мусорным vpc-id и зоной доступности (ec2-create-subnet -c garbage -i 10.0.0.0/24 -z garbage
). Сообщение об ошибке для этого вызова включает в себя список AZ, которые могут размещать подсети, и я могу проанализировать этот вывод для информации, которую я ищу. Однако это похоже на взлом, и мне не нравится полагаться на поведение ошибки и конкретный формат сообщений об ошибках для такого рода вещей, если мне это не нужно. Есть ли лучший способ?
UPDATE: добавление немного более подробной информации на основе комментариев...
Звонки, которые я делаю для ec2-describe-availability-zones
ВСЕГДА возвращают пять значений: us-east-1a через us-east-1e, но мы можем создавать только подсети VPC в 1c, 1d и 1e. У нас есть экземпляры, запущенные во всех зонах, кроме 1b, в которых мне не удалось запустить даже обычный экземпляр (он, похоже, постепенно прекращается). Эта учетная запись существовала с тех пор, как до выхода функции VPC, так что это скорее "унаследованная" учетная запись, я полагаю. Это может иметь какое-то отношение к несоответствию между тем, где мне разрешено создавать подсети и экземпляры VPC, и когда возвращаются зоны ec2-describe-availability-zone. Я собираюсь опубликовать вопрос для поддержки AWS и сообщаю о любых результатах здесь.