> ## Documentation Index
> Fetch the complete documentation index at: https://docs.automq.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 准备 VPC

> 确保在安装 AutoMQ 之前准备好阿里云资源，包括 VPC、ACK、OSS 等基础设施。本文详述在阿里云上准备各种云资源的步骤和注意事项。

AutoMQ Cloud BYOC 环境的所有组件部署在用户阿里云账户内，以确保数据隐私和安全。安装 AutoMQ 之前需要提前准备各种阿里云资源。本文介绍如何在阿里云公共云上准备 AutoMQ 需要的各种云资源。

<Info>
  本文中提及 AutoMQ 产品服务方、AutoMQ 服务方、AutoMQ，均特指 AutoMQ HK Limited及其附属公司。
</Info>

## 准备 VPC

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

### VPC 要求

在阿里云上部署 AutoMQ BYOC 环境，您的 VPC（专有网络）必须满足以下条件：

| **资源**     | **要求说明**                                                                                                                                           |
| :--------- | :------------------------------------------------------------------------------------------------------------------------------------------------- |
| **控制面交换机** | **1 个**。用于部署 AutoMQ BYOC 环境控制台，需要支持通过 NAT 网关等方式连通公网。                                                                                               |
| **数据面交换机** | **1 个或 3 个**。用于部署 AutoMQ 数据面集群。根据您选择的单可用区或三可用区部署模式，需要对应数量的交换机。                                                                                     |
| **DNS 配置** | **启用**。VPC 必须启用私网域名解析，因为 AutoMQ 依赖云解析 PrivateZone 提供 VPC 内的 DNS 解析服务。                                                                              |
| **NAT 网关** | **1 个**。如果您计划将 AutoMQ 数据面集群部署在 ACK 上，则必须为 ACK 工作节点所在的交换机配置 NAT 网关和正确的公网出口路由。<br /><Danger> **注意**：如果未正确配置 NAT 网关，在 ACK 上安装 AutoMQ 集群将会失败。</Danger> |

### 场景一：创建新 VPC

如果您需要为 AutoMQ 创建一个全新的 VPC，建议您使用阿里云专有网络控制台的标准创建流程。

