13

Django アプリケーションを AWS の Fargate サービスにデプロイすることをテストしています。

すべてが実行されているように見えますが、Application Load Balancer がホストのローカル IP を使用して Django アプリケーションにリクエストを送信しているため、ヘルス チェック エラーが発生します。これにより、ログに許可されたホスト エラーが表示されます。

無効な HTTP_HOST ヘッダー: '172.31.86.159:8000'。「172.31.86.159」を ALLOWED_HOSTS に追加する必要がある場合があります

タスクの起動時にローカル IP を取得して ALLOWED_HOSTS に追加しようとしましたが、Fargate では失敗します。

import requests

EC2_PRIVATE_IP  =   None
try:
    EC2_PRIVATE_IP  =   requests.get('http://169.254.169.254/latest/meta-data/local-ipv4', timeout = 0.01).text
except requests.exceptions.RequestException:
    pass

if EC2_PRIVATE_IP:
    ALLOWED_HOSTS.append(EC2_PRIVATE_IP)

ALLOWED_HOSTS に追加できるように ENI IP アドレスを取得する方法はありますか?

4

2 に答える 2