AWS混合云+微服务+EKS on Fargate部署高可用架构

整体框架流程概念

保留 Lightsail 实例作为混合架构的一个节点,同时部署到AWS VPC中ec2实例并配置高可用架构

1.lightsail和aws ec2做VPC Peering

2.vpc创建公有子网10.0.1.0/24,私有子网10.0.2.0/24,创建IGW,创建公共路由表,配置安全组,lightsail防火墙规则。

3.数据库与web服务分离,在aws中创建一个rds数据库实例,并开启mulit-az提高可用性,使用DMS数据库迁移服务从lightsail迁移到RDS实例中。

4.数据同步,创建efs文件系统挂载到ec2实例中,把lightsail中所需要共享的文件目录复制到efs卷中

5.创建AMI镜像,创建启动模板,挂载efs脚本,创建ASG,配置ALB

6.route 53前端部署CDN(amazon cloudfront),配置DNS解析

后续扩展

1.事件驱动的微服务-解耦 自动处理一系列任务,

核心技术栈:

Amazon S3,存储桶,事件来源

AWS Lambda,触发策略执行

Amazon SNS,简单通知服务,消息中心

Amazon SQS,简单队列服务,接收来自sns消息并保留在队列中

2.eks+fargate架构方案

1.本地构建镜像把应用容器化(网站),上传到amazon ecr(aws的docker仓库)

2.创建eks集群,指定vpc、子网、iam角色

3.本地安装kubectl(k8s命令行工具),连接eks

4.配置fargate profile

5.编写deployment.yaml,k8s指令,编写service.yaml创建统一内部入口,本地将指令发送给eks集群

6.vpc的私有子网创建rds数据库将rds的地址用户名密码发给pod

7.创建efs文件系统用来共享文件,在eks集群安装efs csi driver插件,通过k8s持久卷和持久卷声明,让pod挂载efs文件系统,完成文件共享

8.部署ALB,在eks集群中安装aws load banlancer controller(负载均衡控制器)插件。编写ingress.yaml,将域名的所有流量转发给pod(网站容器),配置dns,在route 53 里将域名指向alb的dns地址

9.网站访问过程

用户浏览器—zhangduanxu.com—route53解析dns—aws alb应用负载均衡—EKS集群—blog-service—网站pod

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注