整体框架流程概念
保留 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

发表回复