Решение, которое я придумал, заключается в ваших настройках, выполните
ELB_HEALTHCHECK_HOSTNAMES = [ip for network in
requests.get(os.environ['ECS_CONTAINER_METADATA_URI']).json()['Networks']
for ip in network['IPv4Addresses']]
ALLOWED_HOSTS += ELB_HEALTHCHECK_HOSTNAMES
. Это займет каждый IP-адрес из каждой сети, подключенной к вашему контейнеру, и добавит его в ALLOWED_HOSTS.
Priorдля перехода на ECS с сетевым режимом awsvpc многие из нас знакомы с этой строкой, которая извлекает IP-адрес экземпляра EC2, который используется в качестве имени хоста средством проверки работоспособности ELB:
ELB_HEALTHCHECK_HOSTNAME = requests.get('http://169.254.169.254/latest/meta-data/local-ipv4', timeout=2).text
Эта строка в ECSс помощью awsvpc network получает IP-адрес экземпляра EC2, а не ENI, подключенный к вашему контейнеру.Чтобы получить IP-адрес ENI, вы отправляете запрос конечной точке в переменной среды $ {ECS_CONTAINER_METADATA_URI}
Возвращает полезные метаданные о контейнерах, включая IPV4
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-metadata-endpoint-v3.html