在EC2内为自己的EBS磁盘扩容

在EC2内可为自己的EBS磁盘扩容,而不需要通过AWS Console网页界面控制台。前提是:

  • 本机是Cloud9云端IDC开发环境,内置有关权限和role
  • 本EC2已经安装AWSCLI并且配置了AKSK,且AKSK对应的IAM User是具有本Region EC2服务修改配置的权限
  • 本EC2挂载了EC2 Profile对应了一个IAM Role,这个IAM Role具有操作EC2服务修改配置的权限
Continue reading “在EC2内为自己的EBS磁盘扩容”

Aurora 5.6 升级不同数据量和机型所需要时间的测试

一、背景

Aurora MySQL 5.6在2023年2月28日End of life,因此需要升级到5.7或者8.0。参考AWS这篇官方文档对5.6结束生命周期的解释

最简单的升级方式是:直接编辑数据库版本,选择新的版本,然后点击保存。此时数据库会修改版本并重启,升级期间无法接受外部访问。

为了合理申请停机窗口,本文模拟了一个有一定数据量的测试环境,评估升级所需要的时间。

Continue reading “Aurora 5.6 升级不同数据量和机型所需要时间的测试”

从CloudFront获取客户端真实IP地址、并使用CloudFront内置的IP地址库获取访问者所在国家

本文更新于2024年3月。

一、背景

CloudFront CDN服务是七层代理服务,接受最终用户的客户端连接和访问,并终结客户端的网络访问通道。然后,CloudFront会通过互联网回源站获取要分发的内容。此时,在后端的源站是无法获知客户端的真实IP地址的,源站只能看到CloudFront的公网IP地址。这样对于源站应用而言,不能准确的判断来访者所在地区和国家,无法实行不同国家的运营策略。本文介绍在CloudFront背后的源站如何能获取客户端的真实IP地址、以及访问者所在国家。

Continue reading “从CloudFront获取客户端真实IP地址、并使用CloudFront内置的IP地址库获取访问者所在国家”

使用Sysbench测试EC2云主机CPU的性能

一、Sysbench工具简介

测试云主机的CPU性能可使用常见的sysbench工具进行压力测试。Sysbench的CPU测试主要考察CPU的整数运算能力,通过计算一定范围内的素数,来评估CPU的计算能力。整数计算的场景适合对应到企业应用环境,不含视频转码、图像渲染等领域需要的浮点预算能力。此外,本测试也不使用复杂的benchmark套件测试内存、网络、磁盘等,只是测试CPU。Sysbench测试工具为软件包源直接安装,预先build好,不做build过程的调参数。

Continue reading “使用Sysbench测试EC2云主机CPU的性能”

AWS RDS 和 Aurora PostgreSQL Benchmark 性能测试

一、背景

1、目标

在系统上线之前,对整个系统进行压力测试是必要的、周密的做法。整个系统业务处理能力(TPS)是结合了网络、应用架构、数据库等多种因素的一个衡量方式。其中,数据库性能对于整个业务系统处理能力是关键点之一。

为了充分验证数据库能力,建议在云上VPC内另外启动一台高配置的EC2作为负载发生器,并通过sysbench工具运行特定的sql脚本对数据库施压。由此可尽量隔绝应用层和网络层带来的额外影响因素。

Continue reading “AWS RDS 和 Aurora PostgreSQL Benchmark 性能测试”

使用S3 Access Point访问S3存储桶

一、背景

S3提供Access Point用于数据分享、访问授权,可用于对外隐藏真实的存储桶名称的同时实施权限控制。S3 Access Point有两种类型:从Internet互联网访问类型,以及仅能从特定VPC访问的类型。此外S3 Access Point也支持跨账户访问。

下面分别进行两种配置。

Continue reading “使用S3 Access Point访问S3存储桶”

调整中文Windows Server的CMD控制台默认字体和代码页

一、背景

在使用Windows自带的cmd(不是Windows 10 新的Terminal App)的过程中,很多人发现中文版本Windows的cmd字体的默认是宋体,显示英文非常丑陋,和英文字体的美观大方相比简直是天壤之别。

由此,为了获得更好的字体显示,就进入了cmd设置界面,试图切换字体,然而发现只能选寥寥几种中文字体,无法切换到美观的英文字体。于是,为了字体选择范围更大,很多时候宁可将整个Windows语言都切换到英文OS,这样又对其他应用兼容性带来了挑战。

为了解决这个问题,一般有两种方法:1是增加新的True Type字体,修改改注册表加入新的字体支持;2是切换cmd默认的代码页。本文介绍方法2。

Continue reading “调整中文Windows Server的CMD控制台默认字体和代码页”

实验十、在EKS上的ELB获取最终用户的真实IP地址

EKS动手实验合集请参考这里

EKS 1.27版本 @2023-06 AWS Global区域测试通过

一、背景

1、没有EKS而是使用EC2场景下获取客户端真实IP地址

在之前的文章主要是介绍ELB+EC2模式下,获取客户端真实IP,可参考AWS官方知识库这篇文章。也可参考过往的blog文章的这篇文章。

在这两篇中,主要讲解是ELB+EC2场景获取真实IP地址。如果用一个表格快速概括的话,汇总如下:

Continue reading “实验十、在EKS上的ELB获取最终用户的真实IP地址”

升级EKS托管节点组的AMI到最新版镜像

EKS节点EC2推荐采用Managed Node托管节点组,其使用的操作系统AMI清单参考这里:

https://docs.aws.amazon.com/zh_cn/eks/latest/userguide/eks-linux-ami-versions.html

由于操作系统需要定期升级更新,因此对EKS节点升级可通过刷新Node Group对应的AMI来进行版本升级。

Continue reading “升级EKS托管节点组的AMI到最新版镜像”

AWS Gateway Load Balancer (GWLB) in single VPC Quickstart

GWLB in single VPC Quickstart CloudFormation Template

一、架构说明

1、GWLB简介

关于AWS GWLB,之前构建过一个结合Transit Gateway的多VPC的GWLB方案,也就是所谓的集中式。集中式是指应用系统所在的VPC是没有GWLB Endpoint的,流量是通过Transit Gateway汇集到一个统一的VPC做流量检查。

本次构建的quickstart则是一个分布式检测架构。所谓分布式,是指整个架构不包含Transit Gateway,而应用系统VPC本身是包含GWLB Endpoint。未来增加第二个、第三个VPC时候,每个VPC都带有自己的GWLB Endpoint。所以这个架构,在只有一个VPC时候,看起来是Single VPC。如果有多个VPC,就是分布式流量检查架构。

本模版是针对是特定场景下的需求,如果是全新设计,建议按照GWLB最佳实践的架构进行组网。

本方案构建一个单VPC的网络检测方案。本文代码参考Github这里

Continue reading “AWS Gateway Load Balancer (GWLB) in single VPC Quickstart”