Slide 1

Slide 1 text

#jawsdays #jawsug_bgnr 2019/2/23 JAWS初心者支部 武田可帆里

Slide 2

Slide 2 text

• 資料公開します • SNS投稿時のタグは↑ #jawsdays #jawsug_bgnr

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

AWS初心者 の私が作っ たチャット ボット A #jawsdays #jawsug_bgnr

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

構成考えた #jawsdays #jawsug_bgnr

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

AWSの代表的な最小構成で作って完成 #jawsdays #jawsug_bgnr

Slide 18

Slide 18 text

But! つまずいた B #jawsdays #jawsug_bgnr

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

あ! #jawsdays #jawsug_bgnr

Slide 23

Slide 23 text

原因はCPUクレジット

Slide 24

Slide 24 text

CPU クレジット とは? C

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

6クレジット/時間 Max144 vCPU使用率 時間 10% バースト期間 (50分) 50クレジット消費 (50分間) 追加なし

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

次回のJAWS初心者支部勉強会 2/27(水)開催予定 リモート参加枠もあります! Connpassで募集中 https://jawsug-bgnr.connpass.com/event/118619/ https://jawsug-bgnr.connpass.com/event/118801/ #jawsdays #jawsug_bgnr