Как мы можем получить идентификатор таблицы маршрутов VPC по умолчанию, используя Get :: Attr в AWS CloudFormation? - PullRequest
0 голосов
/ 06 марта 2019

Я создал VPC с использованием шаблона CloudFormation, вместе с VPC автоматически создаются таблица маршрутов и NACL.

Теперь я хочу добавить несколько маршрутов в таблицу маршрутов по умолчанию, которая создается с помощью VPC в том же шаблоне CloudFormation. Есть ли способ получить идентификатор таблицы маршрутизации VPC по умолчанию в том же шаблоне CloudFormation?

Одним из возможных способов может быть использование Get :: Attr, но я не могу найти какой-либо атрибут, например defaultroutetable, с Get :: Attr.

1 Ответ

0 голосов
/ 07 марта 2019

Таблица маршрутов по умолчанию для VPC создается вместе с VPC.Если вы создаете VPC с использованием облачного формирования, он автоматически создает таблицу маршрутов и присоединяет ее к тому же VPC.Функция Get :: Attr используется для извлечения атрибутов конкретного ресурса AWS, но она зависит от того ресурса AWS, если он возвращает искомый атрибут.В этом случае вам может понадобиться идентификатор таблицы маршрутов по умолчанию, но функция Get :: Attr не возвращает RouteTableID.(Это может быть доступно в будущем, но не на данный момент.)

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

Найти идентификатор таблицы маршрутов: aws ec2 description-route-tables --filters "Name = vpc-id, Values ​​= $ vpcs" --query "RouteTables []. RouteTableId []"

Создать маршруты для этой таблицы маршрутов: (Пример) aws ec2 create-route --route-table-id --destination-cidr-block 0.0.0.0/0 --gateway-id igw-c0a643a9

...