AWS 该如何从入门到进阶呢
如果只想用基本的 EC2 RDS 的话可以试试海外一年免费套餐
建议针对 S3
aws 上几乎所有东西都有开源替代品, 除非是专门想做 aws 上的解决方案架构(那直接去考那个证), 不然没啥好学的.
还有一种方法就是出来创业,被逼着没办法只能研究 aws 怎么回事。之前有两段创业经历,熟悉了 EMR, EKS, ECR, Athena 这类个人不太用的服务
aws 真的没有具体的项目给你做引导,你很难学的,那么庞大的体系,很多都是个人项目根本不用到也想不到去学的
光是 ecs 就有 ec2 和 fargate 两种,fargate 实际上就是基于 ec2 实现的,所以你要学 ec2,用 ec2 你还必须得配置 vpc,各种 az 区,public subnet, private subnet,nat gateway,security groups 啊都是坑。负载均衡 elb 从以前旧的到现在 application elb,配置 targate group 之类的,到这里你才刚刚会了最基本的 ec2 相关的几个功能
然后 ecs 的话就问题更多了,cluster,service,task 之类的,都是泪
然后 aws 一个很重要的功能还是由于企业项目的各种监视、日志服务。点进 cloudwatch 看看那复杂的内容,从基本的 log grooup 到 metric,alarm,然后 insights,以及用 ecs 就必定离不开的 container insighs 等等(顺便这些功能还多多少少和 s3 有关系)
用了 cloudfront 和 elb 的话,做错误排查你必定还得涉及到它们的请求日志问题,这时候就要用 athena 了(这玩意按照处理数据量收费的样子,数据量大了花费也不小)
RDS 的话少年你要不要考虑下 Aurora ?扩展方便,非常好用哦?
要配置 CI 的话 Pipeline 来一发,从 code build 到 depoly,因为 aws 的 code buiild 使用公共 ip 所以经常从 docker hub 拉镜像失败,所以你还得配合 vpc 的 nat gateway 把 code build 的执行环境搞到自己的 vpc 内
上面这么多东西一个个手动在网页上配置太麻烦了,所以你还得学学 aws cli,但是 cli 功能有限,所以最终你会发现自己会用到 cloud formation 这个复杂的天坑来完全将环境配置自动化。手写 json 或 yaml 可能太累,你还需要使用 pytho 或 go 之类的辅助库来帮助你自动生成 cloud formation 的 template
嗯,除此之外 aws 还有非常非常多经常用到的小功能和奇淫巧计,真的不用体会不到个中辛酸
像最近遇到上了 vpc 的 lambda 还得自己额外配置网络才能让它访问公网,一般人直接就朦蔽了
aws 的 vendor lockin 又很严重,一些 managed service,虽然都是基于开源改的,但是夹带私获很多,例如最近撕比的 elastic vs opensearch 。一旦用上了,再往外挪就不是那么容易了。
比如 serverless,学会 Lambda+DynamoDB+S3 就差不多了,其它的框架都会帮你配好