「AWS」- Amazon Web Services

认识

官网:https://aws.amazon.com/
文档:https://docs.aws.amazon.com/
仓库:None

AWS(Amazon Web Services)是亚马逊公司提供的一套云计算服务。简而言之,我们可以在 AWS 购买工具和服务,来我们代替自建机房的需求。

组成

—— 该部分笔记内容将介绍 AWS 服务平台的组成,以帮助我们构建 AWS 服务。但鉴于我们更加关注与 AWS 的使用,所以该部分不做详细笔记。

Regions, Availability Zones, and Local Zones

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html

ap-southeast-1 Asia Pacific (Singapore)

Global Infrastructure

https://aws.amazon.com/about-aws/global-infrastructure/regions_az/

构建

—— 该部分将介绍如何构建 AWS 服务平台,以使用 AWS 服务。我们更加关注于“使用 AWS 服务”,而非“从零开始构建 AWS 平台”。

帐号注册

AWS 海外区域 | https://portal.aws.amazon.com/billing/signup
AWS 中国区域 | https://www.amazonaws.cn/campaign/CloudService

区域选择

如何选择 AWS 地域,时国内访问速度最快

  • 优先选择离中国大陆最近的 AWS 地域
  • 使用 AWS 中国区域(需特殊申请)
  • 优化网络性能: AWS Global Accelerator、CloudFront、Direct Connect、……
  • 实测工具 | AWS Latency Monitoring | https://www.cloudping.co/

性质

—— 该部分笔记内容将介绍在获得 AWS 服务后我们能够使用的功能服务,以帮助我们了解 AWS 能够提供的功能。

价格计算器

https://calculator.aws/#/

aws-cli

文档:https://docs.aws.amazon.com/cli/
项目:https://github.com/aws/aws-cli

我们通过 Python Virtual Environment 安装该命令。

aws configure | 配置相关信息

Elastic File System

https://aws.amazon.com/efs/

NFS

WAF

目前 WAF 自动化部署方案有几点需要注意:

官方安装模板默认是在美国东一区部署的,如果您的 WAF 是对 Cloudfront 防护,那么必须要东一区;如果是对 ALB 防护,可以换成自己的部署区域

目前默认的安装模板里面是把很多 custom 的 rule 默认打开的,比如 http flood,可以根据需要在安装时候选择打开或者关闭

目前 WAF 的计价规则里面是有一个阶梯收费的,默认的 1500WCU 是一个默认的最低价格,超过 1500WCU 会有额外的费用,所以通常是在 AWS Managed Rules 里面选择,基本可以覆盖常规需求,CUSTOM 的规则要注意 WCU 的价格阶梯

WAF 自动化部署完成后,还是需要一些额外的配置,比如黑白名单等。

具体参考下面文档链接:
https://docs.aws.amazon.com/solutions/latest/security-automations-for-aws-waf/use-the-solution.html

Simple Email Service

关于 AWS 上邮件服务 SES 的相关文档,可以参考下面链接:
https://docs.aws.amazon.com/ses/latest/dg/Welcome.html?icmpid=docs_ses_console
https://docs.aws.amazon.com/ses/latest/dg/getting-started.html

从沙盒退出的链接 | https://docs.aws.amazon.com/ses/latest/dg/request-production-access.html

目前 SES 有两种模式,一种是 domain 域名模式,一种是 EMAIL 模式,

第一种 domain 域名模式。如果只发邮件且不需要域名有附带的邮件服务,则只需要通过添加 cname 记录来验证 domain 域名是您们拥有的合法域名就可以,然后可以以该 domain 或 sub domain 为后缀来作为邮件的发送地址发送邮件。

验证后,可以选择该域名来使用控制台上的 send test email 功能测试,但是 SES 默认是在沙箱里面的,如果出沙箱需要走 request to produce process 申请,在沙箱里面做测试需要您的接受邮件地址是经过 SES 验证,验证流程比较简单,就是创建一个 email 的验证 identify, SES 会发一封验证确认邮件给您的邮件,点击验证就可以了,然后就可以使用 CUSTOME 模式用自己的邮箱来接受验证;

目前 SES 邮件发送除了控制台的测试验证,还支持 SMTP 和 API 方式发送批量邮件,具体可以参考 https://docs.aws.amazon.com/ses/latest/dg/send-email.html

You’re sending to Amazon SES from an Amazon EC2 instance using port 25, and you’re receiving timeout errors.

Amazon EC2 restricts port 25 by default. To remove these restrictions, submit an Amazon EC2 Request to Remove Email Sending Limitations. You can also connect to Amazon SES using ports 465 or 587, neither of which is restricted. ——
https://docs.aws.amazon.com/ses/latest/dg/troubleshoot-smtp.html

