質問編集履歴

1 タグ追加

11.18772013

11.18772013 score 2

2017/02/03 15:53  投稿

FaceBookのチャットボットをEC2で動かしたらステイタスコード100がでてしまう問題について
前提・実現したいこと
AWSのEC2にて現在、node.jsで書いたチャットボットのアプリケーションを動かしていまして、動きはするのですが、とても遅く、時々挙動が止まってしまうようなことがあります。
目立ったエラーはないのですが、ステイタスコード100がでしまいまして、そいつが挙動を遅らせていると思います。
またもう一つ気になることがあります。
現在EC2ではチャットボットのアプリとbitbucketから自動的にデプロイできるようにするために、bitbucket-syncというphpで書かれたアプリケーションを動かしています。
ポートはそれぞれ5000,3000で動かしています。
そしてどちらも再起動を自動的にするためにsupervisorでデーモン化しています。
その中のbitbucketに自動的にデプロイするアプリ側でEC2のELBでヘルスチェックが通っているにも関わらず、エラーログを見ると時々200から401に変わっていまうことがあります。
AWSコンソール上ではヘルスチェックは合格しています。
これもまた挙動を遅くしている原因だと思います。
ちなみにec2ではなくherokuでやると挙動に問題はありません。
こちらどのように解決できるかもし、分かる方がいましたら何卒回答よろしくお願いいたします。。
ログ
下記が100のエラーログです。(app.log)
Error: { message: '(#100) No matching user found',
type: 'OAuthException',
code: 100,
error_subcode: 2018001,
fbtrace_id: 'Cjq4Mr4GaYG' }
またこのようにbitubucketを自動デプロイするアプリ側でヘルスチェックが不安定になってしまっています。(bitbucket.log)
[Fri Feb 3 15:31:15 2017] 172.31.16.95:18885 [401]: /
[Fri Feb 3 15:31:20 2017] 172.31.3.41:46466 [401]: /
[Fri Feb 3 15:31:20 2017] 172.31.3.41:46490 [200]: /health.js
[Fri Feb 3 15:31:23 2017] 172.31.16.95:18915 [200]: /health.js
[Fri Feb 3 15:31:24 2017] 172.31.3.41:46494 [401]: /
[Fri Feb 3 15:31:28 2017] 172.31.16.95:18917 [401]: /
[Fri Feb 3 15:31:50 2017] 172.31.3.41:46516 [200]: /health.js
[Fri Feb 3 15:31:53 2017] 172.31.16.95:18943 [200]: /health.js
[Fri Feb 3 15:32:20 2017] 172.31.3.41:46546 [200]: /health.js
[Fri Feb 3 15:32:23 2017] 172.31.16.95:18969 [200]: /health.js
[Fri Feb 3 15:32:50 2017] 172.31.3.41:46572 [200]: /health.js
[Fri Feb 3 15:32:53 2017] 172.31.16.95:18995 [200]: /health.js
[Fri Feb 3 15:33:20 2017] 172.31.3.41:46602 [200]: /health.js
[Fri Feb 3 15:33:23 2017] 172.31.16.95:19017 [200]: /health.js
[Fri Feb 3 15:33:50 2017] 172.31.3.41:46628 [200]: /health.js
[Fri Feb 3 15:33:53 2017] 172.31.16.95:19047 [200]: /health.js
[Fri Feb 3 15:34:01 2017] 172.31.16.95:19049 [401]: /
[Fri Feb 3 15:34:10 2017] 172.31.3.41:46638 [401]: /
[Fri Feb 3 15:34:14 2017] 172.31.16.95:19055 [401]: /
[Fri Feb 3 15:34:20 2017] 172.31.3.41:46662 [200]: /health.js
[Fri Feb 3 15:34:23 2017] 172.31.16.95:19079 [200]: /health.js
試したこと
ヘルスチェックで/health.jsに対してヘルスチェックを行うように設定し、
本番app、bitbucket-syncのルート直下にhealth.jsを設置してみたところ、
ヘルスチェックはどちらも通っているのですが、200から401になったりと挙動が不安定です。
何卒ご回答よろしくお願いします。
  • Facebook

    442 questions

    Facebookは、実名登録制のSNS(ソーシャル・ネットワーキング・サービス)です。開発者用のデベロッパーサイトが存在し、一般ユーザーによるFacebook向けアプリケーション開発が可能です。

  • AWS(Amazon Web Services)

    2526 questions

    Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

  • Node.js

    2351 questions

    Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

  • PHP

    23949 questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • Elastic Load Balancing

    36 questions

    Elastic Load Balancingは、Amazon社が提供する、 EC2インスタンス間で自動的にトラフィックの負荷分散を行うサービスです。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る