CDKのApplicationLoadBalanced FargateService利用時にDeregistrationDelayを変更する

CDKでecs-patterns.ApplicationLoadBalancedFargateServiceを使うと手軽にALB + ECSの環境が構築できる。

ただ、デフォルトだと登録解除の遅延設定が300秒に設定されているためデプロイに時間がかかってしまう。

登録解除の遅延については下記の検証記事が分かりやすい。

AWS ALBのターゲットグループの登録解除の遅延は本当に遅延しているのか - Qiita

ecs-patterns.ApplicationLoadBalancedFargateServiceを利用した際に登録解除の遅延を変更する方法が分かりづらかったのでメモを残しておく。

以下のようにtargetGroup.setAttributeに指定することで変更できた。

const lbFargate = new ecs_patterns.ApplicationLoadBalancedFargateService(
  this,
  'FargateService',
  {...}
)

lbFargate.targetGroup.setAttribute('deregistration_delay.timeout_seconds', '30')

参考