How to use “describe-subnet” command in AWS CLI?


AWS CLI A command-based powerful tool for easy access and management of AWS services. With this utility, users can directly communicate, configure, automate, download or manipulate resources. As the name suggests, it works on commands that accept various flags. One such command is “describe-subnet” Commands in AWS CLI.

quick outline

This article covers the following aspects:

before understanding “describe-subnet” Command, let's first understand the concept of VPC. In AWS, Virtual Private Cloud (VPC) is a network of global resources that provides its users with complete control and management of networks, resources, and connectivity. Within a VPC, there are different subnets. A Subnet There is a wide range of IP addresses. After setting up the VPC, the user can add resources, for example, EC2 instances, relational databases, etc. These resources will be globally accessible with IP addresses assigned from the subnet within the VPC.

Read more: How to use VPC Getting Started with AWS

What is the “describe-subnet” command in AWS CLI?

“describe-subnet” The command lists all subnets for a given account. It supports pagination by default which can be disabled using “-no-page” flag. “describe-subnet” When command pagination is enabled in the AWS CLI, issues multiple API calls to the service to retrieve data.

Read more: How to Disable Pages in AWS CLI?

How to use “describe-subnet” command in AWS CLI?

Many options are available for filtering, querying, specifying subnets, or displaying data in various output formats. This command is typically used with EC2 instances.


The syntax of the command is as follows:

aws ec2 describe-subnet <Option,


Below is a brief description of the options “describe-subnet” Permission:

Option Description
-Filter -Filter option is used to extract specific details of the data. Following are the different types of filters supported by “describe-subnet” Permission:

, Availability-Area: This option is for filtering using the availability zone of the subnet.

, availability-zone-id: This refers to the ID of the Availability Zone.

, availability-ip-address-count: The number of IPv4 addresses available.

, CIDR-BLOCK: This option refers to the IPv4 CIDR block. The CIDR block provided by the user must exactly match the block of the subnet.

, Owner-ID: Subnet owner's account ID

, tag: The key-value pairs that make up a tag can also be used as a filter type to extract specific results.

Multiple filter types are also available. To read more about them, visit AWS Documentation.

-subnet-id This parameter inputs the ID of a specific subnet for listing.
-Rehearsal This parameter checks whether the user has permission for the tasks. The output is in error format. If the user is equipped with the required permissions, the output will include “dryrunoperation”, On the other hand, if the user has no permission for the action, the output will include “Unauthorized Operation”, To disable this functionality, use “-no-dry-run” Option.
-cli-input-json -cli-input-json is used to provide multiple JSON directives to an AWS service at once. Instructions are provided in JSON format which generates “-generate-cli-skeleton” Parameters.
-initial-token accepts the value of the parameter nexttoken Parameters. It is of string type and NextToken is generated when there is more data in the list. The value of NextToken provided to this field will specify where to begin paging.
-page size This parameter specifies the page size to be used in each AWS service call. Smaller page size results in more API calls to the service. It prevents time-outs by retrieving less data in each service call.
-max-items The -max-items parameter displays a limited number of data per response. If there is more data to list, the output of the command will include “NextToken” The value that will restart the list of data when the command is executed again.
-generate-cli-skeleton This parameter is used to create a skeleton or JSON template for multiple instructions that are executed simultaneously. This template is used by the –cli-input-json parameter.

There are also global options available that can be used “describe-subnet” Permission. Global options are options that can be used with multiple AWS CLI commands. To read about these options, visit AWS Documentation,


This section of the article refers to the use of these flags with “description-subnet” Permission:

Example 1: How to describe all subnets using the “describe-subnet” command?

To list all subnets for a given account, use the following command:


Example 2: How to describe a specific subnet via the “describe-subnet” command?

To get the Subnet ID of your EC2 instance, click on EC2 Instance from your dashboard. This will display the configuration of the EC2 instance. click on “Networking” Tab from the displayed interface. inside “Networking Details” Section, Copy Subnet ID “Subnet ID” Field:

