このページの本文へ

前へ 1 2 3 次へ

AIチャットボットの機械学習基盤で得たノウハウを「ServerlessConf Tokyo」で披露

商用サービスのサーバーレス構築は「すごく大変」、リクルートLSが語る

2017年11月28日 07時00分更新

文● 大塚昭彦/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

モニタリングなど:サーバーレスでは「全体像」が見えにくい

 以上がパイプライン処理の一連の流れだが、今回のシステム基盤ではさらにモニタリングの仕組みや、起動失敗/多重起動などを自動的にリカバリする処理を付け加えている。

 たとえば、複数のコンポーネント群を連携させて処理を進めていく仕組みのため、そのままでは「全体」の状況がつかみにくいという。そのために、すべてのステートを「Amazon DynamoDB」に集約し、可視化する仕組みを設けた。

 「イベントドリブンのシステムでは、いま処理がどこまで動いているのかがとても追いづらい。この基盤でも、処理を追うならばまずS3を見て、次にLambdaのログを見て、Step Functionsのログを見て……となってしまい、とても大変だ。そうしなくてもいいように、すべてのステートをDynamoDBに書き込んで(Elastic Serchserviceの)Kibanaで可視化し、どのステートにいるかを一元的に見られるようにした」(山田氏)

ステート情報をDynamoDBに集約、Kibanaで一元的に可視化している

 なお、S3のイベントトリガによってLambdaがStep Functionsを起動する際、起動に失敗したり、反対に多重起動してしまったりするケースもある。こうしたケースへの対策も行っていると、堤氏は説明した。

 まず、起動失敗への対策としてはLambdaのDead Letter Queue(DLQ)を使い、Lambdaが3回試行しても起動できなかった場合にはキューに入れる設定にしている。このキューをCloudWatch Eventsがポーリングし、Step Functionsの起動を再実行する。

LambdaのDLQを使った、Step Functions起動が失敗した場合の対策

 また多重起動の防止のために、DynamoDBへのステート書き込みを条件付きINSERTで行うことで、書き込めない(すでに書き込まれている=起動済み)場合は新たに起動しない仕組みをとっている。

 「さらに、S3のイベントトリガでLambdaそのものが起動しない場合もある。それに備えて、DatadogでStep Functionsの監視を行っており、一定時間以上Step Functionsが起動していない場合にはDatadogがアラートを上げる」(堤氏)

 管理者へのアラートは、Slack経由で通知する仕組みとなっている。CloudWatch Logsを使ってLambdaやAWS Batchからログを自動収集し、サブスクリプションフィルタとLambdaを使ってエラーログを抽出、自動投稿する。また上述したとおり、Datadogによる監視も併用することで、エラーログを出さないまま長時間処理が停止しているようなケースでもアラートが上がる。

CloudWatch Logsがログを自動収集、エラーログや必要なログを抽出してSlackに投稿

 なお“Infrastructure as Code”を実現する仕組みとしては、「Jenkins」でCIサーバーを構築し、構成管理はすべて「Terraform」で書いていると、山田氏は説明した。この部分のみEC2でサーバーを常時稼働させているという。

* * *

 冒頭に挙げたコメントのとおり、山田氏は、サーバーレスアーキテクチャでプロダクション環境を構築するのは「すごく大変」だと述べた。ここまで見てきたとおり、稼働状況のモニタリングや何重ものエラー対策、構成管理など、考えるべき点が多くあるからだ。

 だが、それでもなおサーバーレスには多くのメリットがあり、「楽しい」と山田氏は語った。

 「ただし(サーバーレスの)コストパフォーマンスはとても良い。そして最初にうまく設計すればとてもよく動く。またインフラについて考える必要がほぼなくなり、アプリ開発に集中することができるとも思う。ぜひ皆さん、これからも一緒に、楽しいサーバーレスの開発をやっていきましょう」(山田氏)

前へ 1 2 3 次へ

カテゴリートップへ

本記事はアフィリエイトプログラムによる収益を得ている場合があります

アクセスランキング

  1. 1位

    TECH

    訓練だとわかっていても「緊張で脇汗をかいた」 LINEヤフー、初のランサムウェア訓練からの学び

  2. 2位

    ITトピック

    若手が言わない“本音の退職理由”上位は/「データ停止は景気後退よりも企業の脅威」6割/クライアントに告げずAI活用するフリーランス、ほか

  3. 3位

    ビジネス・開発

    最悪のシナリオは「フィジカルAI」による基幹産業の衰退 日本の勝ち筋は、“同期技術”と“ドメイン知識”

  4. 4位

    Team Leaders

    ファイル名が命名規則に合っているかの自動チェック、Power Automateのフローで実現しよう

  5. 5位

    TECH

    “GPUなし”ノートPCで動くLLMで、ローカルAIエージェントを自作する

  6. 6位

    TECH

    糖尿病超早期を採血なしで検出、予防へ! 代謝や臓器のつながりに着目した予防法開発

  7. 7位

    ビジネス

    廃校がAIの心臓部に!? 地方の遊休施設を「AIデータセンター」に生まれ変わらせるハイレゾの挑戦がアツいぞ

  8. 8位

    データセンター

    液冷技術の最先端が集うイノベーションラボ「DRIL」、印西のデータセンターに現わる

  9. 9位

    TECH

    業界横断で“サイバー攻撃から供給網を死守” NTT・アサヒ・トライアルらが「流通ISAC」始動

  10. 10位

    Team Leaders

    バックオフィス業務もAIに“丸投げ” マネーフォワードが「Cowork」機能を2026年7月に投入へ

集計期間:
2026年04月08日~2026年04月14日
  • 角川アスキー総合研究所