Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Configurar os recursos da Amazon VPC com o AWS CloudFormation

Modo de foco
Configurar os recursos da Amazon VPC com o AWS CloudFormation - AWS CloudFormation
Filtrar visualização

Esta seção fornece exemplos de como configurar os recursos da Amazon VPC usando o AWS CloudFormation. As VPCs permitem que você crie uma rede virtual na AWS, e esses snippets mostram como configurar aspectos das VPCs para atender aos seus requisitos de rede.

Habilitar o acesso à Internet IPv6 somente de saída em uma VPC

Um gateway da Internet somente de saída permite que instâncias dentro de uma VPC acessem a Internet e impeçam que recursos na Internet se comuniquem com as instâncias. O snippet a seguir permite o acesso à Internet IPv6 somente de saída de dentro de uma VPC. Ele cria uma VPC com um intervalo de endereços IPv4 de 10.0.0/16usando um recurso AWS::EC2::VPC. Uma tabela de rotas é associada a esse recurso da VPC usando um recurso AWS::EC2::RouteTable. A tabela de rotas gerencia rotas para instâncias dentro da VPC. Um AWS::EC2::EgressOnlyInternetGateway é usado para criar um gateway da Internet somente de saída para permitir a comunicação IPv6 para tráfego de saída de instâncias dentro da VPC, evitando o tráfego de entrada. Um recurso AWS::EC2::Route é especificado para criar uma rota IPv6 na tabela de rotas que direciona todo o tráfego IPv6 de saída (::/0) para o gateway da Internet somente de saída.

Para obter mais informações sobre gateways da Internet somente de saída, consulte Habilitar o tráfego IPv6 de saída usando gateways da Internet somente de saída.

JSON

"DefaultIpv6Route": { "Type": "AWS::EC2::Route", "Properties": { "DestinationIpv6CidrBlock": "::/0", "EgressOnlyInternetGatewayId": { "Ref": "EgressOnlyInternetGateway" }, "RouteTableId": { "Ref": "RouteTable" } } }, "EgressOnlyInternetGateway": { "Type": "AWS::EC2::EgressOnlyInternetGateway", "Properties": { "VpcId": { "Ref": "VPC" } } }, "RouteTable": { "Type": "AWS::EC2::RouteTable", "Properties": { "VpcId": { "Ref": "VPC" } } }, "VPC": { "Type": "AWS::EC2::VPC", "Properties": { "CidrBlock": "10.0.0.0/16" } }

YAML

DefaultIpv6Route: Type: "AWS::EC2::Route" Properties: DestinationIpv6CidrBlock: "::/0" EgressOnlyInternetGatewayId: Ref: "EgressOnlyInternetGateway" RouteTableId: Ref: "RouteTable" EgressOnlyInternetGateway: Type: "AWS::EC2::EgressOnlyInternetGateway" Properties: VpcId: Ref: "VPC" RouteTable: Type: "AWS::EC2::RouteTable" Properties: VpcId: Ref: "VPC" VPC: Type: "AWS::EC2::VPC" Properties: CidrBlock: "10.0.0.0/16"

Trechos do modelo da interface de rede elástica (ENI)

Criar uma instância do Amazon EC2 com interfaces de rede elástica (ENIs) anexadas

O trecho de exemplo a seguir cria uma instância do Amazon EC2 usando um recurso AWS::EC2::Instance na sub-rede e na Amazon VPC especificada. Ele anexa duas interfaces de rede (ENIs) à instância, associa endereços IP elásticos às instâncias por meio dos ENIs anexados e configura o grupo de segurança para acesso SSH e HTTP. Os dados de usuário são fornecidos à instância como parte da configuração de execução quando a instância é criada. Os dados de usuário incluem um script codificado no formato base64 para garantir que sejam transmitidos para a instância. Quando a instância é executada, o script é executado automaticamente como parte do processo de bootstrapping. Ele instala ec2-net-utils, configura as interfaces de rede e inicia o serviço HTTP.

Para determinar a imagem de máquina da Amazon (AMI) apropriada com base na região selecionada, o snippet usa uma função Fn::FindInMap que pesquisa valores em um mapeamento RegionMap. Esse mapeamento deve ser definido no modelo maior. As duas interfaces de rede são criadas usando recursos AWS::EC2::NetworkInterface. Os endereços IP elásticos são especificados usando os recursos AWS::EC2::EIP alocados ao domínio vpc. Esses endereços IP elásticos são associados às interfaces de rede usando os recursos AWS::EC2::EIPAssociation.

A seção Outputs define os valores ou recursos que você deseja acessar depois que a pilha é criada. Nesse snippet, a saída definida é InstancePublicIp, que representa o endereço IP público da instância do EC2 criada pela pilha. É possível recuperar essa saída na guia Saída no console do AWS CloudFormation ou usando o comando describe-stacks.

Para obter mais informações sobre interfaces de rede elástica, consulte Interfaces de rede elástica.

JSON

