Uso de CreateSubnet con un SDK de AWS o la CLI - Ejemplos de código de AWS SDK

Hay más ejemplos de AWS SDK disponibles en el repositorio de GitHub de ejemplos de AWS SDK de documentos.

Uso de CreateSubnet con un SDK de AWS o la CLI

Los siguientes ejemplos de código muestran cómo utilizar CreateSubnet.

Los ejemplos de acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Puede ver esta acción en contexto en los siguientes ejemplos de código:

CLI
AWS CLI

Ejemplo 1: Crear una subred solo con un bloque de CIDR IPv4

En el siguiente ejemplo de create-subnet, se crea una subred en la VPC especificada con el bloque de CIDR IPv4 especificado.

aws ec2 create-subnet \ --vpc-id vpc-081ec835f3EXAMPLE \ --cidr-block 10.0.0.0/24 \ --tag-specifications ResourceType=subnet,Tags=[{Key=Name,Value=my-ipv4-only-subnet}]

Salida:

{ "Subnet": { "AvailabilityZone": "us-west-2a", "AvailabilityZoneId": "usw2-az2", "AvailableIpAddressCount": 251, "CidrBlock": "10.0.0.0/24", "DefaultForAz": false, "MapPublicIpOnLaunch": false, "State": "available", "SubnetId": "subnet-0e99b93155EXAMPLE", "VpcId": "vpc-081ec835f3EXAMPLE", "OwnerId": "123456789012", "AssignIpv6AddressOnCreation": false, "Ipv6CidrBlockAssociationSet": [], "Tags": [ { "Key": "Name", "Value": "my-ipv4-only-subnet" } ], "SubnetArn": "arn:aws:ec2:us-west-2:123456789012:subnet/subnet-0e99b93155EXAMPLE" } }

Ejemplo 2: Crear una subred con bloques de CIDR IPv4 e IPv6

En el siguiente ejemplo de create-subnet, se crea una subred en la VPC especificada con los bloques de CIDR IPv4 e IPv6 especificados.

aws ec2 create-subnet \ --vpc-id vpc-081ec835f3EXAMPLE \ --cidr-block 10.0.0.0/24 \ --ipv6-cidr-block 2600:1f16:cfe:3660::/64 \ --tag-specifications ResourceType=subnet,Tags=[{Key=Name,Value=my-ipv4-ipv6-subnet}]

Salida:

{ "Subnet": { "AvailabilityZone": "us-west-2a", "AvailabilityZoneId": "usw2-az2", "AvailableIpAddressCount": 251, "CidrBlock": "10.0.0.0/24", "DefaultForAz": false, "MapPublicIpOnLaunch": false, "State": "available", "SubnetId": "subnet-0736441d38EXAMPLE", "VpcId": "vpc-081ec835f3EXAMPLE", "OwnerId": "123456789012", "AssignIpv6AddressOnCreation": false, "Ipv6CidrBlockAssociationSet": [ { "AssociationId": "subnet-cidr-assoc-06c5f904499fcc623", "Ipv6CidrBlock": "2600:1f13:cfe:3660::/64", "Ipv6CidrBlockState": { "State": "associating" } } ], "Tags": [ { "Key": "Name", "Value": "my-ipv4-ipv6-subnet" } ], "SubnetArn": "arn:aws:ec2:us-west-2:123456789012:subnet/subnet-0736441d38EXAMPLE" } }

Ejemplo 3: crear una subred solo con un bloque de CIDR IPv6

En el siguiente ejemplo de create-subnet, se crea una subred en la VPC especificada con el bloque de CIDR IPv6 especificado.

aws ec2 create-subnet \ --vpc-id vpc-081ec835f3EXAMPLE \ --ipv6-native \ --ipv6-cidr-block 2600:1f16:115:200::/64 \ --tag-specifications ResourceType=subnet,Tags=[{Key=Name,Value=my-ipv6-only-subnet}]

Salida:

{ "Subnet": { "AvailabilityZone": "us-west-2a", "AvailabilityZoneId": "usw2-az2", "AvailableIpAddressCount": 0, "DefaultForAz": false, "MapPublicIpOnLaunch": false, "State": "available", "SubnetId": "subnet-03f720e7deEXAMPLE", "VpcId": "vpc-081ec835f3EXAMPLE", "OwnerId": "123456789012", "AssignIpv6AddressOnCreation": true, "Ipv6CidrBlockAssociationSet": [ { "AssociationId": "subnet-cidr-assoc-01ef639edde556709", "Ipv6CidrBlock": "2600:1f13:cfe:3660::/64", "Ipv6CidrBlockState": { "State": "associating" } } ], "Tags": [ { "Key": "Name", "Value": "my-ipv6-only-subnet" } ], "SubnetArn": "arn:aws:ec2:us-west-2:123456789012:subnet/subnet-03f720e7deEXAMPLE" } }

Para obtener más información, consulte VPC y subredes en la Guía del usuario de Amazon VPC.

  • Para obtener información sobre la API, consulte CreateSubnet en la Referencia de comandos de la AWS CLI.

