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

EC2 T2つまずきやすいCPUクレジット再演

たけだ
October 13, 2022

EC2 T2つまずきやすいCPUクレジット再演

2020年5月9日 JAWS新潟支部勉強会 LTスライド

たけだ

October 13, 2022
Tweet

More Decks by たけだ

Other Decks in Technology

Transcript

  1. #jawsug_niigata
    2019/2/23 → 2020/5/9
    JAWS初心者支部 武田可帆里

    View Slide

  2. • 今日の11時に思い立って発
    表者参加登録したので過去の
    LTの再演です、、
    • 資料公開中
    • SNSつぶやき大歓迎!
    #jawsug_niigata

    View Slide

  3. 自己紹介
    武田 可帆里(たけだ かほり)
    仕事: ソフトウェアエンジニア兼プロダクトマネージャー
    株式会社チェンジ NewITユニット
    ・チャットボット開発
    &(からの出向)
    株式会社トラストバンク パブリテック事業
    ・自治体向けSaaS企画開発
    ・元インフラ、今フラフラ(色々の意図)
    ・JAWS初心者支部運営 Samurai2019
    ・AWSスキルは初心者
    ・興味:AWS/Azure/Office365/Node.js/Python/Django/ChatBot/
    チャット/自然言語解析/サーバレス/Low-Code
    #jawsug_niigata

    View Slide

  4. セッションターゲット
    ・AWS触ったことがない
    ・AWS始めようと思っている方
    ・「T2インスタンス」のTとか2って何だろうって方
    ・AWSの設計・構築・保守に携わる方
    #jawsug_niigata

    View Slide

  5. コンセプト
    ・AWS初心者がこれからAWSを勉強するための第一歩
    になってほしい
    ・皆失敗したり試行錯誤しながら勉強してるということ
    をわかってもらう
    ・私と同じトラブルに見舞われないようにEC2でつまず
    きやすいCPUクレジットをわかりやすく解説する
    #jawsug_niigata

    View Slide

  6. 1. AWS初心者の私が作ったチャットボットの話
    2. But! つまずいた話
    3. CPUクレジットとは?の話
    4. まとめ
    Index
    #jawsug_niigata

    View Slide

  7. ちょっとここで質問
    普段、チャットを使って
    仕事をしている方?
    #jawsug_niigata

    View Slide

  8. 社内コミュニケーションはほぼチャット
    ちょっと相談があるんですけど
    10分くらいお話できます?
    ○○という事象で対処したこと
    ある方います?
    今駅の○○改札着きました!
    ○○する時におススメなツール
    知ってる方いますか?
    ○○資料入手しました。確認し
    た方は[確認済]ボタンタップし
    てください。
    確認済
    ○○さんから電話ありました。
    コールバックお願いします。
    03-1234-5678
    XXで提案しようと思ってるんだ
    けど詳しい人います?
    #jawsug_niigata

    View Slide

  9. チャットボットを社内・社外向けに作るお仕事が多かった
    社員検索ボット 安否確認ボット
    「社員検索 氏名」を入力すると、写
    真、部署名、電話番号、メールアドレ
    スなどの社員情報を回答。
    安否確認が発動されると、ボットが安
    否を確認。組織管理者のルームで、安
    否状況・連絡先・所在地が共有される。
    営業部 営業第一課
    安否確認ボット
    安否確認ボット
    山田 洋子
    人事と内定者をつなぐボット。タスク
    のリマインド・提出物管理・発言数か
    らの離脱兆候検知を行う。
    内定者管理ボット
    #jawsug_niigata

    View Slide

  10. AWS初心者
    の私が作っ
    たチャット
    ボット
    A #jawsug_niigata

    View Slide

  11. 「退社時間の見える化」カード
    のチャットボット版を作る。
    #jawsug_niigata

    View Slide

  12. 営業日の朝に全社員個々に一斉に退社予定をヒアリング
    PC モバイル

    View Slide

  13. 業務中に退社予定が変わったらいつでも自分で変更可

    View Slide

  14. 定刻にルームのメンバーの宣言時間レポートを共有
    その他、使い方ヘルプ機能・休日設定・
    社員ごとの退社予定時間検索なども実装

    View Slide

  15. 構成考えた
    #jawsug_niigata

    View Slide

  16. • ボットプログラム載せるサーバー必要
    • ユーザーごとのデータ保有するDB必要
    • ボットが強制停止しても自動起動(cron)
    • 社内システムへの接続なし
    • チーム内のトライアルで始めてそのまま全社導入
    • 極力リーズナブルに
    • 支援サービスなので冗長化不要だけどDBバックアップはとりたい
    #jawsug_niigata

    View Slide

  17. AWSの代表的な最小構成で作って完成 #jawsug_niigata

    View Slide

  18. But!
    つまずいた
    B #jawsug_niigata

    View Slide

  19. トライアル開始から約2か月後、
    急にボットが動いてないと申告
    確かに反応がない
    既読になったりならなかったり…

    View Slide

  20. RDSセッションか? →問題ない

    View Slide

  21. CPU負荷かかってる? →問題ない
    [ec2-user@ip-10-0-0-28 tokyo001]$ vmstat 2
    procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
    r b swpd free buff cache si so bi bo in cs us sy id wa st
    6 0 0 6392492 192204 498296 0 0 0 1 0 2 13 6 62 0 19
    4 0 0 6392524 192204 498296 0 0 0 0 19759 42371 55 34 11 0 0
    4 0 0 6391192 192204 498296 0 0 0 0 19970 42467 54 35 11 0 0
    3 0 0 6390252 192204 498296 0 0 0 0 19662 42541 55 34 11 0 1
    4 0 0 6383068 192204 498296 0 0 0 0 20126 42574 56 33 11 0 0
    3 0 0 6382108 192204 498296 0 0 0 0 19856 42586 54 34 11 0 0

    View Slide

  22. あ!
    #jawsug_niigata

    View Slide

  23. 原因はCPUクレジット

    View Slide

  24. CPU
    クレジット
    とは?
    C

    View Slide

  25. https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/burstable-credits-baseline-concepts.html
    #jawsug_niigata

    View Slide

  26. 6クレジット/時間
    Max144
    vCPU使用率
    時間
    10%
    バースト期間
    (50分)
    50クレジット消費
    (50分間)
    追加なし
    ※1CPUクレジット=1台のvCPUを使用率100%で1分間実行することに相当

    View Slide

  27. 定刻処理は一時的な負荷なので
    トライアル期間はT2で大丈夫と思ってた
    少しずつCPUクレジット消費してたらしい…
    #jawsug_niigata

    View Slide

  28. たくさんあるインスタンスタイプ
    T 2 micro
    T 汎用
    M Tより少し性能が高い汎用
    C CPU重視
    R メモリ重視
    P GPU、速度重視
    とりあえず安く作るだけならT、
    普通に作るならM
    世代。
    機能が世代によって
    ちょっと違う
    スペック
    最初はTかMでOK
    #jawsug_niigata

    View Slide

  29. クラウド最高!
    インスタンスを変更して
    即解決
    #jawsug_niigata

    View Slide

  30.  チャットボットのように裏で定期ジョブや
    処理がある場合はT系のインスタンス不向き
     CPUクレジットの罠に注意
    最初はクレジットの消費状況は確認要
     失敗から多くを学べる
    失敗を恐れない
    ってことで
    #jawsug_niigata

    View Slide

  31. ちょっと追加

    View Slide

  32. この登壇
    から1年後
    の私
    Z

    View Slide

  33. 「チャットボット屋さん」から「チャット屋さん」になった

    View Slide

  34. モバイルアプリのプッシュ通知をAmazonSNSで構築
    初めてのモバイル開発
    AWS公式ドキュメントと
    クラスメソッドさんの
    ブログ見ながら1人で構築。
    (マジ感謝クラメソさん)

    View Slide

  35. チャットボットはDocker上で開発してAWS Fargateで運用
    Dockerは開発する時は使ってたけどAWSさん
    の公式twitterからAmazon ECSの存在を知る
    BlackBeltの動画で勉強して試行錯誤しながら
    構築。超便利!!!

    View Slide

  36. 全国のAWS技術者とつながった上にSamuraiに認定頂いた
    資産であり宝物

    View Slide

  37.  皆AWS全部のサービスをわかってるわけじゃない。
    試行錯誤しながら少しずつわかってくる。
     初心者から抜け出せない?私もです!!
    でも実は誰かにとっては初心者ではないかも。
     アウトプットすることでインプット倍増。
    試行錯誤したこと、失敗したことも共有しよう
    ってことで
    #jawsug_niigata

    View Slide

  38. 次回のJAWS初心者支部勉強会
    5/27(水)開催予定
    「Amazon Connectハンズオン」
    オンライン勉強会なので
    興味ある方是非ご参加ください
    Connpassで募集予定
    #jawsug_niigata

    View Slide