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

クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 

Dernier (8)

クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 

Heroku × SendGridイベント管理