"Resources": { "ControlPortAddress": { "Type": "AWS::EC2::EIP", "Properties": { "Domain": "vpc" } }, "AssociateControlPort": { "Type": "AWS::EC2::EIPAssociation", "Properties": { "AllocationId": { "Fn::GetAtt": [ "ControlPortAddress", "AllocationId" ] }, "NetworkInterfaceId": { "Ref": "controlXface" } } }, "WebPortAddress": { "Type": "AWS::EC2::EIP", "Properties": { "Domain": "vpc" } }, "AssociateWebPort": { "Type": "AWS::EC2::EIPAssociation", "Properties": { "AllocationId": { "Fn::GetAtt": [ "WebPortAddress", "AllocationId" ] }, "NetworkInterfaceId": { "Ref": "webXface" } } }, "SSHSecurityGroup": { "Type": "AWS::EC2::SecurityGroup", "Properties": { "VpcId": { "Ref": "VpcId" }, "GroupDescription": "Enable SSH access via port 22", "SecurityGroupIngress": [ { "CidrIp": "0.0.0.0/0", "FromPort": 22, "IpProtocol": "tcp", "ToPort": 22 } ] } }, "WebSecurityGroup": { "Type": "AWS::EC2::SecurityGroup", "Properties": { "VpcId": { "Ref": "VpcId" }, "GroupDescription": "Enable HTTP access via user-defined port", "SecurityGroupIngress": [ { "CidrIp": "0.0.0.0/0", "FromPort": 80, "IpProtocol": "tcp", "ToPort": 80 } ] } }, "controlXface": { "Type": "AWS::EC2::NetworkInterface", "Properties": { "SubnetId": { "Ref": "SubnetId" }, "Description": "Interface for controlling traffic such as SSH", "GroupSet": [ { "Fn::GetAtt": [ "SSHSecurityGroup", "GroupId" ] } ], "SourceDestCheck": true, "Tags": [ { "Key": "Network", "Value": "Control" } ] } }, "webXface": { "Type": "AWS::EC2::NetworkInterface", "Properties": { "SubnetId": { "Ref": "SubnetId" }, "Description": "Interface for web traffic", "GroupSet": [ { "Fn::GetAtt": [ "WebSecurityGroup", "GroupId" ] } ], "SourceDestCheck": true, "Tags": [ { "Key": "Network", "Value": "Web" } ] } }, "Ec2Instance": { "Type": "AWS::EC2::Instance", "Properties": { "ImageId": { "Fn::FindInMap": [ "RegionMap", { "Ref": "AWS::Region" }, "AMI" ] }, "KeyName": { "Ref": "KeyName" }, "NetworkInterfaces": [ { "NetworkInterfaceId": { "Ref": "controlXface" }, "DeviceIndex": "0" }, { "NetworkInterfaceId": { "Ref": "webXface" }, "DeviceIndex": "1" } ], "Tags": [ { "Key": "Role", "Value": "Test Instance" } ], "UserData": { "Fn::Base64": { "Fn::Sub": "#!/bin/bash -xe\nyum install ec2-net-utils -y\nec2ifup eth1\nservice httpd start\n" } } } } }, "Outputs": { "InstancePublicIp": { "Description": "Public IP Address of the EC2 Instance", "Value": { "Fn::GetAtt": [ "Ec2Instance", "PublicIp" ] } } }

YAML

Resources: ControlPortAddress: Type: 'AWS::EC2::EIP' Properties: Domain: vpc AssociateControlPort: Type: 'AWS::EC2::EIPAssociation' Properties: AllocationId: Fn::GetAtt: - ControlPortAddress - AllocationId NetworkInterfaceId: Ref: controlXface WebPortAddress: Type: 'AWS::EC2::EIP' Properties: Domain: vpc AssociateWebPort: Type: 'AWS::EC2::EIPAssociation' Properties: AllocationId: Fn::GetAtt: - WebPortAddress - AllocationId NetworkInterfaceId: Ref: webXface SSHSecurityGroup: Type: 'AWS::EC2::SecurityGroup' Properties: VpcId: Ref: VpcId GroupDescription: Enable SSH access via port 22 SecurityGroupIngress: - CidrIp: 0.0.0.0/0 FromPort: 22 IpProtocol: tcp ToPort: 22 WebSecurityGroup: Type: 'AWS::EC2::SecurityGroup' Properties: VpcId: Ref: VpcId GroupDescription: Enable HTTP access via user-defined port SecurityGroupIngress: - CidrIp: 0.0.0.0/0 FromPort: 80 IpProtocol: tcp ToPort: 80 controlXface: Type: 'AWS::EC2::NetworkInterface' Properties: SubnetId: Ref: SubnetId Description: Interface for controlling traffic such as SSH GroupSet: - Fn::GetAtt: - SSHSecurityGroup - GroupId SourceDestCheck: true Tags: - Key: Network Value: Control webXface: Type: 'AWS::EC2::NetworkInterface' Properties: SubnetId: Ref: SubnetId Description: Interface for web traffic GroupSet: - Fn::GetAtt: - WebSecurityGroup - GroupId SourceDestCheck: true Tags: - Key: Network Value: Web Ec2Instance: Type: AWS::EC2::Instance Properties: ImageId: Fn::FindInMap: - RegionMap - Ref: AWS::Region - AMI KeyName: Ref: KeyName NetworkInterfaces: - NetworkInterfaceId: Ref: controlXface DeviceIndex: "0" - NetworkInterfaceId: Ref: webXface DeviceIndex: "1" Tags: - Key: Role Value: Test Instance UserData: Fn::Base64: !Sub | #!/bin/bash -xe yum install ec2-net-utils -y ec2ifup eth1 service httpd start Outputs: InstancePublicIp: Description: Public IP Address of the EC2 Instance Value: Fn::GetAtt: - Ec2Instance - PublicIp
PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.