为CentOS 6.8安装ENA增强网络驱动以支持AWS EC2 5系列实例

一、背景和挑战

1、需求背景

CentOS 6系列是2016年发布的系统,在2020年已经是比较老的系统,一般建议通过yum update升级版本,最高可升级到6.10。有些特殊的客户环境和应用程序,存在一些库文件版本的依赖,需要精确的用到6.8版本提供的库文件,不能很好的兼容6.9或者最新的6.10版本。例如6.8的从ISO安装后原始内核版本是2.6.32-642,而升级到2.6.10后是2.6.32-754,此外其他一些程序包也存在库文件版本差异。那么上云的时候,就必须提供特定的6.8版本的云上镜像(AMI)的支持。

Continue reading “为CentOS 6.8安装ENA增强网络驱动以支持AWS EC2 5系列实例”

调整 AWS WAF V2 Managed Rules 适应 WordPress

一、背景

AWS在2019年底的 re-Invent 2019 大会上,发布了WAF V2产品,提供Managed Rules。当使用WAF V2对Wordpress博客进行防护时候,一些正常的访问行为包括登录后提示二次确认邮箱、发送某些body过大的文章都会被WAF V2 AWS托管规则的CommonRule视为危险举动而拦截。本文将描述如何调整WAF V2托管规则并适应Wordpress应用。

Continue reading “调整 AWS WAF V2 Managed Rules 适应 WordPress”

Windows 10上安装 Jupyter Notebook

在Mac上安装 Jupyter Notebook 非常简单,一条命令 pip3 install jupyterlab 就可以搞定。请注意 Python version 如果是 3.x请用 pip3。安装后直接启动无问题。

在Windows 10 上,先后遇到 pip 库不是最新和 MS VC++ 库的问题。因此整理本文如下。

1、安装Python3

2、升级pip到最新版版本

在命令提示符(CMD)下,注意不是Powershell下,执行如下命令:

python -m pip install --upgrade pip
Continue reading “Windows 10上安装 Jupyter Notebook”

使用Putty登录EC2

AWS EC2生成的云服务器默认必须使用证书方式登录,系统生成的证书扩展名好似PEM格式。此证书对Linux和MacOS是友好的,可以使用 ssh -i keyname 的方登录EC2 Linux系统。

如果当前使用的是Windows桌面,那么有两个办法:

  • 第一种方式:通过Windows10的Store商店安装Linux子系统,目前Windows10支持的包括SuSE、Ubuntu等Linux系统在Windows直接使用
  • 第二种方式:使用Puttygen转换Key格式,从PEM转换为PPK格式,然后用Putty登录。

如下一段视频第二种方式。

为SES配置SNS Event追踪每一封发送的状态

一、背景

AWS Simple Email Service是用于大规模发送推广邮件的服务,用于支撑会员系统等合理合法的邮件群发。

SES的最佳实践是:每个邮件地址调用1次SES接口,单独发送一个唯一的地址。参考如下介绍。

发送限制基于的是收件人而不是电子邮件。例如,一封包含 10 个收件人的电子邮件占用 10 份配额。但是,建议不要在一次 SendEmail 调用中向多个收件人发送电子邮件,因为如果对 Amazon SES 的调用失败(例如,请求格式错误),整个电子邮件都将被拒绝,没有任何收件人能收到预期的电子邮件。我们建议您为每个收件人调用一次 SendEmail

https://docs.aws.amazon.com/zh_cn/ses/latest/DeveloperGuide/manage-sending-limits.html

SES默认是只显示管理整个domain的状态,包括邮件总数、退信比例等。如果希望追踪单封邮件发送,可以使用如下办法。

Continue reading “为SES配置SNS Event追踪每一封发送的状态”

AWS ECR私有镜像仓库的Docker Image上传和下载

注意:按下述文档流程,1)先创建仓库,再上传。否则直接上传就报错。2)不支持子目录,仓库叫什么,push时候就写什么名字,不支持写/子目录的格式

