本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWS CloudFormation 使用在 Streams 使用者应用程序中设置 Neptune-to-Neptune复制
您可以使用 AWS CloudFormation 模板来设置 Neptune 流使用者应用程序以支持 Neptune-to-Neptune复制。
主题
为你所在的地区选择一个 AWS CloudFormation 模板
要在 AWS CloudFormation 控制台上启动相应的 AWS CloudFormation 堆栈,请根据要使用的 AWS 区域,选择下表中的启动堆栈按钮之一。
区域 | 查看 | 在 Designer 中查看 | 发布 |
---|---|---|---|
美国东部(弗吉尼亚州北部) | 视图 |
在 Designer 中查看 |
|
美国东部(俄亥俄州) | 视图 |
在 Designer 中查看 |
|
美国西部(加利福尼亚北部) | 视图 |
在 Designer 中查看 |
|
美国西部(俄勒冈州) | 视图 |
在 Designer 中查看 |
|
加拿大(中部) | 视图 |
在 Designer 中查看 |
|
南美洲(圣保罗) | 视图 |
在 Designer 中查看 |
|
欧洲地区(斯德哥尔摩) | 视图 |
在 Designer 中查看 |
|
欧洲地区(爱尔兰) | 视图 |
在 Designer 中查看 |
|
欧洲地区(伦敦) | 视图 |
在 Designer 中查看 |
|
欧洲地区(巴黎) | 视图 |
在 Designer 中查看 |
|
欧洲地区(法兰克福) | 视图 |
在 Designer 中查看 |
|
中东(巴林) | 视图 |
在 Designer 中查看 |
|
中东 (UAE) | 视图 |
在 Designer 中查看 |
|
以色列(特拉维夫) | 视图 |
在 Designer 中查看 |
|
非洲(开普敦) | 视图 |
在 Designer 中查看 |
|
Asia Pacific (Tokyo) | 视图 |
在 Designer 中查看 |
|
亚太地区(香港) | 视图 |
在 Designer 中查看 |
|
亚太地区(首尔) | 视图 |
在 Designer 中查看 |
|
亚太地区(新加坡) | 视图 |
在 Designer 中查看 |
|
亚太地区(悉尼) | 视图 |
在 Designer 中查看 |
|
亚太地区(孟买) | 视图 |
在 Designer 中查看 |
|
中国(北京) | 视图 |
在 Designer 中查看 |
|
中国(宁夏) | 视图 |
在 Designer 中查看 |
|
AWS GovCloud (美国西部) | 视图 |
在 Designer 中查看 |
|
AWS GovCloud (美国东部) | 视图 |
在 Designer 中查看 |
|
在 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
VPCCreateMonitoringEndPoint
— 一个布尔值true
,默认为,表示是否需要创建监视VPC端点。仅当您已经在中创建了监控终端节点时,才需要将其更改为VPC。false
流轮询器
ApplicationName
– 您通常可以将此设置保留为默认值 (NeptuneStream
)。如果您使用不同的名称,则该名称必须是唯一的。LambdaMemorySize
– 用于设置 Lambda 轮询器函数可用的内存大小。默认值为 2,048 MB。LambdaRuntime
– 从 Neptune 流中检索项目的 Lambda 函数使用的语言。您可以将其设置为python3.9
或java8
。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
的时间单位(minutes
、hours
或days
)。默认值 (minutes
) 通常就足够了。
Neptune 流
-
NeptuneStreamEndpoint
–(必需)Neptune 源流的端点。它采用两种形式之一:https://
(或其别名your DB cluster
:port
/propertygraph/streamhttps://
)。your DB cluster
:port
/pg/streamhttps://
.your DB cluster
:port
/sparql/stream
Neptune Query Engine
— 选择 Gremlin、openCypher、或。SPARQLIAMAuthEnabledOnSourceStream
— 如果您的 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
,则无法同时指定TargetNeptuneClusterEndpoint
,TargetNeptuneClusterPort
的设置将被忽略。 -
BlockSparqlReplicationOnBlankNode
-布尔标志,如果设置为true
,则停止复制 BlankNode in SPARQL (RDF) 数据。默认值为false
。
警报
Required to create Cloud watch Alarm
—true
如果要为新堆栈创建 CloudWatch 警报,请将其设置为。SNS Topic ARN for Cloudwatch Alarm Notifications
— 应发送 CloudWatch 警报通知SNS的主题(仅ARN在启用警报时才需要)。Email for Alarm Notifications
– 应向其发送警报通知的电子邮件地址(仅在启用警报时才需要)。
对于警报通知的目的地,您可以仅添加电子邮件、SNS仅添加电子邮件或两者SNS兼而有之,还可以添加电子邮件。
运行 AWS CloudFormation 模板
现在,您可以完成预调配 Neptune 流使用者应用程序实例的过程,如下所示:
在 AWS CloudFormation指定堆栈详细信息页面上,选择下一步。
在选项页面上,选择下一步。
-
在 Re view 页面上,选中第一个复选框以确认 AWS CloudFormation 将创建IAM资源。选中第二个复选框以确认新堆栈的
CAPABILITY_AUTO_EXPAND
。注意
CAPABILITY_AUTO_EXPAND
明确确认在创建堆栈时将扩展宏,而无需事先审核。用户通常通过处理的模板创建更改集,以便在实际创建堆栈之前对宏所做的更改进行审核。有关更多信息,请参阅《AWS CloudFormation API参考资料》 AWS CloudFormation CreateStackAPI中的。然后选择创建。
使用最新的 Lambda 构件更新流轮询器
您可以使用最新的 Lambda 代码构件更新流轮询器,如下所示:
在中 AWS Management Console,导航到主父 AWS CloudFormation 堆栈 AWS CloudFormation 并选择该堆栈。
为堆栈选择更新选项。
选择替换当前模板。
-
对于模板来源,选择 Amazon S3 URL 并输入以下 S3URL:
https://aws-neptune-customer-samples.s3.amazonaws.com/neptune-stream/neptune_to_neptune.json
在不更改任何 AWS CloudFormation 参数的情况下选择 “下一步”。
选择 Update Stack。
现在,堆栈将使用最新的构件更新 Lambda 构件。