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

Windows高速起動というAWS EC2の謎機能が意外と役に立った

Windows高速起動というAWS EC2の謎機能が意外と役に立った

■イベント


【Sansan Tech Meetup】インフラエンジニアが考えるプロダクトと組織
https://sansan.connpass.com/event/287609/

■登壇概要

タイトル:Windows高速起動というAWS EC2の謎機能が意外と役に立った

登壇者:技術本部 Sansan Engineering Unit 落合 秀俊



■Sansan 技術本部 採用情報

https://media.sansan-engineering.com/

SansanTech

July 20, 2023
Tweet

More Decks by SansanTech

Other Decks in Technology

Transcript

  1. 写真が入ります 落合 秀俊 Sansan株式会社 技術本部 Sansan Engineering Unit SI企業で官公庁/電⼒業界/通信業界 等の硬い顧客向けにインフラの

    設計・構築をしていた元オンプレおじさん。2020年1⽉から SansanにJoin。 家族でキャンプが趣味です。去年からトイプードルを家族に迎え て、⼀緒にお出かけしては写真撮って楽しんでます。
  2. なぜWindowsの起動が速くなってうれしいのか WindowsサーバでAuto Scaling環境にしているから - APサーバにWindows Server(EC2)を使⽤している - Auto Scaling環境で、CodeDeployのBlue/Green Deployを利⽤

    > アプリデプロイのたびに新規にEC2を起動する > Windowsなので(?)、毎回OSがリフレッシュされるのは安定性に寄与している 起動が速くなると、どんなうれしいことがあるのか - デプロイ時間を短くしたい > 時間は10分〜30分程度、低スペックな開発環境が顕著に遅いのが不満 - インスタンス障害発⽣時の復旧時間を短くしたい > 障害発⽣から使えるようになるまでトータルで15分以内に収めたい
  3. 検証 設定コマンド aws ec2 enable-fast-launch ¥ --image-id ami-xxxxxxxx ¥ --snapshot-configuration

    TargetResourceCount=20 ¥ --launch-template LaunchTemplateName=windows-fastlaunch,Version=¥$Latest ¥ --max-parallel-launches 6 ① ② ③ ④ ① ⾼速化したいAMI ID ② ⾼速起動したいInstance数 - 指定した数だけ、⾼速化済みEBS Snapshotが作られる - 運⽤するときのInstance数を指定した ③ ⾼速化設定で使うEC2 Launch template - 指定しないとDefault VPCにSubnetが作られる - ⾼速化処理専⽤のSubnetを指定した ④ このコマンドでの⾼速化処理の並列実⾏数 - ②と紛らわしい - SubnetのIPアドレスが不⾜しない範囲に設定する
  4. ⾼速化の動作原理 ドキュメント・挙動からの予想も含まれています - sysprepしたAMIから起動した後の、初期セットアップ処理を事前にや っておく分、速くなる - Windows AMIはsysprepされた状態 > sysprepは、Windows

    OSイメージのコピーをしたい場合に使⽤する > システム固有情報を消去した状態 - AMIから初回起動時にWindowsの初期セットアップ相当の処理を実施している > PC買ってきたときの初期セットアップで、⾔語、キーボードレイアウトなど設 定しているのを思い浮かべてください - 初期セットアップ後のEBS Snapshotを取っておく > Snapshotから起動することで時間短縮
  5. ⾼速化の動作原理 EC2起動 Windows 初期セットアップ処理 通常のWindows起動処理 (各種Service起動など) EC2起動 Windows 初期セットアップ処理 EC2

    terminate EBS Snapshot作成 通常のAMIからのWindows起動 Windows起動⾼速化 EC2起動 通常のWindows起動処理 (各種Service起動など) 事前処理 EBS Snapshot AMI AMI ここがなくなる分 速くなる ここがなくなる分 速くなる
  6. 測定結果 - Auto Scalingのログで測定 > Auto Scaling発動させ、Activity historyのStart, Endから確認 -

    2分程度削減できた > 起動時間はスペックアップ以外の短縮⽅法がほとんどないので、2分でも減るの は効果あり - コスト > 完全無料ではない (EBS Snapshot分が必要) > AMI 1種類当たり、$10 〜 $20 /⽉ 増加 Instance Type 通常AMI ⾼速化済みAMI 削減率 t3.medium 10:27 8:39 -18% m5.2xlarge 8:37 7:08 -17% 安いt3.mediumでm5.2xlargeと同等の起動時間になった
  7. 会社概要 12 表参道本社 神山ラボ Sansan Innovation Lab 社 名 Sansan株式会社

    所在地 表参道本社 東京都渋⾕区神宮前5-52-2 ⻘⼭オーバルビル13F グループ 会社 Sansan Global Pte. Ltd.(シンガポール) Sansan Global Development Center, Inc.(フィリピン) Sansan Corporation(アメリカ) ログミー株式会社 株式会社ダイヤモンド企業情報編集社 クリエイティブサーベイ株式会社 株式会社⾔語理解研究所 従業員数 1,317 名(2023年5⽉31⽇時点) 2007年6⽉11⽇ 設 ⽴ ⽀店:⼤阪、名古屋、福岡 サテライトオフィス:徳島、京都、新潟 拠 点 寺⽥ 親弘 代表者