【レポート】 くらしのマーケットを支えるインフラ #AWSSummit

2020年9月8日から30日まで開催されるAWS Summit Onlineのレポートです。
2020.09.24

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

2020年9月8日から30日まで開催されるAWS Summit Onlineのレポートです。

本記事で取り上げるセッションは下記となります。

セッション情報

スピーカー

みんなのマーケット株式会社 取締役CTO 戸澤 拓也 氏

概要

ハウスクリーニング、庭木の剪定などの出張・訪問サービスを頼めるマーケットプレイス「くらしのマーケット」について、インフラ、プロダクト、また業務で多くのAWSサービスを活用しています。そのインフラ構成のほか、TVCM放映の負荷対策と監視についてAWSサービスをどう活用したか、使用しているAWSサービス、また、今後AWSのサービスをどのように活用していくかについて、ご説明します。

動画はこちら

セッションレポート

くらしのマーケットとは

  • ハウスクリーニングや家事代行など、出張訪問サービスに特化
  • 日本最大級のインターネット商店街
    • 出店数:約33,000点
    • 掲載カテゴリ数:200以上

解決している課題

  • 事業者:正当な評価が得られない状態
    • 集客ができない
    • 下請構造
    • 閑散期の売上がない
  • 利用者:納得感が得られない状態
    • 事業者の良し悪しが不明
    • 比較ができない
    • 料金の相場が分からない

利用者と事業者の情報格差を解消することで、これらの課題を解決している

提供している価値

  • 事業者向け:より多くの出店者の成果に、スポットライト
    • 自分で集客できる
    • 下請けからの脱却
    • こだわりや強みをアピールできる
    • 評価をもらうことで、次につながる
  • 利用者向け:より多くのユーザーに、より良い経験
    • 事前に料金が分かる
    • 事業者の比較ができる
    • こだわりや強みで選べる
    • 実績で安心して頼める

くらしのマーケットのインフラ構成

  • マイクロサービスで構成している
  • EC2で稼働しているものをコンテナ(ECS)へ移行中
  • 他にも様々なサービスを使っている
    • Lambda
    • Elasticsearch
    • Athena
    • API Gateway
    • SQS
    • Pinpoint
    • など

ポイント

  • 自分たちで何でもできると思わない
  • EC2を使って自分たちで管理するコストを減らし、そのリソースをプロダクト開発に注ぐ
  • 特に、スケールはAWSに任せている

TVCMの負荷対策、の前に負荷試験を行った

  • 処理できるリクエストの限界を知るため
  • 本番の1/4の負荷試験環境を用意した
  • 負荷試験ツールの Locust を使用した
  • 結果として下記の把握ができた
    • レスポンス二時間を要する状態で、非同期リクエストなどが1リクエストに対してn倍に増える箇所がある
    • キャッシュできない箇所がある
      • TVCM放映のスパイクに耐えられない可能性がある

負荷対策を行った

  • 前提
    • Auto Scalingしたいが、放映まで時間がない
    • そのため、できることを行った
  • 障害点をScale outで解消できることを確認した
    • すぐのScale outが難しいRedisはS3利用に変更
  • キャッシュできない箇所は、コンテナ化してFargateへ移行
  • 万が一の準備
    • Hot Standbyインスタンスを用意
    • サービスクォータの緩和申請をしておく

TVCM放映時の結果

  • 放送タイミングでスパイクが発生
  • TVCMのLPはじめ、全体が問題なく稼働
  • 放映初期は目視でも監視
  • CloudWatchの異常検出アラートで、放映によるスパイクの初動を検出

これから改善していきたい点

  • EC2稼働部分をコンテナへ移行・Auto Scalingの適用
  • コンテナ移行によるデプロイコストの削減
  • BatchなどセルフマネージしているものをAWSマネージドへ移行
  • AWSアプリケーションサービスをプロダクトでも活用
  • 増加するデータの分析基盤を整備
  • クラウドを利用した開発基盤の整備

感想

負荷対策を行う前に、負荷試験を行って問題点の把握してから負荷対策という流れや、実際の負荷対策の内容など、参考になる点は多いと思いました。 現状把握は大事ですね。