Connecting to an Amazon SES SMTP endpoint | https://docs.aws.amazon.com/ses/latest/dg/smtp-connect.html

Simple Notification Service

https://docs.aws.amazon.com/sns/latest/dg/welcome.html
SMS 的出沙箱文档:https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox-moving-to-production.html%EF%BC%9B

Route 53

域名迁移
https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-transfer-between-aws-accounts.html

Hosted Zone | 需要修改域名中的 Name Server 配置。如果修改 NS 记录,根据 AWS 说明,是无效的。

VPC | Virtual Private Cloud

描述

Q:在 Security Group 中,复用地址组?
A:https://docs.aws.amazon.com/vpc/latest/userguide/work-with-cust-managed-prefix-lists.html#create-managed-prefix-list
S:Managed prefix lists 进行 IP Address Group 定义,然后,在 Security Groups 中,添加 Inbound rules 地址可以选择 Prefix lists 来选中前面添加的地址组;

通过 aws ec2 modify-managed-prefix-list 命令,来修改 Managed prefix lists 信息。https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/modify-managed-prefix-list.html

GA | Global Accelerator

DeepSeek / 介绍 AWS Global Accelerator 及使用方法
DeepSeek / Global Accelerator 如何配置使用特定区域的边缘节点

AWS Global Accelerator 是一项网络加速服务,通过 AWS 的全球边缘基础设施优化用户到应用程序的流量路径,显著降低延迟、提高可用性,尤其适合跨境访问(如中国用户访问海外服务器)。

官网:https://aws.amazon.com/global-accelerator/
文档:

  • 固定任播 IP:分配两个静态 IP(从 AWS 的地址池),用户流量通过最近的 AWS 边缘节点(Edge Location)进入 AWS 骨干网,直达后端服务。在 AWS Global Accelerator 中,无法手动选择具体的边缘节点(如指定香港或东京节点),因为 Global Accelerator 的任播 IP会自动将用户路由到最近的 AWS 边缘节点(基于实时网络性能)。
  • 智能路由:实时检测网络状况,自动选择最优路径(相比公网更稳定)。
  • 无区域限制:加速全球用户访问,无需将服务部署在特定区域。

步骤 1:创建 Accelerator
进入 AWS Global Accelerator 控制台。
点击 Create accelerator,输入名称(如 my-app-accelerator)。
选择 Standard 模式(非自定义 IP)。

步骤 2:配置 Listener
添加监听器(Listener),选择协议(如 TCP)和端口(如 80/443)。
(可选)启用客户端亲和性(Client Affinity)保持会话粘性。

步骤 3:关联后端服务(Endpoint Group)
创建 Endpoint Group,选择区域(如东京 ap-northeast-1)。

添加后端资源类型:
Application Load Balancer (ALB):推荐用于 HTTP/HTTPS。
Network Load Balancer (NLB):适合 TCP/UDP。
EC2 实例:直接绑定实例(需开放安全组)。
配置健康检查(确保流量只路由到健康的端点)。

步骤 4:部署并测试
创建完成后,Global Accelerator 会分配两个静态 IP(如 1.2.3.4 和 5.6.7.8)。
将 DNS 解析(如 CNAME 记录)指向加速器的 DNS 名称(如 xxxxx.awsglobalaccelerator.com)。
使用工具(如 ping 或 traceroute)测试延迟变化。

场景:
✅ 需要低延迟的 TCP/UDP 应用(如游戏、视频会议)
✅ 跨境访问优化(如中国用户访问海外服务器)
✅ 高可用性需求(自动故障转移至健康端点)

针对负载均衡,允许使用 NLB ALB 类型。在 LB 中,Intergation 中,能够快速添加 GA 实例。

使用自己的地址池 |

AWS Latency Monitoring

https://www.cloudping.co/

DMS | Database Migration Service

数据库迁移服务

应用

针对海外业务,我们使用 AWS 服务。

改进

我们的使用经验

在用

01)IAM
02)VPC / Subnet / Route / NAT
03)Route 53
04)EKS / Node: Spot / Storage: EFS

Cert Manager

External DNS

Nginx Ingress Controller

Promtheus

Rancher Agent

05)EC2

06)RDS / MySQL CE

07)Amazon MemoryDB

10)Amazon MQ RabbitMQ

11)S3

1)WAF
2)AWS Loadbalancer Controller
3)kubeconfig -> aws
4)镜像预热

08)Amazon Simple Email Service

09)Simple Notification Serie

方法:(1)sandbox(2)

价格

硬盘的 gp2 切换到 gp3

参考

DeepSeek / 如何选择 AWS 地域,时国内访问速度最快