使用NICE DCV管理带有GPU的Ubuntu桌面

注:半年前写的,之前忘记发布,这次更新上来

一、背景

1、NICE DCV简介

NICE DCV是一个高性能的远程显示管理协议,允许用户安全的将云上远程桌面和应用以流式方式通过网络传输到客户端。在Amazon EC2上安装NICE DCV,客户可以运行支持GPU的图形应用程序或HPC程序,替代昂贵的图形工作站。NICE DCV流式传输协议也被用在多个服务,包括Amazon Appstream 2.0,AWS Nimble Studio,以及AWS RoboMaker。

NICE DCV可以使用单机模式从客户端直接连接到EC2;也可以使用NICE DCV Connection Gateway,NICE DCV Session Session Manager Broker和NICE DCV Session Manager Agent进行多机会话管理。本文描述使用NICE DCV直接连接到EC2单机模式部署。

Continue reading “使用NICE DCV管理带有GPU的Ubuntu桌面”

使用Route53 Log Query记录VPC内的DNS请求

一、背景

Route53支持对特定VPC内发起的DNS请求进行记录,由此可以记录VPC内应用对外访问的请求信息。仅限域名,通过IP直接访问的不会记录。

本文介绍如何开启Route53的DNS日志,然后将其输出到CloudWatch的日志组的这样一个简单场景。在生产环境中,日志信息还可以输出到Kinesis或者OpenSearch,以便于各种分析。如果是低频分析,审计用途为主,也可以将日志输出到S3存储桶。

请注意:Query logging功能是记录日子的审计能力,不是实时阻断。如果您需要实施阻断,那么应该考虑Route53 DNS Firewall(2022年10月AWS中国区也上线了此功能),或者使用Network Firewall(简称NFW),或者使用网络流量深度检测的终极解决方案Gateway Load Balancer(简称GWLB)。因此基于以上的信息,可选择一个合适的方案。

本文以中国区为例进行配置,配置将默认VPC的日志输出到CloudWatch日志组。

Continue reading “使用Route53 Log Query记录VPC内的DNS请求”

Ubuntu 20.04 LTS安装Mate桌面并使用VNC登录

一、在EC2上安装Mate

在创建EC2时候,从EC2控制台上Quickstart列表中的AMI里找到Ubuntu 20.04LTS。注意不需要找Marketplaces的镜像,用Quickstart列表中的足够了。创建EC2时候,建议内存不低于4GB,例如选择 t3.medium,默认的系统盘只有8GB容量会不足,建议改成系统盘不低于30GB;在EC2的安全组配置步骤,放行TCP协议5901端口。最后创建EC2。

Continue reading “Ubuntu 20.04 LTS安装Mate桌面并使用VNC登录”

EKS 101动手实验(十二)使用Karpenter+HPA实现EKS集群扩展

有关EKS系列文档和实验的汇总,请点击这里跳转

一、背景

EKS的弹性有两种方式:

  • 1、单个应用的Deployment的replica扩容
  • 2、Node节点的扩容

对于第一种扩容,常用的方式是Horizontal Pod Autoscaler (HPA),通过metrics server,监控CPU负载等指标,然后发起对deployment的replica的变化。此配置会调整Pod数量,但不会调整节点数量。

对于第二种扩容,之前常用的方式是Cluster Autoscaler (CA)对NodeGroup节点组的EC2进行扩容,但是其扩展生效速度较慢。本文使用新的Karpenter组件对Nodegroup进行扩容。Karpenter不需要创建新的NodeGroup,而是直接根据匹配情况自动选择On-demand或者Spot类型的实例。

本实验流程如下:

Continue reading “EKS 101动手实验(十二)使用Karpenter+HPA实现EKS集群扩展”

采用Spot优化EC2价格的测算

Spot竞价实例是一种非常更有效的成本节约手段。

引用AWS官网:

竞价型实例是一种使用备用 EC2 容量的实例,以低于按需价格提供。由于竞价型实例允许您以极低的折扣请求未使用的 EC2 实例,这可能会显著降低您的 Amazon EC2 成本。竞价型实例的每小时价格称为 Spot 价格。每个可用区中的每种实例类型的 Spot 价格是由 Amazon EC2 设置的,并根据竞价型实例的长期供求趋势逐步调整。您的竞价型实例在容量可用时运行。

如果能灵活控制应用程序的运行时间并且应用程序可以中断,竞价型实例就是经济实惠之选。例如,竞价型实例非常适合数据分析、批处理作业、后台处理和可选的任务。

https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/using-spot-instances.html

下面简单进行测算。

Continue reading “采用Spot优化EC2价格的测算”

在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 CDN服务和ALB一样,会屏蔽掉最终用户的IP地址。获取真实IP地址,需要通过额外的HTTP Header来获得,在CloudFront CDN上这个Header的名称是 HTTP_CLOUDFRONT_VIEWER_ADDRESS 。因此只要先在CloudFront上配置好,然后从应用层打印这个Header即可获得客户端真实IP地址。

Continue reading “如何从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 性能测试”

调整中文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控制台默认字体和代码页”