本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 AWS CloudFormation 模板开始 Neptune-to-OpenSearch复制
启动特定于您所在地区的 AWS CloudFormation 堆栈
以下每个 AWS CloudFormation 模板都在特定 AWS 区域创建一个 Streams-consumer 应用程序实例。要使用 AWS CloudFormation 控制台启动相应的堆栈,请根据要使用的 AWS 区域,选择下表中的启动堆栈按钮之一。
| 区域 | 视图 | 在 Designer 中查看 | 启动 |
|---|---|---|---|
| 美国东部(弗吉尼亚州北部) | 视图 |
在 Designer 中查看 |
|
| 美国东部(俄亥俄州) | 视图 |
在 Designer 中查看 |
|
| 美国西部(加利福尼亚北部) | 视图 |
在 Designer 中查看 |
|
| 美国西部(俄勒冈州) | 视图 |
在 Designer 中查看 |
|
| 加拿大(中部) | 视图 |
在 Designer 中查看 |
|
| 南美洲(圣保罗) | 视图 |
在 Designer 中查看 |
|
| 欧洲地区(斯德哥尔摩) | 视图 |
在 Designer 中查看 |
|
| 欧洲地区(爱尔兰) | 视图 |
在 Designer 中查看 |
|
| 欧洲地区(伦敦) | 视图 |
在 Designer 中查看 |
|
| 欧洲地区(巴黎) | 视图 |
在 Designer 中查看 |
|
| 欧洲地区(西班牙) | 视图 |
在 Designer 中查看 |
|
| 欧洲地区(法兰克福) | 视图 |
在 Designer 中查看 |
|
| 中东(巴林) | 视图 |
在 Designer 中查看 |
|
| 中东(阿联酋) | 视图 |
在 Designer 中查看 |
|
| 以色列(特拉维夫) | 视图 |
在 Designer 中查看 |
|
| 非洲(开普敦) | 视图 |
在 Designer 中查看 |
|
| 亚太地区(香港) | 视图 |
在 Designer 中查看 |
|
| 亚太地区(东京) | 视图 |
在 Designer 中查看 |
|
| 亚太地区(首尔) | 视图 |
在 Designer 中查看 |
|
| 亚太地区(新加坡) | 视图 |
在 Designer 中查看 |
|
| 亚太地区(雅加达) | 视图 |
在 Designer 中查看 |
|
| 亚太地区(孟买) | 视图 |
在 Designer 中查看 |
|
| 中国(北京) | 视图 |
在 Designer 中查看 |
|
| 中国(宁夏) | 视图 |
在 Designer 中查看 |
|
| AWS GovCloud (美国西部) | 视图 |
在 Designer 中查看 |
|
| AWS GovCloud (美国东部) | 视图 |
在 Designer 中查看 |
|
在 Create stack (创建堆栈) 主页上,选择 Next (下一步)。
添加有关您正在创建的新 OpenSearch堆栈的详细信息
指定堆栈详细信息页面提供了属性和参数,可用于控制全文搜索的设置:
堆栈名称-您正在创建的新 AWS CloudFormation 堆栈的名称。通常可以使用默认值 NeptuneStreamPoller。
在 Parameters (参数) 下,提供以下内容:
流使用者运行的 VPC 的网络配置
VPC– 提供将运行轮询 Lambda 函数的 VPC 的名称。List of Subnet IDs– 建立网络接口的子网。添加与您的 Neptune 集群对应的子网。List of Security Group Ids— 提供授予 IDs 对源 Neptune 数据库集群的入站写入访问权限的安全组。List of Route Table Ids– 如果您还没有 Amazon DynamoDB 端点,则需要在 Neptune VPC 中创建一个。您必须提供与子网 IDs 关联的以逗号分隔的路由表列表。Require to create Dynamo DB VPC Endpoint– 默认为true的布尔值。如果您已在 VPC 中创建 DynamoDB 端点,则只需将其更改为false。Require to create Monitoring VPC Endpoint– 默认为true的布尔值。如果您已在 VPC 中创建镜像终端节点,则只需将其更改为false。
流轮询器
Application Name– 您通常可以将此设置保留为默认值 (NeptuneStream)。如果您使用不同的名称,则该名称必须是唯一的。Memory size for Lambda Poller– 用于设置 lambda 轮询器函数可用的内存大小。默认值为 2,048 MB。Lambda Runtime– 从 Neptune 流中检索项目的 Lambda 函数使用的语言。您可以将其设置为python3.9或java8。S3 Bucket having Lambda code artifacts– 除非您使用从其它 S3 桶加载的自定义 Lambda 轮询函数,否则将此设置保留为空。S3 Key corresponding to Lambda Code artifacts– 除非您使用自定义 Lambda 轮询函数,否则将此设置保留为空。StartingCheckpoint– 流轮询器的起始检查点。默认值为0:0,表示从 Neptune 流的开头开始。StreamPollerInitialState– 轮询器的初始状态。默认值为ENABLED,这意味着流复制将在整个堆栈创建完成后立即开始。Logging level for Lambda– 通常,将此设置保留为默认值INFO。Managed Policies for Lambda Execution– 通常,除非您使用自定义 Lambda 轮询函数,否则将此设置保留为空。Stream Records Handler– 通常,除非您为 Neptune 流中的记录使用自定义处理程序,否则将此设置保留为空。Maximum records Fetched from Stream– 您可以使用此参数来优化性能。默认值 (100) 是一个很好的开始。允许的最大值为 10,000。数字越大,从流读取记录所需的网络调用就越少,但处理记录所需的内存越多。Max wait time between two Polls (in Seconds)– 确定调用 Lambda 轮询器来轮询 Neptune 流的频率。将此值设置为 0 以进行连续轮询。最大值为 3600 秒(1 小时)。默认值(60 秒)是一个很好的开始,具体取决于图形数据更改的速度。Maximum Continuous polling period (in Seconds)– 用于设置 Lambda 轮询函数的超时。它应该是 5 秒到 900 秒之间。默认值(600 秒)是一个很好的开始。Step Function Fallback Period— 等待轮询器的 step-function-fallback-period单位数,之后通过 Amazon CloudWatch Events 调用步骤函数以从故障中恢复。默认值(5 分钟)是一个很好的开始。Step Function Fallback Period Unit–用于测量上述Step Function Fallback Period的时间单位(分钟、小时、天)。默认值(分钟)通常就足够了。Data replication scope— 确定是同时复制节点和边缘,还是只复制节点 OpenSearch (这仅适用于 Gremlin 引擎数据)。默认值(All (全部))通常是一个很好的开始。Ignore OpenSearch missing document error— 用于确定是否 OpenSearch 可以忽略中的缺失文档错误的标志。缺少文档错误很少发生,但如果不忽略,则需要手动干预。默认值(True)通常是一个很好的开始。Enable Non-String Indexing– 用于启用或禁用对没有字符串内容的字段编制索引的标志。如果将此标志设置为true,则对非字符串字段进行索引 OpenSearch,或者如果false仅对字符串字段进行索引。默认值为true。Properties to exclude from being inserted into OpenSearch— 要从索引中排除的属性或谓词键的逗号分隔列表。 OpenSearch 如果将此 CFN 参数值留空,则会对所有属性键编制索引。Datatypes to exclude from being inserted into OpenSearch— 要从索引中排除的属性或谓词数据类型的逗号分隔列表。 OpenSearch 如果将此 CFN 参数值留空,则会对所有可以安全转换为 OpenSearch 数据类型的属性值进行索引。
Neptune 流
-
Endpoint of source Neptune Stream–(必需)采用以下两种形式之一:https://(或其别名your DB cluster:port/propertygraph/streamhttps://)。your DB cluster:port/pg/streamhttps://your DB cluster:port/sparql/stream
Neptune Query Engine– 选择 Gremlin 或 SPARQL。Is IAM Auth Enabled?– 如果您的 Neptune 数据库集群使用 IAM 身份验证,请将此参数设置为true。Neptune Cluster Resource Id– 如果您的 Neptune 数据库集群使用 IAM 身份验证,请将此参数设置为集群资源 ID。资源 ID 与集群 ID 不同。相反,它采取的形式是:cluster-后跟 28 个字母数字字符。可以在 Neptune 控制台的集群详细信息下找到它。
目标 OpenSearch 集群
Endpoint for OpenSearch service—(必需)在您的 VPC 中提供 OpenSearch 服务的终端节点。Number of Shards for OpenSearch Index– 默认值 (5) 通常是一个很好的开始。Number of Replicas for OpenSearch Index– 默认值 (1) 通常是一个很好的开始。Geo Location Fields for Mapping– 如果您使用的是地理位置字段,请在此处列出属性键。
警报
Require 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指定堆栈详细信息页面上,选择下一步。
在选项页面上,选择下一步。
-
在审核页面上,选中第一个复选框以确认 AWS CloudFormation 将创建 IAM 资源。选中第二个复选框以确认新堆栈的
CAPABILITY_AUTO_EXPAND。注意
CAPABILITY_AUTO_EXPAND明确确认在创建堆栈时将扩展宏,而无需事先审核。用户通常通过处理的模板创建更改集,以便在实际创建堆栈之前对宏所做的更改进行审核。有关更多信息,请参阅《 AWS CloudFormation CreateStackAPI 参考》中的AWS CloudFormation API 操作。然后选择创建。