Public, Private, and Elastic IPs
2 min readAug 15, 2024
What are the Public, Private and Elastic IPs?
Instances launched in the VPC can have Private, Public, and Elastic IP address assigned to them.
Public, Private, and Elastic IPs
Private IP Addresses:
- Private IP addresses are not reachable over the Internet and can be used for communication only between the instances within the VPC
- All instances are assigned a private IP address, within the IP address range of the subnet, to the default network interface
- The private IP address is associated with the network interface for its lifetime, even when the instance is stopped and restarted and is released only when the instance is terminated
- Additional Private IP addresses, known as secondary private IP address, can be assigned to the instances and these can be reassigned from one network interface to another
Public IP address:
- Public IP addresses are reachable over the Internet and can be used for communication between instances and the Internet.
- The public IP address assigned to the Instance depends if the Public IP Addressing is enabled for the Subnet.
- The public IP address can also be assigned to the Instance by enabling the Public IP addressing during the creation of the instance.
- The public IP address is assigned from the AWS pool of IP addresses and it is not associated with the AWS account and hence is released when the instance is stopped and restarted or terminated.
Elastic IP address:
- Elastic IP addresses are static, persistent public IP addresses that can be associated and disassociated with the instance, as required.
- The elastic IP address is allocated at a VPC and owned by the account unless released.
- A Network Interface can be assigned either a Public IP or an Elastic IP. If you assign an instance, already having a Public IP, an Elastic IP, the public IP is released.
- Elastic IP addresses can be moved from one instance to another, which can be within the same or different VPC within the same account
- Elastic IP is charged for non-usage i.e. if it is not associated or associated with a stopped instance or an unattached Network Interface