• Awards Season
  • Big Stories
  • Pop Culture
  • Video Games
  • Celebrities

The Benefits of Tracking an IP Address Location

In today’s digital age, tracking an IP address location has become an important tool for businesses and individuals alike. An IP address is a unique numerical identifier assigned to each device connected to the internet. By tracking an IP address location, businesses can gain valuable insights into their customers’ online behavior and preferences. Individuals can also use this information to protect their online privacy and security. Here are some of the key benefits of tracking an IP address location:

Enhanced Security

One of the main benefits of tracking an IP address location is enhanced security. By knowing where a device is located, businesses can better protect their networks from malicious activity. Additionally, individuals can use this information to identify suspicious activity on their own devices or networks. This can help them take steps to protect their data and privacy from potential threats.

Better Targeting of Ads and Content

Another benefit of tracking an IP address location is that it allows businesses to better target ads and content to their customers. By knowing where a customer is located, businesses can tailor their marketing messages to be more relevant to that customer’s needs and interests. This helps them increase engagement with potential customers and boost sales.

Improved Customer Insights

Finally, tracking an IP address location can provide businesses with valuable insights into their customers’ behavior and preferences. By analyzing the data collected from IP addresses, businesses can gain a better understanding of who their customers are and what they are looking for in terms of products or services. This helps them tailor their offerings accordingly and improve customer satisfaction levels.

Overall, tracking an IP address location provides numerous benefits for both businesses and individuals alike. From enhanced security to improved customer insights, this tool can help organizations better understand their customers’ needs and preferences in order to provide more targeted content and services.

This text was generated using a large language model, and select text has been reviewed and moderated for purposes such as readability.


enable auto assign public ip address cloudformation


Specifies an EC2 instance.

If an Elastic IP address is attached to your instance, AWS CloudFormation reattaches the Elastic IP address after it updates the instance. For more information about updating stacks, see AWS CloudFormation Stacks Updates .

To declare this entity in your AWS CloudFormation template, use the following syntax:

This property is reserved for internal use. If you use it, the stack fails with this error: Bad property set: [Testing this property] (Service: AmazonEC2; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: 0XXXXXX-49c7-4b40-8bcc-76885dcXXXXX) .

Required : No

Type : String

Update requires : No interruption

Indicates whether the instance is associated with a dedicated host. If you want the instance to always restart on the same host on which it was launched, specify host . If you want the instance to restart on any available host, but try to launch onto the last host it ran on (on a best-effort basis), specify default .

The Availability Zone of the instance.

If not specified, an Availability Zone will be automatically chosen for you based on the load balancing criteria for the Region.

This parameter is not supported by DescribeImageAttribute .

Update requires : Replacement

The block device mapping entries that defines the block devices to attach to the instance at launch.

By default, the block devices specified in the block device mapping for the AMI are used. You can override the AMI block device mapping using the instance block device mapping. For the root volume, you can override only the volume size, volume type, volume encryption settings, and the DeleteOnTermination setting.

After the instance is running, you can modify only the DeleteOnTermination parameter for the attached volumes without interrupting the instance. Modifying any other parameter results in instance replacement .

Type : Array of BlockDeviceMapping

The CPU options for the instance. For more information, see Optimize CPU options in the Amazon Elastic Compute Cloud User Guide .

Type : CpuOptions

The credit option for CPU usage of the burstable performance instance. Valid values are standard and unlimited . To change this attribute after launch, use ModifyInstanceCreditSpecification . For more information, see Burstable performance instances in the Amazon EC2 User Guide .

Default: standard (T2 instances) or unlimited (T3/T3a/T4g instances)

For T3 instances with host tenancy, only standard is supported.

Type : CreditSpecification

If you set this parameter to true , you can't terminate the instance using the Amazon EC2 console, CLI, or API; otherwise, you can. To change this attribute after launch, use ModifyInstanceAttribute . Alternatively, if you set InstanceInitiatedShutdownBehavior to terminate , you can terminate the instance by running the shutdown command from the instance.

Default: false

Type : Boolean

Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.

An elastic GPU to associate with the instance. An Elastic GPU is a GPU resource that you can attach to your Windows instance to accelerate the graphics performance of your applications. For more information, see Amazon EC2 Elastic GPUs in the Amazon EC2 User Guide .

Type : Array of ElasticGpuSpecification

An elastic inference accelerator to associate with the instance. Elastic inference accelerators are a resource you can attach to your Amazon EC2 instances to accelerate your Deep Learning (DL) inference workloads.

You cannot specify accelerators from different generations in the same request.

Starting April 15, 2023, AWS will not onboard new customers to Amazon Elastic Inference (EI), and will help current customers migrate their workloads to options that offer better price and performance. After April 15, 2023, new customers will not be able to launch instances with Amazon EI accelerators in Amazon SageMaker, Amazon ECS, or Amazon EC2. However, customers who have used Amazon EI at least once during the past 30-day period are considered current customers and will be able to continue using the service.

Type : Array of ElasticInferenceAccelerator

Indicates whether the instance is enabled for AWS Nitro Enclaves.

Type : EnclaveOptions

Indicates whether an instance is enabled for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites . For more information, see Hibernate your instance in the Amazon EC2 User Guide .

You can't enable hibernation and AWS Nitro Enclaves on the same instance.

Type : HibernationOptions

If you specify host for the Affinity property, the ID of a dedicated host that the instance is associated with. If you don't specify an ID, Amazon EC2 launches the instance onto any available, compatible dedicated host in your account. This type of launch is called an untargeted launch. Note that for untargeted launches, you must have a compatible, dedicated host available to successfully launch instances.

The ARN of the host resource group in which to launch the instances. If you specify a host resource group ARN, omit the Tenancy parameter or set it to host .

The name of an IAM instance profile. To create a new IAM instance profile, use the AWS::IAM::InstanceProfile resource.

The ID of the AMI. An AMI ID is required to launch an instance and must be specified here or in a launch template.

Required : Conditional

Indicates whether an instance stops or terminates when you initiate shutdown from the instance (using the operating system command for system shutdown).

Default: stop

