AWSの障害

雨昼の12時59分くらいに、会社で使っているAmazon Web Servicesという、クラウドサーバーとかが作れるPaasがあるのだけど、そこで設定している監視システムから、サーバーのステータスチェックに失敗したとアラートが飛んできた。
コントロールパネルにログインして、EC2のインスタンス一覧を見たが、ステータスは全て正常になっていた。 なんだろうかと思って、該当のインスタンスにSSH接続をしようとしたが応答がない。 コントロールパネル内にある、ブラウザからSSH接続できるものを試してみても応答がない。 試しに、該当インスタンスではない、別のインスタンスに接続してみたら正常に接続できた。
サーバーは生きているけど、負荷が上がりすぎたりとかで応答を受け付けなくなってるのかもと思って、コントロールパネルからインスタンスの停止をしてみた。 だが、ずっと「Stopping」のままでいつになっても止まらない。 十数分後に再度停止をしようとした際は「既に停止中なので強制停止になります」みたいなアラートが出てきたが、とりあえず止めたいのでそれを実行。 だが、それでも「Stopping」から変化がない。
待つこと更に数十分。 そしたらステータスが「stopped」に変わって、ようやく停止できたようだ。
全然止まらないのが怖いので、サーバーのイメージでも保存しておこうと思って、AMIを作ろうと思って、停止中のサーバーからイメージの作成と進むが、エラーメッセージは忘れたが、エラーが出てイメージの作成ができない。 名前や説明に使われている文字がいけないのか?と思い、それらを調整してやってみても上手くいかない。
まさかと思うけど、サーバー停止中だとダメなのかな?と思い、サーバー起動する。 すぐにステータスが「Running」になったので、AMI作ろうと思ったがまだ出来ない。
エラーが出ている時点で検索でエラーメッセージは調べているが、解決しそうにないな…… Twitterは広告収入目的ではなく、純粋に技術者がつぶやいたりしてくれているので、そちらでも検索したが解決の糸口は見えず。 だが、Twitterを眺めていたら「AWS障害」というキーワードが目についた。 見てみると、東京リージョンの一部AZのネットワーク不良みたいなことが書かれていた。 この時点で、これが原因だったのかもと、ようやく判明した。 先程再起動したばかりのマシンにSSH接続を試みたが、やはり接続は出来なかった。

障害が発生しているとわかったらやることをやらねば。 フロントは2台構成で、ELBのターゲットをチェックすると1台がunhealthy、もう1台がhealthyになっているので、おそらく障害発生時から1台運用に自動的に切り替わっている。 ステータス見て、元に戻ったら勝手に振り分けてくれるので、ここは放置。 一通り表示の確認をしたが問題はなかった。
13時37分くらいに会社の人に連絡して、今の状況を伝えた。 今の時点でできることは何もなく、ただ待つしかない。

色々情報を見ていたら、「apne1-az4」というゾーンがダメになったらしい。
フロントはapne1-az1とapne1-az4を使っていて、ELBも同様。 RDSはマルチAZにしていて、apne1-az1とapne1-az4。 RDSはapne1-az1がマスターなので、特に今回は障害の影響を受けてないと思うのだけど、逆だったら、自動的に切り替わっていたのかな?
会社のサイトは全て閲覧できる状態だったので良かった。

一方TwitterではAWSというより、主にAWSを利用しているソーシャルゲームのユーザーの発言で大炎上していた。 「いつになったらメンテ終わるのか?」とゲーム会社にクレーム入れてる人とかいたけど、「AWSが直り次第」という回答しかできないだろうな。 ユーザーからしたら、ゲーム会社がどのサーバー使ってるのかなんて関係ないので、クレーム言いたくなる気持ちはわかるが。
もちろんゲーム会社にも責任はあって、企画の段階でAWSを選択した事実がある。 他にも同様のPaaSはあるので、他を選択する余地もあったが、上の人から結果論で「なんでAWS選んだの」と言われても困るだろうけど。
車買う時、トヨタか日産で悩んで、色々考えた挙げ句日産を選んだ人が、ゴーン会長が逮捕されて周りの人から「なんでゴーンのいる日産なんて選んだの?」と言われているようなイメージだろうか。

いくらクラウドで簡単にサーバー作れたり設定できたりするとはいえ、AWS落ちましたからすぐに他のPaaSに移ります、なんてのは出来ないし、やろうとしたら数週間~数ヶ月単位の作業になるのではないだろうか。
障害自体は16時位に一部解消され、22時くらいに完全復旧したらしい。

