Amazon Elastic Compute Cloud
CLI Reference (API Version 2013-02-01)
« PreviousNext »
View the PDF for this guide.Go to the AWS Discussion Forum for this product.Did this page help you?  Yes | No |  Tell us about it...

ec2-create-network-acl-entry

Description

Creates an entry (a rule) in a network ACL with the specified rule number. Each network ACL has a set of numbered ingress rules and a separate set of numbered egress rules. When determining whether a packet should be allowed in or out of a subnet, we process the entries in the ACL according to the rule numbers, in ascending order. Each network ACL has a set of ingress rules and a separate set of egress rules.

Tip

We recommend that you leave room between the rule numbers (for example, 100, 110, 120, etc.), and not number them one right after the other (for example, 101, 102, 103, etc.). This makes it easier to add a new rule between existing ones without having to renumber the rules.

After you add an entry, you can't modify it; you must either replace it or create a new entry and delete the old one.

For more information about network ACLs, see Network ACLs in the Amazon Virtual Private Cloud User Guide.

The short version of this command is ec2addnae.

Syntax

ec2-create-network-acl-entry acl_id -n rule_number [--egress] -P protocol -r cidr [-p port_range] [-t icmp_type_code] { --allow | --deny }

Options

NameDescription

acl_id

The ID of the ACL for the entry.

Type: String

Default: None

Required: Yes

Example: acl-5fb85d36

-n, --rule-number rule_number

The rule number to assign to the entry (for example, 100). ACL entries are processed in ascending order by rule number.

Type: Number

Default: None

Constraints: Positive integer from 1 to 32766

Required: Yes

Example: -n 100

--egress

Indicates that the rule be applied to traffic leaving the subnet.

Default: If not specified, the rule applies to ingress traffic into the subnet.

Required: No

-P, --protocol protocol

The IP protocol. You can specify all or -1 to mean all protocols.

Type: String

Valid values: all | -1 | tcp | udp | icmp or any protocol number (for a list, see Protocol Numbers).

Required: Yes

Example: -P 6

-r, --cidr cidr

The CIDR range to allow or deny, in CIDR notation.

Type: String

Default: None

Required: Yes

Example: -r 172.16.0.0/24

-p, --port-range port_range

For TCP or UDP: The range of ports to allow.

Type: String

Default: None

Valid values: A single integer or a range (min-max). You can specify -1 to mean all ports (i.e. port range 0-65535).

Required: Conditional

Condition: Required if specifying tcp or udp (or the equivalent number) for the protocol.

Example: -p 80-84

-t, --icmp-type-code icmp_type_code

For ICMP: The ICMP type and code using format type:code, where both are integers. You can use -1 for the type or code to mean all types or all codes

Type: String

Default: None

Required: Conditional

Condition: Required if specifying icmp (or the equivalent number) for the protocol.

Example: -t -1:-1

--allow

Specifies that any traffic matching the rule is allowed.

Required: Conditional

Condition: You must specify either --allow or --deny, but not both options.

--deny

Specifies that any traffic matching the rule is denied.

Required: Conditional

Condition: You must specify either --allow or --deny, but not both.

Common Options

OptionDescription

--region REGION

Overrides the region specified by the EC2_URL environment variable and the URL specified by the -U option.

Default: The value of the EC2_URL environment variable, or us-east-1 if EC2_URL isn't set.

Example: --region eu-west-1

-U, --url URL

The uniform resource locator (URL) of the Amazon EC2 web service entry point.

Default: The value of the EC2_URL environment variable, or https://ec2.amazonaws.com if EC2_URL isn't set.

Example: -U https://ec2.amazonaws.com

-K, --private-key EC2-PRIVATE-KEY

The private key that identifies you to Amazon EC2. For more information, see Tell the Tools Who You Are.

Default: The value of the EC2_PRIVATE_KEY environment variable. If EC2_PRIVATE_KEY isn't set, you must specify this option.

Example: -K pk-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem

-C, --cert EC2-CERT

The X.509 certificate that identifies you to Amazon EC2.

Default: The value of the EC2_CERT environment variable. If EC2_CERT isn't set, you must specify this option.

Example: -C cert-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem

-O, --aws-access-key AWS_ACCESS_KEY

The access key ID associated with your AWS account. For more information, see Tell the Tools Who You Are.

Default: The value of the AWS_ACCESS_KEY environment variable. If AWS_ACCESS_KEY isn't set, you must specify this option.

Example: -O AKIAIOSFODNN7EXAMPLE

Note

For more information, see the following section, Deprecated Options.

-W, --aws-secret-key AWS_SECRET_KEY

The secret access key associated with your AWS account.

Default: The value of the AWS_SECRET_KEY environment variable. If AWS_SECRET_KEY isn't set, you must specify this option.

Example: -W wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

Note

For more information, see the following section, Deprecated Options.

-T, --security-token TOKEN AWS_DELEGATION_TOKEN

The AWS delegation token.

Default: The value of the environment variable (if set).

--connection-timeout TIMEOUT

The connection timeout, in seconds.

Example: --connection-timeout 30

--request-timeout TIMEOUT

The request timeout, in seconds.

Example: --request-timeout 45

-v, --verbose

Displays verbose output, including the API request and response on the command line. This is useful if you are building tools to talk directly to our Query API.

-H, --headers

Includes column headers in the command output.

--show-empty-fields

Shows empty columns as (nil).

--hide-tags

Omits tags for tagged resources.

--debug

Displays internal debugging information. This can assist us when helping you troubleshooting problems.

-?, --help, -h

Displays usage information for the command.

-

Reads arguments from standard input. This is useful when piping the output from one command to the input of another.

Example: ec2-describe-instances | grep stopped | cut -f 2 | ec2-start-instances -

Deprecated Options

For a limited time, you can still use the private key and X.509 certificate instead of your access key ID and secret access key. However, we recommend that you start using your access key ID (-O, --aws-access-key) and secret access key (-W, --aws-secret-key) now, as the private key (-K, --private-key) and X.509 certificate (-C, --cert) won't be supported after the transition period elapses. For more information, see Tell the Tools Who You Are.

OptionDescription

-K, --private-key EC2-PRIVATE-KEY

The private key to use when constructing requests to Amazon EC2.

Default: The value of the EC2_PRIVATE_KEY environment variable.

Example: -K pk-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem

-C, --cert EC2-CERT

The X.509 certificate to use when constructing requests to Amazon EC2.

Default: The value of the EC2_CERT environment variable.

Example: -C cert-HKZYKTAIG2ECMXYIBH3HXV4ZBEXAMPLE.pem

Output

This command returns a table that contains the following information:

  • The ENTRY identifier

Amazon EC2 command line tools display errors on stderr.

Examples

Example Request

This example creates an entry with rule number 100 in the network ACL with ID acl-2cb85d45. The rule allows ingress traffic from anywhere (0.0.0.0/0) on UDP port 53 into the subnet.

PROMPT> ec2-create-network-acl-entry acl-2cb85d45 -n 100 -r 0.0.0.0/0 -P udp -p 53 --allow
ENTRY   ingress 100     allow   0.0.0.0/0       udp                     53      53