Consul 在AWS上使用Consul
在本章中,我们将学习如何在AWS(亚马逊网络服务)上使用Consul。
AWS的特点
在AWS上使用Consul时,一些有用的特点包括:
- 易于维护集群状态
- 可扩展性和高可用性
- 用于管理多个数据中心集群的出色用户界面
- 易于使用的命令行选项
如果您正在寻找一种使用Docker轻松部署Consul在AWS上的解决方案,请查看以下链接:
https://github.com/dwmkerr/terraform-consul-cluster
AWS部署
对于使用AWS,我们可以首先创建一个VPC。要在AWS上部署Consul,我们将使用AWS服务提供的一个快速启动模板。您可以在以下链接中轻松找到此模板:
https://aws.amazon.com/quickstart/architecture/consul/
对于本章,我们假设您已经了解AWS的基础知识。AWS CloudFormation模板将会创建以下组件:
- 一个带有公共和私有子网的VPC,分布在三个可用区。
- 一个Seed Consul服务器、一个Seed客户端以及两个自动伸缩组。
- 您可以选择创建3、5或7个服务器。默认情况下,客户端数量设置为3个,但用户可以进行配置。
- Consul的安装和配置中包含的Dnsmasq。
- 使用bootstrap_expect选项创建一个Consul集群。
请查看以下插图,了解这些不同组件是如何相互连接的。
使用 AWS
请确保您已经通过 Web 控制台登录到您的 AWS 基础架构。现在,请将以下 URL 复制到浏览器窗口中。在输入 URL 并按 Enter 键之后,AWS 网站将打开。
对于这个演示,我们将选择将其部署到新的VPC(虚拟私有云)。您可以随时在以下链接上检查AWS的VPC管理 – https://
正如您所看到的,AWS的VPC服务是可操作的,并且您的AWS账户上没有VPC,即已经在运行/配置中。现在请根据您的选择,点击AWS上的Deploy选项来创建一个新的VPC或者将其部署到现有的VPC中。您可以在网站上查看选项,如下面的截图所示。
在点击上述选项后,您会看到它打开了另一个窗口,类似于下图所示的窗口。
正如您可以在模板中看到的那样,URL已经由AWS代表您选择好了。此外,它也让您可以自由定制云形成模板,按照您的喜好进行修改。如果您想要进行定制,可以点击下一步按钮继续。
正如你所看到的,这里有各种不同的值和选项可供配置。对于某些更改,你可以根据自己的选择将其改名为HashiCorp-Consul的替代名称。请随意根据你的便利更改其他选项。
如上所示,可以根据您的选择来定制几个选项。如您在Consul设置部分所见,默认的Consul集群实例类型为 t2.medium 。您可以更改为您选择的实例。
注意 − 在允许任何IP地址时,将允许范围填写为0.0.0.0/0。
默认情况下,consul服务器的数量为三个。您可以将其更改为五个,以在consul环境中测试更多的服务器。在快速启动配置下,您还可以看到一个 S3存储桶 也是默认使用的,并命名为quick start-reference。当您完成更改后,请点击屏幕底部的“下一步”按钮。
在上面的屏幕截图中,您可以看到有一个选项可以使用标签来更好地识别和使用。此外,您还可以选择一个 IAM 角色,以便向他人提供访问您的 VPC 堆栈的权限。您可以根据所选的选项进行选择。
对于更高级的选项,请选择 高级选项 ,在那里您可以为您的 VPC 启用 Amazon SNS 以获取其通知。当您完成详细信息时,请继续进行下一个选项。
上面的屏幕显示了您选择的领事堆栈的审核细节。您可以审核VPC堆栈的选择选项并继续滚动到屏幕底部,勾选IAM资源创建确认框,然后点击“创建”按钮完成堆栈的创建。
您可以在AWS管理控制台的”CloudFormation Stack”部分检查输出。根据VPC输出,您也可以在AWS控制台的VPC部分查看,如下面的屏幕截图所示。
如果你只是在测试 Consul Template,请确保删除你使用过的资源。你可以通过在 CloudFormation 部分删除 CloudFormation Stack,以及在 VPC 仪表盘上删除 VPC 来轻松实现。