Allowed values : stop | terminate

The instance type. For more information, see Instance types in the Amazon EC2 User Guide .

When you change your EBS-backed instance type, instance restart or replacement behavior depends on the instance type compatibility between the old and new types. An instance with an instance store volume as the root volume is always replaced. For more information, see Change the instance type in the Amazon EC2 User Guide .

Allowed values : a1.2xlarge | a1.4xlarge | a1.large | a1.medium | a1.metal | a1.xlarge | c1.medium | c1.xlarge | c3.2xlarge | c3.4xlarge | c3.8xlarge | c3.large | c3.xlarge | c4.2xlarge | c4.4xlarge | c4.8xlarge | c4.large | c4.xlarge | c5.12xlarge | c5.18xlarge | c5.24xlarge | c5.2xlarge | c5.4xlarge | c5.9xlarge | c5.large | c5.metal | c5.xlarge | c5a.12xlarge | c5a.16xlarge | c5a.24xlarge | c5a.2xlarge | c5a.4xlarge | c5a.8xlarge | c5a.large | c5a.xlarge | c5ad.12xlarge | c5ad.16xlarge | c5ad.24xlarge | c5ad.2xlarge | c5ad.4xlarge | c5ad.8xlarge | c5ad.large | c5ad.xlarge | c5d.12xlarge | c5d.18xlarge | c5d.24xlarge | c5d.2xlarge | c5d.4xlarge | c5d.9xlarge | c5d.large | c5d.metal | c5d.xlarge | c5n.18xlarge | c5n.2xlarge | c5n.4xlarge | c5n.9xlarge | c5n.large | c5n.metal | c5n.xlarge | c6a.12xlarge | c6a.16xlarge | c6a.24xlarge | c6a.2xlarge | c6a.32xlarge | c6a.48xlarge | c6a.4xlarge | c6a.8xlarge | c6a.large | c6a.metal | c6a.xlarge | c6g.12xlarge | c6g.16xlarge | c6g.2xlarge | c6g.4xlarge | c6g.8xlarge | c6g.large | c6g.medium | c6g.metal | c6g.xlarge | c6gd.12xlarge | c6gd.16xlarge | c6gd.2xlarge | c6gd.4xlarge | c6gd.8xlarge | c6gd.large | c6gd.medium | c6gd.metal | c6gd.xlarge | c6gn.12xlarge | c6gn.16xlarge | c6gn.2xlarge | c6gn.4xlarge | c6gn.8xlarge | c6gn.large | c6gn.medium | c6gn.xlarge | c6i.12xlarge | c6i.16xlarge | c6i.24xlarge | c6i.2xlarge | c6i.32xlarge | c6i.4xlarge | c6i.8xlarge | c6i.large | c6i.metal | c6i.xlarge | c6id.12xlarge | c6id.16xlarge | c6id.24xlarge | c6id.2xlarge | c6id.32xlarge | c6id.4xlarge | c6id.8xlarge | c6id.large | c6id.metal | c6id.xlarge | c6in.12xlarge | c6in.16xlarge | c6in.24xlarge | c6in.2xlarge | c6in.32xlarge | c6in.4xlarge | c6in.8xlarge | c6in.large | c6in.metal | c6in.xlarge | c7a.12xlarge | c7a.16xlarge | c7a.24xlarge | c7a.2xlarge | c7a.32xlarge | c7a.48xlarge | c7a.4xlarge | c7a.8xlarge | c7a.large | c7a.medium | c7a.metal-48xl | c7a.xlarge | c7g.12xlarge | c7g.16xlarge | c7g.2xlarge | c7g.4xlarge | c7g.8xlarge | c7g.large | c7g.medium | c7g.metal | c7g.xlarge | c7gd.12xlarge | c7gd.16xlarge | c7gd.2xlarge | c7gd.4xlarge | c7gd.8xlarge | c7gd.large | c7gd.medium | c7gd.xlarge | c7gn.12xlarge | c7gn.16xlarge | c7gn.2xlarge | c7gn.4xlarge | c7gn.8xlarge | c7gn.large | c7gn.medium | c7gn.xlarge | c7i.12xlarge | c7i.16xlarge | c7i.24xlarge | c7i.2xlarge | c7i.48xlarge | c7i.4xlarge | c7i.8xlarge | c7i.large | c7i.metal-24xl | c7i.metal-48xl | c7i.xlarge | cc1.4xlarge | cc2.8xlarge | cg1.4xlarge | cr1.8xlarge | d2.2xlarge | d2.4xlarge | d2.8xlarge | d2.xlarge | d3.2xlarge | d3.4xlarge | d3.8xlarge | d3.xlarge | d3en.12xlarge | d3en.2xlarge | d3en.4xlarge | d3en.6xlarge | d3en.8xlarge | d3en.xlarge | dl1.24xlarge | f1.16xlarge | f1.2xlarge | f1.4xlarge | g2.2xlarge | g2.8xlarge | g3.16xlarge | g3.4xlarge | g3.8xlarge | g3s.xlarge | g4ad.16xlarge | g4ad.2xlarge | g4ad.4xlarge | g4ad.8xlarge | g4ad.xlarge | g4dn.12xlarge | g4dn.16xlarge | g4dn.2xlarge | g4dn.4xlarge | g4dn.8xlarge | g4dn.metal | g4dn.xlarge | g5.12xlarge | g5.16xlarge | g5.24xlarge | g5.2xlarge | g5.48xlarge | g5.4xlarge | g5.8xlarge | g5.xlarge | g5g.16xlarge | g5g.2xlarge | g5g.4xlarge | g5g.8xlarge | g5g.metal | g5g.xlarge | h1.16xlarge | h1.2xlarge | h1.4xlarge | h1.8xlarge | hi1.4xlarge | hpc6a.48xlarge | hpc6id.32xlarge | hpc7a.12xlarge | hpc7a.24xlarge | hpc7a.48xlarge | hpc7a.96xlarge | hpc7g.16xlarge | hpc7g.4xlarge | hpc7g.8xlarge | hs1.8xlarge | i2.2xlarge | i2.4xlarge | i2.8xlarge | i2.xlarge | i3.16xlarge | i3.2xlarge | i3.4xlarge | i3.8xlarge | i3.large | i3.metal | i3.xlarge | i3en.12xlarge | i3en.24xlarge | i3en.2xlarge | i3en.3xlarge | i3en.6xlarge | i3en.large | i3en.metal | i3en.xlarge | i4g.16xlarge | i4g.2xlarge | i4g.4xlarge | i4g.8xlarge | i4g.large | i4g.xlarge | i4i.12xlarge | i4i.16xlarge | i4i.24xlarge | i4i.2xlarge | i4i.32xlarge | i4i.4xlarge | i4i.8xlarge | i4i.large | i4i.metal | i4i.xlarge | im4gn.16xlarge | im4gn.2xlarge | im4gn.4xlarge | im4gn.8xlarge | im4gn.large | im4gn.xlarge | inf1.24xlarge | inf1.2xlarge | inf1.6xlarge | inf1.xlarge | inf2.24xlarge | inf2.48xlarge | inf2.8xlarge | inf2.xlarge | is4gen.2xlarge | is4gen.4xlarge | is4gen.8xlarge | is4gen.large | is4gen.medium | is4gen.xlarge | m1.large | m1.medium | m1.small | m1.xlarge | m2.2xlarge | m2.4xlarge | m2.xlarge | m3.2xlarge | m3.large | m3.medium | m3.xlarge | m4.10xlarge | m4.16xlarge | m4.2xlarge | m4.4xlarge | m4.large | m4.xlarge | m5.12xlarge | m5.16xlarge | m5.24xlarge | m5.2xlarge | m5.4xlarge | m5.8xlarge | m5.large | m5.metal | m5.xlarge | m5a.12xlarge | m5a.16xlarge | m5a.24xlarge | m5a.2xlarge | m5a.4xlarge | m5a.8xlarge | m5a.large | m5a.xlarge | m5ad.12xlarge | m5ad.16xlarge | m5ad.24xlarge | m5ad.2xlarge | m5ad.4xlarge | m5ad.8xlarge | m5ad.large | m5ad.xlarge | m5d.12xlarge | m5d.16xlarge | m5d.24xlarge | m5d.2xlarge | m5d.4xlarge | m5d.8xlarge | m5d.large | m5d.metal | m5d.xlarge | m5dn.12xlarge | m5dn.16xlarge | m5dn.24xlarge | m5dn.2xlarge | m5dn.4xlarge | m5dn.8xlarge | m5dn.large | m5dn.metal | m5dn.xlarge | m5n.12xlarge | m5n.16xlarge | m5n.24xlarge | m5n.2xlarge | m5n.4xlarge | m5n.8xlarge | m5n.large | m5n.metal | m5n.xlarge | m5zn.12xlarge | m5zn.2xlarge | m5zn.3xlarge | m5zn.6xlarge | m5zn.large | m5zn.metal | m5zn.xlarge | m6a.12xlarge | m6a.16xlarge | m6a.24xlarge | m6a.2xlarge | m6a.32xlarge | m6a.48xlarge | m6a.4xlarge | m6a.8xlarge | m6a.large | m6a.metal | m6a.xlarge | m6g.12xlarge | m6g.16xlarge | m6g.2xlarge | m6g.4xlarge | m6g.8xlarge | m6g.large | m6g.medium | m6g.metal | m6g.xlarge | m6gd.12xlarge | m6gd.16xlarge | m6gd.2xlarge | m6gd.4xlarge | m6gd.8xlarge | m6gd.large | m6gd.medium | m6gd.metal | m6gd.xlarge | m6i.12xlarge | m6i.16xlarge | m6i.24xlarge | m6i.2xlarge | m6i.32xlarge | m6i.4xlarge | m6i.8xlarge | m6i.large | m6i.metal | m6i.xlarge | m6id.12xlarge | m6id.16xlarge | m6id.24xlarge | m6id.2xlarge | m6id.32xlarge | m6id.4xlarge | m6id.8xlarge | m6id.large | m6id.metal | m6id.xlarge | m6idn.12xlarge | m6idn.16xlarge | m6idn.24xlarge | m6idn.2xlarge | m6idn.32xlarge | m6idn.4xlarge | m6idn.8xlarge | m6idn.large | m6idn.metal | m6idn.xlarge | m6in.12xlarge | m6in.16xlarge | m6in.24xlarge | m6in.2xlarge | m6in.32xlarge | m6in.4xlarge | m6in.8xlarge | m6in.large | m6in.metal | m6in.xlarge | m7a.12xlarge | m7a.16xlarge | m7a.24xlarge | m7a.2xlarge | m7a.32xlarge | m7a.48xlarge | m7a.4xlarge | m7a.8xlarge | m7a.large | m7a.medium | m7a.metal-48xl | m7a.xlarge | m7g.12xlarge | m7g.16xlarge | m7g.2xlarge | m7g.4xlarge | m7g.8xlarge | m7g.large | m7g.medium | m7g.metal | m7g.xlarge | m7gd.12xlarge | m7gd.16xlarge | m7gd.2xlarge | m7gd.4xlarge | m7gd.8xlarge | m7gd.large | m7gd.medium | m7gd.xlarge | m7i-flex.2xlarge | m7i-flex.4xlarge | m7i-flex.8xlarge | m7i-flex.large | m7i-flex.xlarge | m7i.12xlarge | m7i.16xlarge | m7i.24xlarge | m7i.2xlarge | m7i.48xlarge | m7i.4xlarge | m7i.8xlarge | m7i.large | m7i.metal-24xl | m7i.metal-48xl | m7i.xlarge | mac1.metal | mac2-m2.metal | mac2-m2pro.metal | mac2.metal | p2.16xlarge | p2.8xlarge | p2.xlarge | p3.16xlarge | p3.2xlarge | p3.8xlarge | p3dn.24xlarge | p4d.24xlarge | p4de.24xlarge | p5.48xlarge | r3.2xlarge | r3.4xlarge | r3.8xlarge | r3.large | r3.xlarge | r4.16xlarge | r4.2xlarge | r4.4xlarge | r4.8xlarge | r4.large | r4.xlarge | r5.12xlarge | r5.16xlarge | r5.24xlarge | r5.2xlarge | r5.4xlarge | r5.8xlarge | r5.large | r5.metal | r5.xlarge | r5a.12xlarge | r5a.16xlarge | r5a.24xlarge | r5a.2xlarge | r5a.4xlarge | r5a.8xlarge | r5a.large | r5a.xlarge | r5ad.12xlarge | r5ad.16xlarge | r5ad.24xlarge | r5ad.2xlarge | r5ad.4xlarge | r5ad.8xlarge | r5ad.large | r5ad.xlarge | r5b.12xlarge | r5b.16xlarge | r5b.24xlarge | r5b.2xlarge | r5b.4xlarge | r5b.8xlarge | r5b.large | r5b.metal | r5b.xlarge | r5d.12xlarge | r5d.16xlarge | r5d.24xlarge | r5d.2xlarge | r5d.4xlarge | r5d.8xlarge | r5d.large | r5d.metal | r5d.xlarge | r5dn.12xlarge | r5dn.16xlarge | r5dn.24xlarge | r5dn.2xlarge | r5dn.4xlarge | r5dn.8xlarge | r5dn.large | r5dn.metal | r5dn.xlarge | r5n.12xlarge | r5n.16xlarge | r5n.24xlarge | r5n.2xlarge | r5n.4xlarge | r5n.8xlarge | r5n.large | r5n.metal | r5n.xlarge | r6a.12xlarge | r6a.16xlarge | r6a.24xlarge | r6a.2xlarge | r6a.32xlarge | r6a.48xlarge | r6a.4xlarge | r6a.8xlarge | r6a.large | r6a.metal | r6a.xlarge | r6g.12xlarge | r6g.16xlarge | r6g.2xlarge | r6g.4xlarge | r6g.8xlarge | r6g.large | r6g.medium | r6g.metal | r6g.xlarge | r6gd.12xlarge | r6gd.16xlarge | r6gd.2xlarge | r6gd.4xlarge | r6gd.8xlarge | r6gd.large | r6gd.medium | r6gd.metal | r6gd.xlarge | r6i.12xlarge | r6i.16xlarge | r6i.24xlarge | r6i.2xlarge | r6i.32xlarge | r6i.4xlarge | r6i.8xlarge | r6i.large | r6i.metal | r6i.xlarge | r6id.12xlarge | r6id.16xlarge | r6id.24xlarge | r6id.2xlarge | r6id.32xlarge | r6id.4xlarge | r6id.8xlarge | r6id.large | r6id.metal | r6id.xlarge | r6idn.12xlarge | r6idn.16xlarge | r6idn.24xlarge | r6idn.2xlarge | r6idn.32xlarge | r6idn.4xlarge | r6idn.8xlarge | r6idn.large | r6idn.metal | r6idn.xlarge | r6in.12xlarge | r6in.16xlarge | r6in.24xlarge | r6in.2xlarge | r6in.32xlarge | r6in.4xlarge | r6in.8xlarge | r6in.large | r6in.metal | r6in.xlarge | r7a.12xlarge | r7a.16xlarge | r7a.24xlarge | r7a.2xlarge | r7a.32xlarge | r7a.48xlarge | r7a.4xlarge | r7a.8xlarge | r7a.large | r7a.medium | r7a.metal-48xl | r7a.xlarge | r7g.12xlarge | r7g.16xlarge | r7g.2xlarge | r7g.4xlarge | r7g.8xlarge | r7g.large | r7g.medium | r7g.metal | r7g.xlarge | r7gd.12xlarge | r7gd.16xlarge | r7gd.2xlarge | r7gd.4xlarge | r7gd.8xlarge | r7gd.large | r7gd.medium | r7gd.xlarge | r7i.12xlarge | r7i.16xlarge | r7i.24xlarge | r7i.2xlarge | r7i.48xlarge | r7i.4xlarge | r7i.8xlarge | r7i.large | r7i.metal-24xl | r7i.metal-48xl | r7i.xlarge | r7iz.12xlarge | r7iz.16xlarge | r7iz.2xlarge | r7iz.32xlarge | r7iz.4xlarge | r7iz.8xlarge | r7iz.large | r7iz.xlarge | t1.micro | t2.2xlarge | t2.large | t2.medium | t2.micro | t2.nano | t2.small | t2.xlarge | t3.2xlarge | t3.large | t3.medium | t3.micro | t3.nano | t3.small | t3.xlarge | t3a.2xlarge | t3a.large | t3a.medium | t3a.micro | t3a.nano | t3a.small | t3a.xlarge | t4g.2xlarge | t4g.large | t4g.medium | t4g.micro | t4g.nano | t4g.small | t4g.xlarge | trn1.2xlarge | trn1.32xlarge | trn1n.32xlarge | u-12tb1.112xlarge | u-12tb1.metal | u-18tb1.112xlarge | u-18tb1.metal | u-24tb1.112xlarge | u-24tb1.metal | u-3tb1.56xlarge | u-6tb1.112xlarge | u-6tb1.56xlarge | u-6tb1.metal | u-9tb1.112xlarge | u-9tb1.metal | vt1.24xlarge | vt1.3xlarge | vt1.6xlarge | x1.16xlarge | x1.32xlarge | x1e.16xlarge | x1e.2xlarge | x1e.32xlarge | x1e.4xlarge | x1e.8xlarge | x1e.xlarge | x2gd.12xlarge | x2gd.16xlarge | x2gd.2xlarge | x2gd.4xlarge | x2gd.8xlarge | x2gd.large | x2gd.medium | x2gd.metal | x2gd.xlarge | x2idn.16xlarge | x2idn.24xlarge | x2idn.32xlarge | x2idn.metal | x2iedn.16xlarge | x2iedn.24xlarge | x2iedn.2xlarge | x2iedn.32xlarge | x2iedn.4xlarge | x2iedn.8xlarge | x2iedn.metal | x2iedn.xlarge | x2iezn.12xlarge | x2iezn.2xlarge | x2iezn.4xlarge | x2iezn.6xlarge | x2iezn.8xlarge | x2iezn.metal | z1d.12xlarge | z1d.2xlarge | z1d.3xlarge | z1d.6xlarge | z1d.large | z1d.metal | z1d.xlarge

