in_httpとは
FluentdでHTTPリクエストを受信するのに利用するInputのプラグインで、
今回は前にブログにした、SendGridのWebHookをHTTPで受けるための仕組みをAWS上に作るために利用。
https://docs.fluentd.org/input/http
詳しいことは前にブログに書いたんだけど、これは我ながら結構いい仕組みなんじゃないかなぁと思う。
やっぱりそれなりに良い仕組みだと思うので、もうちょっと色々改変しまた書こうかなぁと思ったりしている。
今回は前にブログにした、SendGridのWebHookをHTTPで受けるための仕組みをAWS上に作るために利用。
https://docs.fluentd.org/input/http
詳しいことは前にブログに書いたんだけど、これは我ながら結構いい仕組みなんじゃないかなぁと思う。
やっぱりそれなりに良い仕組みだと思うので、もうちょっと色々改変しまた書こうかなぁと思ったりしている。
SendGridのWebhookを受けるのにFluentdが重宝した話
SendGridのWebhookについてSendGrid の Event Webhook は、SendGrid経由でメールを送信する際に発生するイベントを、指定したURLにPOSTすることができます。 このデータの用途は、配信停...
ヘルスチェックをどうにかする
SendGridのイベントが記録できないととてもクリティカルではないのだけど、
最低限の冗長構成くらいは取りたかったのと、in_httpでSSL証明書の設定をするのは結構管理だったりが面倒だったので、今回はALBでロードバランシングすることにした。
in_httpプラグインは基本的にはPOSTリクエストでのみリクエストを受け付けているため、
ALBヘルスチェックはHTTPポートのGETリクエストのみであるため、ALBのヘルスチェックが通らない。
ALB上のヘルスチェックをどうにかするには、GETで別にリクエストを行えるエンドポイントを用意する必要があるのだが、
それはfluent-plugin-http-healthcheckを使えばよい。
そして、ヘルスチェックを行うHTTPポートについては別のポートに設定しておけば、
ヘルスチェックは通過するので、めでたしめでたしという感じになり、
FluentdでHTTPリクエストを受けて、別のFluentd集約サーバに転送できる。
最低限の冗長構成くらいは取りたかったのと、in_httpでSSL証明書の設定をするのは結構管理だったりが面倒だったので、今回はALBでロードバランシングすることにした。
in_httpプラグインは基本的にはPOSTリクエストでのみリクエストを受け付けているため、
ALBヘルスチェックはHTTPポートのGETリクエストのみであるため、ALBのヘルスチェックが通らない。
ALB上のヘルスチェックをどうにかするには、GETで別にリクエストを行えるエンドポイントを用意する必要があるのだが、
それはfluent-plugin-http-healthcheckを使えばよい。
GitHub - k63207/fluent-plugin-http-healthcheck: Just return HTTP status code 200.
Just return HTTP status code 200. Contribute to k63207/fluent-plugin-http-healthcheck development by creating an account on GitHub.
そして、ヘルスチェックを行うHTTPポートについては別のポートに設定しておけば、
ヘルスチェックは通過するので、めでたしめでたしという感じになり、
FluentdでHTTPリクエストを受けて、別のFluentd集約サーバに転送できる。