Consul - 在AWS上使用Consul

在本章中,我们将学习如何在AWS上使用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 种子领事服务器种子客户端以及两个自动缩放组.

  • 您可以选择创建3个,5个或7个服务器.默认情况下,客户端数量设置为3,但用户可以配置.

  • Dnsmasq ,已安装和配置for Consul作为安装的一部分.

  • 使用 bootstrap_expect 选项的Consul集群.

请看下面的插图,了解不同组件的互连方式.

Interconnected

使用AWS

请确保您已使用Web控制台登录AWS基础架构.现在,请将以下网址放入浏览器窗口.输入URL并按Enter键后,AWS网站将会打开.

使用AWS

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

VPC管理

正如您所看到的,AWS的VPC服务是可操作的,您没有VPC,即已在您的AWS账户上运行/配置.现在,请单击AWS上的Deploy选项,将其添加到新的VPC中,或根据您的选择部署到现有的VPC中.您可以在网站上查看该选项,如以下屏幕截图所示.

VPC服务

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

创建堆栈

正如您在模板中看到的那样,AWS已经代表您选择了URL.它还使您可以自由地自定义云形成模板.您可以根据需要自定义它,然后单击下一步按钮继续.

指定详细信息

正如您所看到的,您可以在此处配置各种不同的值和选项.对于某些更改,您可以根据您的选择重命名,以替换名称HashiCorp-Consul.请随意根据您的方便更改其他选项.

Configure

如上所示,可以根据您的选择自定义多个选项.正如您在Consul Setup部分中所看到的,默认的Consul Cluster实例类型是 t2.medium .您可以将其更改为您选择的实例.

注意 : 允许任何IP地址填写允许范围为0.0.0.0/0.

默认情况下,consul服务器的数量为3.您可以将其更改为五,以便在领事环境中测试更多服务器.在快速启动配置下,您可以看到 S3存储桶也被使用并默认命名为快速启动引用.完成更改后,单击屏幕底部的"下一步"按钮.

选项

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

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

Review

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

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

CloudFormation

如果您只是测试领事模板,请确保删除您使用的资源.您可以通过删除CloudFormation部分下的CloudFormation堆栈和VPC仪表板上的VPC轻松完成此操作.