The number of IPv6 addresses to associate with the primary network interface. Amazon EC2 chooses the IPv6 addresses from the range of your subnet. You cannot specify this option and the option to assign specific IPv6 addresses in the same request. You can specify this option if you've specified a minimum number of instances to launch.

You cannot specify this option and the network interfaces option in the same request.

Type : Integer

The IPv6 addresses from the range of the subnet to associate with the primary network interface. You cannot specify this option and the option to assign a number of IPv6 addresses in the same request. You cannot specify this option if you've specified a minimum number of instances to launch.

Type : Array of InstanceIpv6Address

The ID of the kernel.

We recommend that you use PV-GRUB instead of kernels and RAM disks. For more information, see PV-GRUB in the Amazon EC2 User Guide .

The name of the key pair. You can create a key pair using CreateKeyPair or ImportKeyPair .

If you do not specify a key pair, you can't connect to the instance unless you choose an AMI that is configured to allow users another way to log in.

The launch template to use to launch the instances. Any parameters that you specify in the AWS CloudFormation template override the same parameters in the launch template. You can specify either the name or ID of a launch template, but not both.

Type : LaunchTemplateSpecification

The license configurations.

Type : Array of LicenseSpecification

Specifies whether detailed monitoring is enabled for the instance. Specify true to enable detailed monitoring. Otherwise, basic monitoring is enabled. For more information about detailed monitoring, see Enable or turn off detailed monitoring for your instances in the Amazon EC2 User Guide .

