运行 GCP 上的 Nextcloud 服务器的最佳方式?
Best way to run a Nextcloud server on GCP?
所以我正在考虑 运行在 GCP 上安装一个 Nextcloud 服务器,但它不会被访问太多,可能每天总共有 3 个用户访问半小时(实际上同时访问的时间不多).我应该使用什么 GCP 产品来 运行 它,因为它会闲置很多次...?
干杯,
蒂博
编辑:我问的原因是因为我想将成本保持在很低的水平,而且我觉得因为它很多时候都处于闲置状态,所以可能会有一个特定的 GCP product/service 可供选择
对于您的用例,适当的选择是将其托管在 Compute Engine instance。
至于经常闲置的服务,不幸的是没有官方的 GCP 解决方案,因为您仍然需要为任何 运行 GCE 实例付费,如 here 所述。
停止向您收费的唯一方法是停止 VM,但它仍会向您收取磁盘费用,直到您将其删除。因此定价取决于您为实例选择的machine type and the disk。
尽管如此,可能对您有所帮助的解决方法是使用外部第三方软件,例如 automated scheduling tool,它可以根据使用情况打开或关闭虚拟机;但这确实意味着您必须等待实例启动才能使用它。
您可以尝试使用其中一个微爆发共享核心计算引擎虚拟机。它们与同一物理服务器上的其他 VM 共享一个 CPU 核心,因此它们非常便宜。在 f1-micro
变体的情况下,Google 实际上可以让您始终保持开启(和活动)状态,甚至无需为此付费。
对于瞬时性能,Google 还允许共享核心 VM 在短时间的高负载期间临时使用最多一个完整的核心。这应该有助于提高访问和写入速度。
对于持续负载期间,您可以尝试设置一些使用 Compute Engine 的可抢占节点的东西。这些通常不到常规 VM 价格的一半,但需要注意的是它们一次不能持续超过 24 小时,并且它们可能会随时终止以释放常规 VM 的供应。因此,共享核心 VM 将为轻负载或短负载提供高可用性和足够的性能,并且您可以启动额外的可抢占服务器以在必要时帮助完成繁重的工作。
就存储价值而言,您最好将大部分数据保存在 HDD 支持的永久性磁盘上,然后减轻它的一些负载并加快对 RAM 常用文件的访问或 OS 级别的 SSD 支持的缓存。
如果有一些您不经常使用但仍需要偶尔访问的大型数据集,您也可以通过将它们移至 Nearline 或 Coldline Cloud Storage 并在您的计算机上进行设置来节省一些钱服务器通过 FUSE
安装。
我还建议使用其他评论中提到的 Compute Engine instance。 运行 Nextcloud 在 GCP 上使用了将近一年我发现 f1-micro
即使在空闲状态下也常常内存不足。我是 运行 Nextcloud 在 Docker 使用 fpm-alpine 镜像加上 nginx、redis、mysql 和加密。所以至少使用 g1-small
。如果您计划存储大量图片,共享 CPU 层有缺点,每次通过 Web UI 和 Nextcloud App 第一次加载图片都会触发缩略图生成,这是 CPU 繁重的操作,并且会导致 Nextcloud 在低 CPU 实例上无响应。打开包含大量图片的文件夹会使 Nextcloud WebUI 对每个人都没有响应(并且 Nextcloud 应用程序会给你错误),直到生成缩略图。
如果你选择 N1 系列标准层,我建议使用 Committed use discounts
如果您选择 n1-standard-1
和 3 年承诺,价格几乎与 g1-small
相同(可能取决于地区)。
对于N1系列,即使你不提交,你也会得到Sustained use discounts。
对于您的少量用户,我不建议使用云 SQL 实例。即使在最小层上,您也不会利用可用资源。
至于硬盘,我用的是标准永久磁盘,已经很便宜了。
还要仔细选择您所在的地区,有些地区比其他地区便宜。
所以我正在考虑 运行在 GCP 上安装一个 Nextcloud 服务器,但它不会被访问太多,可能每天总共有 3 个用户访问半小时(实际上同时访问的时间不多).我应该使用什么 GCP 产品来 运行 它,因为它会闲置很多次...?
干杯, 蒂博
编辑:我问的原因是因为我想将成本保持在很低的水平,而且我觉得因为它很多时候都处于闲置状态,所以可能会有一个特定的 GCP product/service 可供选择
对于您的用例,适当的选择是将其托管在 Compute Engine instance。
至于经常闲置的服务,不幸的是没有官方的 GCP 解决方案,因为您仍然需要为任何 运行 GCE 实例付费,如 here 所述。
停止向您收费的唯一方法是停止 VM,但它仍会向您收取磁盘费用,直到您将其删除。因此定价取决于您为实例选择的machine type and the disk。
尽管如此,可能对您有所帮助的解决方法是使用外部第三方软件,例如 automated scheduling tool,它可以根据使用情况打开或关闭虚拟机;但这确实意味着您必须等待实例启动才能使用它。
您可以尝试使用其中一个微爆发共享核心计算引擎虚拟机。它们与同一物理服务器上的其他 VM 共享一个 CPU 核心,因此它们非常便宜。在 f1-micro
变体的情况下,Google 实际上可以让您始终保持开启(和活动)状态,甚至无需为此付费。
对于瞬时性能,Google 还允许共享核心 VM 在短时间的高负载期间临时使用最多一个完整的核心。这应该有助于提高访问和写入速度。
对于持续负载期间,您可以尝试设置一些使用 Compute Engine 的可抢占节点的东西。这些通常不到常规 VM 价格的一半,但需要注意的是它们一次不能持续超过 24 小时,并且它们可能会随时终止以释放常规 VM 的供应。因此,共享核心 VM 将为轻负载或短负载提供高可用性和足够的性能,并且您可以启动额外的可抢占服务器以在必要时帮助完成繁重的工作。
就存储价值而言,您最好将大部分数据保存在 HDD 支持的永久性磁盘上,然后减轻它的一些负载并加快对 RAM 常用文件的访问或 OS 级别的 SSD 支持的缓存。
如果有一些您不经常使用但仍需要偶尔访问的大型数据集,您也可以通过将它们移至 Nearline 或 Coldline Cloud Storage 并在您的计算机上进行设置来节省一些钱服务器通过 FUSE
安装。
我还建议使用其他评论中提到的 Compute Engine instance。 运行 Nextcloud 在 GCP 上使用了将近一年我发现 f1-micro
即使在空闲状态下也常常内存不足。我是 运行 Nextcloud 在 Docker 使用 fpm-alpine 镜像加上 nginx、redis、mysql 和加密。所以至少使用 g1-small
。如果您计划存储大量图片,共享 CPU 层有缺点,每次通过 Web UI 和 Nextcloud App 第一次加载图片都会触发缩略图生成,这是 CPU 繁重的操作,并且会导致 Nextcloud 在低 CPU 实例上无响应。打开包含大量图片的文件夹会使 Nextcloud WebUI 对每个人都没有响应(并且 Nextcloud 应用程序会给你错误),直到生成缩略图。
如果你选择 N1 系列标准层,我建议使用 Committed use discounts
如果您选择 n1-standard-1
和 3 年承诺,价格几乎与 g1-small
相同(可能取决于地区)。
对于N1系列,即使你不提交,你也会得到Sustained use discounts。
对于您的少量用户,我不建议使用云 SQL 实例。即使在最小层上,您也不会利用可用资源。
至于硬盘,我用的是标准永久磁盘,已经很便宜了。
还要仔细选择您所在的地区,有些地区比其他地区便宜。