SlideShare a Scribd company logo
1 of 38
Download to read offline
#jawsug_niigata
2019/2/23 → 2020/5/9
JAWS初心者支部 武田可帆里
• 今日の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-5678
XXで提案しようと思ってるんだ
けど詳しい人います?
#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 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
あ!
#jawsug_niigata
原因はCPUクレジット
CPU
クレジット
とは?
C
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/burstable-credits-baseline-concepts.html
#jawsug_niigata
6クレジット/時間
Max144
vCPU使用率
時間
10%
バースト期間
(50分)
50クレジット消費
(50分間)
追加なし
※1CPUクレジット=1台のvCPUを使用率100%で1分間実行することに相当
定刻処理は一時的な負荷なので
トライアル期間はT2で大丈夫と思ってた
少しずつCPUクレジット消費してたらしい…
#jawsug_niigata
たくさんあるインスタンスタイプ
T 2 micro
T 汎用
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

More Related Content

What's hot

Japan Windows Azure User Group発足のご案内(冨田バージョン)
Japan Windows Azure User Group発足のご案内(冨田バージョン)Japan Windows Azure User Group発足のご案内(冨田バージョン)
Japan Windows Azure User Group発足のご案内(冨田バージョン)
Sunao Tomita
 
《kintoneプラグイン》「Movable Type連携」のご紹介
《kintoneプラグイン》「Movable Type連携」のご紹介《kintoneプラグイン》「Movable Type連携」のご紹介
《kintoneプラグイン》「Movable Type連携」のご紹介
Sakae Saito
 

What's hot (20)

Lt41
Lt41Lt41
Lt41
 
How you can speed up serverless development by local
How you can speed up serverless development by localHow you can speed up serverless development by local
How you can speed up serverless development by local
 
【Engineer移住Night】エンジニア移住のリアル
【Engineer移住Night】エンジニア移住のリアル【Engineer移住Night】エンジニア移住のリアル
【Engineer移住Night】エンジニア移住のリアル
 
kintone devCamp 2016 Spring 『アプリ開発なんて怖くない!gusukuでお手軽kintoneアプリ管理+α♪』
kintone devCamp 2016 Spring 『アプリ開発なんて怖くない!gusukuでお手軽kintoneアプリ管理+α♪』kintone devCamp 2016 Spring 『アプリ開発なんて怖くない!gusukuでお手軽kintoneアプリ管理+α♪』
kintone devCamp 2016 Spring 『アプリ開発なんて怖くない!gusukuでお手軽kintoneアプリ管理+α♪』
 
著者が語るUiPath書籍執筆の裏話
著者が語るUiPath書籍執筆の裏話著者が語るUiPath書籍執筆の裏話
著者が語るUiPath書籍執筆の裏話
 
大規模Redisサーバ縮小化の戦い
大規模Redisサーバ縮小化の戦い大規模Redisサーバ縮小化の戦い
大規模Redisサーバ縮小化の戦い
 
女性エンジニアの1週間
女性エンジニアの1週間女性エンジニアの1週間
女性エンジニアの1週間
 
第1回 Android勉強会
第1回 Android勉強会第1回 Android勉強会
第1回 Android勉強会
 
[JAWS-UG関西IoT専門支部] IoTで関西のコミュニティをつなぐ
[JAWS-UG関西IoT専門支部] IoTで関西のコミュニティをつなぐ [JAWS-UG関西IoT専門支部] IoTで関西のコミュニティをつなぐ
[JAWS-UG関西IoT専門支部] IoTで関西のコミュニティをつなぐ
 
Ops x meet up v18.12 クラウドサービス運用の裏側
Ops x meet up v18.12 クラウドサービス運用の裏側Ops x meet up v18.12 クラウドサービス運用の裏側
Ops x meet up v18.12 クラウドサービス運用の裏側
 
みんなが不幸にならないための要件定義の話
みんなが不幸にならないための要件定義の話みんなが不幸にならないための要件定義の話
みんなが不幸にならないための要件定義の話
 
「納品のない受託開発」を支えるコードレビューの取り組み
「納品のない受託開発」を支えるコードレビューの取り組み「納品のない受託開発」を支えるコードレビューの取り組み
「納品のない受託開発」を支えるコードレビューの取り組み
 
Japan Windows Azure User Group発足のご案内(冨田バージョン)
Japan Windows Azure User Group発足のご案内(冨田バージョン)Japan Windows Azure User Group発足のご案内(冨田バージョン)
Japan Windows Azure User Group発足のご案内(冨田バージョン)
 
寿司x職人 10年働いて思いを馳せるすし職人とエンジニアの共通項
寿司x職人 10年働いて思いを馳せるすし職人とエンジニアの共通項寿司x職人 10年働いて思いを馳せるすし職人とエンジニアの共通項
寿司x職人 10年働いて思いを馳せるすし職人とエンジニアの共通項
 
Remineを活かしたプロセス支援 - 失敗しないプロセス支援 -
Remineを活かしたプロセス支援 - 失敗しないプロセス支援 -Remineを活かしたプロセス支援 - 失敗しないプロセス支援 -
Remineを活かしたプロセス支援 - 失敗しないプロセス支援 -
 