The network interfaces to associate with the instance.

If you use this property to point to a network interface, you must terminate the original interface before attaching a new one to allow the update of the instance to succeed.

If this resource has a public IP address and is also in a VPC that is defined in the same template, you must use the DependsOn Attribute to declare a dependency on the VPC-gateway attachment.

Type : Array of NetworkInterface

The name of an existing placement group that you want to launch the instance into (cluster | partition | spread).

The options for the instance hostname.

Type : PrivateDnsNameOptions

The primary IPv4 address. You must specify a value from the IPv4 address range of the subnet.

Only one private IP address can be designated as primary. You can't specify this option if you've specified the option to designate a private IP address as the primary IP address in a network interface specification. You cannot specify this option if you're launching more than one instance in the request.

If you make an update to an instance that requires replacement, you must assign a new private IP address. During a replacement, AWS CloudFormation creates a new instance but doesn't delete the old instance until the stack has successfully updated. If the stack update fails, AWS CloudFormation uses the old instance to roll back the stack to the previous working state. The old and new instances cannot have the same private IP address.

Indicates whether to assign the tags from the instance to all of the volumes attached to the instance at launch. If you specify true and you assign tags to the instance, those tags are automatically assigned to all of the volumes that you attach to the instance at launch. If you specify false , those tags are not assigned to the attached volumes.