1. 登录到[阿里云专有网络（VPC）控制台](https://vpc.console.aliyun.com/)。
2. 点击**创建专有网络**。
3. 配置 **地域** 和 **可用区**。
4. 设置 VPC 的 **名称** 和 **IPv4 网段**。
5. 同时为 VPC 创建所需的**交换机（VSwitch）**，根据您的部署模式（单可用区或三可用区）在不同可用区创建相应数量的交换机。
6. 根据您的部署需求，在创建流程中或后续步骤中创建 **NAT 网关**。
   * **NAT 网关**：如果您计划在 ACK 上部署 AutoMQ，请确保为工作节点所在的交换机配置 NAT 网关。
7. 点击**确定创建**。

### 场景二：配置现有 VPC

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

#### 1. 检查 DNS 配置

1. 在[阿里云专有网络（VPC）控制台](https://vpc.console.aliyun.com/)，选择您的目标 VPC。
2. 在 VPC 详情中，确认已开启私网域名解析功能。阿里云 VPC 默认开启此功能。

## 准备 PrivateZone（可选）

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

### PrivateZone 要求

配置 PrivateZone 时，必须满足以下两个关键条件：

| **条件**<br />          | **说明**<br />                                      | **重要性**<br /> |
| --------------------- | ------------------------------------------------- | ------------- |
| **关联 VPC**<br />      | PrivateZone 必须与部署 AutoMQ 的 VPC 进行关联               | **必需**        |
| **域名和 TLS 一致性**<br /> | 如果后续需要使用 TLS 功能，PrivateZone 的域名必须与 TLS 证书中的域名保持一致 | **按需**        |

### 配置 PrivateZone 步骤

#### 步骤 1：检查现有 PrivateZone

1. 登录阿里云控制台，访问[云解析 PrivateZone 控制台](https://dnsnext.console.aliyun.com/privateDNS)。
2. 在左侧导航栏选择 **私有域名解析**。
3. 查看是否已经存在与目标 VPC 关联的 Zone。

#### 步骤 2：创建或配置 PrivateZone

**如果已有 PrivateZone：**

1. 选择目标 Zone，点击 **设置关联解析范围**。
2. 确认 **关联的解析范围** 部分，确保包含部署 AutoMQ 的 VPC。
3. 记录域名信息，用于后续 TLS 功能配置。

**如果需要新建 PrivateZone：**

1. 点击 **添加 Zone**。
2. 配置基本信息：
   * **Zone 名称**：输入私有域名（如：internal.example.com）。
3. 点击 **确定**。
4. 创建成功后，进入该 Zone 的**关联VPC**页面，将部署 AutoMQ 的 VPC 关联起来。

#### 步骤 3：验证配置

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

## 准备集群安全组（可选）

在集群部署过程中，您可以选择使用一个预先配置好的安全组来精确控制网络访问策略。如果您选择此方式，需要预先创建一个安全组，并根据下表配置其入站规则。如果您希望简化网络配置，也可以选择在创建集群时由 AutoMQ 自动为您创建一个新的、已包含所有必需规则的安全组，在这种情况下，您无需执行本章节的操作。

| 端口   | 用途                                                | 需要允许的访问来源                                       | 启用条件                     |
| :--- | :------------------------------------------------ | :---------------------------------------------- | :----------------------- |
| 9093 | Controller 节点对集群内部暴露 PLAINTEXT 协议，供集群内部通信使用       | <ul><li>集群内部组件</li></ul>                        | 默认开启                     |
| 9103 | Controller 节点对集群内部暴露 SASL\_PLAINTEXT 协议，供集群内部通信使用 | <ul><li>集群内部组件</li></ul>                        | 默认开启                     |
| 9092 | 通过 PLAINTEXT 协议对客户端暴露 Kafka 服务                    | <ul><li>控制台</li><li>集群内部组件</li><li>应用</li></ul> | 默认开启                     |
| 9102 | 通过 SASL\_PLAINTEXT 协议对客户端暴露 Kafka 服务              | <ul><li>控制台</li><li>集群内部组件</li><li>应用</li></ul> | 默认开启                     |
| 9112 | 通过 SASL\_SSL 协议对客户端暴露 Kafka 服务                    | <ul><li>控制台</li><li>集群内部组件</li><li>应用</li></ul> | 可选开启                     |
| 9122 | 通过 SSL 协议对客户端暴露 Kafka 服务                          | <ul><li>控制台</li><li>集群内部组件</li><li>应用</li></ul> | 可选开启                     |
| 9090 | 提供 Prometheus Metrics Exporter 读取指标的接口            | <ul><li>控制台</li><li>应用（可选）</li></ul>            | 默认开启                     |
| 22   | 集群节点默认 ssh 协议端口，需要向控制台节点暴露，用于应急问题分析               | <ul><li>控制台</li></ul>                           | 默认启用                     |
| 8081 | 托管的 SchemaRegistry 服务端口                           | <ul><li>集群内部组件</li><li>应用</li></ul>             | 可选开启，仅在开启 TableTopic 时需要 |

## 准备文件存储 NAS 安全组（可选）

如果您计划在阿里云环境中使用 AutoMQ 并利用文件存储 NAS 作为 WAL (Write-Ahead Log) 的存储后端，您需要为 NAS 文件系统配置一个专用的权限组。本章节详细说明了该权限组所需的规则。如果您希望在部署过程中由 AutoMQ 自动创建和配置此权限组，则可以跳过本章节。

| 端口   | 访问来源                                 | 用途                          | 启用条件 |
| :--- | :----------------------------------- | :-------------------------- | :--- |
| 443  | <ul><li>控制台</li><li>集群内部组件</li></ul> | AutoMQ 集群以及控制台调用 NAS 管理 API | 默认启用 |
| 22   | <ul><li>集群内部组件</li></ul>             | AutoMQ 集群内部各节点访问 NAS 服务     | 默认启用 |
| 111  | <ul><li>集群内部组件</li></ul>             | AutoMQ 集群内部各节点访问 NAS 服务     | 默认启用 |
| 635  | <ul><li>集群内部组件</li></ul>             | AutoMQ 集群内部各节点访问 NAS 服务     | 默认启用 |
| 2049 | <ul><li>集群内部组件</li></ul>             | AutoMQ 集群内部各节点访问 NAS 服务     | 默认启用 |
| 4045 | <ul><li>集群内部组件</li></ul>             | AutoMQ 集群内部各节点访问 NAS 服务     | 默认启用 |
| 4046 | <ul><li>集群内部组件</li></ul>             | AutoMQ 集群内部各节点访问 NAS 服务     | 默认启用 |
