Skip to main content

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

スケーラビリティ

  • 工事中

拡張性