跳转到主要内容
AutoMQ Cloud BYOC 环境的所有组件部署在用户 AWS 账户内,以确保数据隐私和安全。安装 AutoMQ 之前需要提前准备各种 AWS 资源。本文介绍如何在 AWS 公共云上准备 AutoMQ 需要的各种云资源。
本文中提及 AutoMQ 产品服务方、AutoMQ 服务方、AutoMQ,均特指 AutoMQ HK Limited及其附属公司。

准备 VPC

您可以选择在安装 AutoMQ 时使用现有的 VPC,或者为 AutoMQ 创建一个全新的 VPC。对于生产环境,我们建议您检查并调整现有 VPC 的配置以满足 AutoMQ 的要求。对于 POC 测试,创建一个新 VPC 是更快捷的选择。

VPC 要求

在 AWS 上部署 AutoMQ BYOC 环境,您的 VPC 必须满足以下条件:
资源要求说明
控制面子网1 个。用于部署 AutoMQ BYOC 环境控制台,需要支持通过 NAT 等方式连通公网。
数据面子网1 个或 3 个。用于部署 AutoMQ 数据面集群。根据您选择的单可用区或三可用区部署模式,需要对应数量的内网子网。
S3 网关终端节点1 个。确保 AutoMQ 组件通过 AWS 内网访问 S3,避免产生公网流量费用。终端节点的路由表必须覆盖所有内网子网。
EC2 接口终端节点1 个。确保 AutoMQ 组件通过 AWS 内网调用 EC2 和 Auto Scaling 的 API。
DNS 配置启用。VPC 必须启用 DNS 主机名DNS 解析,因为 AutoMQ 依赖 Route 53 提供 VPC 内的 DNS 解析服务。
NAT 网关1 个。如果您计划将 AutoMQ 数据面集群部署在 EKS 上,则必须为 EKS 工作节点所在的内网子网配置 NAT 网关和正确的公网出口路由。
注意:如果未正确配置 NAT 网关,在 EKS 上安装 AutoMQ 集群将会失败。

场景一:创建新 VPC

如果您需要为 AutoMQ 创建一个全新的 VPC,建议您使用 AWS VPC 控制台的 VPC and more 功能。
  1. 登录到 AWS VPC 控制台
  2. 在左侧导航栏中,选择 Your VPCs,然后点击 Create VPC
  3. VPC settings 中,选择 VPC and more
  4. Name tag auto-generation 部分,为您的 VPC 设置一个清晰的名称。
  5. 配置 IPv4 CIDR blockNumber of Availability ZonesNumber of public subnetsNumber of private subnets
  6. 根据您的部署需求,选择是否创建 NAT gateway(s)VPC endpoints
    • NAT Gateway:如果您计划在 EKS 上部署 AutoMQ,请至少选择 1 per AZ
    • VPC Endpoints:选择 S3 Gateway,这将自动创建一个网关类型的 S3 终端节点。
  7. 确保 DNS options 下的 Enable DNS hostnamesEnable DNS resolution 均已勾选。
  8. 点击 Create VPC
VPC 创建完成后,您还需要手动为其创建一个 EC2 接口终端节点。
  1. AWS VPC 控制台 的左侧导航栏中,选择 Endpoints
  2. 点击 Create endpoint
  3. Name tag:为终端节点命名。
  4. Service category:选择 AWS services
  5. Services:搜索并选择 com.amazonaws.<region>.ec2 接口服务。
  6. VPC:选择您刚刚创建的 VPC。
  7. Subnets:选择所有用于部署 AutoMQ 的内网子网。
  8. Security groups:选择或创建一个安全组,并添加入站规则,允许来自您的 VPC CIDR 的 HTTPS (443) 流量。
  9. 点击 Create endpoint

场景二:配置现有 VPC

如果要在现有 VPC 中部署 AutoMQ,请逐一核对以下配置是否满足要求。

1. 检查 DNS 配置

  1. AWS VPC 控制台 的左侧导航栏中,选择 Your VPCs
  2. 选择您的目标 VPC,然后查看 Details 标签页。
  3. 确认 DNS hostnamesDNS resolution 的值均为 Enabled。如果不是,请点击 Actions -> Edit VPC settings 进行修改。

2. 检查 S3 终端节点

  1. AWS VPC 控制台 的左侧导航栏中,选择 Endpoints
  2. 搜索并检查是否存在一个类型为 Gateway 的 S3 终端节点(服务名称为 com.amazonaws.<region>.s3)已关联到您的 VPC。
  3. 如果不存在,请点击 Create endpoint 创建一个。
    • 创建时,请确保其路由表(Route tables)关联了所有将用于部署 AutoMQ 的内网子网。

3. 检查 EC2 终端节点

  1. Endpoints 页面,继续搜索并检查是否存在一个类型为 Interface 的 EC2 终端节点(服务名称为 com.amazonaws.<region>.ec2)已关联到您的 VPC。
  2. 如果不存在,请点击 Create endpoint 创建一个。
    • Subnets:确保选择了所有将用于部署 AutoMQ 的内网子网。
    • Security groups:选择或创建一个安全组,并添加入站规则,允许来自您的 VPC CIDR 的 HTTPS (443) 流量。
    • Enable DNS name:务必勾选 Enable DNS name,开启 Private DNS 解析,以确保 AutoMQ 组件能够通过私有 DNS 名称正确访问 EC2 API。

