Aws vpc таблиця маршруту за замовчуванням у CloudFormation


19

Мені щось не вистачає, але чи немає способу додати маршрут через CloudFormation до таблиці маршруту за замовчуванням, яка постачається за допомогою VPC?


Будь ласка, зверніться до наступного обговорення на ту саму тему. forums.aws.amazon.com/thread.jspa?threadID=97060
Chiranga Alwis

Відповіді:


25

Ні, ви не можете, ні до чого не можна посилатися (наприклад, логічний ідентифікатор). Просто створіть свій власний головний стіл ;-).

Це , мабуть, одна з причин, яку він не може бути використаний:

Один із способів захисту VPC - залишити головну таблицю маршруту у початковому стані за замовчуванням (лише з місцевим маршрутом) і явно пов’язати кожну нову створену підмережу з однією із створених вами спеціальних таблиць маршрутів. Це гарантує чітке керування способом маршрутизації вихідного трафіку кожної підмережі .


3
Звучить як зануда.
Спіль Сміт

3
Думаєте, що це погано? Зачекайте, поки ви не розділите свої шаблони, так що кожен з них несе лише одну відповідальність, а батьківський шаблон перетягне дрібніші у більший стек ... тепер вам потрібно передати як VPC, так і RouteTable з одного шаблону всім іншим дочірнім пристроям шаблони. Це, незважаючи на те, що RouteTable вже знає, до якого VPC він входить, але ви не можете витягнути з нього цю інформацію. </rant>
DanielM

3
@DanielM Здається, як робота для github.com/SleeperSmith/Aws-Lego . Схоже, у нас однаковий захват. : D хахахаха.
Сон Сміт

Більше інформації за адресою - forums.aws.amazon.com/thread.jspa?threadID=97060
ALex_hha

1

Ви можете визначити кожен компонент самостійно у випадку, якщо вам доведеться реалізувати цю установку за допомогою CloudFormation. Просто створіть власну VPC, Інтернет-шлюз, підмережу та таблицю маршрутів. Потім потрібно чітко оголосити RouteTableAssociation для конкретної підмережі та створити загальнодоступний маршрут для цієї таблиці. Ось приклад

AWSTemplateFormatVersion: '2010-09-09'
Description: Example
Resources:
  myInternetGateway:
    Type: AWS::EC2::InternetGateway
    Properties:
      Tags:
        - Key: "Name"
          Value: "a_gateway"

  myVPC:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 10.0.0.0/24
      EnableDnsSupport: true
      EnableDnsHostnames: true
      InstanceTenancy: default

  # Attach Internet gateway to created VPC
  AttachGateway:
    Type: AWS::EC2::VPCGatewayAttachment
    Properties:
      VpcId:
        Ref: myVPC
      InternetGatewayId:
        Ref: myInternetGateway

  # Create public routes table for VPC
  myPublicRouteTable:
    Type: AWS::EC2::RouteTable
    Properties:
      VpcId: !Ref myVPC
      Tags:
        - Key: "Name"
          Value: "public_routes"

  # Create a route for the table which will forward the traffic
  # from the gateway
  myDefaultPublicRoute:
    Type: AWS::EC2::Route
    DependsOn: AttachGateway
    Properties:
      RouteTableId: !Ref myPublicRouteTable
      DestinationCidrBlock: 0.0.0.0/0
      GatewayId: !Ref myInternetGateway

  # Subnet within VPC which will use route table (with default route)
  # from Internet gateway
  mySubnet:
    Type: AWS::EC2::Subnet
    Properties:
      AvailabilityZone: ""
      CidrBlock: 10.0.0.0/25
      MapPublicIpOnLaunch: true
      VpcId:
        Ref: myVPC

  # Associate route table (which contains default route) to newly created subnet
  myPublicRouteTableAssociation:
    Type: AWS::EC2::SubnetRouteTableAssociation
    Properties:
      RouteTableId: !Ref myPublicRouteTable
      SubnetId: !Ref mySubnet

Таким чином ви зможете використовувати створену таблицю маршрутів (у прикладі вище використовується для пересилання трафіку з Інтернет-шлюзу)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.