Scratchを使った CaT的脳トレのすすめ
Scratchを使った CaT的脳トレのすすめScratchを使った CaT的脳トレのすすめ
Scratchを使った CaT的脳トレのすすめ
 
《kintoneプラグイン》「Movable Type連携」のご紹介
《kintoneプラグイン》「Movable Type連携」のご紹介《kintoneプラグイン》「Movable Type連携」のご紹介
《kintoneプラグイン》「Movable Type連携」のご紹介
 
CodePBL 成果発表会 作品一覧
CodePBL 成果発表会 作品一覧CodePBL 成果発表会 作品一覧
CodePBL 成果発表会 作品一覧
 
IoTを擬人化してみた
IoTを擬人化してみたIoTを擬人化してみた
IoTを擬人化してみた
 
Rpa超伝道師の企み
Rpa超伝道師の企みRpa超伝道師の企み
Rpa超伝道師の企み
 

Similar to Jaws niigata#8

20110709 第1回jaz女子会 jaz紹介
20110709 第1回jaz女子会 jaz紹介20110709 第1回jaz女子会 jaz紹介
20110709 第1回jaz女子会 jaz紹介
Keiji Kamebuchi
 
JAWS-UG沖縄第1回勉強会 EBS/RDSがなくてもwrite massiveに耐えるDBの作り方
JAWS-UG沖縄第1回勉強会 EBS/RDSがなくてもwrite massiveに耐えるDBの作り方JAWS-UG沖縄第1回勉強会 EBS/RDSがなくてもwrite massiveに耐えるDBの作り方
JAWS-UG沖縄第1回勉強会 EBS/RDSがなくてもwrite massiveに耐えるDBの作り方
Koichiro Nishijima
 
クラウドのご紹介
クラウドのご紹介クラウドのご紹介
クラウドのご紹介
Junpei Nakada
 

Similar to Jaws niigata#8 (20)

Jaws初心者支部#25_cloudnative_admin_talk
Jaws初心者支部#25_cloudnative_admin_talkJaws初心者支部#25_cloudnative_admin_talk
Jaws初心者支部#25_cloudnative_admin_talk
 
デブサミ関西2011 JAZ紹介
デブサミ関西2011 JAZ紹介デブサミ関西2011 JAZ紹介
デブサミ関西2011 JAZ紹介
 
Lwtt#2_コミュニティ紹介
Lwtt#2_コミュニティ紹介Lwtt#2_コミュニティ紹介
Lwtt#2_コミュニティ紹介
 
現場!実物!実践!マルチクラスタを運用するときの課題とコツ
現場!実物!実践!マルチクラスタを運用するときの課題とコツ現場!実物!実践!マルチクラスタを運用するときの課題とコツ
現場!実物!実践!マルチクラスタを運用するときの課題とコツ
 
20190723 jawsug sales
20190723 jawsug sales20190723 jawsug sales
20190723 jawsug sales
 
20110709 第1回jaz女子会 jaz紹介
20110709 第1回jaz女子会 jaz紹介20110709 第1回jaz女子会 jaz紹介
20110709 第1回jaz女子会 jaz紹介
 
20140829 山形でJAWS-UGをやって困った2つのこと
20140829 山形でJAWS-UGをやって困った2つのこと20140829 山形でJAWS-UGをやって困った2つのこと
20140829 山形でJAWS-UGをやって困った2つのこと
 
Laravel×DevOps -インフラ構築の自動化から運用ログの監視まで-
Laravel×DevOps -インフラ構築の自動化から運用ログの監視まで-Laravel×DevOps -インフラ構築の自動化から運用ログの監視まで-
Laravel×DevOps -インフラ構築の自動化から運用ログの監視まで-
 
JAWS-UG沖縄第1回勉強会 EBS/RDSがなくてもwrite massiveに耐えるDBの作り方
JAWS-UG沖縄第1回勉強会 EBS/RDSがなくてもwrite massiveに耐えるDBの作り方JAWS-UG沖縄第1回勉強会 EBS/RDSがなくてもwrite massiveに耐えるDBの作り方
JAWS-UG沖縄第1回勉強会 EBS/RDSがなくてもwrite massiveに耐えるDBの作り方
 
AWS サーバーレス開発用ローカルシミュレータを作った話
AWS サーバーレス開発用ローカルシミュレータを作った話AWS サーバーレス開発用ローカルシミュレータを作った話
AWS サーバーレス開発用ローカルシミュレータを作った話
 
Jaws ug yokoyama-16
Jaws ug yokoyama-16Jaws ug yokoyama-16
Jaws ug yokoyama-16
 
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
 
普通の人が勉強会で発表するために必要な準備のすべて~入門パブリック・スピーキング
普通の人が勉強会で発表するために必要な準備のすべて~入門パブリック・スピーキング普通の人が勉強会で発表するために必要な準備のすべて~入門パブリック・スピーキング
普通の人が勉強会で発表するために必要な準備のすべて~入門パブリック・スピーキング
 
クラッシュフィーバー開発の裏側
クラッシュフィーバー開発の裏側クラッシュフィーバー開発の裏側
クラッシュフィーバー開発の裏側
 