针对EKS 1.30、以及Graviton处理器的ARM架构容器构建的场景,系统采用 Amazon Linux 2(兼容CentOS7)或者 Amazon Linux 2023(兼容CentOS9),于2024年7月在AWS海外区域(新加坡)测试通过

本文的构建Docker的环境是一台位于云端的Amazon Linux EC2虚拟机,因为已经位于云端,上传下载软件包的速度更快。开发者也可以使用Ubuntu Linux,或者MacOS完成本文的工作。本文将创建一个hello world的php docker程序,并且发布到AWS ECR镜像仓库。

一、开发机的环境准备和常见Docker操作命令介绍

1、配置Docker准备环境

创建一台EC2节点,使用Amazon Linux 2(兼容CentOS7)或者Amazon Linux 2023(兼容CentOS9)操作系统,选择较小规格如 t3.medium 机型(2vCPU/4GB)即可,建议内存不低于4GB。根据要构建的Docker的复杂度,酌情提升配置。此外,为了构建ARM架构的容器集群,可选择采用Graviton2处理器的 t4g.medium 机型(2vCPU/4GB)进行容器构建。

Continue reading “AWS ECR私有镜像仓库的Docker Image上传和下载”

Redshift Demo

一、前言

Amazon Redshift 是一种完全托管的 PB 级云中数据仓库服务。Amazon Redshift 数据仓库是一个节点组成的各种计算资源构成的集合,这些节点归属于集群的组中。每个集群运行一个 Amazon Redshift 引擎并包含一个或多个数据库。开始时,您可以只使用几百 GB 数据,然后扩展至 1 PB 或更多。这样,您可以使用数据获得对您的业务和客户的新简介。

本文是个简单测试,本文汇总了AWS官网文档中的操作和交互流程,并整理成如下文章。

Continue reading “Redshift Demo”

迁移阿里云 ECS Windows 到 AWS EC2

一、前言

企业引入多云战略后,需要将一部分云资源从某云服务商迁移到另一个,这时候就需要依赖云厂家提供的迁移工具。不过,阿里云在Windows操作系统上做了一个限制,不允许Windows的虚拟机转换为镜像。这个信息的出处在阿里云官网的这里。如下截图。

针对Linux系统可以直接export为镜像文件,然后传输到AWS云上,但Windows系统不能导出。这可能是出于对微软License管理的角度。由此给迁移造成了难度。

如果应用部署不是特别复杂,建议在AWS上直接创建新的空白的Windows,然后部署应用,将应用的配置文件等打包通过S3复制到AWS上运行。

如果原有应用不便于重新部署,例如应用开发、维护团队已经离场,开发团队人员变更、甚至解散,无法为迁移提供技术支持,那么可以采用本文的方法:即使用其他第三方工具将阿里云上的Windows提取为镜像,然后导入AWS迁移。注:导入镜像时候,默认将采用AWS提供的Windows Server License运行。

Continue reading “迁移阿里云 ECS Windows 到 AWS EC2”

为EC2 G3机型的GPU实例安装Windows下3D驱动

注意:本篇编写于2019年,当时云端GPU机型较少,目前在针对3D设计、3D游戏、仿真等场景的最佳机型为G5,或者也可选上一代G4机型。在远程管理协议的选择上,推荐使用NICE DCV替代之前普遍使用的RDP和VNC。Windows场景可参考这篇,Linux场景可参考这篇

一、背景

GPU实例的用法分成两种,一种是偏向桌面图形的加速和渲染的,AWS提供了G3、G4系列,配合M60等图形加速卡;一种是偏向机器学习的训练、推理等场景,AWS提供了P2、P3系列,配合V100加速卡。

如果是机器学习场景,请使用AMI镜像中的deep learning镜像,Windows和Linux版本都可以。镜像会预装好多个机器学习框架,做到开箱即用。在创建实例的时候,可以选择输入关键字来搜索镜像。如下截图。

Continue reading “为EC2 G3机型的GPU实例安装Windows下3D驱动”