一、背景
EC2在169.254.169.254的IP地址上提供了HTTP服务,可查询包括AWS账户ID、本机Region、所属AZ、机型、EC2 Instance ID、Userdata脚本、绑定的IAM Role等众多信息。这个服务被称为Instance Metadata Service,简称IMDS。
Continue reading “查询IMDS即EC2 Metadata V2中的信息”仰望星空,脚踏实地
EC2在169.254.169.254的IP地址上提供了HTTP服务,可查询包括AWS账户ID、本机Region、所属AZ、机型、EC2 Instance ID、Userdata脚本、绑定的IAM Role等众多信息。这个服务被称为Instance Metadata Service,简称IMDS。
Continue reading “查询IMDS即EC2 Metadata V2中的信息”Amazon CodeWhisperer是一款辅助开发的代码生成服务,可根据进行代码生成、代码补全、代码审查等。Amazon CodeWhisperer支持多种编程语言,包括Python、Java、JavaScript、TypeScript、C#、Go、Rust、PHP、Ruby、Kotlin、C、C++、Shell 脚本、SQL、Scala、JSON、YAML和HCL等。
目前,CodeWhisperer支持的IDE包括VS Code、IntelliJ IDEA、Visual Studio、PyCharm、WebStorm和Rider等。此外,CodeWhisperer还支持MacOS下的终端/Iterm2用于CLI交互。您可以使用这些IDE的插件/扩展连接到CodeWhisperer,并享受便捷的开发效率。
Continue reading “使用CodeWhisperer代码提示和补全提升开发效率”EKS动手实验合集请参考这里。
在机器学习等场景下,需要在EKS上运行较大体积的Pod,其Image体积可能达到数个GB。此时在第一次启动Pod时候,会遇到所谓的冷启动问题,也就是EC2 Nodegroup需要从ECR容器镜像仓库去拉取较大尺寸的镜像,然后才能启动Pod。后续启动相同镜像即可利用缓存无须重复下载。此时,可以使用本文介绍的方法优化冷启动时间长。
Continue reading “EKS使用预加载机制加速EC2 Nodegroup上大镜像的启动速度”EKS动手实验合集请参考这里。
Kubecost是基于OpenCost的云原生的成本管理工具。在不使用Kubecost情况下,管理EKS的cost一般是基于预留实例的EC2 Node,并人为划分服务资源进行分割,某些情况下还需要搭配Cost and Usage Reports(CUR)详单。
使用Kubecost,可以在相对直观的看到各Deployment/Service对应的相应费用,并根据服务的运行时长显示对应成本。Kubecost免费版可通过Helm在EKS上快速部署。如果需要更多功能,还需要使用商业版的Kubecost。本文介绍如何部署免费版的Kubecost。
Continue reading “使用Kubecost管理EKS成本”EKS动手实验合集请参考这里。
本文介绍如何使用EKS Fargate服务创建混合集群,分别在EC2 Nodegroup和Fargate上运行应用程序。
Continue reading “使用EKS Fargate创建无服务器容器服务”EKS动手实验合集请参考这里。
在EC2的网络优化机型上,例如c6in.8xlarge(32vCPU/64GB),其网络带宽达到50Gbps。在没有容器环境下,使用iperf2测试,其带宽可以49.7Gbps的吞吐,相当于标称值的99.4%,考虑统计差异,这个速度可认为几乎没有损耗。测试过程和方法参考这篇博客。
那么当场景来到EKS上,Pod的所有流量都是通过Node节点上的VPC CNI进行转发,此时压力测试的其中一端是非容器化的EC2,另一端是Pod容器,会发生什么情况?
Continue reading “测试EKS服务上Pod使用VPC CNI对网络吞吐性能的影响”本文介绍如何测试EC2主机标称的内网性能。
Continue reading “使用iperf2测试EC2网络优化机型的内网吞吐性能”VPC公有子网和私有子网是VPC基础知识,不过一般通过使用经验来学习,缺少直接的说明材料。这里以一张图介绍最佳实践。
Continue reading “VPC公有子网和私有子网及ELB的位置推荐”请注意:7系列的EC2 AMD处理器机型的vCPU内核定义有变化,默认禁用超线程,因此m7a/c7a/r7a性能大幅提升,相应机型定价也高于6系列。官方解释参考本文末尾。
2023年AWS新发布了7i/7a系列EC2实例,再加上此前发布的7g系列,机型选择非常丰富。这里把常用几种CPU类型汇总如下。
Continue reading “截止2023年reInvent最新一代CPU处理器型号详情”MySQL 5.7 社区在2023年10月31日End-of-lift结束生命周期。AWS RDS MySQL 5.7 不会自动强制升级到8.0,但是会在 2024年3月1日强制升级到5.7.44,然后自动启用Extend Support,产生额外费用。具体参考2023年12 月21日最新通知。
Session Manager基础知识请参考这篇文章。本文只针对严格受限的纯内网场景编写,一些操作细节略过。
Session Manager是非常好用的EC2远程连接和管理工具,之前在这篇博客中有过系统讲解。Session Manager的使用前提是本VPC的EC2能够具备出向互联网访问,连接到本Region的Session Manager位于互联网的Endpoint。
那么对于一个完全内网的环境,没有默认路由0.0.0.0/0
去往互联网或NAT Gateway,甚至没有Internet Gateway(IGW),完全是封闭的内网。此时,如何使用Session Manager?此时可通过Endpoint实现。此外,由于各种依赖条件比较多,因此编写本篇文章。
EKS动手实验合集请参考这里。
EKS服务使用EC2的两种模式
以上两种方式,都是EKS托管节点,意味着EKS可有效进行版本升级等管理。不过不在节点组中的EC2不能参与缩放,当节点不够用时候,需要手工拉起新的节点。
本文介绍第二种方式的使用。
Continue reading “将EC2手工加入EKS集群成为托管节点”VPC Flowlog是用于采集VPC内四层网络流量的工具。其采集对象包括EC2、NLB、RDS等之间和外部网络之间的流量。VPC Flowlog是OSI模型第四层采集工具,会记录源地址、源端口、目标地址、目标端口、协议、传输数据量等信息,但不会记录OSI模型第七层定义的域名、网址等属于应用层定义的日志,也不会记录发送的数据本体。VPC Flowlog常用于排查EC2相关网络错误。
本文介绍如何开启VPC Flowlog并输出到CloudWatch用于查看VPC内流量。
Continue reading “生成VPC Flowlog并输出到CloudWatch用于分析VPC流量”