nginxからEnvoyに乗り換えることはできるか
アクセスログ(Access log)の扱い
JSONで出力した後、fluent-bitで加工すると柔軟に対応ができる
static_resources:
listeners:
- name: main
address:
socket_address:
address: 0.0.0.0
port_value: 8000
filter_chains:
- filters:
- name: envoy.filters.network.http_connection_manager
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
stat_prefix: ingress_http
codec_type: AUTO
access_log:
- name: envoy.file_access_log
typed_config:
"@type": "type.googleapis.com/envoy.extensions.access_loggers.file.v3.FileAccessLog"
path: /dev/stdout
json_format:
RESPONSE_CODe: "%RESPONSE_CODE%"
404ページの扱い
EnvoyのExternal Processingのgoの実装サンプル紹介の記事を御覧ください。
Ratelimit
Global Ratelimit
Gatewayとして利用した場合、上記のシステムを利用することでGlobal Ratelimitが利用できる。
Local Ratelimit
スケーラビリティ
- 工事中