使用在 Amazon CloudFormation Streams 使用者应用程序中设置海王星到海王星的复制 - Amazon Neptune
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用在 Amazon CloudFormation Streams 使用者应用程序中设置海王星到海王星的复制

您可以使用 Amazon CloudFormation 模板设置 Neptune 流使用者应用程序,以支持海王星到海王星的复制。

为你所在的地区选择一个 Amazon CloudFormation 模板

要在 Amazon CloudFormation 控制台上启动相应的 Amazon CloudFormation 堆栈,请根据要使用的 Amazon 区域,选择下表中的启动堆栈按钮之一。

区域 查看 在 Designer 中查看 发布
美国东部(弗吉尼亚州北部) 视图 在 Designer 中查看
美国东部(俄亥俄州) 视图 在 Designer 中查看
美国西部(加利福尼亚北部) 视图 在 Designer 中查看
美国西部(俄勒冈州) 视图 在 Designer 中查看
加拿大(中部) 视图 在 Designer 中查看
南美洲(圣保罗) 视图 在 Designer 中查看
欧洲地区(斯德哥尔摩) 视图 在 Designer 中查看
欧洲地区(爱尔兰) 视图 在 Designer 中查看
欧洲地区(伦敦) 视图 在 Designer 中查看
欧洲地区(巴黎) 视图 在 Designer 中查看
欧洲地区(法兰克福) 视图 在 Designer 中查看
中东(巴林) 视图 在 Designer 中查看
中东(阿联酋) 视图 在 Designer 中查看
以色列(特拉维夫) 视图 在 Designer 中查看
非洲(开普敦) 视图 在 Designer 中查看
Asia Pacific (Tokyo) 视图 在 Designer 中查看
亚太地区(香港) 视图 在 Designer 中查看
亚太地区(首尔) 视图 在 Designer 中查看
亚太地区(新加坡) 视图 在 Designer 中查看
亚太地区(悉尼) 视图 在 Designer 中查看
亚太地区(孟买) 视图 在 Designer 中查看
中国(北京) 视图 在 Designer 中查看
中国(宁夏) 视图 在 Designer 中查看
Amazon GovCloud (美国西部) 视图 在 Designer 中查看
Amazon GovCloud (美国东部) 视图 在 Designer 中查看

Create stack (创建堆栈) 主页上,选择 Next (下一步)

添加有关您正在创建的 Neptune 流使用者堆栈的详细信息

Specify Stack Details (指定堆栈详细信息) 页面提供了属性和参数,可用于控制应用程序的设置。

堆栈名称-您正在创建的新 Amazon CloudFormation 堆栈的名称。通常可以使用默认值 NeptuneStreamPoller

Parameters (参数) 下,提供以下内容:

流使用者运行的 VPC 的网络配置
  • VPC – 提供将运行轮询 Lambda 函数的 VPC 的名称。

  • SubnetIDs – 与其建立网络接口的子网。添加与您的 Neptune 集群对应的子网。

  • SecurityGroupIds – 提供向源 Neptune 数据库集群授予写入入站访问权限的安全组的 ID。

  • RouteTableIds – 如果您还没有 Amazon DynamoDB 端点,则需要在 Neptune VPC 中创建一个。您必须提供与子网关联的路由表 ID 的逗号分隔列表。

  • CreateDDBVPCEndPoint – 一个布尔值,默认为 true,表示是否需要创建 DynamoDB VPC 端点。如果您已在 VPC 中创建 DynamoDB 端点,则只需将其更改为 false

  • CreateMonitoringEndPoint – 一个布尔值,默认为 true,表示是否需要创建监控 VPC 端点。如果您已在 VPC 中创建镜像终端节点,则只需将其更改为 false

流轮询器
  • ApplicationName – 您通常可以将此设置保留为默认值 (NeptuneStream)。如果您使用不同的名称,则该名称必须是唯一的。

  • LambdaMemorySize – 用于设置 Lambda 轮询器函数可用的内存大小。默认值为 2,048 MB。

  • LambdaRuntime – 从 Neptune 流中检索项目的 Lambda 函数使用的语言。您可以将其设置为 python3.9java8

  • LambdaS3Bucket – 包含 Lambda 代码构件的 Amazon S3 桶。除非您使用从其它 Amazon S3 桶加载的自定义 Lambda 轮询函数,否则将此设置保留为空。

  • LambdaS3Key – 与您的 Lambda 代码构件对应的 Amazon S3 键。除非您使用自定义 Lambda 轮询函数,否则将此设置保留为空。

  • LambdaLoggingLevel – 通常,将此设置保留为默认值,即 INFO

  • ManagedPolicies – 列出用于执行 Lambda 函数的托管式策略。通常,除非您使用自定义 Lambda 轮询函数,否则将此设置保留为空。

  • StreamRecordsHandler – 通常,除非您为 Neptune 流中的记录使用自定义处理程序,否则将此设置保留为空。

  • StreamRecordsBatchSize – 要从流中提取的最大记录数。您可以使用此参数来优化性能。默认值 (5000) 是一个很好的开始。允许的最大值为 10,000。数字越大,从流读取记录所需的网络调用就越少,但处理记录所需的内存越多。此参数的值越低,吞吐量就越低。

  • MaxPollingWaitTime – 两次轮询之间的最长等待时间(以秒为单位)。确定调用 Lambda 轮询器轮询 Neptune 流的频率。将此值设置为 0 以进行连续轮询。最大值为 3600 秒(1 小时)。默认值(60 秒)是一个很好的开始,具体取决于图形数据更改的速度。

  • MaxPollingInterval – 最长连续轮询周期(以秒为单位)。使用此参数设置 Lambda 轮询函数的超时。该值应介于 5 秒到 900 秒之间。默认值(600 秒)是一个很好的开始。

  • StepFunctionFallbackPeriod— 等待轮询器的 step-function-fallback-period 单位数,之后通过 Amazon CloudWatch Events 调用步骤函数以从故障中恢复。默认值(5 分钟)是一个很好的开始。

  • StepFunctionFallbackPeriodUnit – 用于衡量前面的 StepFunctionFallbackPeriodUnit 的时间单位(minuteshoursdays)。默认值 (minutes) 通常就足够了。

