這份文件已更新。
中文(香港) 的翻譯尚未完成。
英文更新時間:2023年1月12日

使用 Amazon Web Services 部署

本文件將講解如何使用 Amazon Web Services(AWS)部署 WhatsApp Business API。部署流程可分為兩大步驟:

  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 7 圖片

WhatsApp Business API 客戶端會使用 CentOS 7 圖片(可在 AWS Marketplace 中獲取)。請在使用範本前檢閱並接受條款及細則。若不接受使用條款,將導致範本建立失敗。

如要檢閱和接受 CentOS 7 AMI 圖片,請按照下列步驟操作:

  1. 前往 AWS Marketplace: CentOS 7 (x86_64) - with Updates HVM 頁面
  2. 在右上角點擊「Continue to Subscribe」,然後點擊「Accept Terms」按鈕。
接受 CentOS 使用條款

受支援的地區

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. 前往您所屬地區的 CloudFormation 主控台,例如 eu-west-1
  2. 選擇「Create a stack」。
  3. 選擇「Amazon S3 URL」作為範本來源。
    建立堆疊
  4. 輸入 https://wa-biz-cfn.s3.amazonaws.com/wa_ent_net.yml 並點擊「Next」,或點擊

    部署範本

    並在網頁的右上角選擇相應的地區(如需要)。
  5. 在「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:上載資料庫和監察堆疊配置檔案

在 AWS 上部署 WhatsApp Business API 堆疊之前,您需要先將引用的子堆疊之配置檔案上載至您擁有讀取權限的 S3 組別。

  1. 建立新的 S3 組別,或使用已擁有讀取權限的現有 S3 組別。
  2. GitHub 下載 wa_ent_db.yml 檔案和 wa_ent_monitoring.yml 檔案,並將這兩個檔案上載至步驟 1 中提及的 S3 組別。
  3. 從物件清單中選擇 wa_ent_db.yml 檔案,然後複製其網址。網址格式應為 https://xxx.s3.<avalability_zone>.amazonaws.com/wa_ent_db.yml
  4. wa_ent.yml 檔案中,將 dbStack 中範本網址的值替換為步驟 3 的物件網址,然後儲存檔案。
  5. 從物件清單中選擇 wa_ent_monitoring.yml 檔案,然後複製其網址。網址格式應為 https://xxx.s3.<avalability_zone>.amazonaws.com/wa_ent_monitoring.yml
  6. wa_ent.yml 檔案中,將監察堆疊中範本網址的值替換為步驟 5 的物件網址,然後儲存檔案。
上載至 S3 組別

步驟 3:部署 WhatsApp Business API

WhatsApp Enterprise 為主要範本,並會為 WhatsApp Business API 客戶端建立全部所需資源(網絡除外)。如前所述,如果有需要的話,此範本還可以建立資料庫資源。

如要部署 WhatsApp Business API 用戶端,請按照下列步驟操作:

  1. 前往您所屬地區的 CloudFormation 主控台,例如 eu-west-1
  2. 選擇「Create a stack」。
  3. GitHub 下載 wa_ent.yml 檔案並將其儲存在本機。
  4. 選擇「Upload a template file」作為範本來源,並上載步驟 3 中下載的範本檔案。
    建立堆疊
  5. 點擊「Next
  6. 然後,您便可以輸入參數。參數說明請參閱下表。
  7. 設定所有參數(下方表格所示)後,點擊「Next」前往「Configure stack options」頁面。您可根據自己的偏好作出任何所需變更,然後點擊「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

此為選用項目。

註明是否為網絡容器保留資料庫連接。


預設:enabled

DB Idle Connection Timeout

此為選用項目。

資料庫關閉閒置連接後的時長,以毫秒為單位。
預設:180000 ms

記錄配置

名稱說明

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 密碼。

部署後的輸出內容

成功建立範本後,系統會顯示以下參數:

  • 負載平衡器名稱:存取 WhatsApp Business API 用戶端的負載均衡器主機名稱
  • 資料庫主機名稱:在建立範本期間所建立或提供的資料庫主機名稱
  • 資料庫連接埠號碼:資料庫連接的連接埠號碼
  • ECS 叢集名稱:所建立的 ECS 叢集名稱
  • 記錄留存天數:留存記錄的天數
  • 資料庫連接認證機構:資料庫連接認證機構的值(如已配置)
  • 資料庫連接證書:資料庫連接證書的值(如已配置)
  • 資料庫連接密鑰:資料庫連接密鑰的值(如已配置)
  • Grafana:Grafana 管理中心網址
  • ShardCount:要為 WhatsApp Business 平台 API 配置的分片數量

