IBM Cloud のインストール
- English
- 日本語
Next-Gen WAF エージェントは、IBM Cloud アプリケーションランタイムとともにデプロイできます。インストールのプロセスは、どの言語ビルドパックとも互換性があります。
これはCloud Foundry用のサプライビルドパックで、プラットフォームでサポートされているあらゆるプログラミング言語の Next-Gen WAF エージェントとの統合が可能となるため、アプリケーションコードを変更する必要がありません。
前提条件
エージェントにアクセスさせたいサイトのエージェントキーをコピーします。エージェントキーは、Next-Gen WAF エージェントパッケージを設定する際に使用します。
インストール
アプリケーション開発者は、
cf pushコマンドを使用してビルドパックを指定する必要があります。$ cf push YOUR-APP -b https://github.com/signalsciences/sigsci-cloudfoundry-buildpack.git -b APP_BUILDPACKエージェントのアクセスキーとシークレットを
cf set-envコマンドを使用して設定します。your-application-nameをアプリケーションの名前に置き換え、access-key-goes-hereとsecret-key-goes-hereをエージェントキーに置き換えます。$ cf set-env your-application-name SIGSCI_ACCESSKEYID access-key-goes-here$ cf set-env your-application-name SIGSCI_SECRETACCESSKEY secret-key-goes-herecf pushを通常どおりに実行し、アプリケーションをデプロイします。
追加の設定オプション
Next-Gen WAF エージェントは、cf コマンドを使用して環境変数で設定できます。OPTION と VALUE を エージェント設定オプションとその値に置き換えます。
$ cf set-env your-application-name OPTION "VALUE"これらの変更を有効にするには、少なくともアプリを再ステージングする必要があります。
$ cf restage your-application-nameサーバーのホスト名
アプリケーションをデプロイするたびに、IBM Cloud はエージェントに新しいランダムな名前を自動的に割り当てます。各デプロイごとにエージェント名を指定するには、SIGSCI_SERVER_HOSTNAME 環境変数を設定します。
$ cf set-env your-application-name SIGSCI_SERVER_HOSTNAME agent-nameリバースプロキシのアップストリーム
エージェントがリクエストをプロキシするアップストリームホストを定義するには、SIGSCI_REVERSE_PROXY_UPSTREAM オプションを使用します。ip:port はアップストリームホストのIPアドレスとポートに置き換えてください。この変数はオプションで、デフォルト値は 127.0.0.1:8081 です。
$ cf set-env your-application-name SIGSCI_REVERSE_PROXY_UPSTREAM ip:portアクセスログ
エージェントのアクセスログ記録を有効にするには、SIGSCI_REVERSE_PROXY_ACCESSLOG 環境変数を設定します。
$ cf set-env your-application-name SIGSCI_REVERSE_PROXY_ACCESSLOG /tmp/sigsci_access.logエージェントのバージョン
デフォルトでは、buildpackはNext-Gen WAFエージェントの最新バージョンをインストールします。インストールするエージェントのバージョンを指定するには、SIGSCI_AGENT_VERSION環境変数を設定し、version-numberをインストールする特定のバージョン番号に置き換えてください:
$ cf set-env <application name> SIGSCI_AGENT_VERSION version-numberヘルスチェック
現在、IBM Cloud は Cloud Foundry にネイティブな HTTP ヘルスチェックをサポートしていません。Next-Gen WAF エージェントがまだ実行されている間にアプリケーションプロセスがクラッシュした場合、IBM Cloud はアプリケーションが異常な状態にあることを検出しない可能性があります。Signal Sciences Cloud Foundry インストーラースクリプトの最新リリースでは、アプリケーションプロセスが異常な状態にある場合にエージェントプロセスを停止するヘルスチェックを実装するように構成できます。
ヘルスチェックを有効化 / 設定する環境変数は2つあります。
ヘルスチェックを有効にするには、SIGSCI_HC を true に設定します。
$ cf set-env your-application-name SIGSCI_HC trueヘルスチェックを設定するには、SIGSCI_HC_CONFIG を使用します。この環境変数を設定しない場合、デフォルト設定が使用されます。
デフォルトの設定では、ヘルスチェックは次のように設定されています。
5秒ごとに
/パスを確認します。エージェントリスナーが5回の連続チェックで
502を返す場合、そのヘルスチェックは失敗です。アプリケーションプロセスが3回の連続試行で
200レスポンスを返さない場合、そのヘルスチェックは失敗です。
カスタムのヘルスチェック設定を指定するには、SIGSCI_HC_CONFIG の値は、: で区切られた複数のフィールドからなる文字列です。
SIGSCI_HC_CONFIG フィールド :
<frequency>:<endpoint>:<listener status>:<listener warning>:<upstream status>:<upstream warning>| フィールド | 説明 |
frequency | チェックを実行する秒単位の頻度 (例 : 5秒ごと) |
endpoint | リスナーとアップストリームプロセスの両方をチェックするエンドポイント |
listener status | 正常でなく、エージェントの停止をトリガーするステータスコード |
listener warning | エージェントの停止前にチェックが失敗できる回数 |
upstream status | 正常なステータスコード、その他のコードはエージェントの停止をトリガーする |
upstream warning | エージェントを停止する前にチェックが失敗できる回数 |
例えば、デフォルト設定は次のようになります。
5:/:502:5:200:3カスタムヘルスチェック設定の例
この設定の例では、次の目的でヘルスチェックを設定します。
10秒ごとに
/health.htmlパスを確認します。エージェントリスナーが10回の連続試行で
502を返す場合、そのヘルスチェックは失敗です。アプリケーションプロセスが5回の連続試行で
200を返さない場合、そのヘルスチェックは失敗です。
10:/health.html:502:10:200:5エージェントが必要です
デフォルトでは、インストーラースクリプトにより、Next-Gen WAF エージェントの起動に失敗した場合でもアプリケーションの起動が許可されます。Next-Gen WAF エージェントが保護していない状態でアプリケーションが起動しないようにするには、SIGSCI_REQUIRED 環境変数を使用します。
$ cf set-env your-application-name SIGSCI_REQUIRED true追加の設定オプション
追加の設定オプションは、エージェント設定ページに記載されています。