ECS:ロード バランサーを使用してECSの「X-Forwarded-For」を設定する方法
Summary: 以下に示す手順では、ECS内で「X-Forwarded-For」を有効にします。そのため、ロード バランサーが元のIPアドレスを渡すように構成されている場合、ECSもそのアドレスをログ ファイルにキャプチャします。
Instructions
ECSでF5のBig IPなどのロード バランサーを使用する場合、元のIPアドレスを渡す機能があり、それがECSログ ファイルに表示されます。
注: これは、ロード バランサーで「X-Forwarded-For」が有効になっている場合にのみ機能します。(詳細は以下をご覧ください)*。
ECS内でX-Forwarded-Forを有効にする手順。
1.管理者としてECSノードにSecure Shellでアクセス
2.次のコマンドを実行して、パラメーターが以前に設定されたかどうかを確認します。
コマンド: #svc_param info com.emc.ecs.objheadsvc.request_log.headers
例 1:以前に設定されていない場合は、以下の出力を参照してください。
admin@ecsnode1:~> svc_param info com.emc.ecs.objheadsvc.request_log.headers
svc_param v1.2.2 (svc_tools v2.11.1) Started 2023-07-31 18:13:45
Param: com.emc.ecs.objheadsvc.request_log.headers
Description comma sep list of headers to log
Default value (active)
Configured Value < Never modified >
Modification reason None
Last modified None
例 2: 次のサンプルは、パラメーターが以前に設定されたことを示しています。
admin@ecsnode1:~> svc_param info com.emc.ecs.objheadsvc.request_log.headers
svc_param v1.2.2 (svc_tools v2.11.1) Started 2023-07-31 18:15:05
WARNING Could not get REST auth token from IP '127.0.0.1' - Connection failed
Param: com.emc.ecs.objheadsvc.request_log.headers
Description comma sep list of headers to log
Default value
Configured Value (active) X-Forwarded-For
Modification reason log request source ip address
Last modified 2023-07-31 18:14:32 UTC (1690827272918)
3.次のコマンドを実行して、X-Forwarded-For.
を有効にします。命令: #svc_param set -n com.emc.ecs.objheadsvc.request_log.headers -v "X-Forwarded-For" -r "log request source ip address"
Example: パラメータ変更
admin@ecsnode1:~> svc_param set -n com.emc.ecs.objheadsvc.request_log.headers -v "X-Forwarded-For" -r "log request source ip address"
svc_param v1.2.2 (svc_tools v2.11.1) Started 2023-07-31 18:14:32
Param value changed.
Param: com.emc.ecs.objheadsvc.request_log.headers
Description comma sep list of headers to log
Default value
Configured Value (active) X-Forwarded-For
Modification reason log request source ip address
Last modified 2023-07-31 18:14:32 UTC (1690827272918)
4.コマンド設定が設定されていることを確認するには、次のコマンドを実行します。
admin@ecsnode1:~> svc_param info com.emc.ecs.objheadsvc.request_log.headers
svc_param v1.2.2 (svc_tools v2.11.1) Started 2023-07-31 18:15:05
Param: com.emc.ecs.objheadsvc.request_log.headers
Description comma sep list of headers to log
Default value
Configured Value (active) X-Forwarded-For
Modification reason log request source ip address
Last modified 2023-07-31 18:14:32 UTC (1690827272918)
メモ:
- 構成の変更は、1つのノードで実行するだけで済みます。すぐに有効になります。
- サービスを再起動する必要はありません。
- このパラメーターを設定しても影響はありません
- 転送が機能することを確認するには、dataheadsvc.logのdataheadsvc.logファイル RequestLog.javaを確認します
#svc_log -f 'X-Forwarded-For' -sr dataheadsvc-access -start 10m
Example: これは、転送されたクライアント IP を含む 1 つのサンプル ログ行です。
2017-03-13T14:57:38,591 [qtp947043383-731114] INFO RequestLog.java (line 83) 10.XXX.134.55 GET //10.XXX.134.55:9024/v1/9f2f0506dc2748ba98b52904ca44f89a?format=json▮=test-storage-16228-255 HTTP/1.0 200 865 - 3 'X-Forwarded-For: 10.XXX.134.56'
ロード バランサーの詳細:
この機能は、ロード バランサーが適切に構成されている場合にのみ機能します。
F5 BigIPはラボでテスト済みです。
たとえば、F5 BigIP Load Balancer では、キーによって ProxyPreserveHost がオンに設定され、HTTP プロファイルで x-forwarded-for が有効になっていることを確認します。
F5 BIG-IPの構成方法を確認するには、次のリンクが提供されています
https://support.f5.com/csp/article/K4816