Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

構成考えた #jawsug_niigata

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

But! つまずいた B #jawsug_niigata

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

あ! #jawsug_niigata

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 #jawsug_niigata

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

ちょっと追加

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

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

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

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