Bird
Raised Fist0
AWScloud~5 mins

Elastic IP addresses in AWS - Commands & Configuration

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Introduction
Sometimes your cloud server needs a fixed public IP address that does not change even if you stop or restart it. Elastic IP addresses in AWS solve this by giving you a static IP you can attach to your server anytime.
When you want your server to have a fixed public IP address for users or services to connect to.
When you need to replace a server but keep the same IP address for continuity.
When your server restarts and you want to avoid changing IP addresses.
When you want to quickly remap your public IP to a different server in case of failure.
When you run a web service that requires a consistent IP for firewall rules or DNS.
Commands
This command requests a new Elastic IP address for your VPC. It reserves a static public IP that you can attach to your server.
Terminal
aws ec2 allocate-address --domain vpc
Expected OutputExpected
{ "PublicIp": "54.210.123.45", "AllocationId": "eipalloc-0abcd1234efgh5678" }
--domain - Specifies the scope of the Elastic IP; 'vpc' means it is for use in a VPC.
This command attaches the allocated Elastic IP to your running EC2 instance so it uses the fixed public IP.
Terminal
aws ec2 associate-address --instance-id i-0123456789abcdef0 --allocation-id eipalloc-0abcd1234efgh5678
Expected OutputExpected
{ "AssociationId": "eipassoc-1234abcd5678efgh" }
--instance-id - Specifies which EC2 instance to attach the Elastic IP to.
--allocation-id - Specifies the Elastic IP allocation to associate.
This command checks details about the Elastic IP, including which instance it is attached to.
Terminal
aws ec2 describe-addresses --allocation-ids eipalloc-0abcd1234efgh5678
Expected OutputExpected
{ "Addresses": [ { "InstanceId": "i-0123456789abcdef0", "PublicIp": "54.210.123.45", "AllocationId": "eipalloc-0abcd1234efgh5678", "AssociationId": "eipassoc-1234abcd5678efgh" } ] }
--allocation-ids - Filters the output to show information about a specific Elastic IP.
This command detaches the Elastic IP from the EC2 instance, freeing it for reassignment.
Terminal
aws ec2 disassociate-address --association-id eipassoc-1234abcd5678efgh
Expected OutputExpected
No output (command runs silently)
--association-id - Specifies which Elastic IP association to remove.
This command releases the Elastic IP back to AWS so you no longer pay for it and it can be assigned to others.
Terminal
aws ec2 release-address --allocation-id eipalloc-0abcd1234efgh5678
Expected OutputExpected
No output (command runs silently)
--allocation-id - Specifies which Elastic IP allocation to release.
Key Concept

If you remember nothing else from this pattern, remember: Elastic IPs give your cloud server a fixed public IP that you control and can move between servers.

Common Mistakes
Trying to associate an Elastic IP without allocating it first.
You cannot attach an IP that AWS has not reserved for you, so the command fails.
Always run allocate-address first to get an Elastic IP before associating it.
Not specifying the correct instance ID when associating the Elastic IP.
The Elastic IP will not attach to the intended server, causing connectivity issues.
Double-check the instance ID and use the exact value when associating.
Forgetting to disassociate before releasing the Elastic IP.
AWS will not allow releasing an Elastic IP that is still attached to an instance.
Always disassociate the Elastic IP before releasing it.
Summary
Allocate an Elastic IP to reserve a fixed public IP address.
Associate the Elastic IP with your EC2 instance to give it a static IP.
Use describe-addresses to check the Elastic IP status and attachment.
Disassociate the Elastic IP before releasing it to avoid errors.
Release the Elastic IP when you no longer need it to avoid charges.

Practice

(1/5)
1. What is the main purpose of an Elastic IP address in AWS?
easy
A. To provide a fixed public IP address that can be reassigned to different instances
B. To increase the storage capacity of an EC2 instance
C. To encrypt data in transit between AWS services
D. To automatically scale the number of EC2 instances

Solution

  1. Step 1: Understand Elastic IP purpose

    An Elastic IP is a static public IP address designed to be associated with AWS resources like EC2 instances.
  2. Step 2: Identify its main use

    It allows you to keep the same public IP even if you stop and start or replace the instance, ensuring consistent reachability.
  3. Final Answer:

    To provide a fixed public IP address that can be reassigned to different instances -> Option A
  4. Quick Check:

    Elastic IP = Fixed public IP for instances [OK]
