

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

# 阶段 2 – 概念验证
<a name="stage-2-poc"></a>

执行迁移时，证明目标状态解决方案能否按要求发挥作用至关重要。我们强烈建议进行概念验证（PoC）练习。本节重点介绍运行 PoC 时需要考虑的各个方面：
+ 定义进入和退出标准
+ 筹集资金
+ 自动化
+ 全面测试
+ PoC 阶段
+ 故障模拟

## 定义进入和退出标准
<a name="entry-exit"></a>

拥有明确的进入和退出标准是成功进行 PoC 练习的关键。在定义进入标准时，请注意以下事项：
+ 使用案例定义
+ 访问环境
+ 熟悉各种服务
+ 关联的训练要求

同样，定义可用于评估 PoC 结果的退出标准，包括：
+ 功能
+ 性能要求
+ 安全实现 PoC

## 筹集资金
<a name="funding"></a>

根据 PoC 标准定义，为 PoC 筹集资金。确保您已进行合理的规模调整，并考虑了所有关联成本。如果您要从本地迁移到 AWS，请包括与将您的框架从本地迁移到 AWS 云关联的成本。如果您是 AWS 的现有客户，请咨询您的 AWS 客户经理，了解您是否有资格获得可用于迁移到 Amazon OpenSearch Service 的抵扣金。

## 自动化
<a name="automate"></a>

确定哪些环节可以实现自动化，并制定专门的流程来自动化测试并设定时间限制。自动部署和测试可帮助您快速迭代、重复、测试和验证，而不会出现人为引入的错误。

通过设定测试时间限制，您可以确保按时交付，并在遇到挑战时转向其他活动。例如，如果您的性能测试花费的时间超过了预计时间，则可以暂停该活动。然后，在开发者修复问题时，您可以转到其他测试和验证活动。解决问题后，您可以返回性能测试。对现有解决方案性能进行基准测试，并创建自动性能测试，以验证在 PoC 期间配置更改的影响。

## 全面测试
<a name="testing"></a>

通过确保对与 Amazon OpenSearch Service 域集成的不同层（例如摄取管线和查询机制）执行所需的验证，测试堆栈的所有部分。这将帮助您验证端到端解决方案的实施。

**表示层**

在表示层中，请务必进行包含以下活动的 PoC 练习：
+ **身份验证**：验证计划中的用户身份验证机制。
+ **授权**：确定您要遵循的授权机制，并验证这些机制是否按预期运行。
+ **查询**：您在生产中会遇到的最常见的使用案例是什么？ 哪些边缘案例场景对您的业务至关重要？ 识别这些模式，并在 PoC 期间对其进行验证。
+ **渲染**：数据是否针对不同用户在各种使用案例下进行准确、恰当的呈现？ 对于日志分析使用案例，您可能需要在 OpenSearch Dashboards 或 Kibana 上构建和测试控制面板（具体取决于目标版本），以确认其是否符合您的要求。

**摄取层**

在摄取层，务必评估各种组件，例如收集、缓冲、聚合和存储：
+ **收集**：对于日志分析使用案例，请验证是否正在收集您记录的所有数据。对于搜索使用案例，请确定馈送数据的来源，并对数据的完整性和正确性执行验证，以确保收集阶段已成功执行。
+ **缓冲区**：如果流量激增，则可能需要确保缓冲正在摄取的数据。创建缓冲设计的方法有很多种。例如，您可以使用 Amazon Data Firehose 收集数据，也可以使用 Amazon S3 存储空间作为缓冲区。
+ **聚合**：验证您在摄取期间执行的任何数据聚合，例如批量 API 使用情况。
+ **存储**：验证存储是否能够以最佳方式处理您正在执行的摄取。

## PoC 阶段
<a name="poc-stages"></a>

我们建议您使用以下阶段实施 PoC 并验证结果。即使您事先投入了时间进行规划，也不要害怕反复完成这些 PoC 阶段并调整 PoC 计划。
+ **功能测试和负载测试**：确保所有级别都经过全面测试。模拟堆栈所有部分的故障。例如，如果您的集群包含两个大型节点，其中一个节点出现故障，则另一个节点必须占用集群上的所有流量。在这种情况下，拥有更多较小的节点可以更顺畅地从节点故障中恢复。在峰值负载及以上的负载下测试您的工作负载，以确保在此类情况下性能不会受到影响。在测试期间，尽早提出问题，以便各利益相关者在适当的时间评估任何潜在的问题。
+ **验证 KPI 并进行调整**：在 PoC 期间，确保您满足 PoC 退出标准中定义的 KPI 和业务成果。调整配置，使其符合 KPI。
+ **自动化和部署**：自动化和监控是 PoC 测试期间需要关注的其他关键方面。完善自动化步骤，并通过详细的监控进行验证，以便为所有利益相关者提供足够的信息，从而自信地评估 PoC 的结果。记录所有步骤，并创建可以重复用于生产迁移的运行手册。

## 故障模拟
<a name="failure-simulation"></a>

我们强烈建议您模拟故障场景，并验证您的设计是否具有满足用户要求所需的韧性和容错能力。您可能需要模拟数据节点的故障，以查看您的集群是否有足够的资源来正常处理恢复。要检查您的域是否会因大量摄取而不堪重负，您可以通过模拟从某些来源爆发大量日志来测试缓冲设置。在扩展到生产部署时，验证您的设计是否超过任何配额。有关[服务配额](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/limits.html)的更多信息，请参阅 Amazon OpenSearch Service 文档。