コメントID:1235の詳細[Claude Codeさんの投稿]

新規サーバー契約・移行の指示書(PLUS社向け / 実測ベース)

現在ASPの日次取得を動かしているサーバーは個人契約のConoHa VPSです。これをPLUS社名義の契約へ移すための指示書をまとめました。現行サーバーと両リポジトリ(asp_data_get / asp_referrer)を2026-08-18時点で実測し、その値を根拠にしています。

要点は3つです。第一に、現行機の名義変更ではなくPLUS社名義での新規契約をお願いします。現行機には本件と無関係な個人用の資産が同居しているためです。第二に、移すのはスクリプトと実行環境だけで、データベースは受け先2サイト(Xserver側)にあるためデータ移行は発生しません。第三に、スクリプトの改修は必須です。現行はChrome 86(2020年10月)とSelenium 3系で固定されており、新しいサーバーに入るChromeとは組み合わせられないためです。

以下が指示書の本文です。契約仕様、PLUS社側で用意していただくもの、こちらで進める準備、確認していただきたい点を分けて記載しています。


新規サーバー契約・移行 指示書(ASP日次取得システム)

対象: ASP発生額取得(asp_data_get)とリファラー取得(asp_referrer)を動かしているサーバー1台
現状: 上記2系統は個人契約のConoHa VPS(160.251.6.246)上で稼働しています。これをPLUS社名義で契約したサーバーへ移し、契約・支払い・権限をPLUS社側に一本化することが目的です。
調査日: 2026-08-18(現行サーバーおよび両リポジトリの実測に基づく)


0. 結論

  1. PLUS社名義で ConoHa VPS「2GBプラン」(3コア / メモリ2GB / SSD 100GB)を新規契約 してください。OSは Ubuntu 24.04 LTS を選択します。
  2. 現行サーバーの名義変更ではなく 新規契約 とします。現行機には本件と無関係な個人用の資産が同居しており、名義ごと引き継ぐ形は取れないためです。
  3. 移行すべき永続データは実質ありません。データベースは受け先2サイト(Xserver側)にあり、今回移すのは「スクリプトと実行環境」だけです。
  4. ただし スクリプトの改修は必須 です。現行はChrome 86(2020年10月)とSelenium 3系で固定されており、新しいサーバーで入るChromeとは組み合わせられません。改修点は本書「5. スクリプトのバージョン対応」に実測で列挙しています。

1. 契約してもらうサーバー仕様(申込画面で選ぶ値)

項目 指定値 理由
サービス ConoHa VPS 現行と同一事業者。ネットワーク挙動・OSイメージの差異による移行事故を避けられる
プラン 2GBプラン(3コア / メモリ2GB / SSD 100GB) 現行は1GBプラン。実測でスワップを537MiB使用しており物理メモリが逼迫している。Chromeを毎日十数回起動する用途では2GBが妥当
OS Ubuntu 24.04 LTS(64bit) Google Chromeの公式リポジトリが使え、更新が安定する。サポート期限2029年4月。ConoHaでは現行のCentOS 8はすでに選択できない
リージョン 東京 ASP各社・受け先サイトとも国内
追加ストレージ 不要 現行機のディスク使用量42GBは大半が本件と無関係な個人データ。本件のスクリプト本体は実測4.2MB。取得済みCSVの蓄積分は権限の都合で計測できていないが、100GBに対して余裕がある
自動バックアップ 任意(推奨: 付ける) 月額数百円。設定ミス時の巻き戻しが容易になる

料金の目安(2026-08-18時点・ConoHa公式サイト記載・税込)

プラン 時間課金(月額上限) まとめトク1ヶ月 まとめトク36ヶ月
1GB(現行相当) 1,065円 763円 450円
2GB(推奨) 2,033円 793円 632円
4GB 3,608円 1,380円 1,150円

比較のためXserver VPSも確認しましたが、2GBプランは新規受付を停止中で、4GBプランは月額4,400円(12ヶ月契約で3,600円)とConoHaより高くなります。既存のXserver契約とまとめたい事情がなければConoHaを推奨します。


