Slide 1

Slide 1 text

1 © SMS Co., Ltd. 2024.10.23 株式会社エス・エム・エス 山口隆史 年10万で社内Webアプリを10個動かす チャレンジをしている話

Slide 2

Slide 2 text

2 © SMS Co., Ltd. X エレベーターピッチ 社内で使われていたAccessアプリ。業務の隙間を埋めるそのツール を、Webアプリ化しAWSに載せたいという一つの願い。しかし、立 ちはだかるは予算の壁――年間わずか10万円。 固定費だけで予算を超える現実。NATGW、AWS Config、 GuardDuty、WAF。必要なものを揃えるだけで、限られた資金は すぐに底を突く。 「無理だ」誰もがそう思った。しかし、彼らは諦めなかった。 これは、予算の下限に挑み、不可能を可能にしたエンジニアたちの 熱き物語である。 OpsJェクト

Slide 3

Slide 3 text

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号

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

6 © SMS Co., Ltd. ここから本題

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

9 © SMS Co., Ltd. それはこんなよくある相談から始まった

Slide 10

Slide 10 text

10 © SMS Co., Ltd. きっかけ 社内でAccessを使ったアプリを 基幹業務のスキマツールとして使っていて、 それをWebアプリ化コンテナ化したので AWSに載せて動かしたい なので相談に乗ってほしい

Slide 11

Slide 11 text

11 © SMS Co., Ltd. 相談で確認したこと • アプリはPython+Flaskで作成 • 今後10アプリくらいは作成する予定がある • Dockerをローカルで動かしてテストしている • DBはAWS上のEC2 on SQL Serverを使っている • ファイルのアップロードとダウンロードがあるが、 ファイルの保存は不要 • 今のAccessアプリは簡易な認証をしている • 毎日は使わないし頻度も高くない

Slide 12

Slide 12 text

12 © SMS Co., Ltd. 社内ルールでの縛り • 予算を分けたいのでAWSアカウントは分ける • VPC Peeringはダメで、Transit GWを使うこと • 社内NWから安全に利用する対策が必要

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

15 © SMS Co., Ltd. ということでApp Runnerで見積ってみた

Slide 16

Slide 16 text

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/年

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

18 © SMS Co., Ltd. その壁は突然現れた https://oidehita.com/archives/50320

Slide 19

Slide 19 text

19 © SMS Co., Ltd. 発覚した経緯 AWSアカウントを作るので案件番 号ください あ!予算取ってませんでした アプリ動かすと請求はじまりますよね? 見積もりをお願いします 年間10万円で10アプリ動かしたいんで すが、どうにかできませんか? 4アプリで ¥662,112/年です

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

21 © SMS Co., Ltd. 考えたこと① • EC2 on Docker ○ メリット ■ ケチケチ構成でいけば安く済む ○ デメリット ■ パッチ適用、デプロイ、トラブル対応、メン テ対応等々をしたくない

Slide 22

Slide 22 text

22 © SMS Co., Ltd. 考えたこと② • Lambda ○ メリット ■ ハマりどころをケアすれば安く済む ■ メンテがほぼ不要 ○ デメリット ■ 使いすぎるとクラウド破産 ■ Webアプリの実装どうしよう

Slide 23

Slide 23 text

23 © SMS Co., Ltd. 解決策はAWS Blogにあった

Slide 24

Slide 24 text

24 © SMS Co., Ltd. Lambda Web Adapterの記事 https://aws.amazon.com/jp/builders-flash/202301/lambda-web-adapter/

Slide 25

Slide 25 text

25 © SMS Co., Ltd. これで勝てると、思った

Slide 26

Slide 26 text

26 © SMS Co., Ltd. もうひと押し • 交渉を重ねて以下の許可を得た ○ AWSアカウントはDBと同居でOK ■ →NAT GW、Transit GWもろもろ不要に なった

Slide 27

Slide 27 text

27 © SMS Co., Ltd. しかし、まだ課題は残っていた

Slide 28

Slide 28 text

28 © SMS Co., Ltd. 残った課題 • 社内から安全にアクセスさせるためのIPアドレス制 限をどう実装するか? • 選択肢 ○ internal ELB+SG+Lambda ○ CloudFront+WAF+Lambda 関数URL ○ API GW+WAF+Lambda • どれを選択しても固定費が必要

Slide 29

Slide 29 text

29 © SMS Co., Ltd. 結論 • 以下の制約があったのでELBに決定 ○ CloudFront ■ POSTするときにLambda@Edgeでコンテン ツハッシュの計算が必要 ■ Lambda@Edgeの制約で1MB制限 ○ API GW ■ 29秒のハードリミットがあった(過去形) ■ 10MB制限

Slide 30

Slide 30 text

30 © SMS Co., Ltd. 最終構成図

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

32 © SMS Co., Ltd. まとめ • Lambda Web Adapterはお手軽Webアプリの実装 手段としては十分実用的で使えます • 適材適所、用法用量を守って正しく使いましょう