GCP 上 Eon 模式的先决条件
在 GCP 上部署 Eon 模式数据库之前,您必须执行以下几个步骤:
-
查看 GCP 项目的默认服务帐户的权限。
-
创建要在创建群集时使用的 HMAC 密钥。
-
创建公共存储位置。
服务帐户权限
服务帐户允许自动化流程通过 GCP 进行身份验证。Eon 模式数据库部署过程使用 GCP 项目的项目服务帐户来部署实例。当您创建新项目时,GCP 会自动为该项目创建一个默认服务帐户(由
project_number-compute@developer.gserviceaccount.com
标识),并授予其 IAM 角色编辑者。有关此角色和其他 IAM 角色的详细信息,请参阅 Google Cloud 文档的了解角色。
编辑者角色允许服务帐户从市场创建资源。当您创建管理控制台 (MC) 的实例时,MC 使用该帐户部署更多资源,例如为数据库配置实例。
有关详细信息,请参阅 Google Cloud 文档的了解服务帐户页面。
权限和角色
要在 GCP 上部署 Vertica,您的用户帐户必须具有:
-
编辑者 (Editor) 角色。
-
runtimeconfig.waiters.getIamPolicy
权限。
创建 HMAC 密钥
Vertica 使用基于哈希的消息身份验证代码 (HMAC) 密钥对访问公共存储位置的请求进行身份验证。此密钥有两部分:访问 ID 和密钥。当您在 GCP 中创建 Eon 模式数据库时,您需要提供 HMAC 密钥的两个部分供节点用于访问公共存储。
要创建 HMAC 密钥:
-
登录到您的 Google Cloud 帐户。
-
如果您将用于创建数据库的项目的名称未显示在顶部横幅中,请单击下拉列表并选择正确的项目。
-
在左上角的导航菜单中的“存储 (Storage)”标题下,单击存储 (Storage) 并选择设置 (Settings)。
-
在“设置 (Settings)”页面中,单击互操作性 (Interoperability)。
-
滚动到页面底部,并找到“用户帐户 HMAC (User account HMAC)”标题。
-
除非您已经设置了默认项目,否则您会看到一条消息,指出您尚未为用户帐户设置默认项目。单击设置 project-id 作为默认项目 (Set project-id as default project) 按钮选择当前项目作为默认项目以实现互操作性。
注意
项目 ID 将显示在按钮标签中,而不是项目名称中。 -
在您的用户帐户的“访问密钥 (Access keys)”下,单击创建密钥 (Create a key)。
-
您的新访问密钥将显示在 HMAC 密钥列表中。当您创建 Eon 模式数据库时将需要它们。您可以将它们复制到方便的位置(例如文本编辑器),或使用一个浏览器选项卡打开此页面,同时使用另一个选项卡或窗口创建数据库。这些密钥在此页面上仍然可用,因此您无需担心它们会保存到其他位置。
当心
保护 HMAC 密钥的安全性至关重要。它可以授予其他人对您的 Eon 模式数据库的公共存储位置的访问权限。这意味着,他们可以访问您的数据库中的所有数据。请勿将 HMAC 密钥写入任何可能公开的位置,例如电子邮件、共享文件夹或类似的不安全位置。创建公共存储位置
您的 Eon 模式数据库需要将一个存储位置作为其公共存储。在 GCP 上运行的 Eon 模式数据库使用 Google Cloud Storage (GCS) 作为其公共存储位置。当您创建新的 Eon 模式数据库时,您将为 MC 的向导提供存储位置的 GCS URL。
此位置需要满足以下条件:
-
URL 必须至少包含一个存储桶名称。您也可以使用一个或多个级别的文件夹。例如,以下 GCS URL 是有效的:
-
gs://verticabucket/mydatabase
-
gs://verticabucket/databases/mydatabase
-
gs://verticabucket
多个数据库可以共享同一个存储桶,只要每个数据库都有自己的文件夹即可。
-
-
如果提供,则 URL 中的最低级别文件夹应当尚不存在。例如,在 GCS URL
gs://verticabucket/databases/mydatabase
中,必须存在名为verticabucket
的存储桶和名为databases
的目录。名为mydatabase
的子目录不得存在。Vertica 安装过程应该自行创建最终文件夹。如果该文件夹已存在,则安装过程将失败。注意
如果您的公共存储位置已包含要访问的先前 Eon 模式数据库中的数据,请使用恢复过程,而不是安装新数据库。有关详细信息,请参阅停止、启动、终止和恢复 Eon 模式数据库群集。 -
必须将存储桶的权限设置为允许服务帐户对存储桶具有读取、写入和删除权限。要获得这些权限,分配给用户的最佳角色是存储对象管理员。
-
为防止出现性能问题,存储桶必须与运行 Eon 模式数据库的所有节点位于同一区域。
-
如果通过 admintools UI 创建数据库,则必须在
admintools.conf
中将gcsauth
设置为引导参数。有关此参数和其他 GCP 参数的详细信息,请参阅 Google Cloud Storage 参数。[BootstrapParameters] gcsauth = ID:secret