Understanding AWS Public IPv4 Address Charges in 2024

Hi can someone help me understand the latest cost changes that will come into effect in 2024 - https://aws.amazon.com/blogs/aws/new-aws-public-ipv4-address-charge-public-ip-insights/

In our VPC we have the following configuration. The available IPv4 addresses for each subnet is 251, we have 3 public subnets. Are we doing to be charged for these (whether they are used or not)

  private_subnets      = ["10.0.1.0/24", "10.0.2.0/24", "10.0.3.0/24"]
  public_subnets       = ["10.0.4.0/24", "10.0.5.0/24", "10.0.6.0/24"]```

If 1 public ipv4 address is = $0.005 * 8760 = $43.8 / year

1 of those public subnets would cost us 43.8 * 251 = $10,993 / year?

Only if you have, say, 251 x EC2 deployed in that subnet, and it they all have public IPs attached to them.

https://www.avg.com/en/signal/public-vs-private-ip-address

I guess im confused becuase it says

2024 there will be a charge of $0.005 per IP per hour for all public IPv4 addresses, whether attached to a service or not (there is already a charge for public IPv4 addresses you allocate in your account but don't attach to an EC2 instance).

https://github.com/open-guides/og-aws#elastic-ips

Read the AVG link. Having a public subnet likely means one with private IPs, with a routing table having a default (0.0.0.0/0) route via an Internet Gateway. If you deploy an EC2 in that subnet, and choose “map a public IP”, then it gets both an RFC1918 private IP (e.g. 10.0.4.1 for you) and a public IP.

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html

It’s the latter public IPs that AWS are starting to charge for, because they’re the scarce ones.