我计划将我的静态文件移动到 Google 的 App Engine。我想知道这是否是一个好主意。
我读过谷歌是否有可能将您的文件缓存在多个位置,在我看来这是一件好事。
使用 GAE 插件在 Eclipse 中设置也应该很容易。
但我仍然对这方面的表现持怀疑态度。App Engine 的设置是否针对提供静态内容进行了优化。现在我有 Nginx 服务器我的静态内容,App Engine 是否会以相同的方式执行。
使用这种方法还有其他的好处或坏处吗?
我在 Google App Engine 上运行一个小型网站。目前,我将 Dreamhost 用于其他用途,并通过它们购买我的域名,它们提供名称服务器。
我正在将域管理切换到 Google Domains。我相信 Google Domains 还提供了我希望至少与 Dreamhost 名称服务器一样工作的名称服务器。
Google 还提供 Google Cloud DNS,它似乎提供与 Google Domains 名称服务器相同的功能,但要花钱(尽管不多)。
与 Google 域名服务器相比,Google Cloud DNS 有哪些优势?
澄清编辑:
我知道这两个服务是什么,并且已经阅读了很多关于这两个服务的文档,因此无需重复基础知识。
对于小型网站,Google Domains DNS 显然足够了。对于 serverfault.com 规模的大型网站,我怀疑 Google Domains DNS 不够用,您需要使用更复杂的东西,例如 Google Cloud DNS。
我想知道 Google Domains DNS 有哪些限制,以便更好地了解何时需要切换到 Google Cloud DNS。
domain-name-system dns-hosting google-app-engine google-cloud-platform google-cloud-dns
我在 appengine 上使用 nodejs。周二我们有一个非常稳定的应用程序脚手架,到周五它在尝试部署后完全坏了。我们对前端代码做了一些小改动,但我认为没有什么可以阻止实例启动。
以下是重现的步骤。
gcloud --project "{appname}" preview app deploy
日志显示 npm 安装、容器构建等。
上挂起Updating service [default]...5分钟
因错误而失败。
错误:(gcloud.preview.app.deploy) 错误响应:[13] 启动虚拟机时超时。应用程序代码可能不健康。(0/1 准备就绪,1 个仍在部署)。
我曾尝试将存储库恢复到我们有稳定部署时,但没有帮助。这让我觉得 GCP 上的某些东西坏了。
我曾尝试删除所有当前版本然后进行部署,但无济于事。
我认为这样做会很直接,但我无法让它工作:
我正在尝试将文件从服务器 (GCE) 推送到谷歌云存储桶。为了避免gsutil在服务器上授予命令太多权限,我在我的 google 项目的凭据部分创建了一个“服务帐户”。
在存储桶中,gs://mybucket我已将具有 OWNER 权限的服务帐户的电子邮件地址作为 USER 添加到存储桶中。
在服务器上,我像这样激活了服务帐户:
$gcloud auth activate-service-account --key-file <path-to-keyfile> myservice
$gcloud auth list
Credentialed accounts:
- 1234567890@project.gserviceaccount.com
- myservice (active)
To set the active account, run:
$ gcloud config set account <account>
Run Code Online (Sandbox Code Playgroud)
所以到目前为止一切似乎都很好。但是,访问存储桶失败:
$gsutil cp tempfile gs://mybucket
CommandException: Error retrieving destination bucket gs://mybucket/: [('PEM routines', 'PEM_read_bio', 'no start line')]
$gsutil cp tempfile gs://mybucket/tempfile
Failure: [('PEM routines', 'PEM_read_bio', 'no start line')].
Run Code Online (Sandbox Code Playgroud)
当然,我确实验证了存储桶的 ACL 确实将服务帐户显示为 OWNER。我也在不同操作系统的不同机器上尝试过这个。结果一样。不用说,我自己无法理解错误消息。我将不胜感激任何建议。此要点中的详细错误日志。
更新:
删除 …
google-app-engine cloud-storage oauth google-cloud-storage google-cloud-platform
[如何在 Google Developers Console 中更改密码?]
我知道这应该是一个与 Google Developers Console 相关的非常愚蠢的问题,但我只是在其中浪费了三个小时,而且在 google 搜索结果中没有运气。
这是我第一次在 GAE 中启用 Developers Console,它在登录后默认显示 bash shell。我想配置我偏好的 shell 环境 zsh,在将 oh-my-zsh 项目克隆到本地后,我运行chsh命令切换到 zsh,需要 sudo 密码。
问题是我不知道密码是什么,我试过google账户密码和其他频率密码,都失败了。
使用passwd我错误的密码更改密码显示以下错误。
myname@mycloud:~$ passwd
Changing password for myname.
(current) UNIX password:
passwd: Authentication token manipulation error
passwd: password unchanged
Run Code Online (Sandbox Code Playgroud)
我通过登录谷歌验证了我的谷歌帐户密码,这是正确的。
Q1:默认密码是多少?Q2:控制台密码不能修改吗?
谢谢!
password console google google-app-engine google-cloud-platform
放置您的爱好网络项目(网络应用程序本身,而不是代码)的最佳位置是什么?通常,这些项目是这样的:
a) 我只是想测试一个有趣的想法,而不去探索它的商业角度,只是想看看人们是如何接受它的。
b) 我不希望有很多流量
c) 我不想立即扩展
d) 我不想被一种技术束缚(我想做不同的项目来熟悉各种网络堆栈、语言和库)
谷歌应用引擎似乎对这种探索性的东西非常严格......像没有出站请求的限制可以超过 10 秒,每个请求必须返回 30 秒等等。让我烦恼,我知道它们是扩展所必需的,但我想它们是可选的。
Amazon EC2 微节点可免费使用一年。但是他们要求提供信用卡信息,我不确定我是否想在我最初不付款时放弃这些信息。
我还有哪些免费/便宜的替代品?
web-hosting google-app-engine amazon-ec2 google-cloud-platform
我想使用 nginx 作为 Google App Engine 应用程序的反向代理,以支持此处所述的裸域。如果我使用这个方案,所有的流量会通过托管 nginx 的服务器还是客户端会直接连接到 App Engine?它会成为性能和可用性的瓶颈吗?
基本上,我的问题是:保持 Google Cloud Storage 存储桶数据安全的最佳方法是什么?
我知道使用对象版本控制是您可以采取的第一个措施,以防止意外删除数据。但是,我还想保留异地备份(本地备份或在其他提供商(如 S3)上)。有没有推荐的方法来做到这一点?
我正在寻找的一个方向是保持增量,rsync就像我的存储桶的本地副本一样。我希望gsutil能够有一个sync命令(就像s3cmd那样),但似乎没有。
备份到另一个像 S3 这样的云提供商也很方便,但据我所知,唯一的方法是将所有数据下载到一个实例(在 Google 或 Amazon 数据中心),然后将其上传到目标存储桶. 但这将再次需要增量同步。
如果我有一个 GAE Flex 应用程序,它仅供内部使用而不打算用于任何面向公众的用途,那么保护它的最佳方法是什么?默认情况下,*.appspot.com 域公开一个公共 HTTP/S 端点。
如果我将默认 App Engine 防火墙规则设置为明确拒绝所有 HTTP 流量,那么我如何从其他 GCE 实例或其他项目中的其他 GAE Flex 应用程序访问应用程序?
我最初认为编辑app.yaml文件以将实例启动到具有自己的 GCE 防火墙规则(使用默认入口拒绝)的私有 VPC 就足够了,但由于请求通过云负载均衡器 IP 的事实,它仍然允许外部流量.
我查看的下一个选项是 Cloud IAP,它只允许经过身份验证的用户和服务帐户访问我的应用程序。这可能会起作用,但是,如果我需要从没有互联网访问权限的私有 VPC 访问我的应用程序,如果我正确理解该服务将无法工作,因为请求仍然必须通过 HTTP 来。
那么我能做些什么来确保绝对没有对应用引擎的公开访问,同时仍然允许内部资源访问它?
我目前正在将我的电子商务应用程序迁移到 Google App Engine。我正在使用 PHP 灵活运行时 (PHP flex)。
其中一项交易需要调用我的支付提供商的 HTTP API。现在的问题是,我的支付提供商要求通过一些带外注册预先将所有呼叫者 IP 地址列入白名单。注册非常受限,每个客户端只接受少数 IPv4 地址。
我知道 GAE 会根据需要生成新实例,这些实例将从大池中分配 IP 地址。因此,注册地址列表也不是一种选择。
我知道这违背了自动缩放的目的,但有什么方法可以为我的应用程序分配静态 IP 地址?
在 GAE 中还有其他方法可以解决这个问题吗?
在 VPC 内启动我的应用程序会有帮助吗?
amazon-ec2 ×1
backup ×1
cdn ×1
console ×1
deployment ×1
dns-hosting ×1
google ×1
nginx ×1
node.js ×1
oauth ×1
password ×1
web-hosting ×1