SNAT エントリを持つ NAT Gateway をトラフィックが通過する際、トレーサビリティとモニタリングのために各 SNAT セッションがログとして記録されます。
仕組み
ログ収集と配信のメカニズム
セッションログは SNAT セッションをキャプチャし、Simple Log Service (SLS) に書き込みます。各ログエントリは、約 10 分間のキャプチャウィンドウ内の 5 タプルネットワークフローを記録します。セッションログサービスは、このウィンドウ中にデータを集約し、通常は 5 分以内にお客様の SLS Project に配信します。
セッションログはベストエフォート配信モデルに従います。ネットワーク伝送または SLS の処理遅延により、一部のセッションの配信が遅れたり、失敗したりする場合があります。
セッションログの収集はネットワークトラフィックパスの外部で行われるため、NAT Gateway のネットワークスループットやレイテンシーには影響しません。
セッションログとフローログの違い
VPC フローログと NAT Gateway のセッションログは、どちらも NAT Gateway を通過するネットワークトラフィックを記録します:
VPC フローログ:ネットワーク層で Elastic Network Interface (ENI) を通過する各パケットを、各方向でキャプチャします。これらは、ネットワーク接続やセキュリティポリシーの問題をトラブルシューティングするために使用されます。
セッションログ:NAT セッションを単一のユニットとして記録します。各ログエントリは、1 つのセッションについて、プライベート IP アドレス、NAT 変換後のアドレス、パブリック IP アドレス、および双方向トラフィックを集約します。これらは、パブリックネットワークアクセスを監査したり、SNAT ポートの使用傾向を分析したりするために使用されます。
シナリオ例
VPC 内の ECS インスタンス (プライベート IP アドレス 172.16.20.21) が、NAT Gateway 上の SNAT を使用してパブリックサーバー 106.XX.XX.203:12180 にアクセスします。NAT Gateway は、ECS の送信元アドレスを 172.16.10.13:48155 に変換します。
VPC フローログ — 4 エントリ (フローログフィールドの一覧) | NAT セッションログ — 1 エントリ (セッションログ形式の詳細) |
| |
適用範囲
仕様別課金の NAT Gateway (現在購入不可) では、セッションログを有効にできません。
NAT Gateway と Simple Log Service の Project は、同じリージョンにある必要があります。
セッションログは DNAT セッションをキャプチャしません。
課金
セッションログの生成は無料です。ただし、キャプチャされたログは Simple Log Service に保存され、ストレージと取得に対して課金されます。詳細については、Simple Log Service の課金をご参照ください。
セッションログの設定
セッションログの開始
NAT Gateway コンソールにログインします。上部メニューで、NAT Gateway が存在するリージョンを選択します。
左側のナビゲーションペインで、パブリック NAT ゲートウェイ または VPC NAT ゲートウェイ をクリックします。NAT ゲートウェイを見つけて、その ID をクリックします。
タブで、セッションログの有効化 をクリックします。
プロジェクトと Logstore の選択: 初めてセッションログを作成する際に、プロジェクトの作成 と Logstore の作成 を使用すると、セッションログデータを他のデータから分離できます。複数のセッションログの分析を一元化するには、同じ Logstore を使用します。
セッションログの無効化
セッションログのステータス 列で、対象のセッションログの 無効化 をクリックします。セッションログを無効にしても既存のログは削除されず、SLS プロジェクトで引き続き表示できます。
セッションログステータスの表示
対象の NAT Gateway の タブに移動します。
項目 | 説明 |
[セッションログのステータス] | セッションロギングを有効にすると、ステータスが有効に変わります。 セッションログを開始すると、システムは自動的に AliyunServiceRoleForNatgwLogDelivery サービスリンクロールを作成し、Logstore にデータを配信する権限を付与します。 |
[送信ステータス] | ログが正常に配信されているかどうかを示します。有効な値:
|
[送信タイプ] | セッションログ配信の宛先タイプ。値を |
[ターゲット情報] | ターゲット情報 列の Logstore リンクをクリックして Simple Log Service コンソールを開きます。 ログを表示および分析するには、Logstore の インデックスを作成する必要があります。 |
詳細
セッションログの形式
フィールド | 説明 |
instance | NAT Gateway インスタンス ID。 |
vpc_id | NAT Gateway が属する Virtual Private Cloud (VPC) の ID。 |
protocol | IANA プロトコル番号では、1 は ICMP、6 は TCP、17 は UDP を表します。 |
pri_ip | 送信元 IP アドレス。 |
pri_port | 送信元ポート。 ICMP パケットの場合、pri_port は ICMP ID フィールドに対応します。 |
pub_ip | 宛先 IP アドレス。 |
pub_port | 宛先ポート。 |
nat_ip |
|
nat_port |
|
bytes_from_pub |
単位:バイト。 |
pkts_from_pub |
このフィールドは、アプリケーション層やトランスポート層のメッセージではなく、ネットワーク層のパケットをカウントします。したがって、IP フラグメンテーションが発生した場合、カウントはエンドポイントのパケットキャプチャとは異なる場合があります。正確なデータ量については、代わりにバイト数を使用してください。 |
bytes_from_vpc | VPC からのパケットのサイズ。単位:バイト。 |
pkts_from_vpc | VPC からのパケット数。 |
start_time | このログエントリが対象とする集計期間 (キャプチャウィンドウ) の開始時刻。 |
end_time | このログエントリが対象とする集計期間 (キャプチャウィンドウ) の終了時刻。 |
配信エラーコード
エラーコード | 説明 |
ProjectNotExist | 宛先 Project が存在しません。 |
LogStoreNotExist | 宛先 Logstore が存在しません。 |
ProjectForbidden | Project が無効化されています。支払い遅延が原因である可能性があります。 |
InvalidAccessKeyId | セッションログを有効にしたときに、サービスリンクロールが作成されませんでした。 |
Unauthorized | セッションログを有効にしたときに、Logstore に権限を付与するためのサービスリンクロールが作成されませんでした。 |
UnavaliableTarget | Unauthorized、ProjectNotExist、LogStoreNotExist、または ProjectForbidden のいずれかのエラーが発生した場合、システムは 5 分間、宛先への配信を無効にします。5 分後、新しいデータを配信する必要がある場合、システムは Logstore へのテスト配信を 1 回試行します。テストが失敗した場合、配信はさらに 5 分間無効のままになります。テストが成功した場合、通常の配信が再開されます。 |
WriteQuotaExceed | Project の書き込みトラフィッククォータを超過しました。デフォルトでは、Project 内のすべての Logstore は、1 分あたり最大 30 GB の書き込みトラフィックをサポートします。 |
ShardWriteQuotaExceed | ログトラフィックが大きく、Logstore のシャードが不足しています。より高い書き込みトラフィックをサポートするために、より多くのシャードを分割することを推奨します。詳細については、「シャードの管理」をご参照ください。 |