本指南帮助您在 AWS 上设置以太坊节点,同时优化初始同步时间。许多客户构建了与以太坊区块链集成的应用程序,并选择运行自己的节点,以实现更加精细化的运营控制和功能,而这是服务节点提供商无法提供的。为了帮助这些客户,本指南建议在 AWS 上运行节点以加快初始同步过程(这是设置中最耗时的部分)。此参考架构通过展示如何以最少的停机时间扩展节点和管理更新,帮助客户解决运营问题。

请注意:[免责声明]

架构图

下载架构图 PDF 

Well-Architected 支柱

当您在云中构建系统时,AWS Well-Architected Framework 可以帮助您了解所做决策的利弊。框架的六大支柱使您能够学习设计和操作可靠、安全、高效、经济高效且可持续的系统的架构最佳实践。使用 AWS 管理控制台中免费提供的 AWS Well-Architected Tool,您可以通过回答每个支柱的一组问题,根据这些最佳实践来检查您的工作负载。

上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。

  • 通过基础设施即代码(IaC)实现全自动部署。IaC 将整个工作负载定义为代码,帮助您实现程序自动化、快速实施变更并对事件做出一致响应。

    阅读《卓越运营》白皮书 
  • 您可以在 AWS 上使用安全组来控制相关资源的流量。该解决方案使用默认 VPC,但会创建新的安全组,将互联网访问限制在点对点通信所需的端口上。这些安全组有助于确保只有 AWS 上的特定实例才能访问以太坊节点上的 JSON RPC 端口。

    阅读《安全性》白皮书 
  • 同步节点会定期停止以将数据复制到 S3 存储桶。如果 EC2 Auto Scaling 组中的 RPC 节点出现故障,可以使用最新的数据副本来恢复最新状态,从而避免数据恢复同步时间过长。

    阅读《可靠性》白皮书 
  • 由于以太坊节点运行的是有状态、长时间运行的单体软件,因此 EC2 实例是计算的最佳选择。Amazon Elastic Block Store(Amazon EBSgp3 卷使用高于标准的 IOPS 和吞吐量以实现更短的响应时间。应用程序负载均衡器可确保请求分布在运行 RPC 节点的高可用性 EC2 实例上。

    阅读《性能效率》白皮书 
  • AWS Compute Optimizer 用于为以太坊同步和 RPC 节点找到合适的大小。RPC 节点位于 EC2 Auto Scaling 组内,其可以根据需求进行扩展。 

    阅读《成本优化》白皮书 
  • 针对同步节点,使用由规格较低的 Graviton2 和 Graviton3 实例类型提供支持的实例。您只需要一个节点即可保持同步。RPC 节点通常需要更多资源,因此更倾向于使用由 Graviton 3 处理器提供支持的实例。所有 RPC 节点都在一个 Autoscaling 组内,这样 RPC 节点就能根据需求进行扩展。使用 Compute Optimizer 验证初始选择。

    阅读《可持续性》白皮书 

实施资源

提供了在 AWS 账户中进行实验和使用的详细指南。构建指南的每个阶段(包括部署、使用和清理)都将被检查,以便为部署做好准备。

示例代码为起点。它经过行业验证,是规范性但不是决定性的,可以帮助您开始。

数据库
博客

在 AWS 上运行以太坊节点

这篇博客文章演示了如何在 AWS 上设置自己的以太坊节点,以及如何加快初始同步,以便在需要时快速调用新节点。

免责声明

示例代码;软件库;命令行工具;概念验证;模板;或其他相关技术(包括由我方人员提供的任何前述项)作为 AWS 内容按照《AWS 客户协议》或您与 AWS 之间的相关书面协议(以适用者为准)向您提供。您不应将这些 AWS 内容用在您的生产账户中,或用于生产或其他关键数据。您负责根据特定质量控制规程和标准测试、保护和优化 AWS 内容,例如示例代码,以使其适合生产级应用。部署 AWS 内容可能会因创建或使用 AWS 可收费资源(例如,运行 Amazon EC2 实例或使用 Amazon S3 存储)而产生 AWS 费用。