Next-Gen WAFコアコマンドラインユーティリティを使用する

Next-Gen WAF のコア・コマンドライン・ユーティリティ (ngwafctl) は、Kubernetes 環境における Next-Gen WAF オンプレミス WAF のインストールのトラブルシューティングに役立ちます。Kubernetes の kubectl と同様に、このユーティリティはクラスターの Kubernetes API から情報を読み取ります。その後、Next-Gen WAF オンプレミス WAF のインストールに関連する Kubernetes 環境およびクラウドプロバイダーのインフラストラクチャ情報を収集し、設定のローカル分析を実行したうえで、情報をローカルディスク上のアーカイブファイルに書き込みます。

ngwafctl によって収集された情報や提案を使用することで、Kubernetes 上の Next-Gen WAF インストールに関する問題の診断に役立てることができます。また、収集した情報をサポートチームに送信し、追加のサポートを受けることも可能です。

ユーティリティについて

ngwafctl は、Next-Gen WAF オンプレミス WAF のデプロイが Kubernetes クラスターおよびクラウドプロバイダーとどのように統合されているかに関する情報を収集します。このユーティリティは Kubernetes のシークレットを取得せず、SIGSCI プレフィックスを持たない環境変数はマスクされます。

収集された情報は一時的にプログラムのメモリに保持され、その後 TAR.GZ 形式のアーカイブファイルとしてディスクに書き込まれます。ユーティリティが収集した情報が Fastly に送信されることはありません。アーカイブファイルを Fastly に提出する前に、生成された TAR.GZ ファイルを開いて、収集されている情報の内容を確認できます。

場合によっては、ユーティリティが Next-Gen WAF デプロイにおける単純な設定ミスを自動的に検出することがあり、これは実行中に報告されます。これらの自動チェックに加え、生成されたサポートバンドルアーカイブを Fastly サポートチームに提出することで、より複雑な問題のトラブルシューティングを簡素化できます。

前提条件

ngwafctlがKubernetes環境に関する情報を取得するためには、ユーティリティを実行しているコンピュータがクラスターのKubernetes APIに読み取りアクセス権を持っている必要があります。もし動作しているkubectl CLIをお持ちであれば、ngwafctlユーティリティはクラスターに接続できるはずです。

クラウドプロバイダーからの情報 (ロードバランサー情報など) も収集したい場合は、ユーティリティを実行するコンピューターに、該当するクラウドプロバイダーの CLI (例 : AWS CLIGoogle Cloud CLIAzure CLI) が正しく設定されている必要があります。

ユーティリティをインストールする

ngwafctl をインストールするには、次の手順を実行します。

  1. パッケージのダウンロードWebサイトからユーティリティをダウンロードしてください。

  2. ダウンロードしたファイルを展開します。<utility-file-name> をダウンロードしたファイル名 (拡張子を含む) に置き換えてください。

    $ tar -xzvf <utility-file-name>
  3. Linux を使用している場合は、次のコマンドを実行して、ダウンロードしたファイルを実行可能にします。<utility-file-name> をダウンロードしたファイル名 (拡張子を含む) に置き換えてください。

    $ chmod +x <utility-file-name>
  4. macOS を使用している場合は、次のコマンドを実行して、ユーティリティから com.apple.quarantine の拡張属性を削除します。

    $ xattr -d com.apple.quarantine ngwafctl
  5. 次のコマンドを実行し、ユーティリティが Kubernetes クラスターに接続できることを確認します。

    $ ngwafctl diagnose

    動作する kubectl CLI があれば、当社のユーティリティが必要な認証情報を見つけられる可能性が高いです。kubectl CLI 用の認証情報が標準の場所にない場合、または動作する kubectl CLI がない場合は、ngwafctl に Kubernetes クラスターの認証情報の場所を指定してください。詳細については、Kubernetes のクラスターへのアクセスガイドをご覧ください。

ユーティリティを設定する

ユーティリティをインストールした後、コマンドラインでフラグを指定するか、対応する環境変数を設定するか、~/.ngwafctl-diagnose に設定ファイルを作成することにより、次の設定オプションのデフォルト値を必要に応じて変更できます。

CLI設定オプション環境変数説明
--debugNGWAFCTL_DEBUGデバッグレベルのログを有効にするかどうか。デフォルトでは無効です (false)。
--namespacesNGWAFCTL_NAMESPACES収集対象とする名前空間のカンマ区切りリスト。変更しない場合、default 名前空間が使用されます。
--outNGWAFCTL_OUTサポートバンドルの出力先。デフォルトの場所は ./fastly-support-bundle_<timestamp>.tar.gz です。
--traceNGWAFCTL_TRACE トレースレベルのログを有効にするかどうか。デフォルトでは無効です (false)。

ユーティリティを実行する

Kubernetes 環境に関する情報を収集するには、次の手順を実行します。

  1. diagnose コマンドを実行します。

    $ ngwafctl diagnose
  2. サポートバンドルを取得します。デフォルトでは、サポートバンドルはユーティリティと同じディレクトリに作成され、ファイル名は fastly-support-bundle_<timestamp>.tar.gz (例 : fastly-support-bundle_2024-03-05T16-07-05Z.tar.gz) となります。

  3. (オプション)サポートバンドルと問題の詳細な説明をサポートチームに送信してください。