今回の騒動でAmazonって通販だけじゃなかった、と知った人が大勢いただろう。


で、タイミングが非常に悪いことに、この騒動のさなか、友達から「Wordpressが改ざんされフィッシング詐欺サイトになっちゃったのだけど助けて」と……
見てあげたかったが、AWSの方に注力しないといけなかったので、あまり見てあげられず、結果的に友達が自力で改ざんされたファイルを探し出して元に戻して、とりあえずは解決した。
が、どこ経由で改ざんされたのかを調べないと、またやられるだろうな。 古いバージョンのWordpressを使っていたので、本体かプラグインの脆弱性とかだろうけど。 FTPのIDPW漏れも可能性はあるが、FTPログを調べたらその可能性は無くなった。
改ざんの糸口を見つけるために、最後に大丈夫だった時と、改ざんに気づいた時までの間のアクセスログは保存しておいたが、この日記を書いている今でも、まだチェックできていない。

さらに同時間帯に社長から電話があり、来月出張に来てほしいと。 それはいいのだけど、ホテルや飛行機を手配して教えて、と。 なのでAWSを見ながら、Wordpressを見ながら、ANAとJALとホテルをチェックしつつ安い手段を探していた。 ANAもJALも飛行機往復で48,000円もする。 ホテルが1泊1万くらいなので、68,000円くらいもするのだな。 だけど、ANAの旅作という飛行機+ホテルのプランだったら、会社からはちょっと離れるけど、朝ごはん付きのプランで55,000円で予約することができた。 まぁ会社のお金なので浮いた13,000円を自分がもらえるわけではないけど。

今回、社長の知り合いが凝ったWEBサイトを作りたいらしく、その打ち合わせに社長と一緒に参加してほしいと。 打ち合わせはいいのだけど、お酒飲みながら打ち合わせでもいいか?と聞かれて、自分は別にいいのだけど、そんな感じで打ち合わせしてしまって大丈夫なのだろうか。 お酒飲みながらじゃメモとかも取りにくいし、困ったなぁ。 音声録音させてもらおうかな。 ただ、お酒飲む店だとうるさくて音がよく拾えなさそう。


今日は雨なので、トレーニングはお休みにした。

ナイジェリアの女性講師

曇りときどき晴れ朝はナイジェリアの56歳の女性講師と英会話レッスン。 今日からネイティブキャンプの評価システムが変更になっていて、今までは着いていた評価全ての平均点が表示されていたけど、最新100件の平均評価に変更された。 理由は明確で、1~100レッスンくらいまで、特に最初の20レッスンくらいは慣れていないので低い評価が先生に付きやすい。 その時に受けた評価1や評価2を、ずっと引きずることになっていたので、それはかわいそうだ。 最新100件になれば、それが解消されて、評価もより現在の先生に対する評価に近づいてくるので、いい仕様変更だと思う。
で、その新システムで5点満点中4.97点ついている先生だったのだけど、自分にはあまり合わない感じがした。 具体的に何がと言われると難しいのだけど。

仕事は先日作成したやつを昨日上げているので、それのフィードバックをもらって軽く手直しするくらいで済んだので良かった。

夜はバイクトレーニングへ。 今日は序盤からいい感じで時速30kmくらい出すことができて、いつもより速く走れている感じはした。 高松空港に向かう上り坂で、一昨日植え込みに突っ込んだヶ所も普通に通過して、高松空港ターミナルを1周して、国道193号線に下りて帰ってきた。
18.6kmを45分08秒で、久々の45分台だった。

歯医者

曇り朝は歯医者へ。 歯医者に電話をしたのは7/30なのだけど、夏休み期間中だからだろうか? 9時から予約を取れる最短が今日だったのだ。 歯が痛かったり不調だったりして通院するのではなく、定期的に異常がないか見てもらうだけなので、3週間後の予約でも問題はなかったのだけど。
で、左下の奥から3番目の歯の歯茎の付け根に、小さな穴が開いていたので削って埋めてもらった。 きちんと磨いているつもりでも磨けてないから虫歯になろうとしてるんだな。 やっぱり定期的に見て貰う必要はあるな。 自覚症状が出てからでは遅いので。

