¿La replicación entre regiones es 100% infalible para interrupciones en la región S3?

19

Amazon S3 tiene una opción de replicación entre regiones que debería ser bastante tolerante a fallas contra cortes de región / zona.

¿Eso significa que aquellos que están despotricando sobre el corte no hicieron uso de este aspecto?

¿O es que la replicación entre regiones no es completamente infalible y no habría ayudado?

Dawny33
fuente
@Evgeny Gracias. Estaba leyendo la misma publicación, antes de preguntar esto :)
Dawny33

Respuestas:

11

El inconveniente cuando hay replicación proviene de la nota a continuación:

Amazon S3 enruta cualquier solicitud de estilo alojado virtual a la región Este de EE. UU. (N. Virginia) de forma predeterminada si usa el punto final Este de EE. UU. (N. Virginia) (s3.amazonaws.com), en lugar del punto final específico de la región (para ejemplo, s3-eu-west-1.amazonaws.com).

Cuando usa la replicación, generalmente deja que AWS se encargue de enrutar el alias a una región al enfocar s3.amazonaws.comsu solicitud REST desde sus servidores y dejar que la redirección haga su trabajo.

Cada vez que N.Virginia está inactivo, la magia deja de funcionar y no tienes suerte para acceder a tus datos y tienes que actualizar tu configuración para elegir un punto final de la región específica.

El problema no proviene del DNS (una solicitud al bucket en sí funcionará) sino de los clientes S3, que se conectarán al punto final de la API S3 antes de acceder al bucket, en este caso la resolución dns se realiza s3.amazonaws.comy esta es nuestra punto final este-1.

Cuando usa el alias de regiones, pierde la facilidad del equilibrio de carga en las regiones con el control de estado de AWS incluido.

Si usa DNS cname dirigido a las regiones para cambiar rápidamente, usted es responsable de su DNS TTL, pero nada garantiza que los servidores de caché del ISP del cliente respeten su valor (uno de los muchos caché que su cliente puede encontrar).

Y, por último, si intenta equilibrar la carga usted mismo, probablemente creará el mismo SPOF que AWS ya tiene con la carga adicional de mantenerlo.

AWS está trabajando en ello, pero esa es toda la información que tengo al momento de escribir.

Tensibai
fuente
De acuerdo con docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html es posible usar 'bucketname.s3-eu-west-1.amazonaws.com' (sustituir su región favorita) como un alias DNS. IFF que funciona, puede ser una forma de cambiar rápidamente (tan rápido como lo permita su TTL preestablecido)
Michael Bravo
@MichaelBravo extendió la respuesta para abordar su preocupación :)
Tensibai
"Incluso si, en teoría, podría usar CNAME para endpoints regionales, la respuesta autorizada depende del servicio en N.Virginia hasta donde yo sé y he leído al respecto" Usted está tomando la cita sobre el enrutamiento a la región este de los EE. UU. por defecto fuera de contexto. Antes de que example-bucketexista el depósito, example-bucket.s3.amazonaws.comya apunta a EE.UU. Este en DNS. A los pocos minutos de la creación inicial del depósito, esto cambia permanentemente para apuntar al punto final regional correcto. La advertencia aquí es que este nombre de host puede ser inicialmente mal enrutado brevemente inmediatamente después de la creación del depósito, no más tarde.
Michael - sqlbot
... por lo tanto, "cuando N.Virginia está inactivo, la magia deja de funcionar y no tienes suerte para acceder a tus datos en cualquier región mediante el método de alias DNS" es, por lo tanto, incorrecto. Los cubos en otras regiones no se vieron afectados por la interrupción del servicio us-east-1, incluidos los referenciados con este estilo de nombre de host.
Michael - sqlbot
1
No, tu no. Cambian la entrada de DNS para su depósito en la s3.amazonaws.comzona a los pocos minutos de la creación del depósito, y este cambio persiste independientemente de us-east-1. Cree un depósito en otra región y observe cómo se your-bucket-name.s3.amazonaws.comresuelve antes, durante y unos minutos después de la creación del depósito. La información se envía a la s3-1.amazonaws.comzona en la ruta 53 después de la creación del depósito y persiste allí, sin depender más de nosotros-este-1.
Michael - sqlbot
10

Muchas grandes compañías tendrían la culpa de no utilizar esta función. Agrega un costo adicional, e históricamente cualquier tipo de solución de recuperación de desastres real no ha sido probada, incluso si se implementa.

Además del problema del costo, las empresas que utilizan activamente la replicación entre regiones pueden ofrecer una preocupación válida con respecto a la latencia que se necesita para que un objeto se replique. S3 no permite (hasta donde yo sé) consistencia de lectura después de escritura en objetos replicados, mientras que permite un depósito en una sola región.

Esta pregunta SE plantea una inquietud en la que los objetos no se replican correctamente o tardan demasiado en replicarse. Siempre que la replicación entre regiones se realice en un modo de coherencia eventual, hay muchas preocupaciones que abordar.

Evgeny
fuente
8
Pondría más énfasis en el hecho de que la replicación entre regiones S3 ofrece una consistencia eventual para algunas operaciones. Eso no es trivial de tener en cuenta. Dependiendo de la aplicación, puede ser totalmente inaceptable. En cualquier caso, no es infalible (puede conducir a problemas más grandes si alguien supone que es mágico)
Alexandre