Tabela de rota padrão do aws vpc no CloudFormation


Respostas:


25

Nah, você não pode, não há nada a que se referir (por exemplo, ID lógico). Basta criar sua própria tabela principal ;-).

Esta é provavelmente uma das razões pelas quais não pode ser usada:

Uma maneira de proteger sua VPC é deixar a tabela de rotas principal em seu estado padrão original (apenas com a rota local) e associar explicitamente cada nova sub - rede criada com uma das tabelas de rotas personalizadas criadas. Isso garante que você deve controlar explicitamente como o tráfego de saída de cada sub-rede é roteado .


3
Soa como uma tarefa.
Sleeper Smith

3
Acha que isso é ruim? Espere até você separar seus modelos para que cada um tenha apenas uma única responsabilidade, com um modelo pai puxando os menores para uma pilha maior ... agora você precisa passar o VPC e o RouteTable de um modelo para todos os outros filhos. modelos. . Isto, apesar do fato do RouteTable já sabe que VPC é uma parte, mas não se pode extrair essa informação a partir dele </ discurso>
DanielM

3
@DanielM Parece um trabalho para o github.com/SleeperSmith/Aws-Lego . Parece que temos a mesma queixa. : D hahahaha.
Sleeper Smith


1

Você pode definir cada componente sozinho, caso precise implementar essa configuração via CloudFormation. Basta criar seu próprio VPC, gateway da Internet, sub-rede e tabela de rotas. Em seguida, você precisa declarar explicitamente RouteTableAssociation para a sub-rede específica e criar uma rota pública para essa tabela. Aqui está um exemplo

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

Dessa forma, você poderá usar a tabela de rotas criada (no exemplo acima, é usada para encaminhar o tráfego do Gateway da Internet)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.