Consul - 在 AWS 上使用 Consul



在本节中,我们将学习如何在 AWS(Amazon Web Services)上使用 Consul。

AWS 的功能

在 AWS 中使用 Consul 时,一些有用的功能包括:

  • 易于维护集群状态。
  • 可扩展性和高可用性。
  • 出色的用户界面,用于管理跨多个数据中心的集群。
  • 易于使用的命令行选项。

如果您正在寻找一种使用 Docker 在 AWS 上轻松部署 Consul 的解决方案,请查看以下链接:https://github.com/dwmkerr/terraform-consul-cluster

AWS 部署

要使用 AWS,我们可以从为其创建一个 VPC 开始。为了在 AWS 中部署 Consul,我们将使用 AWS 服务提供的快速入门模板。此模板很容易找到:https://aws.amazon.com/quickstart/architecture/consul/

对于本章,我们假设您已经了解 AWS 的基础知识。AWS CloudFormation 模板将创建以下组件:

  • 一个VPC,在三个可用区中包含公共和私有子网。

  • 一个种子 Consul 服务器和一个种子客户端,以及两个自动扩展组。

  • 您可以选择创建 3、5 或 7 台服务器。客户端数量默认为 3,但用户可以自定义。

  • Dnsmasq,作为安装的一部分,已安装并配置为 Consul。

  • 使用bootstrap_expect选项的 Consul 集群。

请查看以下插图,了解不同组件如何互连。

Interconnected

使用 AWS

请确保您已使用 Web 控制台登录到您的 AWS 基础设施。现在,请将以下URL 放入浏览器窗口中。输入 URL 并按 Enter 键后,AWS 网站将打开。

Using the AWS

对于此演示,我们将选择将其部署到新的 VPC(虚拟私有云)中。您始终可以在以下链接上检查 AWS 的 VPC 管理:https://.console.aws.amazon.com/vpc/home。对于首次用户,默认区域是美国的俄勒冈州西部。因此,您可以直接访问以下 URL:https://us-west-2.console.aws.amazon.com/vpc/home。

VPC Management

如您所见,AWS 的 VPC 服务正在运行,并且您没有 VPC,即已经在您的 AWS 帐户上运行/配置。现在,请根据您的选择,点击 AWS 上的“部署到新 VPC”选项或“部署到现有 VPC”选项。您可以在网站上查看以下屏幕截图中所示的选项。

VPC service

点击上述选项后,您会看到它会打开另一个窗口,类似于下面显示的窗口。

Create Stack

如您所见,模板中的 URL 已由 AWS 代表您选择。它还允许您根据需要自定义云形成模板。您可以根据需要自定义它,然后点击“下一步”按钮继续。

Specify Details

如您所见,这里有各种不同的值和选项可以配置。对于某些更改,您可以根据您的选择将其重命名以替换 HashiCorp-Consul 的名称。请随时根据您的方便更改其他选项。

Configure

如您所见,可以根据您的选择自定义多个选项。如您在 Consul 设置部分中所见,默认的 Consul 集群实例类型为t2.medium。您可以将其更改为您选择的实例。

注意 - 将“允许范围”填写为 0.0.0.0/0 以允许任何 IP 地址。

默认情况下,Consul 服务器的数量为三个。您可以将其更改为五个,以在 Consul 环境中测试更多服务器。在快速入门配置下,您可以看到也使用了一个S3 存储桶,并且默认情况下将其命名为快速入门参考。完成更改后,点击屏幕底部的“下一步”按钮。

Options

在上面的屏幕截图中,您可以看到可以使用标签进行更好的识别和使用。此外,您还可以选择 IAM 角色,以向其他人提供对您的 VPC 堆栈的访问权限。您可以根据您的选项选择。

对于更高级的选项,请选择高级选项卡,您可以在其中为您的 VPC 启用 Amazon SNS 以获取其通知。完成详细信息后,继续执行“下一步”选项。

Review

以上屏幕显示了您所选择的 Consul 堆栈的详细信息。您可以查看为 VPC 堆栈选择的选项,然后转到屏幕底部,选中创建 IAM 资源的确认框,然后点击“创建”按钮以完成堆栈的形成。

您可以在 AWS 管理控制台的 CloudFormation 堆栈部分下检查输出。根据 VPC 输出,您也可以在 AWS 控制台的 VPC 部分中查看它,如下面的屏幕截图所示。

CloudFormation

如果您只是测试 Consul 模板,请确保删除您使用的资源。您可以通过删除 CloudFormation 部分下的 CloudFormation 堆栈和 VPC 仪表板上的 VPC 来轻松做到这一点。

广告

© . All rights reserved.