2020年5月9日 JAWS新潟支部勉強会 LTスライド
#jawsug_niigata2019/2/23 → 2020/5/9JAWS初心者支部 武田可帆里
View Slide
• 今日の11時に思い立って発表者参加登録したので過去のLTの再演です、、• 資料公開中• SNSつぶやき大歓迎!#jawsug_niigata
自己紹介武田 可帆里(たけだ かほり)仕事: ソフトウェアエンジニア兼プロダクトマネージャー株式会社チェンジ NewITユニット・チャットボット開発&(からの出向)株式会社トラストバンク パブリテック事業・自治体向けSaaS企画開発・元インフラ、今フラフラ(色々の意図)・JAWS初心者支部運営 Samurai2019・AWSスキルは初心者・興味:AWS/Azure/Office365/Node.js/Python/Django/ChatBot/チャット/自然言語解析/サーバレス/Low-Code#jawsug_niigata
セッションターゲット・AWS触ったことがない・AWS始めようと思っている方・「T2インスタンス」のTとか2って何だろうって方・AWSの設計・構築・保守に携わる方#jawsug_niigata
コンセプト・AWS初心者がこれからAWSを勉強するための第一歩になってほしい・皆失敗したり試行錯誤しながら勉強してるということをわかってもらう・私と同じトラブルに見舞われないようにEC2でつまずきやすいCPUクレジットをわかりやすく解説する#jawsug_niigata
1. AWS初心者の私が作ったチャットボットの話2. But! つまずいた話3. CPUクレジットとは?の話4. まとめIndex#jawsug_niigata
ちょっとここで質問普段、チャットを使って仕事をしている方?#jawsug_niigata
社内コミュニケーションはほぼチャットちょっと相談があるんですけど10分くらいお話できます?○○という事象で対処したことある方います?今駅の○○改札着きました!○○する時におススメなツール知ってる方いますか?○○資料入手しました。確認した方は[確認済]ボタンタップしてください。確認済○○さんから電話ありました。コールバックお願いします。03-1234-5678XXで提案しようと思ってるんだけど詳しい人います?#jawsug_niigata
チャットボットを社内・社外向けに作るお仕事が多かった社員検索ボット 安否確認ボット「社員検索 氏名」を入力すると、写真、部署名、電話番号、メールアドレスなどの社員情報を回答。安否確認が発動されると、ボットが安否を確認。組織管理者のルームで、安否状況・連絡先・所在地が共有される。営業部 営業第一課安否確認ボット安否確認ボット山田 洋子人事と内定者をつなぐボット。タスクのリマインド・提出物管理・発言数からの離脱兆候検知を行う。内定者管理ボット#jawsug_niigata
AWS初心者の私が作ったチャットボットA #jawsug_niigata
「退社時間の見える化」カードのチャットボット版を作る。#jawsug_niigata
営業日の朝に全社員個々に一斉に退社予定をヒアリングPC モバイル
業務中に退社予定が変わったらいつでも自分で変更可
定刻にルームのメンバーの宣言時間レポートを共有その他、使い方ヘルプ機能・休日設定・社員ごとの退社予定時間検索なども実装
構成考えた#jawsug_niigata
• ボットプログラム載せるサーバー必要• ユーザーごとのデータ保有するDB必要• ボットが強制停止しても自動起動(cron)• 社内システムへの接続なし• チーム内のトライアルで始めてそのまま全社導入• 極力リーズナブルに• 支援サービスなので冗長化不要だけどDBバックアップはとりたい#jawsug_niigata
AWSの代表的な最小構成で作って完成 #jawsug_niigata
But!つまずいたB #jawsug_niigata
トライアル開始から約2か月後、急にボットが動いてないと申告確かに反応がない既読になったりならなかったり…
RDSセッションか? →問題ない
CPU負荷かかってる? →問題ない[ec2-user@ip-10-0-0-28 tokyo001]$ vmstat 2procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----r b swpd free buff cache si so bi bo in cs us sy id wa st6 0 0 6392492 192204 498296 0 0 0 1 0 2 13 6 62 0 194 0 0 6392524 192204 498296 0 0 0 0 19759 42371 55 34 11 0 04 0 0 6391192 192204 498296 0 0 0 0 19970 42467 54 35 11 0 03 0 0 6390252 192204 498296 0 0 0 0 19662 42541 55 34 11 0 14 0 0 6383068 192204 498296 0 0 0 0 20126 42574 56 33 11 0 03 0 0 6382108 192204 498296 0 0 0 0 19856 42586 54 34 11 0 0
あ!#jawsug_niigata
原因はCPUクレジット
CPUクレジットとは?C
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/burstable-credits-baseline-concepts.html#jawsug_niigata
6クレジット/時間Max144vCPU使用率時間10%バースト期間(50分)50クレジット消費(50分間)追加なし※1CPUクレジット=1台のvCPUを使用率100%で1分間実行することに相当
定刻処理は一時的な負荷なのでトライアル期間はT2で大丈夫と思ってた少しずつCPUクレジット消費してたらしい…#jawsug_niigata
たくさんあるインスタンスタイプT 2 microT 汎用M Tより少し性能が高い汎用C CPU重視R メモリ重視P GPU、速度重視とりあえず安く作るだけならT、普通に作るならM世代。機能が世代によってちょっと違うスペック最初はTかMでOK#jawsug_niigata
クラウド最高!インスタンスを変更して即解決#jawsug_niigata
チャットボットのように裏で定期ジョブや処理がある場合はT系のインスタンス不向き CPUクレジットの罠に注意最初はクレジットの消費状況は確認要 失敗から多くを学べる失敗を恐れないってことで#jawsug_niigata
ちょっと追加
この登壇から1年後の私Z
「チャットボット屋さん」から「チャット屋さん」になった
モバイルアプリのプッシュ通知をAmazonSNSで構築初めてのモバイル開発AWS公式ドキュメントとクラスメソッドさんのブログ見ながら1人で構築。(マジ感謝クラメソさん)
チャットボットはDocker上で開発してAWS Fargateで運用Dockerは開発する時は使ってたけどAWSさんの公式twitterからAmazon ECSの存在を知るBlackBeltの動画で勉強して試行錯誤しながら構築。超便利!!!
全国のAWS技術者とつながった上にSamuraiに認定頂いた資産であり宝物
皆AWS全部のサービスをわかってるわけじゃない。試行錯誤しながら少しずつわかってくる。 初心者から抜け出せない?私もです!!でも実は誰かにとっては初心者ではないかも。 アウトプットすることでインプット倍増。試行錯誤したこと、失敗したことも共有しようってことで#jawsug_niigata
次回のJAWS初心者支部勉強会5/27(水)開催予定「Amazon Connectハンズオン」オンライン勉強会なので興味ある方是非ご参加くださいConnpassで募集予定#jawsug_niigata