在 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 模板将创建以下组件:

  • A VPC 跨三个可用区的公有和私有子网。

  • A 种子Consul 服务器 and a 种子客户端 以及两个 Auto Scaling 组。

  • 你可以选择创建 3、5 或 7 个服务器。默认情况下,客户端数量设置为三个,但它是用户可配置的。

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

  • 使用 Consul 集群 bootstrap_expect option.

查看下图以了解不同组件的互连方式。

Interconnected

使用 AWS


请确保你已使用 Web 控制台登录到你的 AWS 基础设施。现在,请输入以下内容 URL into the browser window. Once you type in the URL and press enter, the AWS website will open.

Using the AWS

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

VPC Management

如你所见,AWS 的 VPC 服务正在运行,而你没有 VPC,即已经在你的 AWS 账户上运行/配置。现在请根据你的选择单击 AWS 上的部署选项到新的 VPC 或部署到现有的 VPC。你可以在网站上查看该选项,如以下屏幕截图所示。

VPC service

单击上述选项后,你可以看到它打开了另一个窗口,类似于下图所示的窗口。

Create Stack

正如你在模板中看到的,该 URL 已由 AWS 代表你选择。它还使你可以根据需要自由自定义云形成模板。你可以根据需要对其进行自定义,然后单击“下一步”按钮继续。

Specify Details

如你所见,你可以在此处配置各种不同的值和选项。对于某些更改,你可以根据自己的选择重命名它以替换名称 HashiCorp-Consul。请随时根据你的方便更改其他选项。

Configure

正如你在上面看到的,可以根据你的选择自定义几个选项。正如你在 Consul 设置部分看到的,默认的 Consul Cluster 实例类型是 t2.中 .你可以将其更改为你选择的实例。

注意 : 将 Permitted Range 填写为 0.0.0.0/0 以允许任何 IP 地址。

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

Options

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

如需更多高级选项,请选择 高级选项卡 ,你可以在其中为你的 VPC 启用 Amazon SNS 以获取其通知。完成详细信息后,请继续进行下一步选项。

Review

上面的屏幕显示你查看了你选择的Consul 堆栈的详细信息。你可以查看为 VPC 堆栈选择的选项并继续到屏幕底部,选中确认创建 IAM 资源的框,然后继续单击创建按钮以完成堆栈的形成。

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

CloudFormation

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