我们将弃用本地 API。请参阅我们的本地 API 弃用文档,了解弃用详情以及如何迁移到我们的下一代云端 API。

使用 Amazon Web Services 部署

本文档介绍如何使用 Amazon Web Services (AWS) 部署 WhatsApp Business API。此流程可分为 2 个主要步骤:

  1. WhatsApp Business API 客户端部署
  2. WhatsApp Business API 客户端配置

完成设置后,可以选择升级客户端。如果您需要重启网页应用和核心应用,请按照这些步骤操作。

本文档介绍了一个全新 AWS 模板,我们已对其进行测试,以获得更高且更稳定的消息吞吐量。如果您需要旧版 AWS 模板,请参阅 AWS 归档版本

立即开始

开始之前,您需要完成以下操作:

设置 AWS 帐户编号

您需要设置有效的 AWS 帐户,并熟练使用 AWS。WhatsApp 提供 CloudFormation 模板,可用于轻松部署 WhatsApp Business API 客户端。如需了解详情,请访问 AWS 入门资源中心

创建 AWS 密钥对

您需要新建密钥对,用以访问使用 WhatsApp Business API 模板创建的 EC2 实例。您还可使用之前创建的密钥对。请参阅 Amazon EC2 密钥对文档,了解通过 EC2 实例创建和使用密钥对的相关信息。

创建密钥对时,您需要使用 WhatsApp Business API 的目标部署区域

订阅 CentOS 9 映像

WhatsApp Business API 客户端使用 CentOS 9 映像(可在 AWS Marketplace 中获取)。使用模板前,请先查看并接受条款和条件。如不接受这些条款,您将无法创建模板。

如要查看并接受 CentOS 9 AMI 映像,请执行以下操作:

  1. 前往 AWS Marketplace:CentOS 9 (x86_64) - 附带更新 HVM 页面
  2. 点击右上角的 Continue to Subscribe(继续订阅),然后点击 Accept Terms(接受条款)按钮。

支持的区域

WhatsApp Business API 模板使用 EFS 资源类型,该资源类型并非在所有 AWS 区域都可用。因此,目前仅支持下列区域:

  • 北弗吉尼亚州 (us-east-1)
  • 俄亥俄州 (us-east-2)
  • 北加利福尼亚州 (us-west-1)
  • 俄勒冈州 (us-west-2)
  • 孟买 (ap-south-1)
  • 首尔 (ap-northeast-2)
  • 新加坡 (ap-southeast-1)
  • 悉尼 (ap-southeast-2)
  • 东京 (ap-northeast-1)
  • 法兰克福 (eu-central-1)
  • 爱尔兰 (eu-west-1)

WhatsApp 将根据初始测试决定我们是否可以提供一个在所有区域皆可用的替代选项。

常见问题

部署

第 1 步:[可选] 设置网络

在您注册 AWS 帐户时,系统通常会创建虚拟私有云 (VPC) 网络。此外,企业可能还需要根据特定业务,设置一些自定义项目和访问控制限制。

如果您已经创建 VPC 网络基础架构,可以跳过此步骤。如果尚未创建,则可以使用以下模板在 AWS 上创建网络基础架构。

此网络模板仅供参考,您可以根据具体需求加以修改。

网络要求

  • 在区域内不同的可用区中,必须至少有两个子网。否则,模板创建流程在创建 RDS(数据库)资源环节便会失败。
  • 应该允许入站访问 HTTP(端口:80)、HTTPS(端口:443)和 SSH(端口:22)。为安全起见,强烈建议您使用 HTTPS,不要使用 HTTP

如要部署网络模板,请按照以下步骤操作:

  1. 前往您区域(例如 eu-west-1)的 CloudFormation 控制台。
  2. 选择 Create stack(创建堆栈)。
  3. GitHub 下载 wa_ent_net.yml 文件,并将该文件保存到本地。
  4. 在“Template source”(模板来源)部分中选择 Upload a template file(上传模板文件),然后上传在第 3 步中下载的模板文件。
    创建堆栈
  5. 点击 Next(下一步)。
  6. Specify stack details(指定堆栈详情)页面中,根据以下表格输入参数值:

参数

名称描述

Stack name

必要。

