连接到已关闭服务的 CloudFoundry 数据源
Connect to a CloudFoundry datasource of a service that is down
当我连接到绑定到 CloudFoundry 应用程序(服务)的数据源时,我使用以下命令打开允许我连接到它的 SSH 隧道。
ssh -L 55432:example-service-uri.amazonaws.com:5432 example-service
只要服务启动并且运行,这就可以正常工作。但是,在某些情况下,数据源实际上可能是服务无法重启的问题。当服务重新启动/关闭时,隧道连接也会随之断开。现在最坏的情况是服务由于当前数据源不一致而无法启动,并且不可能创建到该数据库的隧道来解决问题。
有一种解决方法,只需将数据源绑定到另一个正常运行的服务即可。但这似乎有点老套。
我知道这是故意这样设计的,在理想情况下,我什至根本不必更改我的数据源。但是,我想知道即使服务本身已关闭,是否有一种连接到服务数据源的好方法。
据我了解,除了创建一些 'proxy-app' 绑定到您的服务并允许您访问之外,别无他法。
作为示例,请参阅 Swisscom PaaS(官方 Cloud Foundry 服务提供商)如何提出如何将 DB 服务迁移到另一个 article
我认为@LBA 的回答在这里是正确的,因为它使您可以交互式访问您的服务,但我想再提供一种可能性。
Cloud Foundry Tasks 也可能是您与服务交互并进行所需调整的一种方式。虽然它不会为您提供 shell 或交互式 UI 来与您的服务对话,但您可以编写 运行 脚本来实现相同的目的。
https://docs.cloudfoundry.org/devguide/using-tasks.html
任务是 运行 在平台上的应用程序容器中进行短期操作的一种方式。任务的典型示例是 运行ning 数据库迁移。任务也可以与 cron
或某些调度程序组合以 运行 定期批处理作业或其他计划任务。
我提到任务的原因是因为虽然任务与应用程序相关联(它们共享同一个 droplet),但它们 运行 独立于实际应用程序,因此应用程序是否启动并不重要,停止或崩溃。只要该应用已暂存,您就可以 运行 任务。
希望对您有所帮助!
当我连接到绑定到 CloudFoundry 应用程序(服务)的数据源时,我使用以下命令打开允许我连接到它的 SSH 隧道。
ssh -L 55432:example-service-uri.amazonaws.com:5432 example-service
只要服务启动并且运行,这就可以正常工作。但是,在某些情况下,数据源实际上可能是服务无法重启的问题。当服务重新启动/关闭时,隧道连接也会随之断开。现在最坏的情况是服务由于当前数据源不一致而无法启动,并且不可能创建到该数据库的隧道来解决问题。
有一种解决方法,只需将数据源绑定到另一个正常运行的服务即可。但这似乎有点老套。
我知道这是故意这样设计的,在理想情况下,我什至根本不必更改我的数据源。但是,我想知道即使服务本身已关闭,是否有一种连接到服务数据源的好方法。
据我了解,除了创建一些 'proxy-app' 绑定到您的服务并允许您访问之外,别无他法。
作为示例,请参阅 Swisscom PaaS(官方 Cloud Foundry 服务提供商)如何提出如何将 DB 服务迁移到另一个 article
我认为@LBA 的回答在这里是正确的,因为它使您可以交互式访问您的服务,但我想再提供一种可能性。
Cloud Foundry Tasks 也可能是您与服务交互并进行所需调整的一种方式。虽然它不会为您提供 shell 或交互式 UI 来与您的服务对话,但您可以编写 运行 脚本来实现相同的目的。
https://docs.cloudfoundry.org/devguide/using-tasks.html
任务是 运行 在平台上的应用程序容器中进行短期操作的一种方式。任务的典型示例是 运行ning 数据库迁移。任务也可以与 cron
或某些调度程序组合以 运行 定期批处理作业或其他计划任务。
我提到任务的原因是因为虽然任务与应用程序相关联(它们共享同一个 droplet),但它们 运行 独立于实际应用程序,因此应用程序是否启动并不重要,停止或崩溃。只要该应用已暂存,您就可以 运行 任务。
希望对您有所帮助!