In the ever-changing world of infrastructure as a service (IaaS), price changes for resources and services have become common. Although historically, prices for public cloud services have been on a downward slope, the tide appears to be turning. Most recently, both Amazon Web Services (AWS) and Google Cloud Platform (GCP) have announced increases in price for public IP addresses.
Currently, AWS offers public IPs for free when attached to AWS resources, while GCP charges $0.004 per hour for them. But starting February 1, 2024, both providers will charge $0.005 per hour for public IP addresses. GCP is also increasing the cost of public IPs for Spot Preemptible VMs from $0.002 to $0.005 per hour.
Although Microsoft has not publicly announced any upcoming changes to pricing for Azure, it is important to note they already charge $0.004 per hour for attached IP addresses.
Tanzu CloudHealth identifies and estimates IP address costs
To prepare for this change in cost, the first step is to identify and estimate the cost of your current IP address estate. Here’s how you can do this on AWS and GCP platforms using Tanzu CloudHealth.
AWS
To see current AWS IP address costs, you’ll use a new LineItemDescription field that AWS recently released to help with estimating costs. First, create a Tanzu CloudHealth FlexReport and select the AWS Cost & Usage Report Datasource. Then remove all text from the Report Query editor, copy the query below, and hit Apply:
{
"sqlStatement": " SELECT timeInterval_Month AS Month, lineItem_UsageAccountId AS LineItem_UsageAccountId, product_region AS Product_region, product_availabilityZone AS Product_availabilityZone, lineItem_UsageType AS LineItem_UsageType, lineItem_Operation AS LineItem_Operation, SUM(lineItem_UsageAmount) AS UsageAmount, SUM(lineItem_UsageAmount * .005) AS Estimated_Cost_Beginning_Feb_2024 FROM AWS_CUR WHERE ( lineItem_Operation IN ( 'AllocateAddressVPC', 'AssociateAddressVPC', 'RunInstances', 'DescribeNetworkInterfaces', 'CreateVpnConnection', 'CreateAccelerator' ) ) AND ( lineItem_UsageType LIKE '%PublicIPv4:IdleAddress%' OR lineItem_UsageType LIKE '%PublicIPv4:InUseAddress%' ) GROUP BY timeInterval_Month, lineItem_UsageAccountId, product_region, product_availabilityZone, lineItem_ResourceId, lineItem_UsageType, lineItem_Operation ",
"needBackLinkingForTags": true,
"dataGranularity": "MONTHLY",
"timeRange": {
"last": 12,
"excludeCurrent": true
},
"limit": -1
}
This query identifies all usage for your attached IP addresses and estimates the cost based on the list price increase.
Use LineItemDescription to view AWS IP Address costs with Tanzu CloudHealth FlexReports.
GCP
In GCP, you’ll first want to ensure you have enabled the detailed export in GCP and have configured this in Tanzu CloudHealth. Next, you’ll create a FlexReport using the GCP BigQuery Datasource and this query:
{
"sqlStatement": "SELECT timeInterval_Month AS Month, Sku_Id AS Sku_Id, Region AS Region, Project_Id AS Project_Id, SUM(Total_Cost * 1.25) AS Cost FROM GCP_BILLING_EXPORT WHERE ((Sku_Id LIKE '%C054-7F72-A02E%') OR (Sku_Id LIKE '%4AF8-7C1F-39C4%')) GROUP BY timeInterval_Month, Sku_Id, Region, Project_Id ORDER BY Cost DESC",
"dataGranularity": "MONTHLY",
"timeRange": {
"last": 6
},
"limit": -1
}
This query identifies your current charges for IPs attached to Standard and Spot Preemptible VM resources and will project the new cost with the 25 percent increase in hourly rate.
Use the BigQuery Datasource to view GCP IP Address costs with Tanzu CloudHealth FlexReports.
How to reduce IP address costs and track progress
You can optimize your public IP address usage in several ways, depending on your application requirements:
-
Disable the auto-assignment of public IPs for default subnets or VM instances
-
Reduce usage of public IPs using PaaS services like AWS PrivateLink or GCP Private Service Connect
-
Reduce the required number of public IPs using AWS NAT Gateways or GCP Cloud NAT
-
Shut down idle VMs with public IPs and release the IP address afterward
As you implement these public IP optimizations, ideally, you’ll see costs decrease in these reports.
Don’t forget to remove your unattached IP addresses
While you’re at it, make sure you’re not wasting money on unattached IP addresses. Use the Tanzu CloudHealth policy engine to identify your unattached IPs and automatically release them. Tanzu CloudHealth supports this policy for AWS, GCP, and Azure.
Identify unattached IPs to help save costs
Learn more
Tanzu CloudHealth FlexReports are a powerful way to visualize and analyze data, and these reports leverage a GraphQL API so you can feed your critical business systems with near-real-time data. We aim to be the most flexible and extensible FinOps tool on the market so that our customers can move with speed and confidence that their cloud spend is driving greater business margins. For a deep dive on the SQL behind FlexReports, watch this in-depth video.