Upgrade to Pro — share decks privately, control downloads, hide ads and more …

年10万で社内Webアプリを10個動かす チャレンジをしている話 / The story of...

年10万で社内Webアプリを10個動かす チャレンジをしている話 / The story of the challenge to run 10 in-house web apps for 100kJPY a year.

社内で使われていたAccessアプリ。業務の隙間を埋めるそのツールを、Webアプリ化しAWSに載せたいという一つの願い。しかし、立ちはだかるは予算の壁――年間わずか10万円。
固定費だけで予算を超える現実。NATGW、AWS Config、GuardDuty、WAF。必要なものを揃えるだけで、限られた資金はすぐに底を突く。

「無理だ」誰もがそう思った。しかし、彼らは諦めなかった。
これは、予算の下限に挑み、不可能を可能にしたエンジニアたちの熱き物語である。

https://aws.amazon.com/jp/builders-flash/202301/lambda-web-adapter/
https://oidehita.com/archives/50320

Takashi Yamaguchi

October 24, 2024
Tweet

More Decks by Takashi Yamaguchi

Other Decks in Technology

Transcript

  1. 2 © SMS Co., Ltd. X エレベーターピッチ 社内で使われていたAccessアプリ。業務の隙間を埋めるそのツール を、Webアプリ化しAWSに載せたいという一つの願い。しかし、立 ちはだかるは予算の壁――年間わずか10万円。

    固定費だけで予算を超える現実。NATGW、AWS Config、 GuardDuty、WAF。必要なものを揃えるだけで、限られた資金は すぐに底を突く。 「無理だ」誰もがそう思った。しかし、彼らは諦めなかった。 これは、予算の下限に挑み、不可能を可能にしたエンジニアたちの 熱き物語である。 OpsJェクト
  2. 3 © SMS Co., Ltd. 自己紹介 氏名:山口隆史(やまぐちたかし) 所属:株式会社エス・エム・エス    プロダクト推進本部 プロダクト開発部 技術推進グループ 業務:全社SREとしての活動

    略歴:フリーランス、SIer、Web系を渡り歩く→現職(2024/05〜) 自称:Security Hub芸人 好きなAWSサービス:営業、Security Hub、GuardDuty 他:AWS Community Builder(Security & Identity)、   JAWS-UG千葉支部運営、Snyk Ambassador 第022587号
  3. 4 © SMS Co., Ltd. 会社概要 *1:第1期は含めずカウント *2:第7期迄は単体数値、第8期より連結数値にて記載 基礎情報 株式会社エス・エム・エス(英語表記)SMS Co.,

    Ltd. 2003年 4月4日 東京証券取引所プライム市場(証券コード:2175) 25億5,172万円(2024年3月31日時点) 連結:4,188人、単体:2,754人(2024年3月31日時点) 国内:3社、海外:アジア・オセアニア等17の国と地域 「高齢社会に適した情報インフラを構築することで人々 の生活の質を向上し、社会に貢献し続ける」 高齢社会に求められる領域を、医療・介護/障害福祉・ヘルス ケア・シニアライフと捉え、価値提供先であるエンドユーザ・ 従事者・事業者をつなぐプラットフォームとしての情報インフ ラを構築し、40以上のサービスを展開 会社名 設立 市場情報 資本金 従業員数 関連会社 ミッション 業績 売上、経常利益推移*2 (売上高・億円) (経常利益・億円) 20期連続*1で増収増益を達成 Confidential
  4. 5 © SMS Co., Ltd. 分野 区分 サービス キャリア 介護キャリア

    医療キャリア 介護・障害福祉 事業者 ヘルスケア シニアライフ 海外 *1.柔道整復師、あん摩マッサージ師、はり師、きゅう師のこと 
 サービス一覧 看護師向け 人材紹介 介護・医療・福祉の 資格講座情報 PT/OT/ST向け 人材紹介 介護職向け求人情報 ケアマネジャー向け 人材紹介 看護学生向け 就職情報 放射線技師向け 人材紹介 高校生・看護学生 向け奨学金情報 臨床検査技師向け 人材紹介 看護師・看護学生向け コミュニティ 臨床工学技士向け 人材紹介 保育士向け 人材紹介 治療家*1・セラピスト向け 人材紹介 介護事業の 経営者・管理者向け情報 高齢社会の 調査・研究・情報発信 医療従事者向け医薬情報 治療家*1・セラピスト向け 求人情報 柔道整復師・あはき師 向け受験参考書 管理栄養士・栄養士向け 人材紹介 介護職向け人材紹介 介護で働く人の ためのスクール 介護で悩む人向け コミュニティ 高齢者向け食事宅配 紹介サービス 高齢者向け住宅 紹介サービス 遠隔指導特定保健指導 サービス 管理栄養士・栄養士向け コミュニティ 企業の介護離職 防止ソリューション ICTを活用した 禁煙サポート 認知症患者とその家族 向け認知症情報 認知症予防 ソリューション 認知症予防の 習慣化サポート 遠隔指導重症化予防 サービス 女性の健康経営 サポート 産業保健に 関わる人向け情報 企業の健康管理 
 業務サポート 
 住まいにまつわる 総合情報サイト 葬儀社紹介サービス  ケアマネジャー 向けコミュニティ 医療従事者向け人材紹介 (マレーシア、フィリピン、アイルランド、UK、ドイツ 等) 看護師向け キャリアサービス 行動療法に特化した 禁煙サポート 自治体向け調査・ 計画策定・予防事業 医療介護業界特化型 ストレスチェック 介護/障害福祉 事業者向け経営支援 看護師の職場を 診断するツール 障害のある方向け 就労支援事業所情報 障害のある方向け 人材紹介
  5. 7 © SMS Co., Ltd. 01 02 03 04 05

    背景 考えたこと 立ちはだかる大きな壁 解決策 まとめ 目次
  6. 8 © SMS Co., Ltd. 01 02 03 04 05

    背景 考えたこと 立ちはだかる大きな壁 解決策 まとめ
  7. 11 © SMS Co., Ltd. 相談で確認したこと • アプリはPython+Flaskで作成 • 今後10アプリくらいは作成する予定がある

    • Dockerをローカルで動かしてテストしている • DBはAWS上のEC2 on SQL Serverを使っている • ファイルのアップロードとダウンロードがあるが、 ファイルの保存は不要 • 今のAccessアプリは簡易な認証をしている • 毎日は使わないし頻度も高くない
  8. 12 © SMS Co., Ltd. 社内ルールでの縛り • 予算を分けたいのでAWSアカウントは分ける • VPC

    Peeringはダメで、Transit GWを使うこと • 社内NWから安全に利用する対策が必要
  9. 13 © SMS Co., Ltd. 01 02 03 04 05

    背景 考えたこと 立ちはだかる大きな壁 解決策 まとめ
  10. 14 © SMS Co., Ltd. 考えたこと • コンテナだったらECSかApp Runner •

    運用の楽さでApp Runnerでいいかな ◦ VPCに接続ができるアップデートがあった ◦ 夜間停止とかもろもろ考えなくて良い • 認証はELBでOIDCを使いたいからECSかな • 社内アプリだしCI/CDは不要 • チャレンジしてもいいし、手堅くやってもいい
  11. 16 © SMS Co., Ltd. 見積もり内容 • NAT GW+Transit GW

    $97.80 • WAF $17 • App Runner 1vCPU 2G $38.05 • GuardDuty、AWS Config、Logs $59.085 • 合計 $198.705/月 : 150円換算で¥22,973/月 • 1アプリ追加で、¥10,734/月 • 4アプリで ¥662,112/年
  12. 17 © SMS Co., Ltd. 01 02 03 04 05

    背景 考えたこと 立ちはだかる大きな壁 解決策 まとめ
  13. 19 © SMS Co., Ltd. 発覚した経緯 AWSアカウントを作るので案件番 号ください あ!予算取ってませんでした アプリ動かすと請求はじまりますよね?

    見積もりをお願いします 年間10万円で10アプリ動かしたいんで すが、どうにかできませんか? 4アプリで ¥662,112/年です
  14. 20 © SMS Co., Ltd. 01 02 03 04 05

    背景 考えたこと 立ちはだかる大きな壁 解決策 まとめ
  15. 21 © SMS Co., Ltd. 考えたこと① • EC2 on Docker

    ◦ メリット ▪ ケチケチ構成でいけば安く済む ◦ デメリット ▪ パッチ適用、デプロイ、トラブル対応、メン テ対応等々をしたくない
  16. 22 © SMS Co., Ltd. 考えたこと② • Lambda ◦ メリット

    ▪ ハマりどころをケアすれば安く済む ▪ メンテがほぼ不要 ◦ デメリット ▪ 使いすぎるとクラウド破産 ▪ Webアプリの実装どうしよう
  17. 28 © SMS Co., Ltd. 残った課題 • 社内から安全にアクセスさせるためのIPアドレス制 限をどう実装するか? •

    選択肢 ◦ internal ELB+SG+Lambda ◦ CloudFront+WAF+Lambda 関数URL ◦ API GW+WAF+Lambda • どれを選択しても固定費が必要
  18. 29 © SMS Co., Ltd. 結論 • 以下の制約があったのでELBに決定 ◦ CloudFront

    ▪ POSTするときにLambda@Edgeでコンテン ツハッシュの計算が必要 ▪ Lambda@Edgeの制約で1MB制限 ◦ API GW ▪ 29秒のハードリミットがあった(過去形) ▪ 10MB制限
  19. 31 © SMS Co., Ltd. 01 02 03 04 05

    背景 考えたこと 立ちはだかる大きな壁 解決策 まとめ
  20. 32 © SMS Co., Ltd. まとめ • Lambda Web Adapterはお手軽Webアプリの実装

    手段としては十分実用的で使えます • 適材適所、用法用量を守って正しく使いましょう