TwitterのAPIが反応しなかった件で苦しんだメモ
クラシック音楽専門ラジオ局「OTTAVA」をもっと楽しむ為のファンサイトOTTAbotを運営しています。
「OTTAVA」のミュージックヒストリー(放送履歴)を、Twitter等と連動したTwitterのbotと詳細情報を提供するウェブサイトをあわせたサービスです。
マニアックなサービスですが、曲のURLを添えて曲の感想をツイートすると、各曲・各リスナー毎にまとめて記録する曲ツイなどちょっぴりユニークなサービスもあってそこそこのご支持をいただけているんじゃないかな、と勝手に思っています。
しかしbotだけ今日の12:15頃から16:05頃まで停止してしまいました。
botがツイートする前に、同じ情報をサーバ上のデータベースに記録してますが、そちらは正常に動作しています。
つまりツイート部分のみの停止。
問題の切り分けができず、苦労しました。
思いつきであれこれ試したものの、時間ばかりが過ぎていきました……。
最後に、botを動作させているサーバ上からTwitterAPI の残り使用可能回数を取得したところ、タイムアウトする状況だったため、ようやくTwitterのAPIに接続できないことが原因の障害と判明しました。
ほぼ同時刻に、iPhoneを3G回線から利用するとTwitterの一部APIが利用できないという情報が入ってきたため、(1)Twitter側で一部のIPアドレスに対するアクセス制限を何らかの原因でかけた、(2)DNS関連の障害の2種類を考えました。
とりあえず、自分のbotは動かそうとTwitter公式携帯サイトの「メールで投稿」機能を流用するスクリプトをちゃらっと書き上げた直後にAPIの反応は復旧。
上記(1)(2)の切り分けをしようとした瞬間でした。むむむ。
まとめ
当たり前ですが、APIからのレスポンスを常時ログ化するか、せめてデバッグモードをつけておかないといけませんね。
障害がおきてから、あれこれ書き足して問題の切り分けをするのは問題外(ですが、面倒くさくて放置しがちなんだよなぁ……)
TwitterのAPIが12:15頃から16:05頃まで一部IPアドレスで反応しなかった件は、障害報告を待ちたいところです。
問題はどこから情報がでるかもわからない……
「Twitterだけ繋がらないというソフトバンクの電波障害」……ってそんな器用な電波障害はないので、ちょっぴり気になるところです。
【追記】
(お詫び)【復旧】一部サイトへアクセスしづらい状況について - ソフトバンクモバイル
http://mb.softbank.jp/scripts/japanese/information/topInfo/detail.jsp?oid=537228562
申し訳ありませんでした。internet経由で海外接続しているNTTグループ設備に障害があったとの事。RT @ayazow53 今日、Twitter繋がらない障害があったんですか?SoftBankは、インフラ弱し!
@shoinoue coreserverに設置しているうちのbotでも同時刻に似た症状がでました。ご参考までに QT: @masason であれば、他のISPなどにも影響があったと思うんですけど、御社グループのISP以外では影響が出た、という話が全く無いようなんですけど...
@hanachan3 coreserverって、どこのバックボーン使ってましたっけ...?
@shoinoue 記憶ないです。以前はさくら系のデータセンターのなかだった気がするのですが、、、。NTT系の設備起因ならもう少し影響範囲広そうですよね。 QT: @hanachan3 coreserverって、どこのバックボーン使ってましたっけ...?
言い訳を反省。当社インフラ弱しとか言われ感情的に…。RT @nyanmayu NTTのせいにしてるよ…。 RT @masason: 申し訳…。NTTグループ設備…RT @ayazow53 Twitter…障害…?SoftBankは、インフラ弱し!
@masason 【お詫び】先ほどは不躾な物言いになってしまったようで、失礼しました。通信会社は、ネットワーク構成全体(その中に他社設備を使うかも含め)につき、エンドユーザーに対して一義的に責任を負うべき、という思いの、つぶやきでした。他意はありません。
原因はまだ正確にわからない(発表がない)ものの、だいたいの状況に照らせばちょっとだけ孫さんカワイソウ……
まぁ最近のパケット詰まり(例えばアンテナの表示は3本なのに、パケットがなかなか落ちてこない状況)を考えると、イメージで叩かれちゃうのもあると思うんですけどね。
しかし「通信会社は、ネットワーク構成全体(その中に他社設備を使うかも含め)につき、エンドユーザーに対して一義的に責任を負うべきという思い」(というよりは前提)ってのは、弁護士としてはねぇ……。
道義的責任はもちろん負うけど、インターネットサービスでそこまで厳格な責任を要求したらハイコストで実用性がなくなっちゃいます。