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

100を超えるクラウドサービス環境をSREで効率的にコスト最適化した話 | CA BASE NEXT

100を超えるクラウドサービス環境をSREで効率的にコスト最適化した話 | CA BASE NEXT

□ 登壇者
藤本 拳,神山 拓哉

□ 発表について
株式会社CAMは占い、エンタメ、ファンプラットフォームなど多くのサービスを展開しています。
弊社が管理しているサービス数は50以上にも達し、全てのサービスはパブリッククラウド上で稼働しています。
それに付随して、契約しているクラウドサービスのアカウント数は開発環境、本番環境、テスト環境などを含め100を超えています。

サービスごとに担当のエンジニアが開発をしており、その際に様々なリソースがパブリッククラウド上で作成されるので、アカウントごとのリソース管理が難しく、トータルのインフラコストも比例して増えていきます。
また、サービスごとに瞬間的なトラフィック対策としてスケールアウトも頻繁に実施されるのでよりコスト監視体制が必要とされています。

そんなCAMの特性に対して、SREでどのように全クラウドサービス環境を効率的にコスト最適化しているかの仕組みと手法についてお話させていただきます。

セッション動画はこちら

□ CA BASE NEXT (CyberAgent Developer Conference by Next Generations) とは
20代のエンジニア・クリエイターが中心となって創り上げるサイバーエージェントの技術カンファレンスです。
当日はセッション・LT・パネルディスカッション・インタビューセッションを含む約50のコンテンツをYouTube Liveを通じて配信します。
イベントページ

□ 採用情報
サイバーエージェントに少しでも興味を持っていただきましたら、お気軽にマイページ登録やエントリーをおねがいします!

◆新卒エンジニア採用
エントリー・マイページ登録はこちら
採用関連情報のまとめはこちら

◆新卒クリエイター採用
エントリー・マイページ登録はこちら

◆中途採用
採用情報はこちら

CyberAgent

May 28, 2021
Tweet

More Decks by CyberAgent

Other Decks in Technology

Transcript

  1. 藤本 拳 2019年度 新卒入社 株式会社 CAM Site Reliability Engineer KenFujimoto12 神山 拓哉

    2017年度 新卒入社 株式会社 CAM Site Reliability Engineer @citNoname
  2. Oktaを活用した権限の付与 •社員へのアクセス権の付与を自動化 - 社員のOktaプロファイル情報から必要な 権限を把握 - 担当するプロダクトに応じて自動付与 •業務レベルに応じた権限の制御 担当領域や技術に応じた権限を付与 -

    新卒社員 :読み込み権限 - エンジニア:基本的な権限 - 管理者  :管理権限 新卒 担当者 ReadOnly Access Standard Access development production Operator Access Root Access SRE
  3. GitHubリポジトリ管理 •課題 1000以上のリポジトリ、100以上のチーム - 管理者による権限の確認や管理は非現実的 - 意図しないリポジトリの公開や更新の調査が困難 •解決 - スクリプトによるリポジトリの自動定期監視

    - 公開リポジトリ・チームの検知 - オーナー情報の変更通知 - Forkなど流出の可能性がある アクションの検知 - リポジトリの自動的なチームへの追加 - 定期的な自動バックアップ機能 Jenkins GitHub Slack 1, Information acquisition 2, Notification
  4. Infrastructure as Code (IaC) •AWS CloudFormation (AWS) •Google Cloud Deployment

    Manager (GCP) SREが最適な構成のリソーステンプレートを コンポーネント単位で作成し、全プロダクトで使用する ▶ 再現性を担保し、開発コストが下がる Terraformなど、外部ツールと比較すると - 最新のクラウドサービスがすぐにサポートされる ▶ 最先端のサービスをいち早く検証導入できる - ツールのバージョン管理に依存しない Template CloudFormation AWS Account A AWS Account C AWS Account B SRE 作成 展開 Deployment Manager
  5. 共通基盤システム(camplat) •共通ロジックの基盤開発 以下のような機能は共通基盤として作成 - 決済 (payment / leaf) - メール配信

    (mail) - 個人情報管理、セキュア情報の保全 (secure) - 共通ユーザーID (guid) - 動画配信 (orb) - 端末(デバイス)制限管理 (device) - ビデオ通話 (sola) - リアルタイムチャット (calamari) - サーバーサイドレンダリングシステム (ssrer) ▶ 新規開発コスト、管理コストダウン OSS FrameWork 共通ロジック ビジネスロジック サービスA OSS FrameWork ビジネスロジック 共通ロジック OSS FrameWork ビジネスロジック 共通ロジック サービスA サービスC OSS FrameWork ビジネスロジック サービスA ・決済 ・大規模メール送信 ・個人情報管理 ・動画配信 etc 共通ロジック OSS FrameWork ビジネスロジック OSS FrameWork ビジネスロジック 共通ロジック(API) サービスA サービスC サービスごとに開発 共通基盤で開発
  6. 共通基盤システム(camplat) •guid 共通ユーザーIDシステム 複数サービスを横断して、ユーザーを一意に特定 し、動向を追えるトラッキングを実現する ビジネスサイド ユーザー情報の集計が容易 データ分析 サービス間を越えたレコメンドが容易 guid

    2 guid 3 サービスA サービスB サービスC guid(API) ビジネスサイド guid:1 サービス Aとサービス Cでの 課金状態を調べたい。 → 各サービスでユーザー IDが同じ なので、 調査が容易 データ分析 guid: 2 登録しているサービスに応じ て、サービス Aでレコメンド結果 を表示させたい。 → 他に登録しているサービス Cの 結果取得が容易 guid 1 guid 1 guid 2 guidによって
  7. 共通基盤システム(camplat) •secure 各サービスで共通する個人情報の一元管理 - 個人情報保護法で定義される個人情報 - 要配慮個人情報 - 個人識別符号          

    配送先情報 service backend secure secure database ・名前 ・生年月日 ・性別 ・郵便番号 ・住所 ・電話番号 チャットメッセージ service backend ・プライベートな文章 会員登録 service backend ・名前 ・生年月日 ・性別 個人情報管理システムの 品質が全サービスで安定 管理、調査が 容易になる 厳しいセキュリティ要件 を設ける
  8. Amazon S3の運用ルール •S3バケットの保持 - 終了したプロダクトであっても バケットは保持 - 同名バケットの取得による 悪用リスクへの対策 •公開バケットの禁止

    - オブジェクトへ直接アクセスできる状態を禁止 - S3の静的Webホスティング機能も使わない - ポリシーを制御してCloudFrontからのみアクセス •バージョニングの有効化 - 意図しないファイル損失からの復旧 •S3アクセスログの有効化 User CloudFront S3 Access Access Forbidden