所创建堆栈的名称。

可用区配置

名称描述

Availability zones

必要。

用于创建 VPC 的可用区 (AZ)。
配置此模板需要选择至少 2 个 AZ。对于生产环境,建议选择至少 3 个 AZ。

Number of availability zones

必要。

选择的可用区数量。

VPC 配置

名称描述

IP address range

必要。

此 VPC 的 IP 地址范围 (CIDR)。

Tenancy

必要。

VPC 租赁
选项:defaultdedicated

公有子网配置

名称描述

IP range - subnet #1

必要。

公有子网的 IP 地址范围 (CIDR)

IP range - subnet #2

必要。

公有子网的 IP 地址范围 (CIDR)

IP range - subnet #3

非必要。

可用区数量超过 2 个时,此参数为必要项。

IP range - subnet #4

非必要。

可用区数量超过 3 个时,此参数为必要项。

私有子网配置

名称描述

Create private subnets?

必要。

选项:true(默认值)、false
如果因某些原因,无需使用私有子网,可将此标记设为 false

IP range - subnet #1

酌情使用。

将私有子网创建设为 true 时,此参数为必要项。

IP range - subnet #2

酌情使用。

将私有子网创建设为 true 时为必要项。

IP range - subnet #3

酌情使用。

将私有子网设为 true 并且 AZ 数量超过 2 个时,此参数为必要项。

IP range - subnet #4

酌情使用。

将私有子网创建设为 true 并且 AZ 数量超过 3 个时,此参数为必要项。

第 2 步:上传 DB 和监控堆栈配置文件

在 AWS 上部署 WhatsApp Business API 堆栈之前,您需要首先将引用的子堆栈的配置文件上传到您拥有读取权限的 S3 存储桶。

  1. 新建 S3 存储桶,或者使用您拥有读取权限的现有 S3 存储桶。
  2. GitHub 下载 wa_ent_db.yml 文件和 wa_ent_monitoring.yml 文件,并将这 2 个文件上传 到第 1 步中提及的 S3 存储桶。
  3. 从“Objects”(对象)列表中选择 wa_ent_db.yml 文件,并复制该文件的网址。此网址的格式应为 https://xxx.s3.<avalability_zone>.amazonaws.com/wa_ent_db.yml
  4. wa_ent.yml 文件中,使用第 3 步中的对象网址替换 dbStack 中的 TemplateURL的值,然后保存该文件。
  5. 从“Objects”(对象)列表中选择 wa_ent_monitoring.yml 文件,并复制该文件的网址。此网址的格式应为 https://xxx.s3.<avalability_zone>.amazonaws.com/wa_ent_monitoring.yml
  6. wa_ent.yml 文件中,使用第 5 步中的对象网址替换监控堆栈中的 TemplateURL 的值,并保存该文件。
上传到 S3 存储桶

第 3 步:WhatsApp Business API 部署

WhatsApp Enterprise 是主模板,可用于创建 WhatsApp Business API 客户端所需的全部资源(网络除外)。如前所述,如有需要,您也可以使用此模板创建数据库资源。

如要部署 WhatsApp Business API 客户端,请按照以下步骤操作:

  1. 前往您区域(例如 eu-west-1)的 CloudFormation 控制台。
  2. 选择创建堆栈
  3. GitHub 下载 wa_ent.yml 文件,并将该文件保存到本地。
  4. 在“Template source”(模板来源)部分中选择 Upload a template file(上传模板文件),然后上传在第 3 步中下载的模板文件。
    创建堆栈
  5. 点击 Next(下一步)
  6. 之后,您便可输入参数。请参阅以下表格,了解参数描述。
  7. 设置所有参数(位于后面的表格中)后,在 Configure stack options(配置堆栈选项)页面中点击 Next(下一步)。您可以根据偏好进行任何必要的修改,然后点击 Next(下一步)。
  8. Review stack(审核堆栈)页面,您将看到参数值和堆栈选项的摘要。进行验证后,在 Capabilities(功能)部分勾选以下两个复选框,然后点击 Submit(提交),开始创建堆栈。
    注意:部署过程大约需要 20 至 30 分钟。

参数

名称描述

Stack name

必要。

所创建堆栈的名称。

