AWS CloudFormation 使用在 Streams 使用者应用程序中设置 Neptune-to-Neptune复制 - Amazon Neptune

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

AWS CloudFormation 使用在 Streams 使用者应用程序中设置 Neptune-to-Neptune复制

您可以使用 AWS CloudFormation 模板来设置 Neptune 流使用者应用程序以支持 Neptune-to-Neptune复制。

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

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

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

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

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

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

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

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

直播使用者运行VPC位置的网络配置
  • VPC— 提供轮询 Lambda 函数的运行VPC位置的名称。

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

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

  • RouteTableIds— 如果你还没有 Amazon DynamoDB 终端节点,则需要在你的 Nept VPC une 中创建一个 Amazon DynamoDB 终端节点。您必须提供与子网IDs关联的以逗号分隔的路由表列表。

  • CreateDDBVPCEndPoint— 一个布尔值,默认为true,表示是否需要创建 Dynamo VPC DB 终端节点。仅当您已经在中创建了 DynamoDB 终端节点时,才需要将其更改为。false VPC

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

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

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

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

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

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

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

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

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

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

对于警报通知的目的地,您可以仅添加电子邮件、SNS仅添加电子邮件或两者SNS兼而有之,还可以添加电子邮件。

运行 AWS CloudFormation 模板

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

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

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

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

    注意

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

    然后选择创建

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

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

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

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

  3. 选择替换当前模板

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

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

  6. 选择 Update Stack

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