2. 契約時にPLUS社側で用意・決定していただくもの

  1. ConoHaアカウント(法人名義)。既にあればそこに追加、なければ新規開設。
  2. 支払い方法(クレジットカードまたはConoHaチャージ)。
  3. rootパスワード。契約画面で設定します。値はPLUS社側で管理し、共有時は本タスクのコメント欄ではなく別経路でお願いします。
  4. SSH接続ポリシーの承認。以下を前提に構築します。
    • SSHは公開鍵認証のみ(パスワード認証は無効化)
    • SSHポートは22から変更(現行機も2122に変更済み)
    • rootの直接ログインは禁止し、作業用の一般ユーザーを作成
  5. 作業用ユーザー名の指定。指定がなければ plus とします。
  6. 通知先の指定。現行はエラー・完了メールの宛先と、リファラー側のSlack Incoming Webhookを使っています。移行後も同じ宛先を使うか、PLUS社の別アドレス・別チャンネルに切り替えるかを決めてください。

3. 契約後に共有していただく情報

  1. 新サーバーのIPアドレス
  2. 初期rootパスワード(または初期ログイン手段)
  3. ConoHaのコントロールパネルにアクセスできる担当者(障害時の再起動・コンソール操作をお願いする可能性があります)

上記を受領した時点から構築作業に着手できます。


4. 現行サーバーの実測値(今回の判断根拠)

2026-08-18にサーバーへ接続して取得した実測値です。

項目 実測値
OS CentOS Linux 8.2.2004(kernel 4.18.0-193)
CPU Intel Xeon Gold 6230 / 2 vCPU
メモリ 818MiB(うちスワップ537MiB使用中)
ディスク 99GB中42GB使用(44%)。うち本件関連は約5GB以下
稼働時間 134日
Python 3.6.8
Selenium 3.141.0
chromedriver-binary 86.0.4240.22.0
Google Chrome 86.0.4240.75(2020年10月リリース)
ChromeDriver 86.0.4240.22
pandas / numpy / requests 1.1.4 / 1.19.4 / 2.27.1
Xvfb 未インストール(DISPLAY=:0 は設定されているが実際はヘッドレス動作)
スクリプト設置場所 /var/www/html/asp_data_get//var/www/html/asp_referrer/

補足が2点あります。

  • 引き継ぎレポートには「毎日02:00にrebootする」と記載がありますが、稼働時間が134日であることから、少なくとも直近134日間このrebootは実行されていません。この状態でも取得自体は継続しているため、新環境ではreboot前提の運用をやめ、メモリを増やす方向で組み直すのが妥当と考えます。
  • CentOS 8はサポートが終了しており、パッケージの更新経路が失われています。Chromeが2020年から更新されていないのはこのためで、現行機の延命は現実的ではありません。

5. スクリプトのバージョン対応(改修が必要な箇所)

新サーバーではChromeが最新版(更新され続けるもの)になるため、Chrome 86に固定された現行コードはそのままでは動きません。両リポジトリ(PLUS-Company/asp_data_get、PLUS-Company/asp_referrer)の全ソースを実測して洗い出した改修項目です。

# 内容 実測件数 対応
1 import chromedriver_binary(ドライバをChrome 86に固定) 27ファイル 削除。Selenium 4.6以降は同梱のSelenium Managerが対応ドライバを自動取得する
2 find_element_by_css_selector などの旧API 228箇所 find_element(By.CSS_SELECTOR, ...) 形式へ機械置換。Selenium 4.3で完全に削除されたAPIのため、放置すると全スクリプトが起動直後に停止する
3 DesiredCapabilities のimport 5ファイル 削除(Selenium 4で廃止)
4 ヘッドレス指定 --headless 28箇所 --headless=new と明示する。Chrome 132で旧ヘッドレスは削除され、--headless は自動的に新ヘッドレスとして動くため起動エラーにはならない。ただし実装そのものが別物になるため、CSVダウンロードとDOM取得の挙動を1本ずつ検証する必要がある
5 /var/www/html/... の絶対パス直書き 50箇所以上 新サーバーの設置パスへ置換。CSVのダウンロード先指定(download.default_directory)を含むため、取りこぼすと取得が無音で失敗する
6 /usr/bin/python3 の直書き(発生額側の実行シェル) 1ファイル16箇所 仮想環境(venv)のPythonを指すよう変更。リファラー側のシェルはPATH上のpython3を呼ぶため、こちらはPATH設定で対応する
7 Python 3.6 → 3.12 に伴う依存更新 pandas利用12ファイル pandas 2系・requests最新系へ更新。あわせて動作確認