堆栈名称不得超过 22 个字符。注意:在 ap-southeast-1、ap-southeast-2、ap-northeast-1 或 ap-northeast-2 区域进行部署时,堆栈名称不得超过 8 个字符。

如果 stack name 的长度超过上述规定,系统将无法创建 SSL 证书,所以创建堆栈的流程便会中止并且失败。

通用配置

名称描述

High Availability

非必要。

启用高可用性功能。


默认值:enabled

Desired Throughput

必要。

您希望每秒发送的消息数量。


根据此选项与 Type of Message 选项,系统会自动选择并配置服务器和数据库资源,以在发送所选消息类型时达到所需的吞吐量。

Type of Message

必要。

您希望发送和接收的主要消息类型。


根据此选项与 Desired Throughput 选项,系统会自动选择并配置服务器和数据库资源,以在发送所选消息类型时达到所需的吞吐量。

Host exporter for instance monitoring

非必要。

在每个核心应用主机上安装 node-exporter,以便监控实例。


默认值:enabled

网络配置

名称描述

Network Stack Name

必要。

通过网络设置步骤创建的网络 CloudFormation 堆栈的名称。

Number of subnets

必要。

所选择子网的数量。


目前,我们仅支持 2 个子网部署,在所有主机上均匀分配 ECS 任务。

Load balancer scheme

必要。

目前,我们仅支持面向互联网的负载均衡器,该负载器对公众可见。请在创建 API 堆栈后修改安全小组,关闭非必要的访问权限。

容器配置

名称描述

Keypair to use

必要。

用于访问 EC2 实例的适当密钥对(如有需要)。

WA Enterprise container registry

非必要。

此选项具有前瞻性,将用于支持试验性 WhatsApp Business API 客户端。默认值应该适用于大部分情况。

WA Enterprise Client version

必要。

始终建议使用最新稳定版本(查看更新日志,以了解最新版本)。
格式:v2.yy.xx

除非另有明确说明,否则 WhatsApp Business API 客户端版本始终以“v”开头。使用错误版本会导致堆栈创建失败。

EBS volume size

必要。

建议为生产工作负载选择至少 32 GB。

数据库配置

名称描述

Store configuration in DB

非必要。

启用在数据库中存储配置信息的功能。
选项:true(默认值)、false
如果将值设为 false,系统会禁用在数据库中存储配置信息的功能,并改为将这些信息存储至文件。

Existing DB hostname

非必要。

现有数据库主机名。
如果您已经拥有可用于 WhatsApp Business API 客户端的专用 MySQL 数据库实例,您便可在此输入主机名。
若将其留空,系统将会创建一个新的 Amazon Aurora 实例。为了达到稳定的高吞吐量,我们强烈建议创建一个新的 Aurora 数据库,或者使用以前根据此模板创建的现有 Aurora 库。

Administrator name

必要。

用于访问数据库的管理员名称。

Administrator password

必要。

用于访问数据库的管理员密码。

数据库密码不应包含以下任何字符:?{}&~!()^/"@

Server port

必要。

用于访问数据库后端的端口编号。

Persist DB Connection

非必要。

指示是否为 Web 容器固定数据库连接。


默认值:enabled

DB Idle Connection Timeout

非必要。

连接的空闲时长超过此时间(以毫秒为单位)后,数据库便会关闭该连接。
默认值:180,000 毫秒

日志记录配置

名称描述

Logging driver for container logs

非必要。

容器日志的日志记录驱动程序。
选项:json-fileawslogs(默认值)
如果选择 json-file 值,系统将在 EC2 主机中存储日志。如果选择 awslogs 值,系统会将所有容器日志流式传输到 CloudWatch。

Maximum container log file size

非必要。

轮替容器日志文件前,该文件的大小上限(以 MB 为单位)。

允许的值介于 1 到 250 之间(二者均包括在内)。默认值:50。

Maximum number of container log files

非必要。

每个容器保存的日志文件数量上限。
容器停止运作后,系统会将其从主机中移除。移除容器后,系统也会删除其中保存的所有日志文件。

允许的值介于 1 到 30 之间(二者均包括在内)。默认值:7。

Days to retain CloudWatch logs

非必要。

