ガンズターン 公式サイト

楽しいことに、まじめです。 ——ガンズターンアプリ研究所公式サイト

ブログを長期間放置してたら色々まずくなってた件

Pocket

1. 色々重なって大変だった話

いや〜、しばらくぶりの更新です。
どうもお久しぶりです。ガンズターンのRyosukeです。

ずっと放置していたこのブログですが、今朝方まで長いことサーバーが落ちてました。
現在は復旧しましたが、割と手間取ったので、日記がてら顛末をまとめておこうと思います。
あ、AWSやサーバー関係に興味ない人には「なんのこっちゃ?」という話になろうかと思いますので、その点についてはあらかじめご了承ください。

2. 何が起きた?

当ブログでは、かつてサーバ運営の勉強をかねてAWSに自前で立てたEC2を用い、その上にWordpress環境を構築して運用しています。
これまで特段目立った問題は起きていないんですが、たまにそのEC2上で常時動いているタスクであるところの「mysqld」が止まっちゃうことがあるんですよね。
(原因調べてないけど、たぶんメモリの関係だと思います)

解決方法はいたって簡単で、ブログサーバーにSSHでログインして「mysqld restart」を叩くだけ……
なんですが、今回ここに至るまでが長かった。

いくつかの問題が重複して発生(というか、発覚?)し、厄介なことになっていたので、1つずつ順を追って説明していきます。

3. 固定IPサービス使えない問題 (MacOS Sierra へ更新したせいでPPTPによるVPNが不可になった関係)

まず、前提として。
当ブログのサーバーでは、セキュリティ上の理由から、特定のIPアドレス以外からのSSH接続はできないように設定しています。
しかし固定IPを個人で取得するサービスはコストが高くつくので、自分はVPNを応用した某固定IPサービスを利用しているんですが……

いつの間にかそのサービスに接続することができなくなっていました。

てっきり、そのサービスのアカウント名やログインパスが間違ってるだけかと思って色々やってみましたがどうにも上手くいかない。

ひょっとして気づかないうちに利用方法変わったのか、と思って調べてみたら……
衝撃的な事実に直面しました。

なんと「macOS Sierra」にアップデートしてしまうと、OS側でPPTP接続がサポートされなくなり、PPTPを利用していたその固定IPサービスも利用できなくなってしまうということだったらしいのです。
(昨年11月頃に、固定IPサービスの提供元から注意喚起のメールは来てたのですが、詳細読まずに放置してました。汗)

新たにL2TPを用いた接続でサービスを継続利用することはできるのですが、それをしてしまうと、これまで使用していた固定IPが使えなくなってしまうという状況で……
仮に新たに固定IPを取得したとしても、そのままではAWS側のファイアウォールに弾かれてしまい、SSH接続はやはりできません。

これを解決するには、AWSの管理画面上から、EC2なりELBのセキュリティポリシーをいじり、新たな固定IPに対応させる必要があるのですが……

そこでまた新たな問題が勃発しました。。。

4. AWSのMFA認証が通せない問題(Google Authenticator のデータがまるまる消えていた関係)

AWSの管理画面に入るためのログイン認証の一環として、MFA認証という仕組みがあります。
要は、デバイス(ハードウェア)に紐付いたワンタイムパスワードのことですね。
設定するしないは自由なのですが、仮に悪意ある人にアカウントを乗っ取られた場合、最高級のEC2を何台もぶん回されてしまう可能性があるので、自分はMFAを設定しています。
(たぶんそれされると一日で数万円ぐらい課金されてしまうはず)

……で、このMFA。
普通に利用する分には、簡便にセキュリティを担保できる素晴らしい仕組みなのですが……

自分の場合、スマホの「Google Authenticator」というアプリで管理していたMFAアカウント情報が、気づいたら全て消え去っていたのでした。。。

これ、初めて知った時は衝撃だったのですが……
どうもこの「Google Authenticator」、機種変更時に自動ではアカウント情報を引き継いでくれないようなのですね。
少し考えればセキュリティの仕組み的に当たり前の話なのですが、軽い気持ちで機種変しちゃった自分にとっては衝撃でした。

