Представьте, что у вас есть веб-сайт, www.example.com.
В DNS это имя было указано на вашем веб-сервере 203.0.113.100.
Вы решили купить новый веб-сервер, и вы даете ему новый IP-адрес, скажем, 203.0.113.222.
Вы обновляете DNS для example.com, чтобы указать на 203.0.113.222. Через несколько секунд трафик c начинает поступать на новый сервер. В ближайшие минуты все больше и больше трафика c поступает на новый сервер, и все меньше и меньше - на старый сервер.
Тем не менее, по какой-то странной причине, некоторые из предыдущих посетителей вашего сайта по-прежнему ударить этот старый сервер. Вы проверяете DNS, и это правильно. Дни go, затем недели, и каким-то образом несколько посетителей, которые использовали ваш старый сервер до переключения, все еще продолжают его использовать.
Как это возможно?
В этом суть общения здесь от AWS. Они видят, что ваш трафик c приходит на неожиданные IP-адреса сервера S3, без объяснения причин.
Вы пытаетесь подключиться к правильной конечной точке - это не проблема - проблема в том, что что по какой-то причине вы каким-то образом «кэшировали» (используя термин в очень неточном смысле) старый DNS-запрос и получаете доступ к корзине, нажимая неверный старый S3 IP-адрес.
Если у вас есть Java бэкэнд-сервис, обращающийся к S3, который может печально известен тем, что всегда держит поиск DNS. Возможно, вам придется перезапустить эту службу и посмотреть, как решить эту проблему и включить правильное поведение, которое, как я понимаю, не так, как Java ведет себя по умолчанию. (Не претендует на звание эксперта Java, но я сталкивался с подобным поведением DNS много раз.)
Если у вас есть сервер HAProxy или Nginx, который является внешним интерфейсом для корзины S3 и имеет Некоторое время назад эти устройства могли нуждаться в перезапуске, и вам следует выяснить, как правильно их настроить, чтобы не разрешать DNS только при запуске. Однажды я столкнулся именно с этой проблемой, годы за go, за исключением того, что мой HAProxy пересылал запросы в Amazon CloudFront только на один из нескольких IP-адресов, которые он мог использовать. Они перевели этот пограничный сервер CloudFront в автономный режим, или он вышел из строя, или что-то в этом роде, и DNS был обновлен ... но мой прокси-сервер не смог повторно запросить DNS, поэтому он продолжал пытаться завершиться сбоем, пока я не перезапустил его. Затем я установил его так, чтобы он периодически повторял поиск DNS, чтобы у него всегда был текущий адрес.
Если у вас есть собственные серверы распознавания DNS, вы можете убедиться, что они не ведут себя неправильно, и вы можете убедиться, что у вас по какой-то причине нет /etc/hosts
(или эквивалентного). ) stati c хост, связанный со всем, что связано с S3.
Может быть любое количество причин, но я уверен, по крайней мере, в своей интерпретации того, что они говорят.