HelmチャートでNative Nodeをデプロイする¶
NGINXに依存せず動作するWallarm Native Nodeは、いくつかのコネクタと併用してデプロイするよう設計されています。Helmチャートを使用して、Kubernetesクラスター内でNative Nodeを独立したサービスまたはロードバランサーとして実行できます。
ユースケース¶
以下のケースでHelmチャートを用いてNative Nodeをデプロイします。
-
MuleSoftのMuleまたはFlex Gateway、Akamai、Cloudflare、Amazon CloudFront、Broadcom Layer7 API Gateway、Fastly、IBM DataPower向けのWallarmコネクタをデプロイし、ノードをセルフホストする必要がある場合。すでにOpenShift、Amazon EKS、Azure AKS、Google GKEなどのKubernetes管理プラットフォームを使用している場合に最適です。ノードはパブリックIPを持つロードバランサーとして構成され、容易にトラフィックをルーティングできます。
この場合はNodeを
connector-server
モードで使用します。 -
Istioで管理されるAPI向けにインラインのgRPCベースの外部処理フィルターが必要な場合。ノードはパブリックIPを持つロードバランサーとして構成され、容易にトラフィックをルーティングできます。
この場合はNodeを
envoy-external-filter
モードで使用します。 -
Kong API Gateway向けのWallarmコネクタをデプロイする場合。ノードはパブリックIPを公開せず、内部トラフィック向けにClusterIPタイプでデプロイされます。
この場合はNodeを
connector-server
モードで使用します。
要件¶
HelmチャートでNative NodeをデプロイするKubernetesクラスターは、以下の条件を満たす必要があります。
-
Helm v3パッケージマネージャーがインストールされていること。
-
APIが稼働するAPIゲートウェイまたはCDNからのインバウンドアクセス。
-
以下へのアウトバウンドアクセス:
https://charts.wallarm.com
からWallarmのHelmチャートをダウンロードhttps://hub.docker.com/r/wallarm
からデプロイに必要なDockerイメージをダウンロード- US/EUのWallarm Cloud用に
https://us1.api.wallarm.com
またはhttps://api.wallarm.com
-
攻撃検知ルールやAPI仕様の更新ダウンロード、ならびに許可リスト、拒否リスト、グレーリストに登録された国・地域・データセンターの正確なIP取得のために、以下のIPアドレス
-
LoadBalancer
タイプでデプロイする場合、ドメインと信頼されたSSL/TLS証明書が必要です。 -
さらに、Wallarm ConsoleでAdministratorロールが割り当てられている必要があります。
制限事項¶
-
LoadBalancer
タイプでWallarmサービスをデプロイする場合、Nodeインスタンスのドメインに対して信頼されたSSL/TLS証明書が必要です。自己署名証明書はまだサポートされていません。 -
カスタムブロックページとブロックコードの設定はまだサポートされていません。
-
Wallarmルールによるレート制限はサポートしていません。
-
マルチテナンシーはまだサポートしていません。
デプロイ¶
1. Wallarmトークンを準備する¶
Nodeをインストールするには、Wallarm CloudにNodeを登録するためのトークンが必要です。トークンを準備するには:
-
US CloudまたはEU CloudのWallarm Console → Settings → API tokensを開きます。
-
使用タイプが
Node deployment/Deployment
のAPI tokenを見つけるか作成します。 -
そのトークンをコピーします。
2. WallarmのHelmチャートリポジトリを追加する¶
3. 設定ファイルを準備する¶
パブリックIPを持つLoadBalancerとしてネイティブなWallarmノードをデプロイすると、MuleSoft、Cloudflare、Amazon CloudFront、Broadcom Layer7 API Gateway、FastlyからこのIPへトラフィックをルーティングし、セキュリティ分析とフィルタリングを実施できます。
- ロードバランサー用のドメインを登録します。
- 信頼されたSSL/TLS証明書を取得します。
-
以下の最小構成で
values.yaml
設定ファイルを作成します。証明書の適用方法として希望するタブを選択してください:クラスター内で
cert-manager
を使用している場合、これでSSL/TLS証明書を発行できます。同一Namespace内の既存のKubernetes SecretからSSL/TLS証明書を取り込めます。
パブリックIPを持つLoadBalancerとしてネイティブなWallarmノードをデプロイすると、MuleSoft、Cloudflare、Amazon CloudFront、Broadcom Layer7 API Gateway、FastlyからこのIPへトラフィックをルーティングし、セキュリティ分析とフィルタリングを実施できます。
- ロードバランサー用のドメインを登録します。
- 信頼されたSSL/TLS証明書を取得します。
-
以下の最小構成で
values.yaml
設定ファイルを作成します。証明書の適用方法として希望するタブを選択してください:クラスター内で
cert-manager
を使用している場合、これでSSL/TLS証明書を発行できます。同一Namespace内の既存のKubernetes SecretからSSL/TLS証明書を取り込めます。
4. Wallarmサービスをデプロイする¶
5. Wallarmロードバランサーを取得する¶
LoadBalancer
タイプでデプロイした場合:
-
Wallarmロードバランサーの外部IPを取得します。
native-processing
サービスの外部IPを確認します。 -
DNSプロバイダーでAレコードを作成し、ドメインを外部IPに向けます。
DNSが伝播したら、ドメイン名でサービスにアクセスできます。
6. API管理サービスへWallarmコードを適用する¶
ノードをデプロイしたら、次のステップとして、トラフィックをデプロイ済みノードにルーティングするためにWallarmコードをAPI管理プラットフォームまたはサービスに適用します。
-
コネクタ向けのWallarmコードバンドルを入手するため、sales@wallarm.comに連絡してください。
-
プラットフォーム固有の手順に従って、API管理プラットフォームにバンドルを適用します。
アップグレード¶
Nodeをアップグレードするには、手順に従ってください。