夜はトレーニングには行かず。 バイクで負荷は軽いとはいえ、やっぱり3日に1日くらいの頻度でトレーニングしたいなぁ。 追い込まないと行けない時は5連続で1日休んで6連続とかあったので、疲労も抜けずに、数週間くらいキロ5分40秒が限界のような走りになっていたりしていたので。

英会話レッスンは夜に1レッスンだけ。 最近ちょこちょこ指名しているフィリピンの男性講師を指名したのだけど、最初に「夜にシフトチェンジしたんだ」みたいなことを言っていた。 最初何を意味しているのかわからなかったけど、レッスン履歴を見てみたら、この先生を指名していたのはいつも朝9時くらい。 この先生は朝の先生だったのか。 自分は朝も夜もやるので、特に違和感を感じていなかったけど、夜はいなかったから、そういう風に言ってきたのだな。

設計をやり直す

曇りときどき雨朝は郵便局へ。 久しぶりにメルカリで商品が売れたので朝一番で郵便局に配送しに行ってきた。 メルカリ初めてちょうど1年くらい経つが、最近は売るものもなく、前から出品しているものを、そのまま放置しているだけだった。 売れたと言っても本なので450円で、そこから手数料や配送料が引かれるので200円くらいの収入しかならないが……
メルカリの決済サービスメルペイは一度も使ったことないが、振り込みしてもらえる10,000円まで、売るものもなく到達しなさそうなので、コンビニとかで使ってしまおうかな。

仕事では、今日中に方をつけたい仕事があったが、昨日中途半端にやっており、それの設計が全然よろしくなかったので、機能設計した部分を全部破棄して、一から作り直した。
具体的にどこが設計が良くなかったかというと、DBのアンチパターンの「マルチミーニング」と言われるものだ。
Googleフォームのように、自由にアンケートを設計できる機能があるのだけど、それとほとんど同じ設計で、ユーザー登録する機能を作ろうと思っていたのだ。 で、横着してアンケートで作成したテーブルにユーザー登録のデータをもたせるような感じにしていたのだが、これが非常によろしくなかった。 なので、設計的には無駄になるが、どちらも独立したテーブルになるよう作り直して、処理も似たような処理になるが、一部違う部分があるので、別のクラスを作ってやった。 神クラスのように、同じクラスで処理することも可能だったが、どうしても「アンケートの場合」「ユーザー登録の場合」と処理を分けなくてはいけない部分があり、そうなるとメソッドの設計的にダメなので。 結果的に、やり直していいものができそうな感じになった。 もうちょい時間がかかると思ったけど、思ったより早くできてよかった。
明日レビューしてもらい、明後日手直しして、3日後にリリースのような流れだ。

夜は3日連続バイクトレーニングへ。 同じく高松空港を巡る18.6kmコースへ。 今日は走行中にアクシデントがあり転倒してしまった。 転倒した場所は高松空港のターミナルに入る直前、空港公園の駐車場入口を通り過ぎた辺り。 ここの辺りが、このコースで一番勾配がきつい部分で、ギアを一番軽くして走っているため、時速11kmくらいしか出てない。 スピードが遅いのが災いして、ちょっとよそ見をしたときに、ハンドルがグラリと取られて、そのまま左の縁石の上にある植え込みに突っ込んでしまった。 転倒というか、植え込みに突っ込んで体がそちらに倒れたが、バイク的なダメージは受けなかったので良かった。 左腕を少し擦りむいた程度で済んだ。 もっとスピードが出てればハンドル取られなかったと思うのだけど、スピードが遅いのが幸いして、ほとんどダメージが受けなかったのは良かった。
アクシデント自体は10秒くらいのロスしかならなかったので、18.6kmを48分30秒だった。

Windowsの言語を英語にする

