AWS EKS pod上のspringで稼働しているアプリに対するAPIリクエストのレスポンスが稀に3秒かかったりすることがあり、その原因がわからず困っています
基本的には0.2秒程度のレスポンスですが、数十回に1回程度3秒以上かかることがあります
構成は以下です
Route53
↓
ALB(kubectlにて作成したalb ingress)
↓
EKS
↓
RDS
ALBはパブリックサブネット
EKSはパブリックサブネットにNATGWでルーティングされたプロテクテッドサブネット
RDSはどこにもルーティングされていないプライベートサブネット
調査したところ、ALBログでのtarget_processing_timeが数秒かかっており、ここが原因のようです。
短くする方法を調べています。
8/25 15:13追記
対象のEKSクラスタのアプリのアップデートをCodeBuildから以下のように実施しています
sh
1kubectl rollout restart deployments/foo
過去のターゲットグループのモニタリング情報から、どうやらeksに対して上記コマンドにてデプロイを実施しているタイミングで遅延が発生しているようです。
EKSはfargateを利用しています。
また、Deploymentのreplicasは3, readinessProbeは以下です
yaml
1 readinessProbe: 2 httpGet: 3 path: /api/bar 4 port: 443 5 scheme: HTTPS 6 initialDelaySeconds: 180 7 periodSeconds: 180 8 successThreshold: 1
replicasが3が少なすぎるのでしょうか?いくつに設定すべきなど目安となる情報がなかなかでてこず
あなたの回答
tips
プレビュー