The ID of the RAM disk to select. Some kernels require additional drivers at launch. Check the kernel requirements for information about whether you need to specify a RAM disk. To find kernel requirements, go to the AWS Resource Center and search for the kernel ID.

The IDs of the security groups. You can specify the IDs of existing security groups and references to resources created by the stack template.

If you specify a network interface, you must specify any security groups as part of the network interface.

Type : Array of String

[Default VPC] The names of the security groups. For a nondefault VPC, you must use security group IDs instead.

You cannot specify this option and the network interfaces option in the same request. The list can contain both the name of existing Amazon EC2 security groups or references to AWS::EC2::SecurityGroup resources created in the template.

Default: Amazon EC2 uses the default security group.

Enable or disable source/destination checks, which ensure that the instance is either the source or the destination of any traffic that it receives. If the value is true , source/destination checks are enabled; otherwise, they are disabled. The default value is true . You must disable source/destination checks if the instance runs services such as network address translation, routing, or firewalls.

The SSM document and parameter values in AWS Systems Manager to associate with this instance. To use this property, you must specify an IAM instance profile role for the instance. For more information, see Create an IAM instance profile for Systems Manager in the AWS Systems Manager User Guide .

You can currently associate only one document with an instance.

Type : Array of SsmAssociation

The ID of the subnet to launch the instance into.

If you specify a network interface, you must specify any subnets as part of the network interface.

The tags to add to the instance. These tags are not applied to the EBS volumes, such as the root volume, unless PropagateTagsToVolumeOnCreation is true .

Type : Array of Tag

The tenancy of the instance. An instance with a tenancy of dedicated runs on single-tenant hardware.

Allowed values : dedicated | default | host

The user data script to make available to the instance. User data is limited to 16 KB. You must provide base64-encoded text. For more information, see Fn::Base64 .

User data runs only at instance launch. For more information, see Run commands on your Linux instance at launch and Run commands on your Windows instance at launch .

The volumes to attach to the instance.

Type : Array of Volume

Return values

When you pass the logical ID of this resource to the intrinsic Ref function, Ref returns the instance ID. For example: i-1234567890abcdef0 .

For more information about using the Ref function, see Ref .

The Fn::GetAtt intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.

For more information about using the Fn::GetAtt intrinsic function, see Fn::GetAtt .

The Availability Zone where the specified instance is launched. For example: us-east-1b .

You can retrieve a list of all Availability Zones for a Region by using the Fn::GetAZs intrinsic function.

The ID of the instance.

The private DNS name of the specified instance. For example: ip-10-24-34-0.ec2.internal .

The private IP address of the specified instance. For example: .

The public DNS name of the specified instance. For example: ec2-107-20-50-45.compute-1.amazonaws.com .

The public IP address of the specified instance. For example: .

EC2 instance with an EBS block device mapping

The following example creates an EC2 instance with a block device mapping with an entry that specifies an io1 volume with a size of 20 GB and an entry that uses NoDevice to override a device specified in the AMI block device mapping.

Automatically assign a public IP address