雨のち曇り仕事用のパソコンではない、先日メモリ12GBに換装してパソコンのWindowsの設定で言語を英語にした。
Google ChromeやFirefoxはWindowsの言語設定とは独立して、ブラウザ自体に言語の設定があった。 おそらくブラウザインストール時に、OSの言語が適用されて保存されるのかな?
Photoshopも同じような感じで、Adobe Creative Cloudの言語設定があり、そこを英語にして、Photoshopをインストールし直して、環境設定からUI言語というのを「英語」に切り替えたら、Photoshopも英語になった。
とりあえず、意図的に英語にしたのはOS、ブラウザ×2、Photoshopのみで、ソフトウェアによってはOSの言語を読み取るみたいなので、Cyber Duck等は勝手に英語になった。
これからしばらくの期間、英語で使っていき、慣れたら仕事用のパソコンも英語にしてしまおう。
だが、意外に英語にしても困っておらず、それはWindowsの設定など今更やらないから、Windows自体が英語になってもほとんど不便を感じず、ブラウザは直感的に操作できるし、Photoshopが鬼門かと思っていたが、よく使うものは文字をラベルとして認識するのではなく、大体の位置で覚えている感じだったので、普段する操作に関しては、英語でなく韓国語とか全く読めない言語でもいけそうな感じだった。 自分がする操作は非常に限定的だからだな。

今夜もトレーニングはバイクを。 昨日と同じく高松空港をめぐるコースを走ってきた。 昨年に比べるとバイクの実力はかなり落ちているので、焦らずとじっくりトレーニングに励む。
18.6kmを47分23秒だった。 タイムは昨日とほぼ同じ、22秒速くなっただけだった。 昨年は平均して44分台、自己ベストは42分16秒なので、こうやって見比べると落ち込むが。

今日は夕方から非常に忙しくて、夜もトレーニングに行くのを諦めたくなるくらい時間に追われていた。 その為、英会話レッスンは出来ずに…… 明日も同じ調子で忙しそうなので、出来なさそうだな。

有明浜海水浴場

晴れお盆が終わり、夏休みも終盤へ。 子供たちは26日から学校なので、日曜日は今日含めて残り2日しかない。 来週末は友達が誘ってくれたキャンプに子供たちを連れて行くので、今日が遊べる最後の日曜日になるだろう。
先週と同じく貞光川に行こうと思っていたのだけど、台風の影響で水かさが増しており、昨晩の時点では流れが速くて泳げる状況ではないのを、美馬市のライブカメラで確認していた。
一晩経って、朝になったらどうかなと思って、ライブカメラを見たが、昨晩より水かさは減っているけど、川で遊ぶのは難しそうだなぁ。
子供たちには昨夜から「川は遊べるかわからないから、海にするかも」とは伝えていた。 貞光川に行ってみて、ダメだったら海へ移動、という手段もあるが、それだと2時間近くかかってしまう。
最初から海に行くのであれば50分もあれば到着する。 子供たちに判断を委ねたら「海でいい」とうので、最初から海に向かうことに。

9時位に出発して、ハローズに寄って飲み物やお菓子を購入。 高松西ICから高速道路で豊中ICで下りて、有明浜海水浴場を目指す。 まだ朝早かったからか、海水浴客は10組くらいしかいなかった。
有明浜は満潮時と干潮時で、水深が3mくらい変わる。 スマホで調べたら、今日の満潮が12時半、干潮が18時半とのことだったので、これから満潮になる。 干潮時には浅瀬になって、カニやヤドカリ、小魚を捕まえられるので、子供たちはそれを楽しみにしていたのだが、干潮になるまで、かなり時間がかかるな……
満潮でも、浮き輪もあるし、海に入って遊ぶことはできるので、遊んでいた。
有明浜海水浴場

お昼は子供たちだけ海の家のカップラーメンを食べる。 自分はカップラーメン食べられないので、ハローズで購入したお弁当をクーラーボックスの中に冷やしてあるので、それを食べる。
昼食後も海で遊んだり、砂浜で遊んだり。 満潮時刻を過ぎてからは、目に見えて潮がひいていくのがわかる。 そして15時過ぎになって、ようやく浅瀬が出現した。 昨日購入した熱帯魚用の網や水槽を持ってきてあるので、小魚を捕まえたり、ヤドカリを捕まえたりして遊ぶ。 浅瀬の砂はとてもやわらかいので、子供たちはそこにお風呂みたいなものを作って遊んだり、干潮の海を満喫していた。
17時半くらいまで、たっぷりと海で遊んできた。 多分、今シーズン最後の海水浴だが、満足してもらえただろうか。
浅瀬が出現

