NAT Gateway に SNAT エントリを作成し、トラフィックがゲートウェイを経由して流れるようになると、SNAT セッションがログとして記録され、トレーサビリティおよびモニタリングをサポートします。
仕組み
ログの収集および配信メカニズム
セッションログは SNAT セッションをキャプチャし、Simple Log Service (SLS) に書き込みます。各セッションログは、約 10 分間のタイムウィンドウ内で発生する 5 次元ルールのネットワークフローを記録します。この期間中、セッションログサービスはデータを集約し、その後お客様の SLS プロジェクトへ配信します。データ配信は通常、5 分以内に完了します。
セッションログは最善努力型配信モデルに従うため、予定より遅れて到着する場合があります。ネットワーク伝送遅延や SLS 処理遅延により、すべてのセッションが確実に配信される保証はありません。
セッションログの収集はネットワークトラフィックパスの外側で行われるため、NAT Gateway のネットワークスループットおよびレイテンシには一切影響しません。
セッションログとフローログの違い
VPC フローログおよび NAT Gateway セッションログの両方とも、NAT Gateway を通過するネットワークトラフィックを記録します。
VPC フローログ:Elastic Network Interface (ENI) を通過する各パケットをネットワークレイヤーで双方向にキャプチャします。ネットワーク接続のトラブルシューティングやセキュリティポリシーの問題分析に使用します。
セッションログ:NAT セッションを単一の単位として記録します。各ログエントリは、プライベート IP アドレス、NAT 変換後のアドレス、パブリック IP アドレス、および 1 つのセッションにおける双方向トラフィックを集約します。パブリックネットワークへのアクセス監査や 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 プロジェクトは、同一リージョン内に存在している必要があります。
セッションログは DNAT セッションをキャプチャしません。
課金
セッションログの生成自体には課金されません。ただし、セッションログによってキャプチャされた SNAT セッションは Simple Log Service に保存されます。Simple Log Service におけるストレージおよび取得に対して課金されます。詳細については、「Simple Log Service の課金」をご参照ください。
セッションログの設定
セッションログの開始
NAT Gateway コンソールにログインします。上部のナビゲーションバーから、NAT Gateway が配置されているリージョンを選択します。
左側のナビゲーションウィンドウで、パブリック NAT ゲートウェイ または VPC NAT ゲートウェイ をクリックします。対象の NAT Gateway を見つけ、その ID をクリックします。
タブで、セッションログの有効化 をクリックします。
プロジェクトおよび Logstore の選択:初めてセッションログを作成する場合は、プロジェクトの作成 および Logstore の作成 を行い、他のログデータと分離したセッションログ専用環境を構築できます。複数のセッションログを統合分析する場合は、同じ Logstore を再利用してください。
セッションログの無効化
セッションログのステータス 列で、対象のセッションログの 無効化 をクリックします。セッションログを停止しても、既存のログは削除されません。SLS プロジェクト内で閲覧可能です。
セッションログのステータス確認
対象 NAT Gateway の タブに移動します。
項目 | 説明 |
セッションログのステータス | セッションログの現在のステータスです。セッションログを有効化すると、ステータスは 有効 と表示されます。 セッションログを開始すると、システムは自動的に |
送信ステータス | セッションログの配信ステータスです。有効な値は以下のとおりです。
|
送信タイプ | セッションログの配信先タイプです。 |
ターゲット情報 | ターゲット情報 列で Logstore のリンクをクリックすると、Simple Log Service コンソールが開きます。ログの閲覧および分析を開始する前に、セッションログ配信用 Logstore に対して手動で インデックスを作成 してください。 |
詳細情報
セッションログのフォーマット
フィールド | 説明 |
instance | NAT Gateway のインスタンス ID。 |
vpc_id | NAT Gateway が属する仮想プライベートクラウド (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 | 配信先プロジェクトが存在しません。 |
LogStoreNotExist | 配信先 Logstore が存在しません。 |
ProjectForbidden | プロジェクトが無効化されています(支払い遅延などが原因である可能性があります)。 |
InvalidAccessKeyId | セッションログを有効化した際に、サービスリンクロールが作成されていません。 |
Unauthorized | セッションログを有効化した際に、Logstore への権限付与を行うためのサービスリンクロールが作成されていません。 |
UnavaliableTarget | Unauthorized、ProjectNotExist、LogStoreNotExist、ProjectForbidden のいずれかのエラーが発生した場合、システムは配信先への配信を 5 分間無効化します。5 分経過後、新たなデータの配信が必要となった場合、システムは Logstore に対して 1 回のテスト配信を試行します。テスト配信が失敗した場合、さらに 5 分間配信は無効化されたままとなります。テスト配信が成功した場合、通常の配信が再開されます。 |
WriteQuotaExceed | プロジェクトの書き込みトラフィッククォータを超えています。デフォルトでは、プロジェクト内のすべての Logstore は 1 分間に最大 30 GB の書き込みトラフィックをサポートします。 |
ShardWriteQuotaExceed | ログトラフィックが大規模であり、Logstore のシャード数が不足しています。高い書き込みトラフィックをサポートするために、より多くのシャードを分割することを推奨します。詳細については、「シャードの管理」をご参照ください。 |