クラウドサーバまとめ
随時更新中
(個人的に)重要視する項目
outbound
- 通信量は無料が良い
Free Tier
- 無料期間は長い方が良い
region
- 日本サーバーが良い
まとめ
cloud server | outbound | Free Tier | Japan region available |
---|---|---|---|
sakura cloud | free | o | o |
idcf | free | o | o |
Microsoft Azure | ? | ||
BIGLOBE cloud hosting | free? | 3 month | |
IBM Cloud | ? | unlimited | south U.S. only |
CPI | ? | 10 days | |
ORACLE | ? | $300(30 days) | ? |
NIFTY Cloud | ? | ||
Cloudn | ? | ||
managed cloud for WEB | ? | ||
@YMC | ? | ||
GMO cloud VPS | ? | ||
どこでもキャビネット | ? | ||
wpX cloud | ? | ||
使えるクラウド | ? | ||
EX-CLOUD | ? | ||
アリババ | ? | ||
WADAX | ? | x | |
GCE | x | ||
AWS | x | 1 year | o |
Ubuntu18をCUI自動ログインに設定する
環境
- Ubuntu18
CUIログインに設定する
sudo systemctl get-default sudo systemctl set-default multi-user.target
自動ログインに設定する
sudo systemctl edit getty@tty1
下記を書く
[Service] ExecStart= ExecStart=-/sbin/agetty --autologin ユーザ名 --noclear %I 38400 linux
参考
Raspberry pi 3のChrome HeadlessでWebスクレイピング
はじめに
最近、毎日のスクレイピングタスクをこなすベストプラクティスを考えていて、一つの案であるラズパイで運用する環境を整えてみました。
chromedriverのインストール
aptで簡単にできました。
sudo apt update sudo apt upgrade sudo apt-get install chromium-browser sudo apt-get install chromium-chromedriver
後は何も考えずにHeadless Chrome が使えました。
安定化&省電力化
連続で運用していると、たまにChromeが立ち上がらない時がある・・・
原因は不明ですが、USBとHDMI端子を無効にしたら、少し安定した・・・かな・・・?
端子の無効で発熱(消費電力)が抑えられるし・・・
echo 0 | sudo tee /sys/devices/platform/soc/3f980000.usb/buspower /opt/vc/bin/tvservice --off
安定化 その2
たまにChromeが立ち上がらない問題、原因を探ったところ、Chromeが強制終了した時のプロセスが残っていて、メモリを食っていたことが原因のようでした。
psコマンドでプロセスがたくさんあるのを確認しました。
ps aux | grep Chrome
なので、cronの実行時にpkillするようにしたところ、今の所(一週間くらい)立ち上がらない問題は起きていないです。
pkill Chrome
参考
pypiに自作ライブラリを登録する
はじめに
いつもやり方を忘れるのでメモ。
1. アカウント作成
公式サイトでアカウントを作る。
メールアドレスの確認も忘れずに。やってないとライブラリの登録ができない。
2. ~/.pypirc ファイル作成
Usernameなどの情報を記載したファイルをホームディレクトリ下に作る。
[distutils] index-servers = pypi [pypi] repository: https://pypi.python.org/pypi username: YOUR_USERNAME password: YOUR_PASSWORD
このファイルがないと、ライブラリ登録時にエラーが出る。
Upload failed (403): Invalid or non-existent authentication information. error: Upload failed (403): Invalid or non-existent authentication information.
3. setup.py 作成
from distutils.core import setup setup( name="PROJECT_NAME", packages=[ "PROJECT_NAME", }, version="0.0.0", description="", author="YOUR_NAME", author_email="YOUR_EMAIL_ADDRESS" url="https://github.com/***/***" license="MIT", )
4. pypiへ登録
python setup.py sdist upload
ブータブルUSBメモリを作成する
いつも手順を忘れるのでメモしておく。
ディスク名の確認
fdiskコマンドで、認識されているデバイスの情報を表示する。
容量などの情報から、使用したいUSBメモリを特定する。
$ fdisk -l
以下、USBメモリがsdbだった場合。
USBメモリのフォーマット
ext4でフォーマットする。
$ sudo mkfs -t ext4 /dev/sdb
OSイメージの書き込み
公式サイトなどから、OSイメージファイルをダウンロードしておく。
以下はubuntu18の場合。
$ sudo dd bs=4M if=ubuntu-18.04.1-desktop-amd64.iso of=/dev/sdb && sync
"
Ubuntu18でCUDA9.1を使えるようになるまでの最短手順
はじめに
CUDAは最新バージョンじゃないけど、9.1ならaptで簡単にインストールできるようになっていたのでメモ。
secure bootの無効化
BIOSで設定する。設定するところは頑張って見つける。
映像出力を内部GPUに固定
こちらもBIOSで設定する。設定するところ見つけづらい。
NVIDIA driverのインストール
$ sudo apt install nvidia-driver-390
rebootののち、下記コマンドをエラーなく実行できることを確認する。
$ nvidia-smi
CUDAのインストール
$ sudo apt install nvidia-cuda-toolkit
下記コマンドをエラーなく実行できれば完了。
$ nvcc --version
nvccでコンパイル時にエラー
こんなエラーが出ていた。
/usr/lib/gcc/x86_64-linux-gnu/6/include/stddef.h(436): error: identifier "nullptr" is undefined
gccとg++のバージョンを5にすべきとのことで、そうしてみる。
sudo apt-get install gcc-5 g++-5 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 1
しかし同じエラーが出る。
そこで、nvccで使われているgccとg++のバージョンを5に下げる。
$ sudo apt install gcc-5 $ sudo mv /usr/lib/nvidia-cuda-toolkit/bin/gcc /usr/lib/nvidia-cuda-toolkit/bin/gcc_old $ sudo ln -s /usr/bin/gcc-5 /usr//nvidia-cuda-toolkit/bin/gcc $ sudo apt install g++-5 $ sudo mv /usr/lib/nvidia-cuda-toolkit/bin/g++ /usr/lib/nvidia-cuda-toolkit/bin/g++_old $ sudo ln -s /usr/bin/g++-5 /usr//nvidia-cuda-toolkit/bin/g++
これでコンパイルできるようになった。
毎日のwebスクレイピングのタスクをこなすサーバー運用のベストプラクティス
webスクレイピングをAWSで毎日決まった時間にサーバーで動かすようになって3ヶ月ほど経ちました。
しかし、AWSの無料枠は1年間。気づかないうちにお金がかかるようになってしまったら困る!
ということで、タイトルについてちょっと考えてみました。
条件
理想的には、
- 保守がめんどいので、物理的にマシンを所有したくない
- 永年無料で運用可能
- データ通信をできるだけたくさん
これ全て満たすものが見つかれば最高なのですが・・・ なるべく良いものを検討した過程。
heroku
メリット
- 永年無料枠(また仕様変わるかも?)
- データ通信量がかからない?
デメリット
- 24時間稼働は1アプリのみ
物理的に自分のサーバーを所有する
ラズパイでheadless chromeを動かす記事を見つけたのでやってみようかな
メリット
- わかりやすい
デメリット
- いつかは壊れる
- 電気代がかかる(ラズパイなら省電力)
- サーバー設置場所が必要
AWS
メリット
- 安定稼働いつもありがとうございます
デメリット
- 1年は無料だが、それ以降は従量課金
- データ通信の無料枠がきつい
idcf
メリット
- データ通信無料?
- 最小構成で月500円
デメリット
- 無料枠が期間限定
その他クラウドサーバー
どこも結構似たり寄ったり。
無料枠はあれど30days~1year
データ通信の無料枠は結構厳しい
まとめ
とりあえずheroku試してみよう。
ラズパイも試してみたい。選択肢は多いほうが良い。
idcfなどのデータ通信無料のクラウドサーバーもありではある。 最小構成の最安値を更新したい。