I'd like to get more info on how Filestore networking works and how it chooses an IP address- I can't find anything in the docs
IP address range Each Cloud Filestore instance must have an IP address range associated with it. The IP address range must be from within the internal IP address ranges (10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16) and have a block size of 29. Examples of valid Cloud Filestore instance IP address ranges are 10.0.3.0/29 and 172.31.0.0/29.
You can assign the IP address range if there's a specific one you want to use, otherwise Cloud Filestore picks a random range to use from within the internal IP address ranges. If the range is already in use, the service tries again until it finds one that is free. If you assign an IP address range, make sure it doesn't overlap with any existing subnets in the VPC network that the Cloud Filestore instance uses, or with the IP address ranges assigned to any other existing Cloud Filestore instances in that network.
/29 means it needs 8 IP addresses. What does it do with all those addresses? I need ONE static IP address for the instance because that's how I will map to its shares: https://cloud.google.com/filestore/docs/accessing-fileshares
It looks like I can't choose which address it assigns the instance. Will that address ever change? This behaviour is weird because for most services I would reserve a static internal IP and use that. I don't like how the IP config is embedded in the instance config.
When we create a Filestore instance, it has a fixed IP address that will not change for the lifetime of that Filestore definition. You can't specify what the exact IP address will be. Instead, it is allocated for you. When you create the Filestore instance, the address will be allocated within the range of:
Behind the scenes, it is possible that Filestore may be "implemented" (served) across a set of back-end machines (owned/hosted by Google). This should be transparent to you as all you will ever see will be a single IP address that logically represents your NFS server.
Within Google, the VPC Network you are using is software defined. This means that Google can do "magic" behind the scenes to implement the service. When you define your Filestore instance, you must reserve eight IP addresses for Filestore's use. How these addresses are used is not exposed. Neither is which one of these will be used as the single address you will use to contact Filestore. You have the option of specify (allocating) an eight element IP address range which Filestore will use or, by default, allow Filestore to pick eight unused elements and reserve those for Filestore.
Your contract with the service is:
In either case, the single IP address that is told to you is the one you will hence forth use to access Filestore.