Elastic IP vs. Static IP vs. Public IP vs. Private IP in Cloud(AWS) with example…

Lavender's quomodocunquize
4 min readAug 23, 2023

--

Imagine you have a house (which represents a server or resource in the cloud) that you want to connect to the internet. In this analogy:

  1. Public IP Address: This is like the address of your house that’s visible to everyone. It’s used to communicate with the outside world. People can send mail to your house using this address, and your house can receive visitors (data) from the internet. In AWS, a public IP address is assigned to instances that are directly exposed to the internet.
  2. Private IP Address: This is like the address of your house within a private community. It’s used for communication within your community, but people outside cannot directly address your house using this address. In AWS, private IP addresses are used for communication between instances within the same Virtual Private Cloud (VPC).
  3. Static IP Address: This is like having a fixed address for your house. It doesn’t change, so people can always find your house using the same address. In AWS, Elastic IP addresses serve this purpose. An Elastic IP is a static, public IPv4 address that you can allocate to your AWS resources, such as instances or load balancers. It’s useful if you need your resource to have a consistent public IP address that doesn’t change even if you stop and start the instance.
  4. Elastic IP Address: This is like having a special static address that you can attach and detach from your house whenever you want. Let’s say you have a friend (client) who likes to visit your house often. You can give them your Elastic IP address, and even if you move your house (instance) to a different location (stop and start the instance), your friend can still find your house using that Elastic IP. In AWS, Elastic IP addresses can be associated with instances to provide a fixed public IP even if the instance is stopped and restarted.
Example of IPs in an Image

Eg1 — Another Example of elastic and static IP:

Imagine you’re running a website on an Amazon Web Services (AWS) instance, which is essentially a virtual server in the cloud. Your website has an IP address that users can use to access it. Here’s where Elastic IP and Static IP come into play:

  • Elastic IP (EIP): An Elastic IP is a static, public IPv4 address that you can allocate to your AWS resources, such as an EC2 instance (the virtual server). It’s “elastic” because you can associate it with your instance, disassociate it, and reassociate it with another instance if needed. This is particularly useful when you want to ensure that your instance maintains a consistent IP address even if you stop and start it. Elastic IPs are also handy for scenarios like high availability setups, where you can easily shift traffic from one instance to another.

Example: Let’s say you have a web server hosting a blog, and you’ve associated an Elastic IP with it. If you need to replace this instance due to maintenance or updates, you can easily reassociate the Elastic IP with the new instance. This way, your website’s IP address remains unchanged, and your users can continue to access your blog without any disruption.

  • Static IP: A Static IP typically refers to a manually assigned IP address that doesn’t change. It’s often used in the context of networking, where you manually configure devices to have specific IP addresses. However, in AWS, when people refer to a “static IP,” they’re usually talking about Elastic IPs, which provide the same functionality.

Example: Let’s continue with the previous example. Instead of using an Elastic IP, if you had initially assigned a regular, non-elastic IP to your instance, the IP address could change if you stop and start the instance. This could potentially lead to confusion for your users if the IP address keeps changing. So, using an Elastic IP would be the better choice to maintain a stable address for your website.

Eg2 — To sum up Public & Private IP with a simple AWS example:

Imagine you have a web server (AWS instance) where you host a website. You want your website to have a consistent public address (Elastic IP) so that users can always access it using the same URL. However, behind the scenes, your web server also communicates with a database server (another AWS instance) using a private IP address within the same VPC.

  • Public IP (Elastic IP): 123.45.67.89 (Static address for your website)
  • Private IP (Database Server): 10.0.0.2 (Address used within the AWS network for database communication)

This way, users can visit your website using the public Elastic IP, and your web server can securely communicate with the database using the private IP.

Remember, this is a simplified analogy, but it should help you understand the basic concepts of these IP types in the context of AWS.

--

--