I am struggling a little to understand the concept of Regional or Zonal resource in GCP for some specific services. If I am not wrong when you create a Cloud SQL instance, you have to select an specific Zone (This means that Cloud SQL is Zonal right?) but also I understand that you can select high availability and select a secondary zone. If I have a failover zone for my Cloud SQL instance, this means that the resource it self is considered as a Regional resource instead of zonal resource?.
I have the same question for Memory Store Redis instances. When you create a redis instance you have to select an specific Zone, but I have seen some people in some forums saying that Redis is a regional resource. If I have to select an specific Zone for Redis why is this a Regional resource? Is a regional resource due to the high availability option?. https://cloud.google.com/memorystore/docs/redis/high-availability#what_high_availability_provides
I ask this because I want to take the Associate Cloud Engineer test, so If I see a question like the previous ones I would not know what to answer in those cases. For example, I would not know whether to choose Cloud SQL as a regional or zonal solution for certain types of architectures.
Thanks in advance!
There are two factors to consider:
Google Cloud SQL service instance is zonal. You select the Region and zone when creating an instance. You can configure replication and read-replicas to other zones, but a failure of the master within a zone takes down Cloud SQL until the slave is promoted to master. If a zone fails, then Cloud SQL can failover to another zone, but that does not make Cloud SQL a regional service.
The data storage is regional or multi-regional.
Since your question is related to an exam, the correct answer depends on the exam writer's opinion of Zonal versus Regional resources. IMHO, many exam writers get this detail wrong.