在 CloudWatch 中保留记录的天数。
在列表中选择一个可用值。

默认值7

文件系统配置

名称描述

File system identifier

不使用。

将此参数留空。

安全配置

名称描述

Key to encrypt DB & EFS

非必要。

默认情况下,AWS 服务密钥(Default-Key 选项)用于加密 DB 和 EFS 静态数据。其他选项包括:

  • Unencrypted:不对静态数据进行加密
  • Create-New-Key:创建新的 KMS 密钥并用于加密数据
  • User-Provided-Key:您可以提供 KMS 密钥编号,以用于加密数据。如果选择其他选项,请将此项留空。

User provided key id

非必要。

您可以提供 KMS 密钥编号,以用于加密数据。如果选择 User-Provided-Key 选项,请将此项留空。

DB connection encryption

非必要。

默认情况下,传输到数据库的数据会经过加密。当前此选项仅适用于核心应用,不支持网页应用加密。此外,借助新的数据库引擎,即便禁用此选项,核心应用也可以执行加密,但不会进行服务器证书(身份)验证。

CA certificate for DB connection

非必要。

默认值包含 RDS 证书文件包。如果所使用的数据库并非 RDS 数据库,您可以提供相应的 CA 证书文件包或将此字段留空。使用默认值便足以创建与数据库的安全连接。

Client certificate for DB connection

非必要。

数据库连接的客户端证书

Client key for DB connection

非必要。

数据库连接的客户端密钥

WhatsApp Business API 接入点

在 Grafana 面板出于监控目的检索应用程序指标时,这些参数均为必要项。

名称描述

WAWebUsername

必要。

指定 WhatsApp Business API 帐号。

WAWebPassword

必要。

指定 WAWebUsername 的密码。这将是您在首次登录时更改默认密码后的新密码。

Grafana

名称描述

GrafanaAdminPassword

必要。

在创建堆栈时,指定用作 Grafana 面板登录密码的密码。

GrafanaEnableSmtp

非必要。

指示是否启用 SMTP,以设置邮件提醒。有效值包括:0(表示已禁用)和 1(表示已启用)。

默认值:0(已禁用)

GrafanaSmtpHost

非必要。

邮件提醒中使用的 SMTP 主机。例如 smtp.gmail.com:465

GrafanaSmtpUser

非必要。

指定邮件提醒中使用的 SMTP 帐号。

GrafanaSmtpPassword

非必要。

指定邮件提醒中使用的 SMTP 密码。

部署后的输出

成功创建模板后,系统会显示以下参数:

  • Load balancer name:访问 WhatsApp Business 开放平台 API 客户端的负载均衡器的主机名
  • Database hostname:在模板创建过程中创建或提供的数据库的主机名
  • Database port number:数据库连接的端口编号
  • ECS cluster name:所创建 ECS 群集的名称
  • Log retention days:留存记录的天数
  • DB connection CA:DB 连接 CA 的值(如已配置)
  • DB connection cert:DB 连接 cert 的值(如已配置)
  • DB connection key:数据库连接密钥的值(如已配置)
  • Grafana:Grafana 面板网址
  • ShardCount:为 WhatsApp Business 开放平台 API 配置的分片数量

编辑 SSH 安全规则

默认情况下,堆栈所创建的安全规则允许所有流量通过 SSH 到达 EC2 实例,通过 HTTPS 到达 API 端点和 Grafana 面板,以及到达 cAdvisor 和 Prometheus 容器。出于安全考虑,我们强烈建议关闭非必要的访问权限。此部分将以更新 SSH 安全规则为例展示操作步骤。您应始终将 SSH 访问权限限制为仅您信任的流量。

  1. 在“EC2”>“Security Groups”(安全小组)控制台(例如:EC2 管理控制台 (amazon.com))中,执行以下操作:
    1. 在右上角选择正确的区域。
    2. 选择包含 <stackName>-EcsSecurityGroup 的安全小组,然后切换到 Inbound Rules(入站规则)选项卡。
      编辑入站规则
    3. 选择 Edit inbound rules(编辑入站规则),将Source(来源)列更新为只允许信任的流量 [例如:My IP(我的 IP)] 通过 SSH 访问 EC2 主机。
    4. 调整所有安全规则后,点击 Save rules(保存规则),即可应用更改。
    5. 针对包含 "<stackName>-ms-xxx-EcsSecurityGroup" 的安全小组重复执行这些更改,以便限制通过 SSH 访问监控堆栈。

WhatsApp Business API 客户端配置

成功部署 WhatsApp Business API 客户端后,需要对其进行配置,以使其投入运行。

第 1 步:电话号码注册

请参阅电话号码指南,详细了解电话号码注册。

请前往 WhatsApp 管理工具,打开电话号码选项卡,在 Facebook 商务管理平台中下载 WhatsApp 帐户的 base64 编码证书。

选择正确的电话号码并获取 base64 编码证书后,需要通过 account 节点注册 WhatsApp Business API 客户端。详情请参阅注册文档

如果电话号码可以接收短信,请使用短信获取注册码。

如果您已收到 WhatsApp 发来的注册码,则可跳过此步。

第 2 步:设置分片

创建堆栈后,您需要使用 shards API 调用增加活跃核心应用实例的数量,以达到所需吞吐量。分片数量位于堆栈的输出部分。

第 3 步:更新应用程序设置

如需了解 WhatsApp Business API 网络回调及其他参数的配置,请参阅应用程式设置文档。为了实现稳定的吞吐量,建议使用以下应用程式设置。

 {
    "settings": {
        "application": {
            "callback_backoff_delay_ms": 3000,
            "callback_persist": true,
            "db_garbagecollector_enable": false, # change this to true when there are no ongoing messaging campaigns
            "heartbeat_interval": 5,
            "max_callback_backoff_delay_ms": 900000,
            "media": {
                "auto_download": [
                    "document",
                    "image",
                    "video",
                    "voice",
                    "sticker",
                    "audio"
                ]
            },
            "notify_user_change_number": true,
            "pass_through": false,
            "sent_status": true,
            "show_security_notifications": false,
            "skip_referral_media_download": false,
            "unhealthy_interval": 30,
            "wa_id": "12245552741",
            "webhooks": {
                "max_concurrent_requests": 24,
                "message": {
                    "delivered": true,
                    "read": true,
                    "sent": true
                },
                "url": "<YOUR_WEBHOOK_SERVER_URL>"
            }
        }
    },
    "meta": {
        "api_status": "stable",
        "version": "2.41.3"
    }
}

      
      
    

第 4 步:[可选] SSL 配置

在创建时 WhatsApp Business API 客户端时,该客户端会默认生成自签名证书。您可能需要使用用于生成自签名证书的认证机构 (CA) 证书来验证 WhatsApp Business API 客户端的端点,并避免出现证书信任警告。

您可以下载 CA 证书并将其存储在本地设备,以免出现证书信任警告,或者您也可以上传自己的证书。详情请参阅 certificate 节点文档

在 AWS 部署中,系统使用负载均衡器主机名创建 SSL 证书。如果使用 IP 地址而非主机名访问,系统仍会发出警告。

在未来版本中,WhatsApp 将支持配置客户提供的 SSL 证书。

第 5 步:验证设置

完成配置和注册步骤后,您可以收发消息,以验证 WhatsApp Business API 客户端的基本功能。详情请参阅消息文档

成功收到消息后,WhatsApp Business API 客户端会通过 POST第 3 步中配置的 Webhooks 发送消息状态或详情。

如果您的消息被成功接收,那么恭喜您,您已经全部准备就绪!请参阅参考文档,进一步了解可用的 API 端点。

重启核心应用和网页应用

