ฉันขาดอะไรบางอย่าง แต่ไม่มีวิธีเพิ่มเส้นทางผ่าน CloudFormation ไปยังตารางเส้นทางเริ่มต้นที่มาพร้อมกับ VPC หรือไม่
ฉันขาดอะไรบางอย่าง แต่ไม่มีวิธีเพิ่มเส้นทางผ่าน CloudFormation ไปยังตารางเส้นทางเริ่มต้นที่มาพร้อมกับ VPC หรือไม่
คำตอบ:
ไม่คุณไม่สามารถพูดถึงอะไรได้อีก (เช่นรหัสลอจิคัล) เพียงสร้างตารางหลักของคุณเอง ;-)
นี่อาจเป็นเหตุผลหนึ่งที่ไม่สามารถใช้งานได้:
วิธีหนึ่งในการปกป้อง VPC ของคุณคือการออกจากตารางเส้นทางหลักในสถานะเริ่มต้นดั้งเดิม (ด้วยเส้นทางภายในเครื่องเท่านั้น) และ เชื่อมโยงเครือข่ายย่อยใหม่แต่ละรายการที่คุณสร้างขึ้นอย่างชัดเจนด้วยตารางเส้นทางที่กำหนดเองที่คุณสร้างขึ้น นี้จะช่วยให้คุณอย่างชัดเจนต้องควบคุมวิธีการจราจรขาออกแต่ละเครือข่ายย่อยของจะถูกส่ง
คุณสามารถกำหนดแต่ละองค์ประกอบได้ด้วยตนเองในกรณีที่คุณจำเป็นต้องใช้การตั้งค่านั้นผ่าน 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)