You can associate a public IP address with a network interface only if it is the primary network interface (the device index is 0) and if you are creating a new network interface, not attaching an existing network interface.

RunInstances in the Amazon EC2 API Reference

Amazon EC2 instances in the Amazon EC2 User Guide


To use the Amazon Web Services Documentation, Javascript must be enabled. Please refer to your browser's Help pages for instructions.

Thanks for letting us know we're doing a good job!

If you've got a moment, please tell us what we did right so we can do more of it.

Thanks for letting us know this page needs work. We're sorry we let you down.

If you've got a moment, please tell us how we can make the documentation better.

EC2 instances should not have a public IP association (IPv4) ¶

Description ¶.

EC2 instances are reachable over the internet even if you have protections such as NACLs or security groups if a public IP address is associated with an instance. To minimize the risk of unauthorized access to your instances, do not allow public IP associations unless absolutely necessary.

Remediation Steps ¶

Aws console ¶, modify the public ipv4 addressing attribute ¶.

Navigate to the VPC console .

In the navigation pane, choose Subnets.

Select your subnet and choose Subnet Actions, Modify auto-assign IP settings.

The Enable auto-assign public IPv4 address check box, if selected, requests a public IPv4 address for all instances launched into the selected subnet. Select or clear the check box as required, and then choose Save.

Disable the public IP addressing feature ¶

Navigate to EC2 .

Choose Launch Instance.

Select an AMI and an instance type, and then choose Next: Configure Instance Details.

On the Configure Instance Details page, for Network, select a VPC. The Auto-assign Public IP list is displayed. Choose Disable to override the default setting for the subnet.

Use the run-instances command with the --no-associate-public-ip-address , or

Execute the modify-subnet-attribute command with --no-map-customer-owned-ip-on-launch , or

CloudFormation ¶

Ensure that AWS::EC2::Instance contains the following:

JSON Example Configuration ¶

Terraform ¶.

Ensure that the aws_instance associate_public_ip_address field is set to “false”.

Example Configuration ¶

Documentation links ¶, aws console and cli ¶.

Console: Disable Public IP Addressing Feature

Console: Modify Public IPv4 Addressing Attribute for a Subnet

CLI: Run Instances

CLI: Modify Subnet Attribute

Resource: aws_instance

Field: associate_public_ip_address

enable auto assign public ip address cloudformation

How to Create AWS EC2 Launch Templates with Public IP Address Assignment Disabled

By default, launch templates will assign a public IP address to new instances. In this guide, we show how you can block public access by configuring your launch template settings.

enable auto assign public ip address cloudformation

Launch templates guide how your AWS EC2 Auto Scaling groups launch new instances. By default, the network interface settings on launch templates signals to the Auto Scaling group to auto-assign a public IP address to new instances. 

Depending on your use case, having public IP addresses assigned to your instances may pose an unacceptable security risk.

In this guide, we’ll show you how you can create launch templates that disable public IP address assignment using the AWS Console and the AWS CLI tool.

Setting a Launch Template to Never Assign Public IP Addresses

Before we start, if you are still using launch configurations currently instead of launch templates, you should migrate to launch templates. AWS is encouraging all customers to make this change because, unlike launch configurations, launch templates can be versioned and will support new instance types.

Now, let’s walk through the steps for creating a new launch template with public IP address assignment disabled. 

Using the AWS Console:

1. Open the EC2 console .

2. Go to the navigation pane, look for the Instances option, then choose Launch Templates .

3. Select Create launch template , then enter a name and description for the initial launch template version.

4. Go to Auto Scaling guidance. Select the checkbox there to let Amazon EC2 guide you in creating an Amazon EC2 Auto Scaling template.

5. Go to Launch template contents and fill out all required or optional fields as needed.

  • Application and OS Images (Amazon Machine Image)
  • Instance Type
  • Key pair (login)
  • Resource tags

6. Next, you’ll need to change the default network interface settings. Under Network settings , expand Advanced network configuration. Click Add network interface .

7. You’ll see settings like Device index , Network interface , Description , Subnet , and more. You will probably want to keep most of these set to their defaults. You can also specify Security groups here that are already configured for the VPCs where your Auto Scaling group will launch new instances.

8. For the Auto-assign public IP option, select Disable to override the subnet’s default setting of assigning public IPv4 addresses to new instances.

9. If you need to make other modifications, you can configure the following options under the advanced configuration settings .

10. Now that you’ve filled out your template details, select Create Launch template .

You’ve created your launch template successfully. To put it into practice, you can either select Create Auto Scaling group from the confirmation page, or update an existing Auto Scaling group to use your new launch template or new template version. We’ll show how to update an existing Auto Scaling group later in this post.

Using the AWS CLI:

To do this same task with the AWS CLI, you can use the create-launch-template command. You’ll be able to specify the same settings as if you used the console.

You can block public IP address assignment by specifying the AssociatePublicIpAddress parameter as false .

Here’s an example of using this command to create a launch template that does not assign a public IP address:

This command also uses the Groups parameter to specify that your Auto Scaling group launches new instances into VPCs related to that security group.

You’ll get an output that looks like this:

Now that you have a new launch template version with public IP address assignment disabled, you can use the update-auto-scaling-group command to assign the new launch template version to the Auto Scaling group.

Here’s an example of that command:

Checking Whether Launch Templates Assign Public IP Addresses with Blink

If you want to see which of your launch templates have public IP address assignment enabled, you can manually check the details of each, make updates one-by-one, and then update their related Auto Scaling group to use the new secured version. It’s very manual, time-intensive, and you’ll need to do it over and over again to ensure compliance.

With Blink , you can publish a no-code automation to regularly check if your launch templates have public IP assignment enabled. You can send a report with all the relevant launch templates to Slack, approve an action step to make network setting updates to the template, then update the related Auto Scaling group to reference the new version.

Get started with Blink and run security checks automatically today. 

Automate any workflow in seconds.

Blink is an automation copilot that enables you to create full ready-to-run workflows between tools – just type a prompt.

Stack Exchange Network