……なぜなら、機種変してGoogle Authenticatorのアカウント情報が消えてしまったために、AWSのMFA認証をパスできなくなってしまったのですから……

5. がんばって問合せ

さて。
ただブログサーバーにSSHしてコマンド一つ叩きたいだけだったのに、この遠回り。

実際のところ、AWSの管理画面にアクセスできないとわかった時点で、自分の心は音を立てて折れそうでした。

しかしまあ、MFAうんぬんは置いておくとしても、AWSのコンソールにアクセス出来ないというのはわりかし致命的な状況でして。

まだ個人で運営してるブログだからいいとして、これが仮に会社で運営してるサーバーとかの話だったら顔面真っ青どころの話じゃありません。

なにしろ、サーバーで何かトラブルが起きても、再起動一つすることができなくなっちゃうんですから。

というわけで、仕方なく、Amazonさんの問合せフォームから「MFAデバイスが壊れた」的な選択肢を選んで送信。(このフォーム、当然ですが全部英語です

この時点で、日本時間の深夜2時ぐらいだったんですが、なんとすぐさま電話が鳴ってびっくり。
iPhoneの画面を見ると「シアトル」の文字が。汗

Amazonさんなのですから海外から電話が来るのは当然っちゃ当然ですし、問合せフォーム上でも「英語で電話するから英語以外の言語で話したかったらその旨英語で教えてくれよ」的なことが書いてあったんで、ある程度覚悟はしてたんですが……

それにしても、フォームで問合せてから数分(多分1時間は経ってなかったはず)で連絡が来たので、ちょっとテンパっちゃいました。

何やら早口の英語で自己紹介されるも、半分眠いのと緊張してたのであんまりよく聞き取れずとりあえず「おーいえす。はい。いえすいえす。アイウォントゥトークジャパニーズ、オーケイ?」と適当なことを言っていたら、なんとか通じたみたいで「明日日本語できるやつからかけなおすぜ。ハバナイスデイ」的なことを言われて電話は切れました。

なんかよくわからなかったけど、多分大丈夫だろうと思い込むわたくし。
仮にもプログラマとしてご飯食べてるんだから、日常英会話ぐらいできないとまずいなーと日頃から危機感は持ってるんですが……
今回の件で再度、英語力の重要性を痛感いたしました。

6. ようやっと復旧。。。

前述の諸々を経験したのが、先週の金曜日のこと。

……で、昨日から今朝にかけて。
Amazonさんの日本語を話せる担当の方から連絡があり、こちらの都合で何度かやり取りが発生しつつ、ようやくのこと、MFAを解除してもらうことに成功しました。

出社時間の直前に、AWSのコンソールに無事接続し、MFAの設定をし直すことに成功。
それからEC2とELBのセキュリティポリシーを変更して新しい固定IPから接続できるようにし、ようやくのことブログサーバー復活とあいなりました。。。
(サーバー落ちてるのに気付いてから、ここまで約一週間。ただコマンド一つ打つためだけにとんだ回り道をしたもんです。。。)

7. 超反省点

今回のことは、いい経験にはなりましたが、それ以上に超反省中です。
というのも、全ての原因は、このブログを長いこと放置し続けてきた自分にあるからです。

macOS Sierra でPPTPが使えなくなったのは、半年前でした。
対して、自分がスマホを機種変したのは昨年の10月。(つまりAWSのコンソールにはその頃からログインできなくなっていたはず。)

つまるところ、こまめにブログサーバーの調子をチェックしていれば、一つ一つが起きたタイミングで気づくことが出来、もっとシンプルな対応で済んでいたはずなのです。

これに懲りて、今後は少しだけ、ブログの記事をアップするペースを早めようかなと思った次第です。

……といっても、仕事関係のことはあんまり書けないので、半分日記みたいな駄文になるかもですが。
書いてるうちに、いいネタ思いつくかもなので、あまり深く考えずにいきます。

というわけで、久しぶりの執筆で思わぬ長文になっていて自分でも超びっくりしつつ――
今日はこのへんで。
ガンズターンのRyosukeでした! m(_ _)m
(これ書くのも久しぶりだな。笑)

Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

トラックバックURL: http://www.gunsturn.com/2017/08/02/diary20170802/trackback/