PowerShell
Herramientas para PowerShell V4

Ejemplo 1: En este ejemplo se crea una subred para el CIDR especificado.

New-EC2Subnet -VpcId vpc-12345678 -CidrBlock 10.0.0.0/24

Salida:

AvailabilityZone : us-west-2c AvailableIpAddressCount : 251 CidrBlock : 10.0.0.0/24 DefaultForAz : False MapPublicIpOnLaunch : False State : pending SubnetId : subnet-1a2b3c4d Tag : {} VpcId : vpc-12345678
  • Para obtener información sobre la API, consulte CreateSubnet en la Referencia de cmdlets de Herramientas de AWS para PowerShell (V4).

Herramientas para PowerShell V5

Ejemplo 1: En este ejemplo se crea una subred para el CIDR especificado.

New-EC2Subnet -VpcId vpc-12345678 -CidrBlock 10.0.0.0/24

Salida:

AvailabilityZone : us-west-2c AvailableIpAddressCount : 251 CidrBlock : 10.0.0.0/24 DefaultForAz : False MapPublicIpOnLaunch : False State : pending SubnetId : subnet-1a2b3c4d Tag : {} VpcId : vpc-12345678
  • Para obtener información sobre la API, consulte CreateSubnet en la Referencia de cmdlets de Herramientas de AWS para PowerShell (V5).

Ruby
SDK para Ruby
nota

Hay más en GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

require 'aws-sdk-ec2' # Creates a subnet within a virtual private cloud (VPC) in # Amazon Virtual Private Cloud (Amazon VPC) and then tags # the subnet. # # Prerequisites: # # - A VPC in Amazon VPC. # # @param ec2_resource [Aws::EC2::Resource] An initialized # Amazon Elastic Compute Cloud (Amazon EC2) resource object. # @param vpc_id [String] The ID of the VPC for the subnet. # @param cidr_block [String] The IPv4 CIDR block for the subnet. # @param availability_zone [String] The ID of the Availability Zone # for the subnet. # @param tag_key [String] The key portion of the tag for the subnet. # @param tag_vlue [String] The value portion of the tag for the subnet. # @return [Boolean] true if the subnet was created and tagged; # otherwise, false. # @example # exit 1 unless subnet_created_and_tagged?( # Aws::EC2::Resource.new(region: 'us-west-2'), # 'vpc-6713dfEX', # '10.0.0.0/24', # 'us-west-2a', # 'my-key', # 'my-value' # ) def subnet_created_and_tagged?( ec2_resource, vpc_id, cidr_block, availability_zone, tag_key, tag_value ) subnet = ec2_resource.create_subnet( vpc_id: vpc_id, cidr_block: cidr_block, availability_zone: availability_zone ) subnet.create_tags( tags: [ { key: tag_key, value: tag_value } ] ) puts "Subnet created with ID '#{subnet.id}' in VPC with ID '#{vpc_id}' " \ "and CIDR block '#{cidr_block}' in availability zone " \ "'#{availability_zone}' and tagged with key '#{tag_key}' and " \ "value '#{tag_value}'." true rescue StandardError => e puts "Error creating or tagging subnet: #{e.message}" false end # Example usage: def run_me vpc_id = '' cidr_block = '' availability_zone = '' tag_key = '' tag_value = '' region = '' # Print usage information and then stop. if ARGV[0] == '--help' || ARGV[0] == '-h' puts 'Usage: ruby ec2-ruby-example-create-subnet.rb ' \ 'VPC_ID CIDR_BLOCK AVAILABILITY_ZONE TAG_KEY TAG_VALUE REGION' # Replace us-west-2 with the AWS Region you're using for Amazon EC2. puts 'Example: ruby ec2-ruby-example-create-subnet.rb ' \ 'vpc-6713dfEX 10.0.0.0/24 us-west-2a my-key my-value us-west-2' exit 1 # If no values are specified at the command prompt, use these default values. elsif ARGV.count.zero? vpc_id = 'vpc-6713dfEX' cidr_block = '10.0.0.0/24' availability_zone = 'us-west-2a' tag_key = 'my-key' tag_value = 'my-value' # Replace us-west-2 with the AWS Region you're using for Amazon EC2. region = 'us-west-2' # Otherwise, use the values as specified at the command prompt. else vpc_id = ARGV[0] cidr_block = ARGV[1] availability_zone = ARGV[2] tag_key = ARGV[3] tag_value = ARGV[4] region = ARGV[5] end ec2_resource = Aws::EC2::Resource.new(region: region) if subnet_created_and_tagged?( ec2_resource, vpc_id, cidr_block, availability_zone, tag_key, tag_value ) puts 'Subnet created and tagged.' else puts 'Subnet not created or not tagged.' end end run_me if $PROGRAM_NAME == __FILE__
  • Para obtener información sobre la API, consulte CreateSubnet en la Referencia de la API de AWS SDK para Ruby.