SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
Heroku	
  Meetup	
  #11	
  New	
  Year	
  Party!!	
  
-­‐	
  新年会	
  -­‐	

Heroku	
  ×	
  SendGrid	
  
イベント管理について考えてみる	
	
  
2014/1/16	
  
佐藤 航	

今回はHerokuとSendGridでのイベント管理について考えてみます。�
佐藤 航について	
•  本業	
  
–  所属 株式会社 構造計画研究所	
  
–  担当 SendGrid	
  

•  個人的活動	
  
–  Androidアプリケーション開発者です	
  
–  @awwa500	
  

•  Heroku歴	
  
–  21日!	
  

Heroku歴21日です。すみません。�
構造計画研究所について	
•  SendGridの正規代理店	
  
–  日本語サポート、ドキュメント提供、請求書払い対
応とか	
  
–  HerokuアドオンとしてSendGridをご利用の場合も
サポートします	
  
–  hDps://sendgrid.kke.co.jp	
  

•  その他	
  
–  hDp://www.kke.co.jp	
  
日本でSendGridをいい感じで使えるようにします。�
SendGridについて	
•  Mail	
  as	
  a	
  Service	
  
•  メール配信するHerokuアドオン	
  
•  ワールドワイドで月間100億通	
  
Some	
  App	

SendGridはメールサービスの運用を楽にしてくれます。�
今日のネタ	

	
  
	
  
Heroku × SendGrid	
  
イベント管理について	
  
	
  
	
  
早速、今日のネタです。�
メールサービス運用のあるある	
•  「メールが届かない!」 → 原因調査	
  
•  配信停止リクエスト → アドレスリストから削除	
  
•  バウンスされた → メールアドレスの特定	
  
•  スパム報告された → 顧客リストと連携して対策	
  

メールサービスを運用していてよくある問題です。この場合、まずは原因調査が必要です。�
Email	
  AcPvity	
•  SendGrid標準機能	
  
•  各種イベントを過去7日間分検索できる	
  

こういう場合はSendGrid標準機能のEmail Activityを利用することで対応できます。�
たったの7日間	

でも検索可能な期間が短いのが残念です。�
解→Event	
  Webhook	
•  メール送信にまつわる各種イベントをPOST	
  
–  メール受付	
  
–  ドロップ	
  
–  メール配信	
  
–  遅延	
  
–  バウンス	
  
–  開封	
  
–  クリック	
  
–  スパム報告	
  
–  配信停止リクエスト	
  

POST	
  
(JSON)	

Some	
  	
  
Web	
  App	

そういう場合、Event Webhookが解決します。Event Webhookはメール送信にまつわる各種イベントを指定したURLにPOSTする機能です。�
POSTの受け口	

では、POSTの受け口はどうすればいいでしょうか。�
「Heroku	
  初心者 入門」でググる	
•  無数にヒットする	
  
POST	
  
(JSON)	

Postgres	

自分は初心者なので「Heroku 初心者 入門」でググると、だいたいこんな構成がヒットします。これはこれで良いと思います。�
「Heroku	
  JSON	
  Mongo」でググる	
•  直接ストアされるらしい	
  
POST	
  
(JSON)	

JSONといえばMongoDBなので検索キーワードにMongoを入れてみます。Mongolabというのがなんとかしてくれそうです。�
やってみた	
•  MongolabのURLを指定するだけ	
  

hDps://api.mongolab.com/api/
1/databases/<database-­‐
name>/collecPons/<collecPon-­‐
name>?apiKey=<api-­‐key>	
設定は簡単です。�
できた	

いきなりストアされました。�
「Heroku	
  JSON ログ」でググる	
•  これだ 感	
  
POST	
  
(JSON)	

他にJSONでログ系をググってみると、fluentdがヒットします。めちゃくちゃ流行ってるらしいです。�

Treasure	
  
Data	
  
Hadoop	
  
:	
  
その他	
  
いろいろ	
  
	
  
やってみた	
•  Heroku上にfluentdをインストールする	
  
–  hDp://docs.fluentd.org/ja/arPcles/install-­‐on-­‐
heroku	
  

とりあえず、fluentdの公式ドキュメントに沿ってHeroku上にfluentdをセットアップします。�
やってみた	
•  fluent-­‐plugin-­‐hDp-­‐exを使う	
  
