V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
pythonee
V2EX  ›  Amazon Web Services

AWS 该如何从入门到进阶呢

  •  
  •   pythonee · 2021-04-13 09:37:45 +08:00 · 5097 次点击
    这是一个创建于 1354 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如果没有业务开发场景,纯看文档和视频,纯看博客与讨论,是不是较难深入
    19 条回复    2021-05-29 15:55:51 +08:00
    aijam
        1
    aijam  
       2021-04-13 09:40:58 +08:00
    是,一边用一边学最快
    imherer
        2
    imherer  
       2021-04-13 09:42:41 +08:00
    没有使用需求入门这个干啥?为了学而学吗?

    如果只想用基本的 EC2 RDS 的话可以试试海外一年免费套餐
    ReysC
        3
    ReysC  
       2021-04-13 10:29:37 +08:00
    没业务场景不可能到进阶的,因为 AWS 体系巨大,精通一部分就不错了。

    建议针对 S3
    monsterxx03
        4
    monsterxx03  
       2021-04-13 10:45:17 +08:00
    没业务进阶不了, 而且光看 aws 能进阶啥呢, 比如看 DynamoDB, 难道学它那鬼画符一样的 expression 吗, 看它那 sharding key + sort_key 的方案其实就是分布式系统里的常规做法, 最终一致性也不是 DynamoDB 独有的概念. 学 Redshift,又是 OLAP 那套 columnar storage 的东西, spectrum 就是 presto 套皮. S3 能学啥呢, 学 api 吗, 学系统设计还不如看 OpenStack swift, 看看它怎么实现扩容的, 多副本怎么写入的.

    aws 上几乎所有东西都有开源替代品, 除非是专门想做 aws 上的解决方案架构(那直接去考那个证), 不然没啥好学的.
    Tarkky
        5
    Tarkky  
       2021-04-13 10:49:20 +08:00
    aws 基本上涵盖了好多方面,你要哪一方面的进阶呢?基础架构,admin 还是只是开发?
    westoy
        6
    westoy  
       2021-04-13 10:50:20 +08:00   ❤️ 13
    首先从一张限额极低的信用卡开始, 这样不容易从入门到破产
    MintZX
        7
    MintZX  
       2021-04-13 14:02:38 +08:00 via iPhone
    以我的经验,把 architecture professional 考过就算是有理论基础了,可以开始上手实操了
    hunk
        8
    hunk  
       2021-04-13 14:39:26 +08:00
    用起来吧。
    我也是最近开始学的,分享下路线。
    1. 看用户手册和白皮书,英文看着挺多,其实看进去也不难,连猜带蒙,对 amazon 的前瞻性,佩服的五体投地。
    2. 部署静态网页,做了个产品 landing 页,放在 lightsail 容器上,顺带手学习了 docker 打包和 cli 上传。CloudFront 做 CDN 加速,没有注册域名,Route 53 没用。
    3. 部署 Cloud9,体验下在线代码编辑,未来可以直接编辑 cdk 并部署。
    4. 正在研究 API Gateway 和 Lambda 的联运,还没想好测试项目。
    5. 后期考虑用上 RDS,配合 ec2,这个比较简单了。
    dayeye2006199
        9
    dayeye2006199  
       2021-04-13 14:45:30 +08:00
    可以把你的博客个人项目什么的全部迁移过去,最常见的几个服务 EC2, RDS, S3, CloudFront 用用,注意别破产。。
    其他的服务实在是多如牛毛,基本只有真的用到的时候,才会去查文档去看怎么用,个人项目很少使用到。

    还有一种方法就是出来创业,被逼着没办法只能研究 aws 怎么回事。之前有两段创业经历,熟悉了 EMR, EKS, ECR, Athena 这类个人不太用的服务
    BeautifulSoap
        10
    BeautifulSoap  
       2021-04-13 15:17:24 +08:00   ❤️ 1
    哈哈,上面说的很有道理,个人把 aws 那堆服务都用一遍,小心破产。aws 的收费策略是真的相当复杂

    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 还有非常非常多经常用到的小功能和奇淫巧计,真的不用体会不到个中辛酸
    moen
        11
    moen  
       2021-04-13 15:39:45 +08:00
    aws 有些东西遇到问题要不就把文档琢磨透,要不就靠自己的信息搜索能力,要不就得靠自己的基础知识积累。对于个人而言要用好 aws 一点也不容易

    像最近遇到上了 vpc 的 lambda 还得自己额外配置网络才能让它访问公网,一般人直接就朦蔽了
    xiaket
        12
    xiaket  
       2021-04-13 15:59:12 +08:00
    AWS 体量太大, 一千个人一千个公司有一千种使用 AWS 的方式, 建议从商业项目开始上手(意即在工作中用 AWS), 后面再慢慢学.
    ganbuliao
        13
    ganbuliao  
       2021-04-13 17:54:16 +08:00
    aws 比阿里云 难好多嘛 这种东西还要学吗 不是用什么就看看文档就会了吗
    Netfix
        14
    Netfix  
       2021-04-13 23:12:39 +08:00
    @ganbuliao 好家伙, 阿里云和他不是一个等级的好吗, 建议你先去玩玩就知道了
    dayeye2006199
        15
    dayeye2006199  
       2021-04-14 03:46:47 +08:00
    因为 aws 实在太复杂,所以才会有 digitalocean 这样的厂商的生存空间。
    中小型企业上 DO 的船也是挺多的。我的个人项目也喜欢用 DO 。

    aws 的 vendor lockin 又很严重,一些 managed service,虽然都是基于开源改的,但是夹带私获很多,例如最近撕比的 elastic vs opensearch 。一旦用上了,再往外挪就不是那么容易了。
    shwintan
        16
    shwintan  
       2021-04-14 07:40:39 +08:00 via iPhone
    视频推荐 komavideo 最近他在更新 aws
    知识点讲的干净利索不拖泥带水 https://youtube.com/channel/UCazV3A3_1-Mtd6E_auw_ifg
    Rocketer
        17
    Rocketer  
       2021-04-14 09:32:02 +08:00 via iPhone
    何必学整个 aws 呢?学你需要的那几个服务就行了。

    比如 serverless,学会 Lambda+DynamoDB+S3 就差不多了,其它的框架都会帮你配好
    ntgeralt
        18
    ntgeralt  
       2021-04-14 18:17:06 +08:00
    aws 是瑞士军刀。你开瓶盖,没必要把装刀具的袋子都要精通
    ps,aws 核心是,别以为试用就免费,请准备好按天被偷偷扣美刀
    iozephyr
        19
    iozephyr  
       2021-05-29 15:55:51 +08:00
    补充一下 @BeautifulSoap 的内容
    现在很少手写 CloudFormation,多数情况下直接使用官方 [AWS CDK]( https://aws.amazon.com/cn/cdk/) 的方式来部署资源

    另外想做个小项目的话可以直接使用 AWS [CodeStar]( https://aws.amazon.com/cn/codestar/) 模板,选好项目类型和编程语言即可自动创建 CI/CD,自动部署代码到服务
    https://imgur.com/GDhENbQ

    想再省事一点可以用 [AWS Amplify]( https://aws.amazon.com/cn/amplify/),前端静态页面托管类似于 Vercel,直接给一个 Github 地址就部署上了。后端 Serverless 构建也很方便。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   952 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:10 · PVG 06:10 · LAX 14:10 · JFK 17:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.