夜はトレーニングへ。 足の調子が絶望的なので、月間200km目標は今月は諦めて、今日からランではなくバイクでトレーニングすることに。 足にかかる負荷がほとんど無いので、脚と心肺能力を維持&向上させるためにはトレーニング自体は休むわけにはいかないから。 高松トライアスロンが終わってから自転車に一度も乗っていなかったので、久しぶりだな。
ライトやポーチなど、レース時にすべて外していたので、それらをすべて付け直して、久しぶりのバイクトレーニングに出発。
高松空港をめぐる18.6kmコースを走ってきた。 久々の自転車は太ももがやられたのと、息が上がる前に脚が保たない。 もっとギア軽くしてでも、心肺に負荷もかけないといけないな。
18.6kmコースを47分45秒だった。

熱帯魚用の網

晴れ午前中は三女のスイミングへ。 スイミングの待ち時間は、昨日に引き続き本を読む。 「下町ロケット ゴースト」を読んでいるのだけど、こういう金融小説やスポーツアニメ、格闘アニメだと、どうしても金額や強さがインフレしていく傾向にある。
小説だと、同じ池井戸潤が書いた「半沢直樹シリーズ」が顕著なのだけど、5億→200億→3000億と、回収しなくてはならない金額がどんどんと大きくなっていく。 ドラゴンボールもフリーザ様の戦闘力が53万で震え上がっていたのに、悟天やトランクスの時代に蘇ったフリーザが、悟天の軽い一撃で玉砕していたり、ワンピースはあまり見たことがないので詳しくはないけど、次から次に強すぎる敵が出てきたり。
「下町ロケット ゴースト」は、まだ3分の1くらいしか読んでないけど、冒頭に出てきた数千億という数字を見ると、インフレしていくのかなぁと思ってしまう。

スイミング後は、西村ジョイで熱帯魚用のアミや小さい水槽などを買った。 熱帯魚を育てるわけではなく、川や海で小魚を捕まえるために。 先日訪れた貞光川で見つけた網は、河原に忘れてきてしまったので。
同じような網が200円くらいでここに売っていたので購入した。 お昼ごはんは西村ジョイのフードコートでナポリタンを食べる。
ナポリタン

特に行く場所もないし、外は暑すぎるので、午後からは家で過ごしていた。 時間があったので、今日は英会話を4レッスンできた。
夜はジョギングに行ったのだが、足の状態が悪化していて、まともに走れなかった。 すぐに切り上げたので3.2kmしか走れなくて、19分45秒で、キロ6分07秒ペースだった。 足の状態がまずいなぁ。
効果なさそうだけど、一応湿布を貼って安静にする。 明日以降のトレーニングは、明日の状態を見ながら考えよう。

激辛ラーメン

晴れ6連休明け、金曜日は仕事があり、土日がまた休み。 久しぶりに金曜日のモーニングへ。 最近朝も忙しくて全然来ることができなかった。 モーニングを食べながら、これまた久しぶりな読書をする。 三女が小学校に進学した4月から、朝保育園に送っていくことが無くなったため、朝家から出ることがなくなった。 モーニングを食べながらいつも読書をしていたので、モーニングを食べる機会が減るということは、読書する機会も減るということ。 家でも読書はできるが、なかなか家では読むことができない。 パソコンや英会話レッスンなど、読書より優先されるべき事項があるので。
モーニング

仕事はあまりやる気がおこらず…… 来週中に仕上げなくてはならない機能があるのだが、来週は5日もあるし……今日頑張らずに、来週やればいいかな、と思えてしまう。 あまり手を加えて、土日挟んで月曜日に少し頭の中を巻き戻すよりは、月曜から一気に仕上げたほうが効率は良いと思う。

妻たちが友達の家に夕飯を食べに行ってしまったので、長男のスイミングを迎えに行って、長男と「夜仲そば」で激辛ラーメンを食べてきた。
激辛ラーメン

夜はジョギングへ。 6日間トレーニング休んでいたのに、先日書いた左足の状態が以前より悪くなってる気がする。 太もも~ふくらはぎにかけての疲れも全然取れていない。
とりあえず9.6km走ったが、56分18秒で、キロ5分51秒ペースだった。 とても6連休明けのペースとは思えない。
あれよあれよという間に、丹後ウルトラマラソンまで1ヶ月になってしまった。 7月から全然ペースを上げたトレーニングが出来ておらず、かろうじて200km走れている状態が続いている中、左足の痛みが。
まぁ1ヶ月もあるので無理しなきゃ治るだろうけど、レースがどうなるかが心配だ。 42kmはゆっくりでいいのなら間違いなく走れるけど、問題はそこからの18kmだしな…… 50km超えた状態とか想像すらできない世界だ。