Stack Exchange network consists of 183 Q&A communities including Stack Overflow , the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Server Fault is a question and answer site for system and network administrators. It only takes a minute to sign up.

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Assign Public IP address to an instance through cloud-formation

This cloud formation template works as per my expectations. But when I enable Private IP address parameter, I get an error.

How do I assign a specific elastic IP address to the newly created spot instance?

If the answer is through UserData then how to mention user-data string in this template? (I have a few other commands in user-data file)

I tried to set the IP address using user-data. Spot instance was created using this script, but without any Public IP address.

  • amazon-web-services
  • amazon-cloudformation

shantanuo's user avatar

I managed to add user-data parameter and the final code looks like this:

  • Nice, however never ever embed access and secret keys to your templates. Use EC2 Instance IAM Role that gives it the required permissions instead (yes it can be done through CloudFormation). –  MLu Dec 4, 2018 at 11:07
  • Also you seem to be doing some docker stuff - consider AWS ECS instead of running docker directly. It will make your life easier. –  MLu Dec 4, 2018 at 11:09
  • How do I create a role "aws-ec2-spot-fleet-tagging-role" using cloudformation template? –  shantanuo Dec 5, 2018 at 6:06
  • you’ll need AWS::IAM::Role resource in the template. If you need more details open a new question and I will answer there. –  MLu Dec 5, 2018 at 10:30

You must log in to answer this question.

Not the answer you're looking for browse other questions tagged amazon-web-services amazon-cloudformation ..

  • Featured on Meta
  • We're rolling back the changes to the Acceptable Use Policy (AUP)
  • Update: New Colors Launched
  • Design Vision Updates to the Left Navigation

Hot Network Questions

  • Simanim at the end of the Parshah
  • How to listen to each individual voice of a piece of polyphonic music?
  • Is there a device for separating the sediment from home made wine?
  • What is a "normal" in game development
  • Cultural fit interview went pretty bad. They want me to re-do it for another team, worth it?
  • How to understand schematic circuit diagrams in functional safety
  • Celestial "orbits"
  • Can the Tyranny of the Majority rule be applied to the UN's General Assembly?
  • Why are my new wooden treads narrower than the original carpeted treads?
  • Is a Superficial wound actually worse than a Light wound?
  • Meaning of "the way they used to use up old women, in Russia, sweeping dirt" in "The Handmaid's Tale"
  • Trying to create a soulbound token. Keep getting two errors
  • What are some ways to stay engaged with the mathematical community from outside academia?
  • Print the Christmas alphabet
  • Why does my bootstrap sampling distribution no resemble the true sampling distribution?
  • An unbelievably talented protagonist who re-creates technology from scratch and wins the girl
  • Why does Genesis 3:14 say that the snake would eat dust?
  • Adam Logan vs. Ben Schoenbrun (2023 Canadian Scrabble Classic): where can JUN be placed?
  • What are the idiomatic approaches to copying a table (and all of its data) from one server to another?
  • How to automatically scale and align /tikzpicture with font size
  • How can I get insured to drive any car in any country without owning a car?
  • Is this a correlation request?
  • Easiest way to connect fiber to my detached shop
  • Why are there so many objects perfectly orbiting each other? Isn't it infinitely more likely that two random objects crash/fly apart?

enable auto assign public ip address cloudformation

Your privacy

By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy .

AI CloudAdvisor (Beta)

Security controls, aws services, guided walkthroughs, configuration packages, reference guides, configuration stack 0.

enable auto assign public ip address cloudformation

Subnet Auto-Assign Public IP Disabled Check

A config rule that checks if Amazon Virtual Private Cloud (Amazon VPC) subnets are assigned a public IP address. The rule is COMPLIANT if Amazon VPC does not have subnets that are assigned a public IP address. The rule is NON_COMPLIANT if Amazon VPC has subnets that are assigned a public IP address.

Resources (1)

Template settings, configrule selected properties (4/6) aws::config::configrule, cloudformation template, upgrade to premium for more features sign up watch video.

  • 350+ security checks
  • Well-architected reviews
  • Detailed compliance reports
  • Remediation templates
  • Email summaries
  • Try for free

Related Configuration Items

enable auto assign public ip address cloudformation

  • Privacy Policy
  • Terms of Service

DEV Community

DEV Community

Paul Delcogliano

Posted on Sep 13, 2021

AWS Subnet Tip: Using the Auto-Assign Attribute

Have you ever launched an EC2 instance into a subnet only to discover your instance doesn't have a public IPv4 address? Your subnet configuration may be the reason for this issue. In this quick tip, I will explain why this happens and show you how to control this behavior.

When launching an EC2 instance from the AWS portal, you need to specify how a public IP address gets assigned to the instance. There are a few options, but the one I want to focus on here allows AWS to auto-assign an IPv4 address. This option pulls an IP address from Amazon's public IP address pool and assigns it to your instance.

The auto-assign option is set via the launch wizard's auto-assign Public IP setting, as shown in the image below. There are three values to choose from, "Use subnet setting", "enable", or "disable".

EC2 IPv4 launch setting

The "enable" and "disable" values do exactly what you would expect; enable or disable the auto-assign functionality. Disabling the auto-assign property is useful when the EC2 instance shouldn't be publicly available or maybe you will assign an Elastic IP (EIP) address to the instance. Choosing the "Use subnet setting" can lead to an instance that isn't available publicly over the Internet.

It's All About the Subnet

Notice in the image below that subnets have a property named Enable auto-assign public IPv4 address . This property configures the subnet's auto-assign behavior.

AWS subnet auto-assign setting

An instance launched with the "Use subnet setting" value instructs AWS to apply the IP address assignment behavior as configured at the subnet level.

Subnet Behavior

Subnets created by AWS are called default subnets. These subnets have their auto-assign property set to true by default. Subnets you create, called non-default subnets, set the property's value to false by default. The one exception to this rule is a subnet created by the Instance Launch Wizard. The wizard sets the auto-assign property to true .

If you select the default subnet at the time of instance creation and choose the "Use subnet setting" option, the instance will have a public IPv4 address assigned. However, if you choose a non-default subnet, that instance may not get a public IP address. It all depends on how you configured your subnet to use the auto-assign functionality.

