Aws vpc ตารางเส้นทางเริ่มต้นใน CloudFormation


19

ฉันขาดอะไรบางอย่าง แต่ไม่มีวิธีเพิ่มเส้นทางผ่าน CloudFormation ไปยังตารางเส้นทางเริ่มต้นที่มาพร้อมกับ VPC หรือไม่


โปรดอ้างอิงการอภิปรายต่อไปนี้ในหัวข้อเดียวกัน Forums.aws.amazon.com/thread.jspa?threadID=97060
Chiranga Alwis

คำตอบ:


25

ไม่คุณไม่สามารถพูดถึงอะไรได้อีก (เช่นรหัสลอจิคัล) เพียงสร้างตารางหลักของคุณเอง ;-)

นี่อาจเป็นเหตุผลหนึ่งที่ไม่สามารถใช้งานได้:

วิธีหนึ่งในการปกป้อง VPC ของคุณคือการออกจากตารางเส้นทางหลักในสถานะเริ่มต้นดั้งเดิม (ด้วยเส้นทางภายในเครื่องเท่านั้น) และ เชื่อมโยงเครือข่ายย่อยใหม่แต่ละรายการที่คุณสร้างขึ้นอย่างชัดเจนด้วยตารางเส้นทางที่กำหนดเองที่คุณสร้างขึ้น นี้จะช่วยให้คุณอย่างชัดเจนต้องควบคุมวิธีการจราจรขาออกแต่ละเครือข่ายย่อยของจะถูกส่ง


3
ฟังดูเหมือนงานบ้าน
Sleeper Smith

3
คิดว่าไม่ดีเหรอ? รอจนกว่าคุณจะแยกแม่แบบของคุณออกเพื่อให้แต่ละคนมีความรับผิดชอบเพียงอย่างเดียวโดยมีแม่แบบดึงแม่แบบที่มีขนาดเล็กลงในกองใหญ่ ... ตอนนี้คุณต้องผ่านทั้ง VPC และ RouteTable จากแม่หนึ่งไปยังลูกคนอื่น ๆ แม่แบบ แม้จะมีข้อเท็จจริงว่า RouteTable รู้ว่า VPC ตัวใดเป็นส่วนหนึ่ง แต่คุณไม่สามารถดึงข้อมูลนั้นออกมาได้ </rant>
DanielM

3
@DanielM เสียงเหมือนงานสำหรับgithub.com/SleeperSmith/Aws-Lego ดูเหมือนว่าเรามีด้ามจับแบบเดียวกัน : D ฮ่าฮ่าฮ่าฮ่า
Sleeper Smith

ข้อมูลเพิ่มเติมได้ที่ - forums.aws.amazon.com/thread.jspa?threadID=97060
ALex_hha

1

คุณสามารถกำหนดแต่ละองค์ประกอบได้ด้วยตนเองในกรณีที่คุณจำเป็นต้องใช้การตั้งค่านั้นผ่าน CloudFormation เพียงสร้าง VPC อินเทอร์เน็ตเกตเวย์ Subnet และ Route Table ของคุณเอง จากนั้นคุณต้องประกาศ 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

วิธีนี้คุณจะสามารถใช้ตารางเส้นทางที่สร้างขึ้น (ในตัวอย่างด้านบนจะใช้เพื่อส่งต่อปริมาณข้อมูลจาก Internet Gateway)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.