production
的服务失去了数据库访问权限。 已经正常运行了 18 个月了。我通过外部 IP 访问 GCP postgresql 实例,并使用
sidecar
充当正在运行的虚拟机上的代理
hasura
2023/10/06 14:09:26 couldn't connect to "XXX:europe-west1:database-5jdu": dial tcp 34.76.132.64:3307: connect: connection timed out
hasura-sidecar-1 | 2023/10/06 14:09:26 New connection for "XXX:europe-west1:database-5jdu"
这是 Docker Compose :
version: '3.8'
services:
graphql-engine:
image: hasura/graphql-engine:v2.5.1
deploy:
replicas: 1
restart: always
networks:
- nginx-proxy
- cloud
env_file:
- .env
depends_on:
- sidecar
nginx:
image: nginx
restart: always
ports:
- "80:80"
- "443:443"
volumes:
- ./data/logs:/var/log/nginx
- ./data/letsencrypt:/etc/letsencrypt:ro
- ./data/www:/var/www:ro
- ./data/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
- ./data/nginx/mime.types:/etc/nginx/mime.type:ro
- ./data/nginx/snippets:/etc/nginx/snippets:ro
- ./data/nginx/conf.d:/etc/nginx/conf.d:ro
depends_on:
- graphql-engine
networks:
- nginx-proxy
command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'"
certbot:
image: certbot/certbot
restart: unless-stopped
volumes:
- ./data/letsencrypt:/etc/letsencrypt
- ./data/www/letsencrypt:/var/www/letsencrypt
entrypoint: "/bin/sh -c 'trap exit TERM; while :; do /usr/local/bin/certbot renew; sleep 12h & wait $${!};>
sidecar:
image: gcr.io/cloudsql-docker/gce-proxy:1.30.0
restart: always
networks:
- cloud
# ports:
# - 127.0.0.1:5432:5432
command: "/cloud_sql_proxy -instances=XXX:europe-west1:database-5jdu=tcp:0.0.0.0:5432"
networks:
nginx-proxy:
name: nginx-proxy
cloud:
重新启动数据库、代理、VM 没有任何改变。我坚持认为,这个问题是突然发生的,我已经超过 12 个月没有碰过生产设置了......
有谁知道自今晚以来 PGSQL 托管数据库的访问方式发生了变化吗?
谢谢你的帮助,我的客户被困住了,一直打电话给我,我没有办法帮助他们
谢尔盖
connect: connection timed out
表示防火墙配置阻止了代理与这 3 个服务之一之间的数据包:
此外,我注意到您使用的是较旧的 1.30 版本的代理。您会考虑升级到更新版本的代理 v2.7.0 吗?它对日志记录和身份验证进行了一些重要改进,可以更轻松地发现问题。
使用 v2.7.0 的 sidecar 容器定义如下所示:
sidecar:
image: gcr.io/cloud-sql-connectors/cloud-sql-proxy:2.7.0
args:
# Enable structured logging with LogEntry format:
- "--structured-logs"
- "--port=5432"
- "XXX:europe-west1:database-5jdu"
restart: always
networks:
- cloud
您可以在