使用Aurora Global DB做Cross-Region DR切换

一、概述

AWS RDS Aurora for MySQL是兼容MySQL和PostgreSQL的云原生数据库。Aurora支持创建普通的跨区域只读副本,但不承诺复制延迟;Aurora也有一项专门用于跨区域业务容灾的特性:Global DB,跨Region数据复制在1秒左右。

Aurora Global DB的文档参考这里

使用Aurora Global DB也存在一些限制,例如MySQL版本必须是5.6版本等。由于很多用户对Aurora实施跨region复制和DR切换能够达到的效果没有直观感受,这里特意录制一段视频为大家讲解。视频的配音采用Amazon Polly语音合成。Polly产品的文档参考这里

Continue reading “使用Aurora Global DB做Cross-Region DR切换”

使用多账号+Organization区分不同部门的费用

一、前言

前文提到过,实现费用分割的方法之一是加tag,即Billing Dashboard里边的Cost Allocation Tag功能。配置说明参考上篇文章。在运行一段时间之后,看效果如下。

使用Tag区分费用的一个主要挑战就是,部分资源不支持标记tag,无法按照tag进行费用拆分。不支持的主要内容包括:Route53/WAF等。在使用比较重且较贵的Aurora RDS服务中,RDS实例消耗的CPU、内存是根据实例规格计费的,是可以使用tag区分费用的。但是,RDS生成的磁盘IO是不支持加tag的。如果有多个Aurora,不能区分哪一个数据库发生的IOPS,这是一点很大的局限。

Continue reading “使用多账号+Organization区分不同部门的费用”

使用Cloudwatch Agent监控系统运行情况

一、前言

1、背景

AWS对EC2的监控通过Cloudwatch在虚拟化层完成,也就是KVM的Hypervisor层完成。这一层,只能看到CPU占用率、磁盘IO、网络流入流出等数据,不能看到虚拟机Guest OS层面的数据。例如看不到内存使用率,看不到C盘使用率,系统进程数等。为了打开系统级监控,需要安装Cloudwatch的agent。如下图为监控效果。

Continue reading “使用Cloudwatch Agent监控系统运行情况”

使用TAG区分AWS费用账单

一、划分费用的方法

为了区分不同部门、不同业务线的费用,如下两个常见方法:

  1. 使用AWS Organization功能,创建独立的子账户,然后自动合并付款。缺点是自账户创建、认证、密码策略、管理维护稍微步骤多一些。详细文档参考这里
  2. 使用Tag区分。在当前账号下,创建资源都填写对应的资源标签。

本文描述的是方法2也就是Tag(标签)。详细文档参见这里的链接

Continue reading “使用TAG区分AWS费用账单”

执行 yarn application 连接失败且超时的错误解决

在AWS EMR使用多个Master高可用部署场景下,需要创建3台Master节点上。登录到其中一台节点,运行如下命令:

yarn application -list

在某些场景下会遇到如下报错。报错信息:

WARN ipc.Client: Failed to connect to server: ip-172-31-22-134.cn-northwest-1.compute.internal/172.31.22.134:8032: retries get failed due to exceeded maximum allowed retries number: 0
java.net.ConnectException: Connection refused
Continue reading “执行 yarn application 连接失败且超时的错误解决”

创建跨Region VPC Peering

一、前言

公有云各区域间都是完全隔离的,互通默认是通过Internet访问。如果有大量复制数据的需求,一般可以通过S3、RDS底层的跨区域复制实现,这种方式是通过AWS的全球骨干网传输,数据不暴露在Internet上。当然,跨区域复制这些,中国区不支持。原因大家懂的。

如果要方便操作,有一批EC2分别位于两个Region,EC2虚拟机之间要互通,那么在通过Internet就麻烦了。最佳实践就是跨Region的VPC Peering。注意,中国区也不支持。

如下图,VPC Peering示意图。

Continue reading “创建跨Region VPC Peering”

使用AWS CLI查看RDS性能参数

本文描述了如何通过AWS CLI查询Amazon Aurora MySQL的监控性能。

一、背景

Amazon Aurora MySQL通过Cloudwatch监控提供了一系列参数,主要参数名称可通过控制台获得。如下截图。

在对接AWS的使用SDK开发之前,可以先用AWS CLI进行验证,明确要查找的参数后,再进行代码工作。下面描述操作方法。

Continue reading “使用AWS CLI查看RDS性能参数”

使用Athena的排查ELB后的网站错误

一、排查思路

遇到网站访问错误,例如网站报告504错误,建议分段排查。如果网站有多个服务商组成,例如在AWS之前使用了CDN、WAF等,这需要分段排查。思路如下。

1、分段排查,分成 域名解析 -> 第三方WAF -> AWS ELB -> AWS EC2 几段。

2、各段打开LOG,根据LOG报错排查。

为了方便调查,这里将使用AWS Athena快速检索网站日志。

Continue reading “使用Athena的排查ELB后的网站错误”

Google Cloud Engine (GCE)与AWS的GPU产品对比

一、前言

看到下边这张图,能想起什么?

我第一时间想起,1991年卡梅隆导演《终结者2》中,研发Skynet原型的Cyerdyne Systems的Miles Dyson,他平时996周末在家还要007时候,桌面上那个神经网络模型,配合上1991年的电脑,5.25英寸软盘。。。

Continue reading “Google Cloud Engine (GCE)与AWS的GPU产品对比”