Pro Yearly is on sale from $80 to $50! »

Fargateでバッチ処理するときの監視

7867e3ea2f65d210ed1a2bea87acc3bd?s=47 abema
January 23, 2020

 Fargateでバッチ処理するときの監視

タガヤスその15のLT資料です

7867e3ea2f65d210ed1a2bea87acc3bd?s=128

abema

January 23, 2020
Tweet

Transcript

  1. ECS Fargateで バッチ処理するときの監視 株式会社オプト 仙台テクノロジー開発部 阿部

  2. Fargateつかってますか?

  3. Fargateのタスクにも2種類

  4. サーバー型のタスク バッチ型のタスク 常時タスク*(コンテナ)が1つ以上起動し続けるもの タスクがバッチ処理を行い終了するもの * ECSの世界ではコンテナのことをタスクと呼びます (いや、正確には違うんだけどここではそういうことにします)

  5. サーバー型 ECSがサービスと呼ばれる概念で起動するタスクの 数を管理してくれる タスクが異常終了したらサービスがあるべきタスク数を維持 するために再起動してくれる タスク数をベースに監視も容易

  6. バッチ型 サービスがない サービスはあるべきタスク数を維持するものなので、バッチ処 理には使えない ECSにはコンテナをバッチ処理に使うための機能がない K8sにはJobsとかCronJobsって概念があるので 最近ではEKS on Fargate使うべきなのかも っていうかAWS

    BatchがさっさとFargate対応s
  7. バッチ型 つまりECSには・・・ 生に立ち会い 死を看取るものがいない ECSでは終了タスクの一覧を確認できます でもFargateだとしばらくすると消えちゃうんですよね

  8. CloudWatch Event

  9. CloudWatch Event AWSリソースの起動や終了などの状態変化を検知 できる(対応してるやつは) あとcronみたいなのも出来る

  10. つまりこう Fargateタスク CloudWatch Event Lambda Slack タスクの終了 終了を検知 終了コードを Lambdaに渡す

    終了コードを判 定してSlackに通 知 アラーム
  11. { "source": [ "aws.ecs" ], "detail-type": [ "ECS Task State

    Change" ], "detail": { "clusterArn": [ "arn:aws:ecs:${AWS::Region}:${AWS::AccountId}:cluster/${ClusterName}" ], "lastStatus": [ "STOPPED" ] } } イベントのパターンマッチ
  12. 詳しくはこちら バッチ処理するECSタスクが異常終了したとき通知する なんとひとつも”いいね”がついていません!

  13. しかしFargateバッチの 監視はこれで終わらない

  14. 次回予告

  15. 第二話 ゾンビタスク監視 リトライ処理 EKS on Fargate