–  Gemfile	
  

–  Procfile	
  

hDp-­‐exを入れる	

hDp-­‐exを使う	
インプット側はhttp-exプラグインを使います。POSTフォーマットの関係上、in_httpプラグインは使えません。�
やってみた	
•  Treasure	
  data向け設定	
  

アウトプット側はTreasure Dataプラグインを使います。�
やってみた	
•  fluentd(hDp-­‐ex)のURLをSendGridに設定	
  

hDp://x.herokuapp.com/
js/td.tag.here	
「js」はJSONリストの意味	
最後にfluentdのURLをSendGrid側に設定します。�
できた	

あっさりストアされました。Automatic schemaに感動しました。�
「fluentd	
  ログ 活用」でググる	
•  時間切れ	
  
Amazon	
  S3	
  
MySQL	
  
MongoDB	

fluentdを使うと他にもいろいろと展開が考えられそうですが、今日は時間がありません。�
POSTの受け口	
•  SendGrid	
  
–  1秒または1MB超どちらか早いタイミングでPOST	
  
–  200以外を返すと24時間リトライを続ける	
  

•  性能	
  
–  負荷テストしましょう	
  
•  Loader.io	
  

ちなみにSendGridは状況によってわりと激しくPOSTするので、一応、受け口の負荷試験をやっておきましょう。�
まとめというか、感想というか	
•  HerokuもTreasure	
  Dataも公式ドキュメントがと
てもわかりやすい	
  

•  SendGridをご利用の際はぜひ弊社経由で!	
  
–  hDps://sendgrid.kke.co.jp	
  

使い方が浅いので「簡単に設定できて楽でした」的な感想しかないですが、それってとても大切なことだと思います。�
参考	
i. 

「Heroku上にFluentd	
  (td-­‐agent)をインストールする」hDp://docs.fluentd.org/ja/arPcles/install-­‐on-­‐heroku	
  (2013-­‐05-­‐15)	
  

ii. 

「fluent-­‐plugin-­‐hDp-­‐ex	
  をリリースしました!」 hDp://nuke.hateblo.jp/entry/2013/08/07/195657	
  (2013-­‐08-­‐07)	
  

iii. 

「fluentd	
  Log	
  Everything	
  in	
  JSON」hDp://www.slideshare.net/treasure-­‐data/fluentd-­‐meetup-­‐2	
  (2012-­‐8-­‐23)	
  

iv. 

「Big	
  Data入門に見せかけたFluentd入門」hDp://www.slideshare.net/keithseahus/big-­‐datafluentd	
  (2013-­‐1-­‐20)	
  

v. 

「柔軟なログ収集を可能にする「fluentd」入門」 hDp://knowledge.sakura.ad.jp/tech/1336/	
  (2013-­‐12-­‐9)	
  

vi. 

「Fluentdで始めるリアルタイムでのログ有効活用」 hDp://codezine.jp/arPcle/detail/6958#note01	
  (2013-­‐02-­‐14)	
  

vii. 

「アクセスログをTreasure	
  Dataに送ってみよう」 hDp://sstd-­‐bigdata.blogspot.jp/2013/05/treasure-­‐data.html	
  (2013-­‐5)	
  

viii. 

「Treasure	
  Data	
  Plalorm	
  で始めるデータ分析入門 〜1.	
  イントロダクション〜」
hDp://doryokujin.hatenablog.jp/entry/2014/01/10/165221	
  (2014-­‐01-­‐10)	
  

ix. 

「Use	
  a	
  Mongo	
  REST	
  Interface	
  to	
  Store	
  SendGrid	
  Event	
  Data」 hDp://sendgrid.com/blog/mongo-­‐rest-­‐event-­‐data/	
  
(2014-­‐01-­‐07)	
  

x. 

素材 「ヒバナ」 hDp://hibana.rgr.jp/	
  
ありがとうございました

Contenu connexe

Plus de Wataru Sato

SendGridにおけるStopLightを 活用したAPI管理
SendGridにおけるStopLightを 活用したAPI管理SendGridにおけるStopLightを 活用したAPI管理
SendGridにおけるStopLightを 活用したAPI管理Wataru Sato
 
