前言
在现代 Web 应用中,数据库是不可或缺的一部分。然而在生产环境下,我们需要确保数据库的安全性和可靠性。为了解决这个问题,Heroku 推出并且开源了 @heroku-cli/plugin-pg-privatelink 这个 npm 包。
本文将会详细介绍如何使用该 npm 包。
什么是 @heroku-cli/plugin-pg-privatelink?
@heroku-cli/plugin-pg-privatelink 是 Heroku 的一个官方插件,用于设置和管理私有连接的 Heroku Postgres 数据库。通过使用此插件,我们可以安全地在 Heroku 和 Amazon Web Services (AWS) 中使用基于 IP 的连接来访问私有 Heroku Postgres 数据库。这个插件对于一些特定的安全要求的项目来说具有重要意义。
如何安装和配置 @heroku-cli/plugin-pg-privatelink?
安装
我们可以通过以下方式在本地系统中安装该插件:
npm install -g @heroku-cli/plugin-pg-privatelink
此命令将在本地全局安装该插件。
配置
在成功安装 @heroku-cli/plugin-pg-privatelink 后,我们需要为 Heroku 应用程序配置私有连接。配置私有连接需要以下信息:
- 应用程序的名称
- 私有连接的 IP 地址
在我们进行配置之前,我们需要获取到数据库的 URI。我们可以通过以下命令获取到数据库的 URI:
heroku pg:credentials:url DATABASE_URL
请将上述命令中的 DATABASE_URL
替换为您的 Heroku Postgres 数据库的 URL。在成功执行上述命令后,您将会在控制台中看到您的数据库的完整信息,其中包含 URI 和连接凭证(用户名和密码)。
如果您还没有 Heroku 应用程序,请先创建一个新的 Heroku 应用程序,并将其与 Heroku Postgres 数据库相关联。
为了配置私有连接,您可以使用以下命令:
heroku addons:create heroku-vpc-peering
此命令将创建一个名为 heroku-vpc-peering
的 Heroku 插件。
我们需要获取到由 Heroku VPC Peering 应用程序生成的私有连接的 IP 地址。这里有两种不同的方式:
如果您的私有连接是通过
peering:connection
选项创建的,则可以使用以下命令来列出该连接的 IP 地址:heroku peering:connection:list
如果您的私有连接是通过
vpc:peering-connection
选项创建的,则可以使用以下命令来列出该连接的 IP 地址:heroku vpc:peering-connection:list
配置私有连接的命令如下:
heroku pg:privatelink:add --app APP_NAME IP_ADDRESS
请将上述命令中的 APP_NAME
替换为您的 Heroku 应用程序的名称,并将 IP_ADDRESS
替换为您的私有连接的 IP 地址。
现在,我们已经成功地配置了私有连接。
如何使用 @heroku-cli/plugin-pg-privatelink?
在成功配置私有连接后,我们可以通过以下方式使用该插件:
heroku pg:psql --app APP_NAME
请将上述命令中的 APP_NAME
替换为您的 Heroku 应用程序的名称。此命令将连接到您的私有 Heroku Postgres 数据库,并在终端中打开一个 Postgres shell。
示例代码
以下是一个使用 @heroku-cli/plugin-pg-privatelink 的示例代码:
-- -------------------- ---- ------- -- -- --------------------------------- -- ----- -- - --------------------------------------------- -- ------ ------------------------------- -------------- -- -------- --------------------------- ------- ----- -- - -- ----- - ------ ---------------------------- ----- - -- ----- -------------------- - ---- ------- ----- ------- -- - ------- -- ---- -- ----- - ------ -------------------------- ----- - -------------------- ------------- --- ---展开代码
结论
@heroku-cli/plugin-pg-privatelink 是 Heroku Postgres 数据库的一个重要功能,为我们提供了一个安全的和可靠的方式来访问 Heroku Postgres 数据库。在开发和生产中,使用私有连接已经成为一些大型项目的标准配置。本文是一份详细的教程,它可以帮助您更好地理解如何使用该 npm 包。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/114929