准备 Private DNS(可选)

AutoMQ 集群通过 Private DNS 对应用暴露服务地址,这依赖于 VPC 内的私有域名解析,因此需要配置 Private DNS 来提供可靠的域名解析服务。您可以选择由 AutoMQ 控制台自动创建 Private DNS Zone 或者参考下方教程自行准备 Private DNS Zone。

Private DNS Zone 要求

配置 Private DNS 时,必须满足以下两个关键条件:
条件
说明
重要性
关联 VPC
Private DNS 必须与部署 AutoMQ 的 VPC 进行关联必需
域名和 TLS 一致性
如果后续需要使用 TLS 功能,Private DNS 的域名必须与 TLS 证书中的域名保持一致按需

配置 Private DNS 步骤

步骤 1:检查现有 Private DNS

  1. 登录 AWS 控制台,访问 Route53 控制台
  2. 在左侧导航栏选择 Hosted zones
  3. 查看是否已经存在与目标 VPC 关联的 Private DNS。

步骤 2:创建或配置 Private DNS

如果已有 Private DNS:
  1. 选择目标 Private DNS,点击 Details
  2. 确认 TypePrivate hosted zone
  3. 检查 VPCs 部分,确保包含部署 AutoMQ 的 VPC。
  4. 记录域名信息,用于后续 TLS 功能配置。
如果需要新建 Private DNS:
  1. 点击 Create hosted zone
  2. 配置基本信息:
    • Domain name:输入私有域名(如:internal.example.com)。
    • Type:选择 Private hosted zone
    • VPC:选择部署 AutoMQ 的 VPC 和对应区域。
  3. 点击 Create hosted zone

步骤 3:验证配置

  1. 在 Private DNS 详情页面,确认 VPC 关联状态。
  2. 检查域名配置是否符合 TLS 功能规划需求。
  3. 记录 Private DNS 的 ID 和域名,后续安装时需要提供给 AutoMQ 组件使用。

准备集群安全组(可选)

在集群部署过程中,您可以选择使用一个预先配置好的安全组来精确控制网络访问策略。如果您选择此方式,需要预先创建一个安全组,并根据下表配置其入站规则。如果您希望简化网络配置,也可以选择在创建集群时由 AutoMQ 自动为您创建一个新的、已包含所有必需规则的安全组,在这种情况下,您无需执行本章节的操作。
端口用途需要允许的访问来源启用条件
9093Controller 节点对集群内部暴露 PLAINTEXT 协议,供集群内部通信使用
  • 集群内部组件
默认开启
9103Controller 节点对集群内部暴露 SASL_PLAINTEXT 协议,供集群内部通信使用
  • 集群内部组件
默认开启
9092通过 PLAINTEXT 协议对客户端暴露 Kafka 服务
  • 控制台
  • 集群内部组件
  • 应用
默认开启
9102通过 SASL_PLAINTEXT 协议对客户端暴露 Kafka 服务
  • 控制台
  • 集群内部组件
  • 应用
默认开启
9112通过 SASL_SSL 协议对客户端暴露 Kafka 服务
  • 控制台
  • 集群内部组件
  • 应用
可选开启
9122通过 SSL 协议对客户端暴露 Kafka 服务
  • 控制台
  • 集群内部组件
  • 应用
可选开启
9090提供 Prometheus Metrics Exporter 读取指标的接口
  • 控制台
  • 应用(可选)
默认开启
22集群节点默认 ssh 协议端口,需要向控制台节点暴露,用于应急问题分析
  • 控制台
默认启用
8081托管的 SchemaRegistry 服务端口
  • 集群内部组件
  • 应用
可选开启,仅在开启 TableTopic 时需要
上方表格中提到的访问来源说明:
  • 控制台:建议配置为 AutoMQ 控制台所在的 Subnet CIDR。
  • 集群内部组件:请选择创建集群实例时所选择的 Subnet CIDR。
  • 应用:指应用访问 Kafka 服务的来源,由您根据实际业务需求自定义配置。

准备 FSX 文件系统安全组(可选)

如果您计划在 AWS 环境中使用 AutoMQ 并利用 FSx for NetApp ONTAP 作为 WAL (Write-Ahead Log) 的存储后端,您需要为 FSx 文件系统配置一个专用的安全组。本章节详细说明了该安全组所需的入站规则。如果您希望在部署过程中由 AutoMQ 自动创建和配置此安全组,则可以跳过本章节。
端口访问来源用途启用条件
443
  • 控制台
  • 集群内部组件
AutoMQ 集群以及控制台调用 FSx ONTAP 管理 API默认启用
22
  • 集群内部组件
AutoMQ 集群内部各节点访问 FSx 服务默认启用
111
  • 集群内部组件
AutoMQ 集群内部各节点访问 FSx 服务默认启用
635
  • 集群内部组件
AutoMQ 集群内部各节点访问 FSx 服务默认启用
2049
  • 集群内部组件
AutoMQ 集群内部各节点访问 FSx 服务默认启用
4045
  • 集群内部组件
AutoMQ 集群内部各节点访问 FSx 服务默认启用
4046
  • 集群内部组件
AutoMQ 集群内部各节点访问 FSx 服务默认启用
上方表格中提到的访问来源说明:
  • 控制台:建议配置为 AutoMQ 控制台所在的子网 CIDR(段)。
  • 集群内部组件:请选择创建集群实例时所选择的子网 CIDR(段)。