このページの本文へ

コンテナやサーバーレス、ラッパー系サービスなどを使いこなせ

AWSのディープな使いこなしとビジネス考察をABEJA Meetupで聞いた

2017年03月09日 07時00分更新

文● 大谷イビサ/TECH.ASCII.jp

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

cloudpackの村主さん、サーバーレスのハマリどころを語る

 続いて「サーバーレスアーキテクチャのアンチパターンと活用方法」をテーマにLTを披露したのは、アイレット(cloudpack)の村主壮悟さん。数多く紹介されたサーバーレスの失敗パターンの一部を紹介していこう。

アイレット(cloudpack) グループリーダー サポートエンジニア 村主壮悟さん

 まずは「SDKを使わずにクライアントからAWSサービスにリクエストを投げる」というアンチパターン。これに関しては、可能な限りクラウドが止まるのを前提にリトライ処理などが組み込まれているSDKを使うのが吉だという。逆に言えば、SDKを使わない場合は、リトライ処理が必要で、クライアント側は失敗回数が増えるにつれ待ち時間を指数関数手的に増やす「Exponential Backoff」、Lambdaに関しては3回失敗した後にSQSやSNSにメッセージを投げる「Dead Letter Queue」を利用するのが推奨されるという。

可能な限りリトライ処理などが組み込まれているSDKを使う。

 「とりあえずLambdaで」とLambdaを数多く使うのも、やはり推奨できないという。これはEC2よりも高価になる場合があるからだ。「256MBのメモリで1500万回実行し、毎回の実行時間が200ミリ秒だった場合、利用料は約11ドル。これを毎日実行するような場合は毎月で約330ドルかかることになり、EC2より高くなる」と村主さんは指摘。EC2のような運用がなくなるため、Lambdaは検討に値するが、処理量が多い場合はきちんと見積もりをした方がよいという指摘。あと、Lambdaには秒あたり100という実行制限が1アカウント単位でかかるので、上限に対して注意が必要だという。

Lambdaの方がお高い場合もあるので、見積もりをきちんとしておく

 次の「重いバッチもLambda」に関しては、最長5分間という処理時間制限が引っかかる。5分以上かかる場合は、SQS(キューイング)やDynamoDB(KVS)、S3(ストレージ)などを間に挟みつつ、別のLambdaに処理を渡す方法がオススメだという。12月にリリースされた「StepFunctions」もこうしたLambdaの数珠つなぎで役にだつ。

 時間制限に関しては、API Gatewayにも同様の制限がある。API Gatewayは30秒でタイムアウトしてしまうので、必ず処理を返す必要がある。そのため、「基本的にはフロントのLambdaでレスポンスを返し、非同期で後続のLambdaで処理を継続させる。処理が終わったら、SNSでユーザーに通知するといったことが必要」(村主さん)だという。

API Gatewayのタイムアウトにも注意が必要

 その後、村主さんは「1つのlambdaで多数の処理」「監視をしない」「バックエンドにDynamoDB」「直接kinesisに投げる」「LambdaのバックエンドにRDS」などさまざまなアンチパターンを披露。「ハマリどころはいろいろある」(村主さん)とのことで、便利なAWSのマネージドサービスも実行数やキャパシティなどに限界があるため、エラーやスパイク、データロストなどを起こす可能性があり、どのパターンでも設計での一手間や監視、通知などが必要というのが村主さんの論だ。最後、村主さんは「全部サーバーレスである必要はない。RDSにいい機能があるのに、KVSですごく頑張っちゃう感が出てしまう。みんなでハマってベストプラクティスを作っていきましょう」と語って、LTをまとめた。

カテゴリートップへ

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

アクセスランキング

  1. 1位

    TECH

    フォーティネットの「SSL-VPN廃止」 IPsec移行と脱VPN、それぞれの注意点を総ざらい

  2. 2位

    ソフトウェア・仮想化

    「SaaSの死」の影響は感じない ― グローバル以上に好調な日本市場、ServiceNow鈴木社長が語る

  3. 3位

    ビジネス・開発

    いますぐ捨てたいITサービスは? AI推しにそろそろ飽きてません? 情シスさんのホンネを「ゆるっとナイト」で聞いた

  4. 4位

    TECH

    「蟻の一穴」となるリモートアクセスVPNの脆弱性 ZTNA/SASEはなぜ必要か?

  5. 5位

    ネットワーク

    ネットワークとセキュリティの統合に強み 通信事業者系ZTNA/SASEサービス3選

  6. 6位

    デジタル

    海外駐在員の負担を軽減し、ワンチームへ kintoneは言語と文化の壁を越える「翻訳の魔法」

  7. 7位

    エンタープライズ

    基盤も古いし、コードも酷い! そんなクエストにGitHub Copilotで試行錯誤しまくった「みんな」こそ最高

  8. 8位

    ITトピック

    「AI導入で人員を減らしても収益は増えない」その理由/「専任情シス不在」中小企業の3社に2社/ユーザーアカウント流出が加速、ほか

  9. 9位

    sponsored

    完全自動運転の実現へ、チューリングが開発基盤にGMO GPUクラウドを選んだ理由

  10. 10位

    ビジネス

    医療費5兆円抑制につながる“国産ヘルスケア基盤”構築へ SMBC×富士通×ソフトバンクが業務連携

集計期間:
2026年05月17日~2026年05月23日
  • 角川アスキー総合研究所