ビジネス障害の原因を迅速に特定し、問題を解決するために、セッションログ機能を事前に有効にすることをお勧めします。これにより、いつでもログの内容を表示して、トラブルシューティングに役立てることができます。
シナリオ
ある企業は、インターネット NAT ゲートウェイを使用して、Elastic Compute Service (ECS) インスタンスに統一されたインターネットアクセス権限を提供しています。ビジネス上の問題が発生した場合に障害原因を迅速に特定できるように、初期デプロイ時にセッションログ機能を有効にしました。
従業員から、サードパーティのサービス Web サイト (http://47.XX.XX.157) にアクセスできないと報告がありましたが、新しく購入した EIP を使用して Web サイトにアクセスした場合は問題が発生しませんでした。企業はサービスプロバイダーに連絡を取り、セキュリティ部門が 2025 年 2 月 5 日 15:00 頃に EIP (47.XX.XX.85) からのアクセスが異常に急増したことを検出し、サービスに異常が発生したことを発見しました。サービスの安定性を維持するために、セキュリティ部門は EIP をブラックリストに追加しました。
根本原因を特定するために、企業の運用チームはセッションログを分析することで、アクセスが異常に急増した原因となった ECS インスタンスを特定しました。
使用上の注意
課金
セッションログ機能の使用には料金はかかりません。ただし、記録された SNAT セッションは Simple Log Service プロジェクトに保存され、Simple Log Service の使用に対して課金されます。詳細については、「Simple Log Service の課金」をご参照ください。
制限事項
従量課金制 NAT ゲートウェイ(現在は購入不可)では、セッションログ機能を有効にできません。
セッションログは DNAT セッションをキャプチャしません。
手順
手順 1: セッションログ機能を有効にする
セッションログ機能を有効にした後、データの有効性とアクセシビリティを確保するために、インデックスを作成し、ログの保持期間を指定してください。
NAT ゲートウェイコンソール にログインします。管理する NAT ゲートウェイを見つけ、その ID をクリックします。
[監視とログ記録] タブで、
を選択します。表示されるダイアログボックスで、既存の [Simple Log Service プロジェクト] と [ログストア] を選択します。[監視とログ記録] タブで、[送信先情報] 列の名前をクリックして、ログの内容を表示します。
手順 2: ログの内容を分析する
サービスプロバイダーから提供された異常発生時刻に基づいて、SQL 文を使用して、2025 年 2 月 5 日 15:00 の前後 5 分以内で、ECS インスタンスからサービスへのトラフィックを毎分クエリします。
select sum(bytes_from_vpc) as total_bytes, /* 障害原因を分析するためのコアフィールド */ date_trunc('minute', __time__) as ts_min /* 分単位の統計 */ from log where pub_ip = '47.XX.XX.157' /* 特定の宛先 IP でフィルタリング */ group by ts_min
上記の文の分析に基づいて、サービスへのトラフィックが 14:57 にピークに達したことを確認できます。次の方法を使用して、この障害の原因となった ECS インスタンスを特定できます。
select pri_ip, sum(bytes_from_vpc) as total_bytes, /* 障害原因を分析するためのコアフィールド */ date_trunc('minute', __time__) as ts_min /* 分単位の統計 */ from log where pub_ip = '47.XX.XX.157' /* 特定の宛先 IP でフィルタリング */ group by ts_min, pri_ip
説明データ量が大きい場合は、データトラフィックをギガバイト
total_GB
に変換して表示できます。sum(bytes_from_vpc) / 1024 / 1024 / 1024 as total_GB