我们的http负载均衡器只存在来自某些IP的重大问题.
我在这里看过其他一些帖子.我们确保防火墙没问题,我甚至删除并重新创建了转发规则.自IP发生变化以来,这令人讨厌.
仍然没有快乐.该问题仅影响某些IP地址 - 如果我将相同的数据发布到其中一个服务器的IP,我没有问题.
<html><head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>502 Server Error</title>
</head>
<body text=#000000 bgcolor=#ffffff>
<h1>Error: Server Error</h1>
<h2>The server encountered a temporary error and could not complete your request.<p>Please try again in 30 seconds.</h2>
<h2></h2>
</body></html>
Run Code Online (Sandbox Code Playgroud)
编辑
我们使用cloudflare - 通常这对于此主机实际上是禁用的,但是我刚刚重新启用它,现在再次接受流量.据推测,因为流量来自CF ip.
在Google Compute Engine上,有没有办法在创建机器后更改机器类型(例如,添加cpu内核)?
有一个GAE项目使用GCS来存储/检索文件.这些文件也需要由将在GCE上运行的代码读取(需要C++库,因此不能在GAE上运行).
在生产中,部署在实际的GAE> GCS <GCE上,此设置正常.然而,在本地测试和开发是一个不同的故事,我想弄清楚.
按照建议,我正在运行GAE的dev_appserver和GoogleAppEngineCloudStorageClient来访问(模拟)GCS.文件放在本地blobstore中.非常适合测试GAE.
由于这些不是本地运行VM的GCE SDK,每当我引用本地'GCE'时,它只是我运行linux的本地开发机器.在本地GCE方面,我只是使用默认的boto库(https://developers.google.com/storage/docs/gspythonlibrary)与python 2.x运行时连接C++代码并从GCS检索文件.但是,在开发过程中,这些文件无法从boto访问,因为它们存储在dev_appserver的blobstore中.
有没有办法将本地GAE和GCE正确连接到本地GCS?
现在,我放弃了本地GCS部分并尝试使用真正的GCS.带有boto的GCE部分很简单.GCS部分也能够使用access_token使用真正的GCS,因此它使用真正的GCS而不是本地blobstore:
cloudstorage.common.set_access_token(access_token)
Run Code Online (Sandbox Code Playgroud)
根据文件:
access_token: you can get one by run 'gsutil -d ls' and copy the
str after 'Bearer'.
Run Code Online (Sandbox Code Playgroud)
该令牌的工作时间有限,因此并不理想.有没有办法设置更永久的access_token?
python google-app-engine boto google-cloud-storage google-compute-engine
我们正在谷歌云中构建一个应用程序.我们使用App Engine作为前端,使用Compute Engine作为后端.在这些Compute Engine实例上,我正在运行一个接受某些"命令"消息的TCP服务器.计算引擎实例还连接到防火墙后面的互联网和负载均衡器,用于传入https流量.我想将TCP服务器绑定到本地IP地址,并且只允许App Engine实例(它们在同一个项目中)通过套接字api连接到TCP"命令"端口.
目前我们仅限制与Google Ip的传入连接
该Compute Engine的文档最高审计机关如下:
每个实例都是单个网络的成员.网络执行的功能与路由器在家庭网络中执行的功能相同:它描述网络范围和网关IP地址,处理实例之间的通信,并充当网络外实例和呼叫者之间的网关.网络仅限于单个项目; 它无法跨越项目.不同网络中的实例之间的任何通信,即使在同一项目中,也必须通过外部IP地址.在API中,网络由网络对象表示.
是否可以建立安全的通信设置?也许有App Engine后端实例?
我在Google Developer Console中有几个项目,我只是一个查看器.我可以将自己从他们身上移开,或隐藏起来吗?
我可以使用Google compute api来启动实例,没有任何问题.我实际上使用脚本进行一些轻量级自动缩放.我成功地从快照启动这些实例而没有阻止.但是,删除实例会要求我确认.
gcloud compute instances delete ...
Run Code Online (Sandbox Code Playgroud)
以下实例将被删除.配置为自动删除的附加磁盘将被删除,除非它们附加到任何其他实例.删除磁盘是不可逆转的,磁盘上的任何数据都将丢失. - [us-central1-f]中的[us-central1-f] - [xxx-client-2]中的[xxx-client-1] - [us-central1-f]中的[xxx-client-3]
你想继续吗(是/否)?ÿ
我想删除没有提示.
我会停止实例,但这似乎失败了:
gcloud compute instances stop ...
Run Code Online (Sandbox Code Playgroud)
错误:(gcloud.compute.instances)选项无效:'停止'.你的意思是'列表'吗?
'停止'被改变了吗?
我使用ASP.NET Cloud Launcher创建了一个Compute Engine VM,现在我想从Visual Studio部署到它.
我使用Visual Studio扩展创建了一个发布设置文件,然后尝试使用常规的Visual Studio"发布"命令进行部署.这些设置不包含用户名和密码,因此我使用了我的Gmail/Google凭据 - 这是我的帐户可以访问的计算引擎实例,毕竟:
这失败,出现以下错误:
Web部署任务失败.(使用Web管理服务连接到远程计算机("(编辑)"),但无法授权.确保使用正确的用户名和密码,您要连接的站点存在,以及凭据表示有权访问该网站的用户.有关详情,请访问:http: //go.microsoft.com/fwlink/?LinkId = 221672 #ERROR_USER_UNAUTHORIZED.)
如果那不是要使用的用户名和密码,那是什么?
我正在尝试使用来自GCE(Google Compute Engine)实例的Google Cloud SQL over SSL.我的问题是我无法通过SSL连接到Cloud SQL实例.
mysql命令正常工作.我可以使用认证文件连接到Cloud SQL实例.
mysql -uroot -p -h [IP Address] --ssl-ca=/home/user/.cert/server-ca.pem --ssl-cert=/home/user/.cert/client-cert.pem --ssl-key=/home/user/.cert/client-key.pem
Run Code Online (Sandbox Code Playgroud)
但是,当我从PHP程序访问时,我收到了警告和致命错误.
<?php
$pdo = new PDO('mysql:host=[IP Address];dbname=testdb', 'root', 'test', array(
PDO::MYSQL_ATTR_SSL_KEY =>'/home/user/.cert/client-key.pem',
PDO::MYSQL_ATTR_SSL_CERT=>'/home/user/.cert/client-cert.pem',
PDO::MYSQL_ATTR_SSL_CA =>'/home/user/.cert/server-ca.pem'
)
);
$stmt = $pdo->query("SHOW TABLES;");
$row = $stmt->fetch(PDO::FETCH_ASSOC);
print_r($row);
?>?
Run Code Online (Sandbox Code Playgroud)
PHP Warning: PDO::__construct(): Peer certificate CN=`[GCP project name]:[Cloud SQL instance name]' did not match expected CN=`[IP Address]' in /tmp/mysql.php on line 7
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2002] ' in /tmp/mysql.php on …Run Code Online (Sandbox Code Playgroud) 我们的负载均衡器为某些请求返回502错误.它只占总请求的百分比非常低,我们每小时有大约36000个请求,每小时大约有40个错误,所以只有0.01%的请求会返回错误.
发生错误时实例是健康的,我们已将此转发规则添加到负载均衡器的防火墙:130.211.0.0/22 tcp:1-5000适用于所有目标
这不是一个非常严重的问题,因为应用程序容忍这样的错误,但我想知道为什么给它们.
任何帮助都会被贬低.
我正在尝试配置gitlab ci以将app部署到谷歌计算引擎.我已成功将图像推送到gitlab存储库但在应用kubernetes部署配置后,我在kubectl describe pods中看到以下错误:
Failed to pull image "registry.gitlab.com/proj/subproj/api:v1": rpc error: code = 2
desc = Error response from daemon: {"message":"Get https://registry.gitlab.com/v2/proj/subproj/api/manifests/v1: unauthorized: HTTP Basic: Access denied"}
Run Code Online (Sandbox Code Playgroud)
这是我的部署gitlab-ci工作:
docker:
stage: docker_images
image: docker:latest
services:
- docker:dind
script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
- docker build -t registry.gitlab.com/proj/subproj/api:v1 -f Dockerfile .
- docker push registry.gitlab.com/proj/subproj/api:v1
only:
- master
dependencies:
- build_java
k8s-deploy:
image: google/cloud-sdk
stage: deploy
script:
- echo "$GOOGLE_KEY" > key.json # Google Cloud service account key …Run Code Online (Sandbox Code Playgroud)