翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Network Load Balancer の使用
Network Load Balancer (NLB) を AWS Transfer Family サーバーの前に配置できるかどうかは、サーバーが使用するプロトコルによって異なります。アーキテクチャに NLB を追加する前に、次のガイダンスを確認してください。
-
FTP と FTPS – NLB をサーバーの前面に配置することはお勧めしません。このパスの NLB はコストを増やし、サーバーが受け入れる同時接続の数を減らします。FTP または FTPS 実装に NLB が必要な場合は、「」で設定NLBsと NATs を AWS Transfer Family サーバーの前に配置しないの推奨事項を参照してください。
-
SFTP – NLB がサポートされています。PROXY プロトコル v2 (PPv2) を使用すると、SFTP 接続でクライアントのソース IP アドレスを保持できます。
NLB を AWS Transfer Family サーバーの前に配置する一般的な理由は、カスタムリスナーポートを提供することです。 AWS Transfer Family はすでに複数のポートを提供しているため、NLB を追加する前に、サポートされているポートSFTP 対応サーバーの作成の AWS Transfer Family エンドポイントタイプのマトリックスと を確認してください。
PROXY プロトコル v2 を使用した SFTP のクライアントのソース IP の保存
NLB がクライアントと SFTP サーバー間のパスにある場合、 はクライアントの送信元 IP アドレスではなく NLB のプライベート IP アドレス AWS Transfer Family を参照します。PROXY プロトコル v2 (PPv2) はこの問題を解決します。NLB は、クライアントのソース IP アドレスを保持する PPv2 ヘッダーを追加し、そのヘッダーを AWS Transfer Family 読み取ります。
PPv2 を有効にすると、クライアントのソース IP アドレスは次の場所で使用できます。
-
がカスタム ID プロバイダー AWS Transfer Family に送信する認証リクエスト。その後、IP ベースのアクセスポリシーを記述できます。
-
エントリをログに記録します Amazon CloudWatch Logs。
既存のサーバーで PROXY プロトコル v2 の適用を有効にする
SftpMode のメンバーは、サーバーが PPv2 ヘッダーを処理する方法ProxyConfigを制御します。これには、 NONE (デフォルト) と の 2 つの値がありますPROXY_PROTOCOL_V2_ENFORCED。詳細については、 AWS Transfer Family API リファレンスのProtocolDetails」を参照してください。
重要
PROXY_PROTOCOL_V2_ENFORCED では、サーバーの VPC エンドポイントセキュリティグループを制限して、信頼できる NLB 経由のインバウンドトラフィックのみを許可する必要があります。
接続を拒否せずに適用を有効にするには、次の 3 つのステップを実行します。この順序により、移行にダウンタイムがなくなります。
ステップ 1: NLB ターゲットグループで PROXY プロトコル v2 を有効にする
サーバーの VPC エンドポイントを指す NLB ターゲットグループの proxy_protocol_v2.enabled 属性を有効にします。この属性は、各接続に PPv2 ヘッダーを付加するように NLB に指示します。手順については、Elastic Load Balancing ユーザーガイド」の「プロキシプロトコル」を参照してください。
サーバーがまだ に設定されている間はSftpMode=NONE、PPv2 ヘッダーを読み取り、無視します。この段階でターゲットグループで PROXY プロトコル v2 を有効にしても、中断は発生しません。
ステップ 2: ヘッダーがすべての接続に到着することを確認する
PPv2 を適用する前に、サーバーがすべての接続で PPv2 ヘッダーを受信していることを確認します。CONNECTED アクティビティタイプについてサーバーログを検査します。構造化 (JSON) ログインで Amazon CloudWatch Logs、値 の proxy-protocol-v2-headerフィールドをチェックしますignored。レガシーログで、同じ値 の ProxyProtocolV2Headerフィールドをチェックします。
フィールドには次のセマンティクスがあります。
-
接続に PPv2 ヘッダーが含まれていない場合、 フィールドは存在しません。
-
値は、接続に PPv2 ヘッダーが含まれていて、
SftpModeがignoredの場合ですNONE。 -
値は、接続
appliedに PPv2 ヘッダーが含まれ、サーバーがそれを で尊重した場合ですPROXY_PROTOCOL_V2_ENFORCED。
すべてのCONNECTEDエントリが値 を持つ フィールドを保持するまで、ログをチェックし続けますignored。フィールドがないということは、一部のパスが PPv2 ヘッダーなしでサーバーに到達することを意味します。ヘッダーが欠落しているパスがあるときに強制すると、サーバーはそれらの接続を拒否します。これらのログフィールドの詳細については、Transfer Family の JSON 構造化ログ「」および「」を参照してくださいTransfer Family のレガシーログ。
ステップ 3: PROXY プロトコル v2 を強制する
SftpMode のメンバーが ProxyConfig になるようにサーバーを更新しますPROXY_PROTOCOL_V2_ENFORCED。次に、サーバーはすべての受信 SFTP 接続で有効な PPv2 ヘッダーを必要とします。サーバーは、有効な PPv2 ヘッダーなしで到着した接続を拒否し、エラーをログに記録します Amazon CloudWatch Logs。ロールバックするには、 SftpModeを に設定しますNONE。