SeleniumのStandaloneをGoogleCloudの無料枠で構築してみた

Contents

はじめに

PythonでSeleniumを動かす上で、今までAWSのLambdaで頑張っていた。

しかし、ローカルで実行したり開発したりする際に動作確認がうまくできないので、どこからでもSeleniumを使えるStandaloneのサーバを構築してみた。

個人なので、できるだけ無料枠でとりあえず検討してみる。

Google Cloud VMインスタンス

まず今日 (2022/08/23) 現在のGoogleCloudの無料枠を確認してみる。

稀に無料枠が変わることがあるので、構築するタイミングで都度確認する (参考参照)。

今回は下記要件で進めてみる。

  • e2-micro VM インスタンス
  • サウスカロライナ: us-east1
  • 30 GB-月の標準永続ディスク
  • 5 GB 月のスナップショット ストレージ
  • 1 GB の北米から全リージョン宛ての下りネットワーク

とりあえず今回はCentOSで構築することにした。

SSHのポート変更は他に詳しく書いてあるサイトがあるので割愛する。

というより詳しく語れない。悔しいが仕方ない。

Selenium Serverのインストール

必要なツールをインストールした後、Selenium Serverをインストールする。

# パッケージのアップデート
$ sudo yum -y update

# unzip、javaのインストール(本来なら互換性のあるバージョンを指定した方がいい)
$ sudo yum -y install sudo wget unzip java

# javaのバージョン確認
$ java -version
openjdk version "1.8.0_342"
OpenJDK Runtime Environment (build 1.8.0_342-b07)
OpenJDK 64-Bit Server VM (build 25.342-b07, mixed mode)

# Google Chromeのインストール
$ wget http://dist.control.lth.se/public/CentOS-7/x86_64/google.x86_64/Packages/google-chrome-stable-71.0.3578.98-1.x86_64.rpm
$ sudo yum -y localinstall google-chrome-stable-71.0.3578.98-1.x86_64.rpm

# chromedriverのインストール (Google Chromeとバージョンは合わせておく)
$ wget https://chromedriver.storage.googleapis.com/70.0.3538.97/chromedriver_linux64.zip
$ unzip chromedriver_linux64.zip

# Selenium Serverのインストール
$ wget https://github.com/SeleniumHQ/selenium/releases/download/selenium-4.4.0/selenium-server-4.4.0.jar

インストールはこれでおしまい。

動作確認

Selenium Serverを起動してみる。

$ java -jar selenium-server-4.4.0.jar standalone --port (CUSTOM_PORT_NUMBER)

ずらずら出てきたらとりあえずOKかな?

トラブルシューティング

wgetが失敗する場合は、/etc/resolv.conf に nameserver 8.8.8.8 を追加するなどすれば解消できるかもしれない。

正しい解決策かどうかはわからないので、ひとまず暫定対応程度に。

AWS

AWSでも同じようなことができた。

記事は気が向けば。

終わりに

本当はGoogleCloudFunctionsで自動起動させたりしたかったが、今回は割愛。

参考

コメントを残す

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