Neptune 流
  • NeptuneStreamEndpoint –(必需)Neptune 源流的端点。它采用两种形式之一:

    • https://your DB cluster:port/propertygraph/stream(或其别名 https://your DB cluster:port/pg/stream)。

    • https://your DB cluster:port/sparql/stream.

  • Neptune Query Engine – 选择 Gremlin、openCypher 或 SPARQL。

  • IAMAuthEnabledOnSourceStream – 如果您的 Neptune 数据库集群使用 IAM 身份验证,请将此参数设置为 true

  • StreamDBClusterResourceId – 如果您的 Neptune 数据库集群使用 IAM 身份验证,请将此参数设置为集群资源 ID。资源 ID 与集群 ID 不同。相反,它采取的形式是:cluster- 后跟 28 个字母数字字符。可以在 Neptune 控制台的集群详细信息下找到它。

目标 Neptune 数据库集群
  • TargetNeptuneClusterEndpoint – 目标备份集群的集群端点(仅限主机名)。

    请注意,如果您指定 TargetNeptuneClusterEndpoint,则不能同时指定 TargetSPARQLUpdateEndpoint

  • TargetNeptuneClusterPort – 目标集群的端口号。

    请注意,如果您指定 TargetSPARQLUpdateEndpoint,则会忽略 TargetNeptuneClusterPort 的设置。

  • IAMAuthEnabledOnTargetCluster – 如果要在目标集群上启用 IAM 身份验证,则设置为 true。

  • TargetAWSRegion— 目标备份集群的 Amazon 区域,例如us-east-1)。只有当目标备份集群的 Amazon 区域与 Neptune 源集群的区域不同时(例如跨区域复制),您才必须提供此参数。如果源区域和目标区域相同,则此参数是可选的。

    请注意,如果该TargetAWSRegion值不是 Nep tune 支持的有效 Amazon 区域,则该过程将失败。

  • TargetNeptuneDBClusterResourceId可选:只有在目标数据库集群上启用 IAM 身份验证时才需要此参数。设置为目标集群的资源 ID。

  • SPARQLTripleOnlyMode - 确定是否启用仅限三重模式的布尔标志。在仅限三重模式下,不存在命名图形复制。默认值为 false

  • TargetSPARQLUpdateEndpoint – SPARQL 更新的目标端点的 URL,例如 https://abc.com/xyz。此端点可以是任何支持四元组或三元组的 SPARQL 存储。

    请注意,如果您指定 TargetSPARQLUpdateEndpoint,则无法同时指定 TargetNeptuneClusterEndpointTargetNeptuneClusterPort 的设置将被忽略。

  • BlockSparqlReplicationOnBlankNode — 布尔标志,如果设置为true,则停止复制 SPARQL (RDF) 数据。 BlankNode 默认值为 false

警报
  • Required to create Cloud watch Alarmtrue 如果要为新堆栈创建 CloudWatch 警报,请将其设置为。

  • SNS Topic ARN for Cloudwatch Alarm Notifications— 应在 CloudWatch 其中发送警报通知的 SNS 主题 ARN(仅在启用警报时才需要)。

  • Email for Alarm Notifications – 应向其发送警报通知的电子邮件地址(仅在启用警报时才需要)。

对于警报通知的目标,您可以添加仅限 SNS、仅限电子邮件或同时使用 SNS 和电子邮件。

运行 Amazon CloudFormation 模板

现在,您可以完成预调配 Neptune 流使用者应用程序实例的过程,如下所示:

  1. 在 Amazon CloudFormation指定堆栈详细信息页面上,选择下一步

  2. 选项页面上,选择下一步

  3. 审核页面上,选中第一个复选框以确认 Amazon CloudFormation 将创建 IAM 资源。选中第二个复选框以确认新堆栈的 CAPABILITY_AUTO_EXPAND

    注意

    CAPABILITY_AUTO_EXPAND 明确确认在创建堆栈时将扩展宏,而无需事先审核。用户通常通过处理的模板创建更改集,以便在实际创建堆栈之前对宏所做的更改进行审核。有关更多信息,请参阅 Amazon CloudFormation CreateStackAPI 参考中的Amazon CloudFormation API

    然后选择创建

使用最新的 Lambda 构件更新流轮询器

您可以使用最新的 Lambda 代码构件更新流轮询器,如下所示:

  1. 在中 Amazon Web Services Management Console,导航到主父 Amazon CloudFormation 堆栈 Amazon CloudFormation 并选择该堆栈。

  2. 为堆栈选择更新选项。

  3. 选择替换当前模板

  4. 对于模板源,选择 Amazon S3 URL 并输入以下 S3 URL:

    https://aws-neptune-customer-samples.s3.amazonaws.com/neptune-stream/neptune_to_neptune.json
  5. 在不更改任何 Amazon CloudFormation 参数的情况下选择 “下一步”。

  6. 选择 Update Stack

现在,堆栈将使用最新的构件更新 Lambda 构件。