Aws vpc tabel rute default di CloudFormation


Jawaban:


25

Nah Anda tidak bisa, toh tidak ada yang merujuk (misalnya ID logis). Cukup buat tabel utama Anda sendiri ;-).

Ini mungkin salah satu alasan mengapa itu tidak dapat digunakan:

Salah satu cara untuk melindungi VPC Anda adalah meninggalkan tabel rute utama dalam keadaan default aslinya (hanya dengan rute lokal), dan secara eksplisit mengaitkan setiap subnet baru yang Anda buat dengan salah satu tabel rute kustom yang Anda buat. Ini memastikan bahwa Anda harus secara eksplisit mengontrol bagaimana lalu lintas keluar setiap subnet dirutekan .


3
Kedengarannya seperti tugas.
Sleeper Smith

3
Pikirkan itu buruk? Tunggu hingga Anda memisahkan templat Anda sehingga masing-masing hanya memiliki satu tanggung jawab, dengan templat induk yang menarik yang lebih kecil ke tumpukan yang lebih besar ... sekarang Anda harus meneruskan VPC dan RouteTable dari satu templat ke semua anak Anda yang lain template. Ini, terlepas dari fakta bahwa RouteTable sudah tahu VPC mana yang menjadi bagiannya, tetapi Anda tidak dapat mengambil informasi itu darinya. </rant>
DanielM

3
@DanielM Kedengarannya seperti pekerjaan untuk github.com/SleeperSmith/Aws-Lego . Sepertinya kita memiliki keluhan yang sama. : D hahahaha.
Sleeper Smith


1

Anda dapat menentukan masing-masing komponen sendiri jika Anda perlu mengimplementasikan pengaturan itu melalui CloudFormation. Cukup buat VPC, Internet Gateway, Subnet, dan Tabel Rute Anda sendiri. Maka Anda perlu secara eksplisit mendeklarasikan RouteTableAssociation untuk subnet tertentu dan membuat rute publik untuk tabel itu. Ini sebuah contoh

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

Dengan cara ini Anda akan dapat menggunakan tabel rute yang dibuat (dalam contoh di atas digunakan untuk meneruskan lalu lintas dari Internet Gateway)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.