Aws vpc tabla de ruta predeterminada en CloudFormation

Respuestas:

25

No, no puedes, de todos modos no hay nada a lo que te refieras (por ejemplo, ID lógica). Simplemente cree su propia tabla principal ;-).

Esta es probablemente una de las razones por las que no se puede usar:

Una forma de proteger su VPC es dejar la tabla de ruta principal en su estado predeterminado original (solo con la ruta local) y asociar explícitamente cada subred nueva que cree con una de las tablas de ruta personalizadas que haya creado. Esto garantiza que debe controlar explícitamente cómo se enruta el tráfico saliente de cada subred .

usuario2256978
fuente
3
Suena como una tarea.
Sleeper Smith
3
¿Crees que es malo? Espere hasta que separe sus plantillas para que cada una tenga una sola responsabilidad, con una plantilla principal que agrupe las más pequeñas en una pila más grande ... ahora debe pasar tanto la VPC como la RouteTable de una plantilla a todo su otro hijo plantillas. Esto, a pesar de que RouteTable ya sabe de qué VPC es parte, pero no puede extraer esa información de ella. </rant>
DanielM
3
@DanielM Suena como un trabajo para github.com/SleeperSmith/Aws-Lego . Parece que tenemos la misma queja. : D jajajaja.
Sleeper Smith
Más información en - forums.aws.amazon.com/thread.jspa?threadID=97060
ALex_hha
1

Puede definir cada componente usted mismo en caso de que necesite implementar esa configuración a través de CloudFormation. Simplemente cree su propia VPC, puerta de enlace de Internet, subred y tabla de rutas. Luego, debe declarar explícitamente RouteTableAssociation para la subred específica y crear una ruta pública para esa tabla. Aquí hay un ejemplo

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

De esta manera, podrá usar la tabla de ruta creada (en el ejemplo anterior, se usa para reenviar el tráfico desde Internet Gateway)

Más buscado
fuente