チャットボットの自然言語処理
チャットボットの自然言語処理チャットボットの自然言語処理
チャットボットの自然言語処理
 
[JAWS-SG#02] JAWS DAYSのオンライン配信は君でもできる
[JAWS-SG#02] JAWS DAYSのオンライン配信は君でもできる[JAWS-SG#02] JAWS DAYSのオンライン配信は君でもできる
[JAWS-SG#02] JAWS DAYSのオンライン配信は君でもできる
 
スタートアップだからこそ使うAWS(第5回JAWS-UG Nagoya)
スタートアップだからこそ使うAWS(第5回JAWS-UG Nagoya)スタートアップだからこそ使うAWS(第5回JAWS-UG Nagoya)
スタートアップだからこそ使うAWS(第5回JAWS-UG Nagoya)
 
クラウドのご紹介
クラウドのご紹介クラウドのご紹介
クラウドのご紹介
 
デベロッパーサミット2012 JAZUG LT
デベロッパーサミット2012 JAZUG LTデベロッパーサミット2012 JAZUG LT
デベロッパーサミット2012 JAZUG LT
 
今からでも遅くない! 2から始めるangular js
今からでも遅くない! 2から始めるangular js今からでも遅くない! 2から始めるangular js
今からでも遅くない! 2から始めるangular js
 

More from Kahori Takeda

AWS 初心者抜けきれない私がAWS Samurai と AWS Community Builder の特権フル活用したらどんなものが作れるか挑戦する
AWS 初心者抜けきれない私がAWS Samurai と AWS Community Builder の特権フル活用したらどんなものが作れるか挑戦するAWS 初心者抜けきれない私がAWS Samurai と AWS Community Builder の特権フル活用したらどんなものが作れるか挑戦する
AWS 初心者抜けきれない私がAWS Samurai と AWS Community Builder の特権フル活用したらどんなものが作れるか挑戦する
Kahori Takeda
 

More from Kahori Takeda (12)

フォームブリッジ×kMailer×プリントクリエイター×Customineで受付から外部申請まで無敵化
フォームブリッジ×kMailer×プリントクリエイター×Customineで受付から外部申請まで無敵化フォームブリッジ×kMailer×プリントクリエイター×Customineで受付から外部申請まで無敵化
フォームブリッジ×kMailer×プリントクリエイター×Customineで受付から外部申請まで無敵化
 
AWS 初心者抜けきれない私がAWS Samurai と AWS Community Builder の特権フル活用したらどんなものが作れるか挑戦する
AWS 初心者抜けきれない私がAWS Samurai と AWS Community Builder の特権フル活用したらどんなものが作れるか挑戦するAWS 初心者抜けきれない私がAWS Samurai と AWS Community Builder の特権フル活用したらどんなものが作れるか挑戦する
AWS 初心者抜けきれない私がAWS Samurai と AWS Community Builder の特権フル活用したらどんなものが作れるか挑戦する
 
日本語対応したAmazonLexではじめてのLINEボットをつくってハンズオン手順を公開した話
日本語対応したAmazonLexではじめてのLINEボットをつくってハンズオン手順を公開した話日本語対応したAmazonLexではじめてのLINEボットをつくってハンズオン手順を公開した話
日本語対応したAmazonLexではじめてのLINEボットをつくってハンズオン手順を公開した話
 
はじめてのAmazonLexでつくるLINEボット
はじめてのAmazonLexでつくるLINEボットはじめてのAmazonLexでつくるLINEボット
はじめてのAmazonLexでつくるLINEボット
 
Lwtt gas ocr-lineworksbot
Lwtt gas ocr-lineworksbotLwtt gas ocr-lineworksbot
Lwtt gas ocr-lineworksbot
 
Devrel#8_オンラインのエンゲージメントを考える_jawsug_bgnr
Devrel#8_オンラインのエンゲージメントを考える_jawsug_bgnrDevrel#8_オンラインのエンゲージメントを考える_jawsug_bgnr
Devrel#8_オンラインのエンゲージメントを考える_jawsug_bgnr
 
20200129 jawsug bgnr22
20200129 jawsug bgnr2220200129 jawsug bgnr22
20200129 jawsug bgnr22
 
Jaws bgnr#18 what_isdirectconnect
Jaws bgnr#18 what_isdirectconnectJaws bgnr#18 what_isdirectconnect
Jaws bgnr#18 what_isdirectconnect
 
Dev rel jawsug_bgnr_communityrevivalanddevelopment
Dev rel jawsug_bgnr_communityrevivalanddevelopmentDev rel jawsug_bgnr_communityrevivalanddevelopment
Dev rel jawsug_bgnr_communityrevivalanddevelopment
 
Ec2 spot-intro-20190227
Ec2 spot-intro-20190227Ec2 spot-intro-20190227
Ec2 spot-intro-20190227
 
Jawsug bgnr14
Jawsug bgnr14Jawsug bgnr14
Jawsug bgnr14
 
20180621_Node学園LT
20180621_Node学園LT20180621_Node学園LT
20180621_Node学園LT
 

Jaws niigata#8