For many, having a *private* IPv4 space is not just a feature, but a requirement.
The idea of a completely globally flat address space makes perfect technical sense.
However, policy sense may differ as Your Mileage Varies.
Okay, you can indeed do that... but how do you get an address is the another question. You might answer "Just go to the RIR", sure, but ASNs aren't given willy-nilly, they need to prove that they'll need different routing needs for external peering, and some RIRs do insist on this. The most loose RIR in terns of regulations is RIPE, but what about other companies in other parts of the world?
You also missed the point of this sub-thread since the question was about private space. IPv6 fd00::/8 is IPv4 10.0/8. The only difference is an added bit of semantics to make merging networks easier.
I don't think I've ever seen anyone suggesting using a /48 in fd00:: and NAT66 at the edge, and NAT64 is discouraged rather than maintaining a dual stack solution (and if you need to maintain a working ipv4 solution, why even bother with ipv6)
You get an PI address block and ask your ISP to advertise it on your behalf in their public ASN, e.g.:
> If multi-homing to more than one provider, the customer must obtain an Autonomous System (AS) number, available at http://www.arin.net. If multi-homing only to us, we will provide a private AS number.
* https://support.allstream.com/knowledge-base/bgp-request-inf...
And? Get nothing in some regions because all of their ISPs aren't willing to provide this service even with money?
I know provider-independent addresses, but don't pretend it'll solve the problem of IPv6. The fact that you need to do some service wrangling rather than "take this IP for private use, just don't ask us when IP conflicts happen" (and ULA implementation is inconsistent even in enterprise routers) means headaches abound that didn't exist for IPv4.
A small nitpick: the lower part of that range is reserved for future expansion, so the private range is actually fd00::/8. And you should pick a random /48 within that to be your private 10.x.x.x-like range, not use the whole /8. (See https://en.wikipedia.org/wiki/Unique_local_address#Definitio... for more details.)
As long as there is a provision to soak it in CIDR.
I had looked at the dual-stack portion of AWS some years ago and did not see how this worked.
Doubtless, my oversight.
There is; the idea is to fill up random bits to /48, leaving you with 16 bits of subnetting space until you hit /64. If you're not concerned about aggregating networks, a common pattern on larger networks is to put the VLAN ID there in "false hex", i.e. VLAN 1357 = fd……:1357::/64.
If you need more space you can either generate more random /48 prefixes, or widen the prefix length on your existing /48. The latter is technically against the spirit of ULAs, but… only the pedants will care.