To list a particular subnet, the command is given as follows:

aws ec2 describe-subnet –subnet-id <Subnet,

Comment: replace the <सबनेट> With your EC2 instance subnet ID.


Example 3: How to filter description of a subnet via “describe-subnet” command?

There are different filters available to filter the subnet, i.e., availability zone, Owner ID, CIDR Block, etc. To set the Availability Zone for your EC2 instance, click the instance name from the EC2 dashboard. This will display the configuration of the EC2 instance “Networking” Tab. From this tab, locate “Availability Zone” And copy the ID from it:

To Filter Subnet by Availability ZoneThe order is given below:

aws ec2 describe-subnet –filter “name=availability-zone,value=ap-southeast-1b”

Comment: change value “AP-Southeast-1BWith the name of the availability zone copied.


The AWS account ID can be determined by clicking on the username in the upper right corner. Click Copy Account ID “copy” Icon from the drop-down list to copy the account ID:

like Filter Subnet by Account ID For the user, the following command is used:

aws ec2 describe-subnet –filter “name=owner-id, value=<खाताआईडी>,

Comment: replace the ,<खाताआईडी>, With your AWS account ID.


The output of the command is as follows:

Example 4: How to set permissions via “describe-subnet” command?

To set permissions for a specific subnet, -Rehearsal Option is exercised. This field follows the error format and is used in the following way:

aws ec2 describe-subnet –Rehearsal


The output of the command is as follows:

On the other hand, if the user wants to disable this option and list all load balancers, use the following command:

aws ec2 describe-subnet –no-dry-run


The output of the command is as follows:

Example 5: How to display output in multiple formats using “describe-subnet” command?

Multiple output formats supported description-subnet Command of AWS. These include JSON, YAML, or text. The user can simply change the value of the output field:

aws ec2 describe-subnet –Output table

Comment: replace the table value in -Output Fields with different output formats i.e. JSON, YAML, or text.


The output of the command is as follows:

Example 6: How to list a limited number of subnets via the “describe-subnet” command?

-max-items is used to limit the number of subnets within a single response:

aws ec2 describe-subnet –max-items 1

Comment: Replace the value “1” with any numeric value of your choice between 1 and 1000.


The output of the command is as follows:

Provide value of NextToken from output -initial-token, This token will resume listing data from the next load balancer:

aws ec2 describe-subnet –initial-token <nexttoken,

Comment: from output Replace with your NextToken value.


The output of the code is as follows:

Example 7: How to query specific details of a subnet via “describe-subnet” command?

output of “describe-subnet” The command contains a subnet array. To extract specific information of a subnet array, the following commands are used:

aws ec2 describe-subnet –Question “Subnet[*].subnetid”


The output of the command is as follows:

Example 8: How to list subnet tags using “describe-subnet” command?

Another way to filter subnets is to use tags. Tag is a key-value key pair. Up to 59 tags can be associated with a single AWS resource. To determine the subnet key, go to “vpc” By searching for the service in the search bar of the AWS Management Console. Click the “Subnet” option from the VPC service dashboard:

From Subnet Dashboard, select a subnet. This will display its configuration. Click “tag” Tab and copy the name and value under it “key” And “price” Farm:

The following command is used to filter subnets by tag:

aws ec2 describe-subnet –filter “name=tag:<नाम>,value=<सबनेटटैगकी>

Comment: change value ,<नाम>, And ,, With the copied value of your tag. render copied key To <नाम> And “price” till Field.


The output of the command is as follows:

That's all from this guide.


To list subnets in AWS CLI, use “describe-subnet” Permission. It describes all or specific subnets in a VPC and accepts several options for different functions. For AWS users, “describe-subnet” The command can help configure and troubleshoot networks. To use this command, configure the AWS CLI and provide the above command to the terminal. This article is a step-by-step demonstration of its use description-subnet Commands in AWS CLI.

Add comment

By Ranjan