編輯 SSH 安全規則

預設情況下,堆疊建立的安全規則允許所有流量經 SSH 到達 EC2 實例、經 HTTPs 到達 API 端點和 Grafana 管理中心,以及到達 cadvisor 和 Prometheus 容器。出於安全原因,我們強烈建議您停止不必要的存取活動。本部分將舉例說明更新 SSH 安全規則的步驟。您應一律只限您信任的流量存取 SSH。

  1. 在 EC2 - Security Groups 主控台(例如:EC2 Management 主控台(amazon.com))按照下列步驟操作:
    1. 在右上角選擇正確的地區。
    2. 選擇包含 <stackName>-EcsSecurityGroup 的安全群組,然後切換至「Inbound Rules」分頁。
      編輯傳入規則
    3. 選擇「Edit inbound rule」並更新 Source 欄,從而只允許受信任的流量(如:我的 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 客戶端時,系統會預設產生自我簽署證書。系統或需用於產生自我簽署證書的「證書認證機構」證書,方可驗證 WhatsApp Business API 用戶端端點,並避免出現證書信任警告。

您可以下載 CA 證書,並將之儲存在本機裝置,以避開證書信任警告,或上載您自己的證書。詳情請參閱 certificate 節點文件

在 AWS 部署中,系統會使用負載平衡器主機名稱建立 SSL 證書。如果存取時使用 IP 位址,而不是主機名稱,則仍會出現警告。

在未來版本中,WhatsApp 將會支援配置由顧客提供的 SSL 證書。

步驟 5:驗證設定

成功完成配置和註冊步驟後,您便可以傳送和接收訊息,以驗證 WhatsApp Business API 用戶端的基本功能。請查閱訊息文件,以全面了解相關詳細資訊。

成功接收訊息後,WhatsApp Business API 用戶端會向步驟 3 中配置好的 Webhook POST 訊息狀態或詳細資訊。

如果您的訊息已成功被接收,恭喜您已準備就緒!如需更多關於可用 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 基礎架構便會重新開啟網頁版應用程式和核心應用程式。

預計停機時間為大約一至兩分鐘。

升級

如果直接更新 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 用戶端(容器)版本改為所需版本。請勿更改任何其他參數。點擊「Next」。
  7. 在「Configure stack options」頁面點擊「Next」。
  8. 在「Review」頁面選擇「I acknowledge that AWS CloudFormation might create IAM resources with custom names」。查閱「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」。查閱「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. 為其他所有服務重複執行步驟 c,包括 WAEntWebServiceWAEntMasterServiceHostExporterService
    5. 返回叢集頁面。在「Tasks」分頁中,確保上述服務沒有任何運行中的任務。
  2. 在 EC2 - Auto Scaling Groups 主控台(如:自動擴大規模群組 | EC2 Management 主控台(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」(建立新版本)。
      Launch Templates 主控台
    3. 在「Instance type」部分,將實例類型更新為 c5.large,然後選擇「Create template version」。
      實例類型
    4. 在 EC2 - Auto Scaling Groups 主控台,選擇名稱中包含 HAECSAutoScalingGroup 的堆疊自動擴大規模群組。
    5. 選擇「Launch template」部分中的「Edit」。
    6. 選擇在步驟 3c 中建立的新啟用範本,然後選擇「Update」。
      啟用範本
  4. 在 RDS 主控台(如:RDS Management 主控台 Console(amazon.com))按照下列步驟操作:
    1. 在右上角選擇正確的地區。
    2. 從清單中選擇相應的 Aurora 資料庫。
    3. 選擇「Modify」,然後將資料庫實例類別更新為 r5.xlarge
      實例配置
  5. 在 ECS 主控台(如:Amazon ECS)按照下列步驟操作:
    1. 在右上角選擇正確的地區。
    2. 從清單中選擇相應的叢集。
    3. 在「Services」分頁中,選擇包含 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 用戶端的基本功能狀況。請查閱訊息文件,以全面了解相關詳細資訊。