AWS provides an API to modify the subnet's auto-assign property. You can use the AWS CLI to enable or disable the property.

To enable auto-assign:

To disable auto-assign:

Changing the value does not affect existing instances. It only applies to future instances created within the subnet. The AWS portal can be used to modify this setting as well.

In this quick tip I wanted to point out the behavior of the auto-assign property, both at the instance, and more so at the subnet level. Not enabling the auto-assign option at the subnet level may lead to the creation of an EC2 instance that doesn't have a public IP address, forcing you to recreate the instance after you've modified the subnet properties.

Top comments (1)


Templates let you quickly answer FAQs or store snippets for re-use.

e200 profile image

  • Joined Mar 3, 2018

Thank you for this posting. I'm learning AWS and I was stuck on this issue. Now I got the logic and can easily handle this situation.

I fixed my group by changing the public subnet attribute :)

Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment's permalink .

Hide child comments as well

For further actions, you may consider blocking this person and/or reporting abuse

furkangozukara profile image

Auto installer script for Fooocus Web UI on RunPod & Full Tutorial

Furkan Gözükara - Nov 15

aravindvcyber profile image

Code Reviewer using PartyRock

Aravind V - Nov 16

mattdark profile image

Multipass: Ubuntu Virtual Machines Made Easy

Mario García - Nov 15

tutortacademy profile image

Front-End Mastery: Conquer Your Interview with These Top Questions

Tutort Academy - Nov 15

Once suspended, pdelcogliano will not be able to comment or publish posts until their suspension is removed.

Once unsuspended, pdelcogliano will be able to comment and publish posts again.

Once unpublished, all posts by pdelcogliano will become hidden and only accessible to themselves.

If pdelcogliano is not suspended, they can still re-publish their posts from their dashboard.

Once unpublished, this post will become invisible to the public and only accessible to Paul Delcogliano.

They can still re-publish the post if they are not suspended.

Thanks for keeping DEV Community safe. Here is what you can do to flag pdelcogliano:

pdelcogliano consistently posts content that violates DEV Community's code of conduct because it is harassing, offensive or spammy.

Unflagging pdelcogliano will restore default visibility to their posts.

DEV Community

We're a place where coders share, stay up-to-date and grow their careers.


  1. Moving external site data to AWS for file transfers with AWS Transfer

    enable auto assign public ip address cloudformation

  2. Assign Public IP address to an instance through cloud-formation

    enable auto assign public ip address cloudformation

  3. 13. How to assign public IP to existing azure VM

    enable auto assign public ip address cloudformation

  4. Configuring VPC Subnet Allocation of Public IP Addresses (AWS)

    enable auto assign public ip address cloudformation

  5. Ensure Subnet Auto-assign Public IP Disabled : iCompaas Support

    enable auto assign public ip address cloudformation

  6. Ensure Subnet Auto-assign Public IP Disabled : iCompaas Support

    enable auto assign public ip address cloudformation


  1. Client Don’t get IP Address Assign from the DHCP Server

  2. # Fortigate policy with source NAT

  3. [New price] AWS IPv4 Public address


  5. Google Cloud Platform (GCP)

  6. How to Change IP Address or Assign a Static IP Address on Windows 7, 8.1, 10, 11 #ipaddress #pcs


  1. The Basics of Pulling an IP Address: What You Need to Know

    When it comes to understanding the internet, knowing how to pull an IP address is a fundamental skill. An IP address (Internet Protocol address) is a unique identifier that is assigned to each device connected to the internet.

  2. Where Is My IP Address Stored on My Computer?

    The location of an IP address is usually found in your computer’s network diagnostics or Internet connection settings. Though this information is stored by your computer, it is assigned by your Internet provider or LAN router.

  3. The Benefits of Tracking an IP Address Location

    In today’s digital age, tracking an IP address location has become an important tool for businesses and individuals alike. An IP address is a unique numerical identifier assigned to each device connected to the internet.

  4. How do I create an Ec2 Instance with a Public IP automatically

    In AWS Cloudformation, is there any way to declare an EC2 instance in VPC with a Public IP without the need to declare an Elastic IP and attach

  5. subnet-auto-assign-public-ip-disabled

    Checks if Amazon Virtual Private Cloud (Amazon VPC) subnets are assigned a public IP address. The rule is COMPLIANT if Amazon VPC does not have subnets that

  6. AWS::EC2::Instance

    If an Elastic IP address is attached to your instance, AWS CloudFormation reattaches the Elastic IP address after it updates the instance. For more information

  7. EC2 instances should not have a public IP association (IPv4)

    The Enable auto-assign public IPv4 address check box, if selected, requests a public IPv4 address for all instances launched into the selected subnet. Select or

  8. Ensure AWS EC2 instances aren't automatically made public with a

    AWS Console · Open the Amazon VPC console. · In the navigation pane, select Subnets. · Select a subnet, then select Subnet Actions > Modify auto-assign IP settings

  9. Ensure Subnet Auto-assign Public IP Disabled

    Implementation Steps: · Login to AWS Management Console · click on subnets in the left navigation pane · Select the subnet to disable auto-assign

  10. How to Create AWS EC2 Launch Templates with Public IP Address

    ... Auto Scaling group to auto-assign a public IP address to new ... disable public IP address assignment using the AWS Console and the AWS CLI tool.

  11. Assign Public IP address to an instance through cloud-formation

    This cloud formation template works as per my expectations. But when I enable Private IP address parameter, I get an error. { "Resources

  12. Config Rules: Subnet Auto-Assign Public IP Disabled Check

    CloudFormation, Terraform, and AWS CLI Templates: A config rule that checks if Amazon Virtual Private Cloud (Amazon VPC) subnets are assigned a public IP

  13. AWS Subnet Tip: Using the Auto-Assign Attribute

    However, if you choose a non-default subnet, that instance may not get a public IP address. It all depends on how you configured your subnet to

  14. Create a public AWS VPC with CloudFormation

    ... public IP addresses: Auto-assign Public IP option. The IP address assigned to the EC2 instance allows you to SSH into it from your local PC:.