写点什么

WordPress 基于亚马逊云的部署实践(四)

作者:王坤祥
  • 2023-11-19
    北京
  • 本文字数:1606 字

    阅读完需:约 5 分钟

WordPress 基于亚马逊云的部署实践(四)

本文继续 WordPress 基于亚马逊云的部署实践(三)中的部署进展,开始部署负载均衡器以及 Auto Scaling 组。开始部署前,再次启动之前停止的 EC2 实例,为后续部署负载均衡器进行准备。

负载均衡器部署

Application Load Balancer 是 AWS 中构建现代应用程序架构的关键组件,它提供了灵活性、性能和可用性,使应用程序能够应对不断增长的流量和需求。接下来,开始在云平台上构建负载均衡服务。创建目标组 wordpress-target-group ,选择目标类型为实例类型。VPC 选择之前创建好的 wordpress vpc,IP 地址类型为 IPV4,协议版本选为 HTTP1。目标的运行状况检查协议为 HTTP,检查路径为“/”。点击下一步,开始注册目标。



注册目标选择我们创建好的 wordpress 实例,点击右下角的创建目标组对该目标组进行创建。


接下来开始创建名为 wordpress-alb 的负载均衡器。其中模式选择为面向互联网,IP 地址类型为 IPv4。VPC 选择之前创建好的 WordPress-vpc,子网选择 WordPress-subnet-public1-cn-north-1a 和 WordPress-subnet-public2-cn-north-1b 两个共有子网。安全组选择之前创建好的 WordPress-Project 安全组以及默认的 default 安全组。侦听器选择 HTTP:80 端口,其目标组选择刚刚创建好的 wordpress-target-group。最后点击右下角的创建负载均衡器开始创建。



创建好负载均衡器后,在控制台上可以看到该负载均衡器的详细信息。其中,DNS 名称 wordpress-alb-1439451417.cn-north-1.elb.amazonaws.com.cn ,就是我们可以用来访问的地址。在浏览器中访问,可以看到 wordpress 的页面。


弹性伸缩服务部署

AWS Auto Scaling 是 Amazon Web Services(AWS)提供的一项服务,旨在帮助用户自动管理其应用程序和计算资源的伸缩,以应对不断变化的工作负载需求。该服务可以自动增加或减少计算资源,以确保应用程序具有所需的性能和可用性,同时最小化资源浪费。Auto Scaling 使用户能够以自动、智能的方式管理其 AWS 资源,从而提高应用程序的性能、可用性和成本效益。它是构建高度弹性和自适应应用程序架构的关键工具。


以下是在亚马逊云平台上配置 Auto Scaling 服务的步骤。

创建 EC2 启动模板。

启动模板允许预定义实例启动配置,包括 AMI(Amazon Machine Image)、实例类型、存储、网络配置和安全组规则等。创建名为 wordpress-ec2-launch-templete 的模板,这里可以勾选 Auto Scaling 指导,方便我们进行配置。

应用程序和操作系统镜像,选择我们之前创建好的 wordpress-base-ami。实例类型和密钥对选择之前配置 EC2 实例时使用的配置。安全组选择 WordPress-Project。存储卷大小选择 40GB。确认相关信息无误后,点击右下角的创建启动模板进行创建。



创建 Auto Scaling Group

创建名为 wordpress-ec2-autoscaling-group 的 Auto Scaling 组,启动模板选择创建好的 wordpress-ec2-launch-templete。


选择实例启动项。根据架构中的设计,需要将实例部署在位于不同可用区的两个私有子网中。如下图所示,需要指定的 vpc 为 WordPress-vpc,子网为 WordPress-subnet-private1-cn-north-1a 和 WordPress-subnet-private2-cn-north-1b。


配置高级选项。此处将 Auto Scaling 组附加到现有的负载均衡器,选择目标组为之前创建好的 wordpress-target-group 目标组。

配置组大小和扩展策略。设置组大小所需容量为 2,最小容量为 2,最大容量为 4。扩展策略选择目标跟踪扩展,指标类型平均 CPU 利用率,目标值为 50%。


为了能够及时了解服务的运行情况,选择为 Auto Scaling 组添加 SNS 消息通知,定义创建的 SNS 主题为 wordpress-autosaling-topic。点击下一步检查所有信息,如果没有问题,即可进行创建。


创建完成后,我们可以在负载均衡器的目标组中看到新添加了两个实例目标。为了对该弹性伸缩服务进行验证,我们可以去 EC2 服务的控制台,强行停止或者终止实例,然后检查负载均衡器后端目标组的伸缩情况,以及检查 SNS 是否可以发送消息到指定邮箱。经过测试发现,当终止所有实例后,弹性伸缩服务可以重新启动两个 EC2 实例来保证负载均衡器正常调用 wordpress 服务。


用户头像

王坤祥

关注

日拱一卒,功不唐捐。 2017-10-17 加入

不懂热能的低温工程师不是好程序猿

评论

发布
暂无评论
WordPress 基于亚马逊云的部署实践(四)_AWS_王坤祥_InfoQ写作社区