GCEで、GoogleDomains でドメインを取得して、SSL接続できるredashを立ち上げる
redashwoGCEにhttpsで接続できるようにしたので、メモついでに書いておきます
読む人
- GCEでredashを立ち上げたい人
この記事のゴール
- GCEにredashを立ち上げて、admin画面を表示する
結論
1., 2をちゃんとやればなんとかなるはず
1. GCEにredashをインストールする Tips
インスタンスを作る
re:dash ドキュメントに書いてあるshellを実行していく
※versionが、けっこう変わっていくので注意
- bigqueryを使う場合は、インスタンスを作る場合は、scopでbigqueryを指定する
- machine-typeは
f1-micro
だとメモリアウトしちゃうので、g1-small
を指定することをおすすめします(redashのドキュメントではもう一個上のインスタンスをしてすることをおすすめしています。)
$ gcloud compute images create "redash-8-0-0" --source-uri gs://redash-images/redash.8.0.0-b32245-1.tar.gz
$ gcloud compute instances create redash --image redash-8-0-0
--scopes storage-ro,bigquery
--machine-type g1-small --zone asia-northeast1-a
http, https アクセスを許可する
gcloud compute instances add-tags redash \
--tags http-server,https-server \
--zone us-west1-a
ドメインを割り当てる
- GCPコンソールで静的アドレスを取得
- 静的アドレスとドメインをひもづける。(Aレコード)
2 GCEにSSLでredashに接続する
- GCEにSSLでredashに接続する このgistのREADMEをちゃんとやれば大丈夫なはず
- example.redash.com をちゃんと置換する(ここにはまった)
- フォルダ名でも使っていて、全5箇所あるので注意
トラブルシューティング
nginx が restarting になって動かない
root@re-dash:/opt/redash# docker-compose ps
Name Command State Ports
-------------------------------------------------------------------------------------------------------------
redash_adhoc_worker_1 /app/bin/docker-entrypoint ... Up 5000/tcp
redash_nginx_1 /docker-entrypoint.sh ngin ... Restarting.. 0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp
redash_postgres_1 docker-entrypoint.sh postgres Up 5432/tcp
redash_redis_1 docker-entrypoint.sh redis ... Up 6379/tcp
redash_scheduled_worker_1 /app/bin/docker-entrypoint ... Up 5000/tcp
redash_scheduler_1 /app/bin/docker-entrypoint ... Up 5000/tcp
redash_server_1 /app/bin/docker-entrypoint ... Up 0.0.0.0:5000->5000/tcp
対応方法
root@re-dash:/opt/redash# docker-compose ps
Name Command State Ports
-------------------------------------------------------------------------------------------------------------
redash_adhoc_worker_1 /app/bin/docker-entrypoint ... Up 5000/tcp
redash_nginx_1 /docker-entrypoint.sh ngin ... Restarting.. 0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp
redash_postgres_1 docker-entrypoint.sh postgres Up 5432/tcp
redash_redis_1 docker-entrypoint.sh redis ... Up 6379/tcp
redash_scheduled_worker_1 /app/bin/docker-entrypoint ... Up 5000/tcp
redash_scheduler_1 /app/bin/docker-entrypoint ... Up 5000/tcp
redash_server_1 /app/bin/docker-entrypoint ... Up 0.0.0.0:5000->5000/tcp
以下で nginx の logを確認します。
docker-compose logs nginx
自分の場合は以下のようになっていました。
/var/log/nginx/error.log
を確認すると、ディレクトリーになっていました。そのため、 rm -rf access.log
rm -rf error.log
を排除し、touch access.log
touch error.log
でlogファイルを置き直しました。そしたら、直りました。
nginx_1 | 2021/02/01 03:52:29 [emerg] 1#1: open() "/var/log/nginx/error.log" failed (21: Is a directory)
nginx_1 | /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
nginx_1 | /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
nginx_1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
nginx_1 | 10-listen-on-ipv6-by-default.sh: Getting the checksum of /etc/nginx/conf.d/default.conf
nginx_1 | 10-listen-on-ipv6-by-default.sh: error: /etc/nginx/conf.d/default.conf differs from the packaged version
nginx_1 | /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
nginx_1 | /docker-entrypoint.sh: Configuration complete; ready for start up
nginx_1 | nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (21: Is a directory)
Author And Source
この問題について(GCEで、GoogleDomains でドメインを取得して、SSL接続できるredashを立ち上げる), 我々は、より多くの情報をここで見つけました https://qiita.com/yoshixj/items/4476c14b77d02c395bc4著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .