LoginSignup
0
0

More than 3 years have passed since last update.

CloudMapper を daemon にする

Posted at

CloudMapper とは

awsのネットワーク構成図を作成してくれるツールです。
python3で動きます。

インストール手順

CloudMapperを使ってAWS環境を可視化する。

daemon にする

/etc/systemd/system/cloudmapper.service

[Unit]
Description=cloudmapper
After=network.target

[Service]
Type=simple
WorkingDirectory=/var/www/github.com/duo-labs/cloudmapper/
ExecStart=/usr/local/pyenv/shims/python -u cloudmapper.py webserver
Restart=always
StandardOutput=journal
StandardError=journal

[Install]
WantedBy=multi-user.target
centos7
sudo systemctl enable cloudmapper.service
systemctl start cloudmapper

ハマり

daemon 化の経緯

ターミナルで python ./cloudmapper.py webserver と叩くと、localhohst:8000 で cloudmapperが立ち上がり、ブラウザで見れるようになります。
ターミナルを終了すると見れなくなってしまうので、daemon にして永続的に見れるようにします。

pythonで daemon

node の forever に相当するものはなくたぶん、service に入れることにしました。
(pythonピヨグラマーです)

  • 1発目

ExecStart=/usr/bin/python -u {フルパス}/cloudmapper.py webserver

pyenvでpythonをインストールしているので、/usr/bin/python はデフォルトで入っているバージョン(python2系)です。
cloudmapper はpython3でないと動かないので、which python で探しました。

  • 2発目

ExecStart=/usr/local/pyenv/shims/python -u {フルパス}/cloudmapper.py webserver

これでも動きません。
ターミナルで叩くと、cloudmapper.py 内の show_help が呼び出され、usage: ~ が表示されます。
カレントフォルダが{フルパス}でなれば動かないと気づくのに時間を要しました。
cloudmapper.py の仕様と思いますたぶん

  • 3発目

ExecStart=cd {フルパス};/usr/local/pyenv/shims/python -u cloudmapper.py webserver

カレントフォルダを移動すればいいと分かったので、コマンドを繋げました :sweat: 安直
コマンドエラーが出ていたので、すぐわかりました。

  • 4発目(解決)

WorkingDirectory={フルパス}
ExecStart=/usr/local/pyenv/shims/python -u cloudmapper.py webserver

WorkingDirectory でカレントフォルダを指定して解決です。

(所要時間: 3時間)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0