Hint: Elastic IP means fixed public IP for your server [OK]
Common Mistakes:
  • Confusing Elastic IP with storage or encryption
  • Thinking Elastic IP auto-scales instances
  • Assuming Elastic IP changes on instance restart
2. Which AWS CLI command correctly allocates a new Elastic IP address?
easy
A. aws ec2 create-elastic-ip
B. aws ec2 assign-elastic-ip
C. aws ec2 new-ip-address
D. aws ec2 allocate-address

Solution

  1. Step 1: Recall AWS CLI syntax for Elastic IP allocation

    The correct command to allocate a new Elastic IP is 'aws ec2 allocate-address'.
  2. Step 2: Verify other options

    Other options are invalid AWS CLI commands and will cause errors.
  3. Final Answer:

    aws ec2 allocate-address -> Option D
  4. Quick Check:

    Allocate Elastic IP = aws ec2 allocate-address [OK]
Hint: Allocate Elastic IP with 'allocate-address' command [OK]
Common Mistakes:
  • Using non-existent commands like create-elastic-ip
  • Confusing allocation with assignment commands
  • Misspelling the command name
3. Consider this AWS CLI output after associating an Elastic IP to an instance:
{
  "AssociationId": "eipassoc-12345678",
  "PublicIp": "203.0.113.25",
  "InstanceId": "i-0abcd1234efgh5678"
}
What does this output indicate?
medium
A. The Elastic IP 203.0.113.25 is now linked to the instance i-0abcd1234efgh5678
B. The instance i-0abcd1234efgh5678 has been terminated
C. The Elastic IP has been released and is no longer usable
D. The instance has no public IP assigned

Solution

  1. Step 1: Analyze the output fields

    The output shows an AssociationId, a PublicIp, and an InstanceId, indicating a link between the IP and instance.
  2. Step 2: Interpret the meaning

    This means the Elastic IP 203.0.113.25 is assigned to the instance i-0abcd1234efgh5678.
  3. Final Answer:

    The Elastic IP 203.0.113.25 is now linked to the instance i-0abcd1234efgh5678 -> Option A
  4. Quick Check:

    AssociationId means IP linked to instance [OK]
Hint: AssociationId means IP linked to instance [OK]
Common Mistakes:
  • Thinking the instance is terminated
  • Assuming the IP is released
  • Ignoring the AssociationId meaning
4. You tried to associate an Elastic IP to an instance but got an error: "AddressLimitExceeded". What is the likely cause?
medium
A. The instance does not have an internet gateway attached
B. You have reached the maximum number of Elastic IPs allowed in your AWS account
C. The Elastic IP is not in the same region as the instance
D. The instance is already terminated

Solution

  1. Step 1: Understand the error message

    "AddressLimitExceeded" means you have hit the limit of Elastic IPs you can allocate in your AWS account.
  2. Step 2: Check other options

    Instance termination or region mismatch cause different errors; internet gateway absence affects connectivity but not this error.
  3. Final Answer:

    You have reached the maximum number of Elastic IPs allowed in your AWS account -> Option B
  4. Quick Check:

    AddressLimitExceeded = Max Elastic IPs reached [OK]
Hint: AddressLimitExceeded means max Elastic IPs reached [OK]
Common Mistakes:
  • Confusing region mismatch with limit error
  • Assuming instance termination causes this error
  • Thinking internet gateway absence triggers this error
5. You have an Elastic IP associated with an EC2 instance. You stop and start the instance. What happens to the Elastic IP and the instance's public IP?
hard
A. The Elastic IP remains but the instance loses its public IP until reassigned
B. The Elastic IP is released automatically and the instance gets a new public IP
C. The Elastic IP remains associated and the instance keeps the same public IP
D. The Elastic IP dissociates and you must manually re-associate it

Solution

  1. Step 1: Recall Elastic IP behavior on instance stop/start

    Elastic IPs remain allocated and associated with the instance even if it is stopped and started.
  2. Step 2: Understand public IP behavior

    Without Elastic IP, the public IP changes on stop/start, but with Elastic IP, the public IP stays the same.
  3. Final Answer:

    The Elastic IP remains associated and the instance keeps the same public IP -> Option C
  4. Quick Check:

    Elastic IP keeps public IP fixed on stop/start [OK]
Hint: Elastic IP keeps public IP fixed after stop/start [OK]
Common Mistakes:
  • Thinking Elastic IP is released on stop/start
  • Assuming public IP changes despite Elastic IP
  • Believing manual reassociation is needed