改修そのものは大部分が機械的な置換ですが、ASP 8社ぶんのログイン動線を1本ずつ実行して確認する工程が必要です。ASP側の画面変更や、Chromeが新しくなったことによる挙動差はここでしか検出できません。取得スクリプトは発生額17本・リファラー15本の計32本あります。


6. 中田側で事前に進めておくこと

契約を待たずに着手できるものと、契約後にしかできないものを分けています。

契約前(着手可能)

  1. 両リポジトリのSelenium 4対応ブランチを作成し、上記1〜7の改修を実施する。
  2. 手元の環境(最新Chrome + Python 3.12 + Selenium 4)でASP 8社ぶんのログインと取得を検証する。ここで各社の画面変更の有無も洗い出す。
  3. 新サーバー用のセットアップ手順書(OS初期設定、Python・Chrome導入、cron登録まで)を作成する。作業を再現・引き継ぎできる形にしておく。
  4. 現行サーバーに置いてある設定値(ASPアカウント、APIキー、通知先)の棚卸しを行い、新サーバーへ移す内容を確定する。値そのものは本タスクのコメントには記載しません。

契約後

  1. 新サーバーの初期設定(作業ユーザー作成、SSH鍵設定、パスワード認証停止、ポート変更、タイムゾーンをJSTに設定)。
  2. スクリプト配置と手動実行での疎通確認。受け先2サイトに正しく登録されるところまで確認します。
  3. cron登録と、初回自動実行の立ち会い確認。
  4. 1〜2週間の並行稼働で新旧の登録結果を突き合わせ、一致を確認したうえで現行サーバーのcronを停止。

7. 移行手順と切り替えの考え方

移すのはスクリプトと実行環境だけで、データベースは受け先2サイト(Xserver側)にあります。したがってデータ移行は発生せず、切り替えは「どちらのサーバーのcronを動かすか」を切り替えるだけです。

ただし並行稼働には条件があります。

  • 同じASPアカウントに新旧2台から同時刻にログインすると、ASP側の同時ログイン制限でどちらかが弾かれる可能性があります。並行期間は実行時刻をずらす(例: 新サーバーは10:44、現行は従来どおり7:44〜9:44)運用にします。
  • 受け先APIには重複判定(check)があるため、二重登録にはなりません。同じ日のデータは後から実行された側で上書きされます。したがって並行期間中は「新サーバーの結果が正しいか」を毎日確認する必要があります。

切り替え完了後、現行サーバー上のASP関連ディレクトリとcronは停止・削除します。現行サーバー(個人契約)自体は他の用途があるため解約はしません。


8. PLUS社に確認・判断していただきたい点

  1. ASP各社の管理画面にIP制限をかけていないか。 かけている場合、新サーバーのIPアドレスを各ASPの許可リストへ追加する作業が必要です。ASP側の設定変更はPLUS社アカウントの操作になります。
  2. 通知先(エラー・完了メールの宛先、Slack Webhook)を現行のまま使うか、PLUS社側のものへ切り替えるか。
  3. リファラー側の受け先である data-organizing.com の扱い。 このドメインはXserver上で稼働しており、今回移すConoHa VPSとは別契約です。今回の対象外としていますが、こちらもPLUS社名義への整理が必要かどうかは別途ご判断ください。
  4. バックアップオプションを付けるかどうか。
  5. 移行の希望時期。 月初・月末はデータ確認の負荷が高いため、月の中旬に切り替え日を置くことを推奨します。

2026-08-18 08:16:24