如要重新开启 WhatsApp Business API 客户端,请前往 ECS 控制台(例如 https://us-west-2.console.aws.amazon.com/ecs/home?region=us-west-2#/clusters),然后执行以下操作:

  1. 在右上角选择正确的区域。
  2. 从列表中选择相应的集群。
  3. Services(服务)选项卡中,选择含有 WAEntService 的服务名称。
  4. 选择 Tasks(任务)选项卡。通常应该只有一个任务,包含一个由十六进制数字组成的编号。
  5. Tasks(任务)窗口中,点击右上角的 Stop(停止),在系统提示后再次点击 Stop(停止)。

此操作将同时停止网页应用和核心应用。不久后,AWS 基础架构会同时重启网页应用和核心应用。

停机时间预计为 1 至 2 分钟。

升级

直接更新 CloudFormation 堆栈可能会导致数据库被摧毁并重建。我们强烈建议您按照下一部分中的手动步骤更新系统,以免丢失数据。

此部分将介绍如何同时升级 WhatsApp Business API 客户端以及 CloudFormation (CFN) 模板。执行升级会导致停机,因此请勿在此期间发送消息,待升级完成后再发送。

按照以下步骤操作,您可以同时升级 CFN 模板和 WhatsApp Business API 客户端版本:

  1. 在“WhatsApp Business API 客户端升级”指南的第 5 步中,选择 Replace current template(替换当前模板),而不是 Use current template(使用当前模板)。
  2. Specify template(指定模板)部分,选择“Upload a template file”(上传模板文件),然后选择从 GitHub 下载的最新模板文件。

WhatsApp Business API 客户端升级

  1. 前往 CFN 控制台(例如:https://us-west-2.console.aws.amazon.com/cloudformation/home?region=us-west-2#/stacks?filter=active)。
  2. 在右上角选择正确的区域。
  3. 选择已经创建的 WhatsApp Business API 客户端堆栈。
  4. 点击 Update(更新)。
  5. 前往 Prerequisite - Prepare template(前提条件 - 准备模板)页面,选择 Replace current template(替换当前模板)选项。在 Specify template(指定模板)部分,选择“Upload a template file”(上传模板文件),然后选择从 GitHub 下载的最新模板文件。点击 Next(下一步)。
  6. 前往 Specify stack details(指定堆栈详情)页面,将 WhatsApp Business API Client (container) version(WhatsApp Business API 客户端(容器)版本)更改为所需版本。请勿更改其他任何参数。点击 Next(下一步)。
  7. 前往 Configure stack options(配置堆栈选项)页面,点击 Next(下一步)。
  8. 前往 Review(审核)页面,选择“I acknowledge that AWS CloudFormation might create IAM resources with custom names”(我确认,AWS CloudFormation 可能会创建拥有自定义名称的 IAM 资源)。查看 Change set preview(更改设置预览)部分,了解是否存在任何意外更改。如果发现任何意外或不确定的更改,请联系 WhatsApp 站内支持。点击 Update stack(更新堆栈)。您可以在 CFN 控制台追踪堆栈更新状态;升级完成后,该状态将由 UPDATE_IN_PROGRESS 变为 UPDATE_COMPLETE

快速确认升级:发送文本消息,确认 API 响应是否包含正确的版本号(即新版本)。同时确认接收者已收到消息。

WhatsApp CFN 模板升级

  1. 前往 CFN 控制台(例如:https://us-west-2.console.aws.amazon.com/cloudformation/home?region=us-west-2#/stacks?filter=active)。
  2. 在右上角选择正确的区域。
  3. 选择已经创建的 WhatsApp Business API 客户端堆栈。
  4. 点击 Update(更新)。
  5. 前往 Prerequisite - Prepare template(前提条件 - 准备模板)页面,选择 Replace current template(替换当前模板)选项。在 Specify template(指定模板)部分,选择“Upload a template file”(上传模板文件),然后选择从 GitHub 下载的最新模板文件。点击 Next(下一步)。
  6. 前往 Specify Stack Details(指定堆栈详情)页面,然后按照前面部分的信息,输入相应参数。点击 Next(下一步)。
  7. 前往 Configure stack options(配置堆栈选项)页面,点击 Next(下一步)。
  8. 前往 Review(审核)页面,选择“I acknowledge that AWS CloudFormation might create IAM resources with custom names”(我确认,AWS CloudFormation 可能会创建拥有自定义名称的 IAM 资源)。查看 Change set preview(更改设置预览)部分,了解是否存在任何意外更改。如果发现任何意外或不确定的更改,请联系 WhatsApp 站内支持。点击 Update stack(更新堆栈)。您可以在 CFN 控制台追踪堆栈更新状态;升级完成后,该状态将由 UPDATE_IN_PROGRESS 变为 UPDATE_COMPLETE

如何在系统处于空闲模式时手动缩减成本(可选)

企业通常希望为有时间限制的营销活动设置高吞吐量环境,并且希望在非营销活动期间保持环境以低成本运行。此部分针对如何手动减少 AWS 设置以节省成本提供了建议。

注意事项:需要提醒的是,这期间会出现停机状况。预计停机时间可能为 5 到 15 分钟。请务必遵循所有 DevOps 最佳实践,如应用程序设置备份和数据库备份。

  1. 在 ECS 控制台(例如:Amazon ECS)中,执行以下操作:
    1. 在右上角选择正确的区域。
    2. 从列表中选择相应的集群。
    3. Services(服务)选项卡中,选择含有 WAEntCoreappService 的服务名称。选择 Edit Service(编辑服务),并将“Desired tasks”(所需任务)的值更新为“0”。
      部署配置
    4. 针对所有其他服务(包括 WAEntWebServiceWAEntMasterServiceHostExporterService)重复执行步骤 c。
    5. 返回集群页面,在 Tasks(任务)选项卡中,确保上述服务没有运行任何任务。
  2. 在“EC2”>“Auto Scaling Groups”(自动缩放组)控制台(例如自动缩放组 | EC2 管理控制台 (amazon.com))中,执行以下操作:
    1. 在右上角选择正确的区域。
    2. 选择名称中包含 HAECSAutoScalingGroup 的堆栈的自动缩放组,然后选择 Edit(编辑)。将“Desired capacity”(所需容量)和“Minimum capacity”(最小容量)全都更新为 3
      组规模
    3. 选择名称中包含 HAECSAutoScalingGroupWeb 的堆栈的自动缩放组,然后选择 Edit(编辑)。将“Desired capacity”(所需容量)和“Minimum capacity”(最小容量)全都更新为 2
  3. 可选)如果“Type of message”(消息类型)的初始值是任意图像类型,则您可以将 EC2 实例类型替换为更便宜的 c5.large 选项。
    1. 在“EC2”>“Launch Templates”(启动模板)控制台中,从列表中选择适当的启动模板。
    2. 选择“Actions”(操作)>“Modify template (create new version)”[修改模板(创建新版本)]。
      启动模板控制台
    3. Instance type(实例类型)部分,将实例类型更新为 c5.large,然后选择 Create template version(创建模板版本)。
      实例类型
    4. 在“EC2”>“Auto Scaling Groups”(自动缩放组)控制台中,选择名称中包含 HAECSAutoScalingGroup 的堆栈的自动缩放组。
    5. Launch template(启动模板)部分选择 Edit(编辑)。
    6. 选择在步骤 3c 中创建的新启动模板,然后选择 Update(更新)。
      启动模板
  4. 在 RDS 控制台(例如 RDS 管理控制台 (amazon.com))中,执行以下操作:
    1. 在右上角选择正确的区域。
    2. 从列表中选择相应的 Aurora 数据库。
    3. 选择 Modify(修改),然后将数据库实例类更新为 r5.xlarge
      实例配置
  5. 在 ECS 控制台(例如 Amazon ECS)中,执行以下操作:
    1. 在右上角选择正确的区域。
    2. 从列表中选择相应的集群。
    3. 服务选项卡中,选择含有 WAEntCoreappService 的服务名称。选择 Edit Service(编辑服务),并将“Desired tasks”(所需任务)的值更新为 3
    4. Services(服务)选项卡中,选择含有 HostExporterService 的服务名称。选择 Edit Service(编辑服务),并将“Desired tasks”(所需任务)的值更新为 3
    5. Services(服务)选项卡中,选择含有 WAEntWebService 的服务名称。选择 Edit Service(编辑服务),并将“Desired tasks”(所需任务)的值更新为 2
    6. Services(服务)选项卡中,选择含有 WAEntMasterService 的服务名称。选择 Edit Service(编辑服务),并将“Desired tasks”(所需任务)的值更新为 2
  6. 等待所有服务启动所需数量的任务。所有任务开始运行后,使用设置分片 API 将分片重置为 2
  7. 使用运行状况 API 验证系统的运行状况。您还可以通过收发消息验证 WhatsApp Business API 客户端的基本功能。详情请参阅消息文档