En AWS, una subred de VPC solo puede residir en una zona de disponibilidad. Tengo curiosidad por saber cuál es el motivo de esta restricción.
No sé cómo AWS implementa VPC bajo el capó. Pero, por lo general, la implementación de VPC se basa en una red superpuesta, como VXLAN. Tome VXLAN como ejemplo, técnicamente dos puntos finales en una subred virtual pueden comunicarse siempre que los dos hosts físicos que alojan los puntos finales puedan comunicarse. No debería importar si estos dos hosts están en una zona de disponibilidad o no.
Así que me pregunto cuál es el motivo de la limitación. ¿Se debe al rendimiento o a alguna otra limitación de la red?
Esto es por diseño, una asociación de subred es el indicador de en qué zona de disponibilidad se encuentra su recurso.
Para la planificación para mejorar la resiliencia y la alta disponibilidad, es clave que el usuario garantice que haya aislamiento entre sus recursos. Si una subred pudiera abarcar varias zonas de disponibilidad, entonces no podría garantizar que toda su infraestructura podría verse afectada por un corte de energía, por ejemplo.
Por otro lado, algunas personas quieren garantizar la latencia mínima entre los recursos dentro de su entorno de VPC. Al implementarlos todos en la misma subred, pueden garantizar que el tráfico permanecerá dentro del mismo centro de datos lógico, lo que les brindará la mejor latencia entre servicios.
Sospecho que la razón es que AWS decidió segmentar las cosas de esa manera por razones de aislamiento de fallas .
No conozco ninguna razón técnica por la que una subred determinada no pueda abarcar una región completa o incluso varias regiones teóricamente, aparte de que AWS decidió convertirla en nivel AZ. Las subredes de Google Cloud, por ejemplo, son regionales, no zonales.