Fehlt mir etwas, aber es gibt keine Möglichkeit, der mit einer VPC gelieferten Standardroutentabelle eine Route über CloudFormation hinzuzufügen?
Fehlt mir etwas, aber es gibt keine Möglichkeit, der mit einer VPC gelieferten Standardroutentabelle eine Route über CloudFormation hinzuzufügen?
Antworten:
Nein, das kannst du nicht, es gibt sowieso nichts, worauf man sich beziehen kann (zB logische ID). Erstelle einfach deinen eigenen Haupttisch ;-).
Dies ist wahrscheinlich einer der Gründe, warum es nicht verwendet werden kann:
Eine Möglichkeit zum Schutz Ihrer VPC besteht darin, die Hauptroutentabelle in ihrem ursprünglichen Standardzustand zu belassen (nur die lokale Route) und jedes neu erstellte Subnetz explizit einer der von Ihnen erstellten benutzerdefinierten Routentabellen zuzuordnen . Dadurch wird sichergestellt, dass Sie explizit steuern müssen , wie der ausgehende Datenverkehr jedes Subnetzes weitergeleitet wird .
Sie können jede Komponente für den Fall, dass Sie dieses Setup über CloudFormation implementieren müssen, selbst definieren. Erstellen Sie einfach Ihre eigenen VPCs, Internet-Gateways, Subnetze und Routentabellen. Anschließend müssen Sie RouteTableAssociation explizit für das jeweilige Subnetz deklarieren und eine öffentliche Route für diese Tabelle erstellen. Hier ist ein Beispiel
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
Auf diese Weise können Sie die erstellte Routentabelle verwenden (im obigen Beispiel wird der Datenverkehr vom Internet Gateway weitergeleitet).