EFS ファイルシステムをマウントする Linux インスタンスからログを収集する方法を教えてください。

所要時間2分
0

Amazon Elastic File System (Amazon EFS) をマウントする Amazon Elastic Compute Cloud (Amazon EC2) Linux インスタンスのログ情報を収集したいと考えています。

簡単な説明

AWS サポート自動化ワークフロー (SAW) を使用して、問題のトラブルシューティング時に AWS サポートに提供するログ情報やその他のデータを収集できます。ただし、Amazon EFS をマウントしている Amazon EC2 Linux インスタンスのログを SAW を使用して収集することはできません。

Amazon EFS をマウントする Amazon EC2 Linux インスタンスからログを収集するには、以下のタスクを実行します。

  • サポートケースを作成します。
  • クライアントインスタンスで stunnel ログを有効にします。
  • クライアントインスタンスの efs-utils ログを有効にします。
  • Amazon EFS CSI ドライバーからログを収集します。
  • (オプション) クライアントインスタンスで tcpdump を使用してパケットキャプチャを収集します。

解決策

サポートケースを作成する

AWS サポートのサポートケースを作成して Amazon EFS ログを確認します。SSH を使用して、Amazon EC2 Linux インスタンスのログを収集します。サポートケースには以下の情報を含めてください。

  • ファイルシステム ID
  • マウントターゲット ID または IP アドレス
  • AWS リージョン
  • この動作を示す EC2 インスタンス ID
  • イベントの日付と時刻 (特定のタイムスタンプとタイムゾーンを含む)
  • 以下のコマンドの出力:
mount
uname -a
sudo iptables -S
lsmod

efs-utils を使用する場合は、以下のコマンドを実行します。amazon-efs-utils.tar.gz の出力情報をサポートケースに含めます。

sudo tar czf amazon-efs-utils.tar.gz /var/log/amazon/efs

TLS 経由でマウントする場合は、次のコマンドを実行します。サポートケースに出力情報を含めてください。

sudo stunnel -version
sudo openssl version
sudo openssl ciphers

クライアントインスタンスで stunnel ログを有効にします。

  1. ファイルエディタで /etc/amazon/efs/efs-utils.conf を開きます。EC2 インスタンスの stunnel\ _debug\ _enabled オプションをfalse から true に変更します。
  2. ファイルシステムをアンマウントしてからマウントし、デバッグ中の問題を再現します。
  3. stunnel ログを収集します。ログは var/log/amazon/efs にあります。
  4. stunnel_debug_enabledfalse に設定します。

クライアントインスタンスの efs-utils ログを有効にします。

  1. ファイルエディタで /etc/amazon/efs/efs-utils.conf を開きます。設定を INFO から DEBUG に変更します。
  2. ファイルシステムをアンマウントしてからマウントし、デバッグ中の問題を再現します。
  3. efs-utils のログを収集します。ログは /var/log/amazon/efs にあります。
  4. efs-utils.confINFOに設定します。

aws-efs-csi-ドライバーからログを収集する

1. エラーの原因となっているポッドを見つけるには、以下のコマンドを実行します。

kubectl describe pod $<POD_NAME>

注:****<POD_NAME> はポッド名に置き換えてください。

2. エラーの原因となっているポッドの efs-utilscsi-driver のデバッグログを有効にします。詳細については、aws-efs-csi-driver トラブルシューティングガイド (GitHub ウェブサイト) を参照してください。

3. 次のコマンドを実行して、デバッグログ情報を収集します。

python3 log_collector.py --driver-pod-name <driver_pod_name>

注:****<driver\ _pod\ _name> はポッド名に置き換えてください。

(オプション) クライアントインスタンスで tcpdump を使用してパケットキャプチャを収集します。

tcpdump (TcpDump ウェブサイト上) を実行して、1 GB サイズのファイルを 30 個作成し、ローテーションして使用します。tcpdump は、これらのファイルを使用してパケットデータをキャプチャします。必要に応じてコマンドを調整してください。

TLS 以外のマウント

TLS 以外のマウントでは、次のコマンドを実行してプレーンテキストのネットワークファイルシステムトラフィックをキャプチャします。

sudo tcpdump -W 30 -C 1000 -s 2000 -w nfs_pcap_$(date +%FT%T).pcap -i any -z gzip -Z root port 2049

TLS マウント

次のコマンドを実行して、ネットワークファイルシステムクライアントと stunnel 間のプレーンテキストトラフィックをキャプチャします。また、stunnel と EFS 間の暗号化されたトラフィックもキャプチャします。

sudo tcpdump -W 30 -C 1000 -s 2000 -w nfs_pcap_$(date +%FT%T).pcap -i any -z gzip -Z root
AWS公式
AWS公式更新しました 7ヶ月前
コメントはありません

関連するコンテンツ