SendGrid Night in Fukuoka #1
SendGrid Night in Fukuoka #1SendGrid Night in Fukuoka #1
SendGrid Night in Fukuoka #1Wataru Sato
 
戦車乗りもmBaaSでメール送信できるかもしれない件
戦車乗りもmBaaSでメール送信できるかもしれない件戦車乗りもmBaaSでメール送信できるかもしれない件
戦車乗りもmBaaSでメール送信できるかもしれない件Wataru Sato
 
Mashup Hackathon 名古屋 MA11
Mashup Hackathon 名古屋 MA11Mashup Hackathon 名古屋 MA11
Mashup Hackathon 名古屋 MA11Wataru Sato
 
インテル® Edison ボード ハッカソン東京
インテル® Edison ボード ハッカソン東京インテル® Edison ボード ハッカソン東京
インテル® Edison ボード ハッカソン東京Wataru Sato
 
MA10 Mashup hackathon 北陸 in 福井 2014/08/30~31
MA10 Mashup hackathon 北陸 in 福井 2014/08/30~31MA10 Mashup hackathon 北陸 in 福井 2014/08/30~31
MA10 Mashup hackathon 北陸 in 福井 2014/08/30~31Wataru Sato
 
勉強会:設定管理について
勉強会:設定管理について勉強会:設定管理について
勉強会:設定管理についてWataru Sato
 
デ部15 step counter step detector
デ部15 step counter step detectorデ部15 step counter step detector
デ部15 step counter step detectorWataru Sato
 
SendGrid Parse APIをデモってみる
SendGrid Parse APIをデモってみるSendGrid Parse APIをデモってみる
SendGrid Parse APIをデモってみるWataru Sato
 
Google fusion tables api v1.0 tips rev2
Google fusion tables api v1.0 tips rev2Google fusion tables api v1.0 tips rev2
Google fusion tables api v1.0 tips rev2Wataru Sato
 
Google fusion tables api v1.0 tips
Google fusion tables api v1.0 tipsGoogle fusion tables api v1.0 tips
Google fusion tables api v1.0 tipsWataru Sato
 

Plus de Wataru Sato (11)

SendGridにおけるStopLightを 活用したAPI管理
SendGridにおけるStopLightを 活用したAPI管理SendGridにおけるStopLightを 活用したAPI管理
SendGridにおけるStopLightを 活用したAPI管理
 
SendGrid Night in Fukuoka #1
SendGrid Night in Fukuoka #1SendGrid Night in Fukuoka #1
SendGrid Night in Fukuoka #1
 
戦車乗りもmBaaSでメール送信できるかもしれない件
戦車乗りもmBaaSでメール送信できるかもしれない件戦車乗りもmBaaSでメール送信できるかもしれない件
戦車乗りもmBaaSでメール送信できるかもしれない件
 
Mashup Hackathon 名古屋 MA11
Mashup Hackathon 名古屋 MA11Mashup Hackathon 名古屋 MA11
Mashup Hackathon 名古屋 MA11
 
インテル® Edison ボード ハッカソン東京
インテル® Edison ボード ハッカソン東京インテル® Edison ボード ハッカソン東京
インテル® Edison ボード ハッカソン東京
 
MA10 Mashup hackathon 北陸 in 福井 2014/08/30~31
MA10 Mashup hackathon 北陸 in 福井 2014/08/30~31MA10 Mashup hackathon 北陸 in 福井 2014/08/30~31
MA10 Mashup hackathon 北陸 in 福井 2014/08/30~31
 
勉強会:設定管理について
勉強会:設定管理について勉強会:設定管理について
勉強会:設定管理について
 
デ部15 step counter step detector
デ部15 step counter step detectorデ部15 step counter step detector
デ部15 step counter step detector
 
SendGrid Parse APIをデモってみる
SendGrid Parse APIをデモってみるSendGrid Parse APIをデモってみる
SendGrid Parse APIをデモってみる
 
Google fusion tables api v1.0 tips rev2
Google fusion tables api v1.0 tips rev2Google fusion tables api v1.0 tips rev2
Google fusion tables api v1.0 tips rev2
 
Google fusion tables api v1.0 tips
Google fusion tables api v1.0 tipsGoogle fusion tables api v1.0 tips
Google fusion tables api v1.0 tips
 

Dernier

20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 

Dernier (9)

20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 

Heroku × SendGridイベント管理