Aws vpc tabella di route predefinita in CloudFormation


Risposte:


25

No, non puoi, comunque non c'è niente a cui fare riferimento (ad es. ID logico). Crea la tua tabella principale ;-).

Questo è probabilmente uno dei motivi per cui non può essere utilizzato:

Un modo per proteggere il tuo VPC è lasciare la tabella di route principale nel suo stato predefinito originale (con solo la route locale) e associare esplicitamente ogni nuova sottorete che crei a una delle tabelle di route personalizzate che hai creato. Ciò garantisce che sia necessario controllare esplicitamente il modo in cui viene instradato il traffico in uscita di ciascuna subnet .


3
Sembra un lavoro ingrato.
Sleeper Smith,

3
Pensi che sia male? Aspetta di separare i tuoi modelli in modo che ognuno abbia una sola responsabilità, con un modello principale che tira quelli più piccoli in uno stack più grande ... ora devi passare sia il VPC che la RouteTable da un modello a tutti gli altri tuoi figli modelli. Questo, nonostante il fatto che RouteTable sappia già di quale VPC fa parte, ma non è possibile estrarre tali informazioni da esso. </rant>
DanielM,

3
@DanielM Sembra un lavoro per github.com/SleeperSmith/Aws-Lego . Sembra che abbiamo la stessa lamentela. : D hahahaha.
Sleeper Smith,


1

Puoi definire ogni componente da solo nel caso in cui sia necessario implementare tale impostazione tramite CloudFormation. Crea il tuo VPC, gateway Internet, sottorete e tabella di instradamento. Quindi è necessario dichiarare esplicitamente RouteTableAssociation per la sottorete specifica e creare una route pubblica per quella tabella. Ecco un esempio

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

In questo modo sarai in grado di utilizzare la tabella dei percorsi creata (nell'esempio sopra è usato per inoltrare il traffico da Internet Gateway)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.