Billing for data transfer between services in same data center
I am operating a very simple deployment featuring two services, a node and an object bucket. Both are provisioned in the same data center.
I understand it is possible for traffic between them to be unmetered respecting billing. Yet, I have been confused by the specific explanations I have received through support tickets.
I would be inclined to assume that any traffic not routed outside the data center would be unmetered. Thus, no additional configuration, beyond choosing services within the same data center, would be necessary to avoided unnecessary billing.
However, I have received some suggestion that it may be required explicitly to provision an additional private IP address in order to avoid extraneous billing changes.
I would appreciate clarification on the easiest method to avoid extra charges.
Although both of your services are within the same data center, Public IPv4 egress traffic is still considered for billing regardless of connection location.
You don't necessarily need to admin a new/existing Private IPv4 address since all new Linodes already are administered an IPv6 address. DC-internal traffic sent from an IPv6 address to another service within the same DC should not be considered against your network allowance
Similarly, although this might not help your exact use-case, VLANs are account-private and can be used to limit metered traffic within a data center. At this time, VLANs are only able to connect Linode-to-Linode, so you wouldn't be able to connect it to your Object Storage bucke.
Is the simple answer that if an application running on a Linode connects to an object bucket through a host name, then transfers of data may be expected to be unbilled?
Data uploaded to an Object Storage Bucket from a Linode in the same data center counts as outbound data from the origin instance and therefore counts as data used in your Monthly Network Transfer Pool allowance, if that data is uploaded over public IPv4
If you connect your Linode to your Object Storage Bucket with IPv6 within the same data center, you can avoid the data counting toward your Transfer Pool allowance.
When you say,
"connects to an object bucket through a host name"
What do you mean? There are a several different services you can use to connect to a bucket (Cyberduck, s3cmd, s4cmd, Linode CLI, S3 API, etc.) and they all have different but similar connection methods, however, none of them use a hostname. Generally, you must first set your cluster (data center) then your bucket name.
I am connecting to a bucket in an application by providing a bucket name, and a host name, in my case
Normally, when an application begins communication with a remote host given by name, it resolves the name into a numeric address, and then writes packets on its interface addressed to the resolved host.
Is any special provisioning required for the IP packets to be written as IPv6 instead of IPv4, when the host and the bucket interact, in order to prevent metering of traffic?
What is the most expedient practical solution to avoid metering?