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

アーキテクチャ専門支部 presents 帰ってきた!CDP道場 〜サメシャイン水族館 事業停...

アーキテクチャ専門支部 presents 帰ってきた!CDP道場 〜サメシャイン水族館 事業停止の危機を救え!〜 / CDP Dojo - Save the SAMESHINE Aquarium from Shutting Down! presented by JAWS-UG Architecture

JAWS DAYS 2026で実施したCDP道場のスライドです。
当日参加していただいたみなさんからの回答も載せています。
公開にあたっては当日セッション中に許可をいただきました。

Avatar for Naomi Yamasaki

Naomi Yamasaki

March 07, 2026
Tweet

More Decks by Naomi Yamasaki

Other Decks in Technology

Transcript

  1. JAWS DAYS 2026 Mashup for the Future アーキテクチャ専門支部 presents 帰ってきた!CDP道場

    〜サメシャイン水族館 事業停止の危機を救え!〜 2026年3月7日(土) 株式会社サメシャイン水族館
  2. #jawsug #jawsdays2026 #jawsdays2026_g 自己紹介 AWS SAMURAI 2015 JAWS-UGアーキテクチャ専門支部 JAWS-UG情シス支部 TKB大学サメシャイン研究財団

    教授 サメシャイン水族館 CIO 山﨑 奈緒美(ヤマサメ教授) 大阪出身。 就職で上京し、ソフトハウスでインフラエンジニア 地図情報システム開発会社でひとり情シス 旅行会社の情シス部門でクラウド担当 2020年9月に東京から札幌へ移住し10月より サメシャイン水族館へJOIN。 @nao_spon I ♡ Route53 IAM Organizations サメ一筋のマッドサイエンティスト、ヤマサメ教授です! 好きなサメはホホジロザメです!
  3. #jawsug #jawsdays2026 #jawsdays2026_g 自己紹介 AWS SAMURAI 2017、2020 / AWS HERO

    JAWS-UGアーキテクチャ専門支部 JAWS-UG CLI専門支部、JAWS-UG朝会 TKB大学サメシャイン研究財団 特任准教授 波田野 裕一 (バタノ准教授) 30歳までフリーター。技術雑誌寄稿をきっかけにIT業界に転職。 Postfix IPv6対応公式パッチ当てたらスパムの踏み台にされて SpamCopに怒られたことがあります。 2023年8月に東京から某所へ移住しQoL爆上がり。 2月よりサメシャイン水族館へJOIN。 @tcsh I ♡ Route53 IAM Organizations 今日は、いつも「運用でカバー」でバタバタしている 「バタノ」准教授という役です! セキュリティまで手がまわ らん...
  4. #jawsug #jawsdays2026 #jawsdays2026_g 自己紹介 JAWS-UG CLI専門支部 幽霊部員 鮨処 チョーサメ 総板長

    中島 智広 (フカシマ総板長) 2014年頃セキュリティ会社に勤める傍ら、今は無きコワーキン グスペース茅場町 Co-Edoに出没し、バタノ准教授のAWS CLIハ ンズオンを嗜む。その後、ご縁あって目黒の会社に転職。 AIにセキュリティの仕事を奪われる未来を予見し寿司職人の修行 を開始、2月よりサメシャイン水族館へJOIN。 I ♡ Route53 Kiro セキュリティなんて人間のやる仕事じゃないわ。。。 その辺のAIにでもやらせとけ! Control Tower
  5. #jawsug #jawsdays2026 #jawsdays2026_g 自己紹介 JAWS-UG 初心者 サメシャイン水族館 水族館事業部 飼育展示課 喜多

    望 (シャー・キタ学芸員) 滋賀県出身 2024年の大学院修了を機に上京し、東京の荒波に揉まれる。(池 袋駅での友人との合流に1時間かかったことがある) 最近は可処分時間をゲームに注ぎ込みすぎて腰が痛い。 2月よりサメシャイン水族館にJOIN。 I ♡ Kiro 人の手が回らないセキュリティを文句を言わないAIにやらせたい 故郷の琵琶湖にはチョウザメという外来種のサメがいるらしい GuardDuty
  6. #jawsug #jawsdays2026 #jawsdays2026_g 企業名:株式会社サメシャイン水族館 営業時間:平日10:00-18:00、土日祝夏休み期間は10:00-20:00 設立:1965年3月1日 資本金:210億円 売上高:340億円(2024年度) 社員数:170名(2025年4月現在) アクセス:JR山手線池袋駅

    東口の果てのサメシャインタワー (通称:331タワー) 小石川の岡の上の某国立TKB大学の敷地に立つ 331階建てのモダンな建物の331階 ※サンシャイン60ではありません 会社概要 サメシャイン水族館について
  7. #jawsug #jawsdays2026 #jawsdays2026_g 331Fの水族館を中心に、2つの収益源があります • チケット予約・発券システム(オンライン+窓口) ◦ オンライン予約に加え、窓口での入場料販売も担う • サメシャーレ

    ショップ オンラインEC ◦ サメグッズ・お土産の通販と物販 ◦ サメシャーレショップ サメシャインタワー店と在庫一元管理をしている 事業の柱 サメシャイン水族館について
  8. #jawsug #jawsdays2026 #jawsdays2026_g システム構成について 利用中のAWSサービス サービス 用途 IAM ユーザー管理(IAMユーザーのみ) EC2

    Webアプリ、プロキシサーバ RDS データベース S3 ファイル保管 Lambda 非同期処理 SQS メッセージキュー SNS 通知 CloudFront CDN CloudShell 運用作業
  9. #jawsug #jawsdays2026 #jawsdays2026_g 被害状況 ランサムウェア被害の経緯 サメ研究所内部管理システム 研究データ・勤怠・経費精算 が影響を受けた チケット予約・ECシステム 派遣さんの業務範囲にサービス系が

    含まれていなかった 侵害されたシステム 侵害を免れたシステム • 被害対象が比較的シンプルだった • 現環境を破棄 • 古いバックアップから新規構築で復旧 復旧方法
  10. #jawsug #jawsdays2026 #jawsdays2026_g 今回はたまたま助かっただけです... ランサムウェア被害の経緯 • 全システムが同一AWSアカウントに同居 • 次に同じ手口で侵入されたらサービス系もやられる •

    サービス系システムのRDSが暗号化されると... ◦ チケットオンライン予約も入場窓口も発券不能 ◦ ECサイトとショップ店頭での販売不能 ▪ 在庫管理・POSをオンライン・店頭で一元管理
  11. #jawsug #jawsdays2026 #jawsdays2026_g 今回はたまたま助かっただけです... ランサムウェア被害の経緯 • 全システムが同一AWSアカウントに同居 • 次に同じ手口で侵入されたらサービス系もやられる •

    サービス系システムのRDSが暗号化されると... ◦ チケットオンライン予約も入場窓口も発券不能 ◦ ECサイトとショップ店頭での販売不能 ▪ 在庫管理・POSをオンライン・店頭で一元管理 事業存続の危機
  12. #jawsug #jawsdays2026 #jawsdays2026_g 現行環境の問題点 問題 詳細 アカウント分離なし 開発/STG/本番が1アカウントに混在 IAMユーザー直接利用 SSOは正社員のみ、派遣さんは対象外

    MFA未徹底 派遣さんに例外的にMFAなしを許可 権限が緩い Lambda含め全体的に緩く、昇格しやすい ルートユーザー利用 歴史的経緯で一部残存 セキュリティ監視なし 攻撃されても気づけない状態 バックアップ不統一 自動取得と手動取得が混在
  13. #jawsug #jawsdays2026 #jawsdays2026_g この環境をセキュアなアーキテクチャに作り変えてほ しい みなさんへのお願い その1 🚑 侵害されたらどうするか 検知・対応・復旧

    🛡 侵害されない工夫・予防策 考えてほしい2つの観点 • サービスの機能自体は大きく変えない • セキュリティ部分について検討してほしい • 使えるAWSサービスに制限はありません 条件
  14. #jawsug #jawsdays2026 #jawsdays2026_g 本セッションの流れ 時刻 内容 13:40-13:50 指定された席に着席 13:50-13:55 依頼内容の確認

    13:55-14:45 チームディスカッション 14:45-15:00 各チーム発表(4分 × 3チーム +入替3分) Bチーム、Dチーム、Eチーム 15:00-15:05 解説 15:05-15:20 SAさん総括&質疑応答
  15. JAWS DAYS 2026 Mashup for the Future チームA CDP道場 <CIOを解雇すべし>

    2026年3月7日(土) 株式会社サメシャイン水族館
  16. #jawsug #jawsdays2026 #jawsdays2026_g 侵害されない工夫・予防策 🛡 侵害されない工夫・予防策 • CloudFront に WAF

    をアタッチする • EC2 をプライベートサブネットに移す • システムごと・環境ごとに AWS アカウントを分割する ◦ サービス系 / 社内システムについて DEV・STG・PRD の 計 6 アカウント • 社員用のユーザーは IAM Identity Center で SSO ログイン • 派遣社員用のユーザーは IAM User を利用するものの、MFA を強制 • EC2 ログイン手法のセキュリティ向上 ◦ CloudWatch エージェントでログを取得 • ルートユーザーの利用は禁止し、Organization 管理アカウントから Root Access Management で運用する • Control Tower から CloudTrail などを一括で設定 •
  17. #jawsug #jawsdays2026 #jawsdays2026_g 侵害されたらどうするか検知・対応・復旧 🚑 侵害されたらどうするか 検知・対応・復旧 • GuardDuty を設定し、インシデント発生時に

    Incdent Manager で通知 ◦ 緊急度低いものはメール通知 ◦ 緊急度高いものは電話通知 • CloudFront に WAF をアタッチする • Organization から AWS Backup を展開 ◦ ランサムウェア対策で Air-gap Vault
  18. #jawsug #jawsdays2026 #jawsdays2026_g 移行ロードマップ、優先順位付け • 新アーキテクチャへ移行する際の優先順位とその理由 • フェーズで区切る場合はそのステップ • 時間が足りない場合は「最優先でやること」だけでもOK

    • 大規模な設定変更無く実施できる部分は最優先 ◦ WAF ◦ Security Hub 有効化・GuardDuty 有効化 • 顧客に提供しているサービスから優先対応 ◦ マルチアカウント化 ◦ ルートユーザーの廃止 • 社内向けシステムは単純なネットワーク制御で時間を稼ぐ ◦ 一旦は IAM User の ◦ DX 準備して社内イントラシステムからしか接続できないようにする • セキュリティエンジニアリング組織をつくり技術レベルをあげる
  19. #jawsug #jawsdays2026 #jawsdays2026_g まとめ・総括 • 気付き • 心残り • などなど

    • 気づき ◦ 時間が足りない! • 心残り ◦ アーキテクチャ云々のまえに組織文化をなんとかしたい ◦ CIO がどのように責任を取るつもりなのかが気になって夜も眠れない ◦ サメシャイン水族館のITシステムの根本課題は、人材採用が機能していないことでは ◦ つまりこのような杜撰なシステムを運用し、そこに違和感を持たない組織文化を作ってしまった CIO の責任は非常に大きく、トップを入れ替えることであるべき組織文化を適切に作るところ から取り組みたい (自分が第三者委員会のメンバーだったら報告書はこの話から書くと思う) ▪ そうしないと仮に今回技術的に対策しても、また時間が経たないうちに同じような事故が起 こるよ
  20. #jawsug #jawsdays2026 #jawsdays2026_g <こんなチームです! 簡単な説明> チームの紹介 (15秒) • 飯田さん •

    金尾さん • 藤原さん • 川西さん • 安達さん • こんなメンバーが揃いました。 • こんな議論をしました。 • などなど、総括
  21. #jawsug #jawsdays2026 #jawsdays2026_g 侵害されない工夫・予防策 (50秒) 🛡 侵害されない工夫・予防策 • Control Tower,

    Organizationsを利用してアカウント分離する ◦ 本番社内、本番サービス系、開発用、バックアップ用 ◦ メンバーアカウントのルートユーザーは作成しない • IAMユーザーはやめて、IICで管理してMFAを必須にする ◦ 派遣社員はTemporary Elevated Access Managementで一時的な権限を付与 する • パブリックサブネットやめてプライベートに移す ◦ RDSには、SessionManagerでEC2から接続する • Service Control Policyで不要な権限を与えないようにする
  22. #jawsug #jawsdays2026 #jawsdays2026_g 侵害されたらどうするか検知・対応・復旧 (50秒) 🚑 侵害されたらどうするか 検知・対応・復旧 • SecurityHub,

    Guardduty, Inspectorを有効化する • AWS Backupを使用する ◦ バックアップ用に別アカウントを用意してをバックアップを定期的に取得する
  23. JAWS DAYS 2026 Mashup for the Future チームC CDP道場 <ALL初参加>

    2026年3月7日(土) 株式会社サメシャイン水族館
  24. #jawsug #jawsdays2026 #jawsdays2026_g <こんなチームです! 簡単な説明> チームの紹介 (15秒) • むらかみさん •

    ふじもとさん • たかはしさん • よこやまさん • よねざわさん • こんなメンバーが揃いました。 • こんな議論をしました。 • などなど、総括
  25. JAWS DAYS 2026 Mashup for the Future チームD CDP道場 チームRufus

    2026年3月7日(土) 株式会社サメシャイン水族館
  26. #jawsug #jawsdays2026 #jawsdays2026_g <こんなチームです! 簡単な説明> チームの紹介 (15秒) チーム名:Rufus ・梶原さん ・高島さん

    ・西さん ・畑さん • こんなメンバーが揃いました。 • こんな議論をしました。 • などなど、総括
  27. #jawsug #jawsdays2026 #jawsdays2026_g 侵害されない工夫・予防策 (50秒) 🛡 侵害されない工夫・予防策 1.MFA未設定 - 派遣社員がMFAなしでアクセス可能IAMポリシーの設定でMFAデバイスでの承認を必須にする。イン

    トラ内でしか利用しないと聞いているため、MFAデバイスは金庫やセキュリティワイヤ等をつかって拠点外に物理 的に持ち出し不可とする。拠点も正社員、派遣さん以外が入れなくするためのセキュリティを入れる。*セキュリ ティカード、生体認証などを活用する。 2. ・使用しなくなったIAMユーザの削除を徹底するルールを作る。 ・暗号化なし - S3やRDSの暗号化が明示されていない ・IAMユーザの権限をIAMロールで(派遣/正社員等)分ける。ルートユーザ無効化 ・RDSをプライベートサブネットに移動する。 ーーーーー ユーザがアクセスできるリソースから分ける。ロールを明確にする。EC2操作権限/研究データ管理/勤怠管理/ 経費生産 Webアプリ/IAM設定変更用ロール (★アカウント 分離はやりたいけど金がかかるな。。。。) データベース直接アクセス - グローバルからRDSへ直接入力可能メンテナンス用のEC2建てる。EC2経由でメンテ ナンスする運用にする。 ネットワーク分離なし - VPC内でサブネット分離が不十分
  28. #jawsug #jawsdays2026 #jawsdays2026_g 侵害されたらどうするか検知・対応・復旧 🚑 侵害されたらどうするか 検知・対応・復旧 検知の仕組みを入れる 1.CloudtrailでAWS捜査ログ検知ができるようにする。 2.Amazon

    GuardDutyを利用してAWS内操作の不正アクティビティ検知ができるようにす る。 AWS Configを利用してAWS内のConfigの変更検知ができるようになる。 セキュリティhub/IAMアナライザーをつかってセキュリティに準拠していない/利用してない設定の洗 い出しを行う。 DR戦略の用意 →ランサムウェア被害に遭った後、別のAWSアカウントに環境をデプロイして、 事業を継続できるようにする。 環境構築用のコードを準備しておいて、すぐデプロイできるように。復旧テストもちゃんとやっておく
  29. #jawsug #jawsdays2026 #jawsdays2026_g 1.MFA未設定 - 派遣社員がMFAなしでアクセス可能IAMポリシーの設定でMFAデバイスでの承認を必須にする。イントラ内でしか利用しないと聞 いているため、MFAデバイスは金庫やセキュリティワイヤ等をつかって拠点外に物理的に持ち出し不可とする。拠点も正社員、派遣さん以外が入 れなくするためのセキュリティを入れる。*セキュリティカード、生体認証などを活用する。 2.使用しなくなったIAMユーザの削除を徹底するルールを作る。 暗号化なし

    - S3やRDSの暗号化が明示されていない IAMユーザの権限をIAMロールで(派遣/正社員等)分ける。ルートユーザ無効化 RDSをプライベートサブネットに移動する。 3.バックアップ AWSバックアップでプライマリ/バックアップを作る。+AWSクロスリージョン バージョンング機能を使う。 古いバージョンから戻せるようにする。 DR戦略の用意 ランサムウェア被害に遭った後、別のAWSアカウントに環境をデプロイして、事業を継続できるようにする。 AWS環境構築コードはIaC化しておいて、 すぐデプロイできるように。復旧テストもちゃんとやっておく 検知の仕組みを入れる。 CloudtrailでAWS捜査ログ検知ができるようにする。 Amazon GuardDutyを利用してAWS内操作の不正アクティビティ検知ができるようにする。 AWS Configを利用してAWS内のConfigの変更検知 ができるようになる。 ーーーーー ユーザがアクセスできるリソースから分ける。ロールを明確にする。EC2操作権限/研究データ管理/勤怠管理/経費生産 Webアプリ/IAM設 定変更用ロール (★アカウント 分離はやりたいけど金がかかるな。。。アカウント増やすならOrganizationのSCPも使いたい) データベース直接アクセス - グローバルからRDSへ直接入力可能メンテナンス用のEC2建てる。EC2経由でメンテナンスする運用にする。 ネットワーク分離なし - VPC内でサブネット分離が不十分 移行ロードマップ、優先順位付け (45秒)
  30. #jawsug #jawsdays2026 #jawsdays2026_g 移行ロードマップ、優先順位付け (45秒) 問題 詳細 対策 アカウント分離されていない 開発・商用などで分離

    商用は特定の場所でのみアクセス可能どの ルールも Organizationを有効かし、SCPで利用を制限 する 大幅なアーキテクチャ設計が入るので 後回し IAMユーザー直接利用MFA無し ルートユーザ用に1台、IAMユーザ用に1台用 意する MFAは拠点内でのみ共有の使ってもらう想定 MFAを利用してもらう 権限が緩い リソースやログインユーザー IAM Access Analyzerで使っていないポリシーを洗 い出し、絞る。 ルートユーザー利用 ルートユーザのアクセスキーの無効化 MFA設定の強制 CloudTrailでルートユーザーのアクティビティを 拾って通知 セキュリティ監視なし GuardDutyとSecurityHub CSPMを中心に対策す る バックアップ不一致 RDS→AWS Backup+CRR S3→バージョニング+CRR 3-2-1ルールを意識したバックアップ戦略 被害を受けた後の復旧 AWS構築コードを作成し、被害を受けてもすぐ復旧 できるように
  31. JAWS DAYS 2026 Mashup for the Future チームE CDP道場 チームElaiza池田

    2026年3月7日(土) 株式会社サメシャイン水族館
  32. #jawsug #jawsdays2026 #jawsdays2026_g チームElaiza池田は、こんなチームです! チームの紹介 (15秒) • 佐々木さん • 池谷さん

    • 水谷さん • 竹内さん • 山崎さん こんなメンバーが揃いました。 • 池田エライザを知っている人:3人 • 池田エライザを知らない人:2人 こんな議論をしました。 ①下書きスライドに、意見を直接記 入しながら議論 ②様々な意見から、生成AIの助けを 借りて内容をまとめた
  33. #jawsug #jawsdays2026 #jawsdays2026_g 侵害されない工夫・予防策 (50秒) - IAMユーザーの使用をやめ、Identity Centerを使う (正社員はSSO、派遣はIdentity Centerに登録、MFA必須化)

    - AccessKeyの直接発行は禁止。STS(Security Token Service)使う - ルートユーザーは使用しない - コントロールタワーでアカウントをランディングゾーン構成にする - 本番と非本番を分離 - セキュリティ専用アカウント(Audit) - ログ保管専用アカウント(Log Archive) - バックアップ専用アカウント - Organizationsの設定。SCPの設定で、不用意な操作を禁止 - セキュリティ監視 - AWS Security Hub - Amazon GuardDuty - Amazon Inspector - Security hub - 正社員だろうとPublic アクセス禁止
  34. #jawsug #jawsdays2026 #jawsdays2026_g 侵害されたらどうするか検知・対応・復旧 (50秒) 検知 • CloudTrail によるAPI操作の記録・監視 •

    GuardDuty → EventBridge → SNS で脅威を自動通知 • OpenSearch Service(SIEM)で CloudTrail ログを横断検索 対応 • IAM Access Analyzer でユーザーのアクション調査 • 全IAM ユーザーを削除 • Identity Centerの導入 復旧 • RDS:PITR(Point-in-Time Recovery)を設定(チケット決済があるため) • AWS Backup で全 RDS・EC2 を一元管理 • Backup ボールトロック(WORM)でランサムウェアによるバックアップの暗号化・削除 を防止 • バックアップ専用アカウントを分離し、本番アカウントからは書き込みのみ許可 • 本番環境データをバックアップアカウントにもコピー
  35. #jawsug #jawsdays2026 #jawsdays2026_g 移行ロードマップ、優先順位付け (45秒) Phase 1(即時):~1ヶ月 今すぐできる検知強化と侵害口の封鎖 • GuardDuty有効化

    • CloudTrail整備 • MFA全員必須化 Phase 2:1~3ヶ月 SCPs設定爆発半径の最小化 • Organizationsでアカウント分離 ◦ 本番アカウント ◦ 非本番アカウント ◦ セキュリティ専用アカウント ◦ ログ保管専用アカウント ◦ バックアップ専用アカウント Phase 3:3~6ヶ月 恒久的な権限統制と復旧保証 • IAM Identity Center全面移行 • 最小権限見直し • Backup Vault Lock Phase 4:6ヶ月~ 継続的な監視体制の確立 • Security Hub統合 • インシデント対応Runbook整備
  36. #jawsug #jawsdays2026 #jawsdays2026_g まとめ・総括 (20秒) • 気付き ◦ 自分が知らないサービスを知ることができた ◦

    生成AIを活用することで、効率よく作業を行うことができた • 心残り ◦ 時間が足りない ◦ 一般的な事柄中心になってしまったので、もっとアーキテク チャ図を見ながら議論したかった