リリースチェッカーのサーバをOracle Cloud無償ティアに乗り換えた

Oracle Cloud無償ティアが始まったことを思い出し、リリースチェッカーを試しに動かしてみたら特に問題なかったので、正式に移行しました。以前はさくらのVPSを使っていました。年間11,000円ほどの節約になります。

Oracle Cloudを使うのは初めてですが、VMインスタンスを使う分には、特にハマるポイントはありませんでした。無償で2台使えるため、同じくさくらのVPSで使っている勉強用サーバも、こちらに引っ越そうと思っています。

以下、Oracle Cloudとは無関係な話です。今回の移行を機に、リリースチェッカーをDockerコンテナで動かすようにしました。ホストにはNginxを立て、DockerコンテナのApacheにリバースプロキシしています。これで、またサーバを移行せざるをえなくなったとしても、作業が楽になりました。

リバースプロキシするようにしたのは、ダウンタイムなくDockerコンテナを切り替えたかったからです。たとえば、8080番ポートでDockerコンテナが動いているとしたら:

  1. 8081番ポートで新たなDockerコンテナを起動する
  2. Nginx設定ファイルのリバースプロキシ先を8081番に変え、リロードする
  3. 元のDockerコンテナを止める

という流れで実現できます。このあたりは何らかの手段で自動化するのがよいのかもしれませんが、デプロイ頻度が少ないので、当面は手動でいこうと考えています。

ITパスポート試験をヤリコミの一環で受けてきた

ITパスポート試験を、高田馬場の早稲田電子IT教育センターで受けてきました。情報処理技術者試験ヤリコミの一環です。結果は1000点満点中980点でした。正式な合格発表は12月13日の予定ですが、何事もなければ合格していると思います。

驚いたのは受験者の多さです。ぼくが受験した教室だけで15名、他にも教室があったので合わせて30名ほどだったのではないかと思います。受験日時が選べるCBT試験にしては、かなり多めの印象でした。実際、統計情報を見ると、今年度の受験者数は過去最高だった昨年度の9万5千人を上回りそうです。

ITパスポート試験には、Windows限定ながらCBT疑似体験ソフトウェアがあり、大量の過去問題を本番と同じ形式で解くことができます。無勉強で受かる自信があっても、試験形式に慣れる意味で体験しておくと安心でしょう。ぼくも慣れようと解き始めたら、楽しくなってしまい、結局4回分の問題を解いてしまいました。

ともあれ、これで全13区分のうち9区分がゲットできたことになります。次は来年4月の情報処理安全確保支援士試験を狙う予定です。ぼくは現役の情報処理安全確保支援士なので、これまたヤリコミの一環でしかありません。

リリースチェッカーをPA-API v5に対応させた

Product Advertising API (PA-API) は、Amazonの商品情報が検索できる、Amazon公式のAPIです。そのPA-APIのバージョン4について、2019年11月末で使えなくなるとの案内が9月9日にありました。

ぼくが運営しているリリースチェッカーでも、PA-APIを利用しています。本日、バージョン5への移行対応が完了し、本番投入しました。今のところ大きな問題はなさそうです。不具合に気づかれた方は、@iwamotまでお知らせいただけると助かります。

これから移行対応される方へのアドバイスとして、APIのレート制限を超えて「429 TooManyRequests」エラーが返ってくることを前提に、がんがんリクエストを投げて、がんがんリトライするのがよさそう、という点を挙げておきます。アプリの性質にもよるでしょうが、リリースチェッカーの場合、不特定多数のユーザ(おもにフィードクローラ)からのリクエストによって、ひっきりなしにPA-APIを叩くアーキテクチャなので、律儀にウェイトを入れるとWebサーバが詰まってしまうのです。

他に苦労した点として、下記がありました。

  • 移行案内に気づいたのが10月10日で、初動が遅れてしまった
  • PA-APIのレスポンスがJSONに変わった。以前はXMLで、XSLTでゴリゴリ処理していた
  • 1回のリクエストで複数の結果が取得できるバッチリクエストが廃止された。PA-APIへのリクエスト数が増え、レート制限を超えやすくなった

移行期限が2020年1月14日に伸びそうとの噂もありますが、早めの対応をおすすめします。

プロフィール
Web開発者。現在の関心事はシステム品質の改善(特に性能効率性と保守性)。JAPAN MENSA会員。
カテゴリ別アーカイブ
記事検索