AWS Chatbot 常見問答集

一般問題

AWS Chatbot 是一種互動式代理,可讓您在 Amazon ChimeMicrosoft TeamsSlack 頻道輕鬆設定適用於 AWS 的 ChatOps,並與多項 AWS 服務安全地互動。您可以在聊天室中接收各種通知,包括操作事件、安全問題清單或預算提醒,整個團隊也可以在聊天室中查看並討論相關通知。您可以從 Microsoft Teams 和 Slack 頻道核發 AWS Command Line Interface (CLI) 命令,以擷取診斷資訊、叫用 AWS Lambda 函數、設定 Amazon Simple Storage Service (S3) 儲存貯體、變更 Kinesis 碎片、重新啟動 Amazon Elastic Compute Cloud (EC2) 執行個體,並解決 AWS System Manager 偶發事件。

您可以取得來自您 AWS 服務的通知,例如 CloudWatch 警示、運作狀態事件、Security Hub 問題清單、Budgets 提醒和 CloudFormation 堆疊事件。 您也可以接收 Amazon EventBridge 支援的大多數 AWS 服務事件的通知。如需支援的服務完整清單,請參閱 AWS Chatbot 文件

AWS Chatbot 同時支援多數 AWS 服務的唯讀命令和突發 CLI 命令。與憑證、授權和 AWS Identity and Access Management (IAM) 許可相關的服務與操作命令,例如 IAM、STS、KMS 和 EC2.GetPasswordData,不受 AWS Chatbot 支援。此外,您可以指定防護機制政策許可,定義頻道中允許的命令。AWS Chatbot 命令使用您已熟悉的 AWS CLI 語法。若要輸入命令,則透過輸入 “@aws <command>” 在訊息中提到 AWS Chatbot。 如果使用不正確的語法,AWS Chatbot 會提供命令提示,並根據需要為您提示其他的命令參數。

要開始使用 AWS Chatbot,請前往 AWS Chatbot 主控台、為 Microsoft Teams、Slack 或 Chime 建立組態,然後將 AWS Chatbot 新增到頻道或聊天室。

AWS Chatbot 可讓整個團隊隨時了解在 AWS 環境中執行的應用程式並予以回應,包括解決操作事件、安全問題清單和預算提醒。如果使用 AWS Chatbot 支援的聊天應用程式,則您可以設定 AWS Chatbot 在團隊頻道或聊天室發佈通知和執行命令,讓整個團隊可以查看並迅速反應。例如,您可以設定 CloudWatch 警示,以進入 “Cloud DevOps” 聊天頻道,DevOps 工程師可以在此處查看警示、在事件發生後立即擷取診斷資訊、討論遷移計畫,並透過設定 AWS 資源或執行來自聊天頻道的 AWS Systems Manager Runbook 來解決警示。

您可以在設定有 AWS Chatbot 的 Microsoft Teams 和 Slack 頻道中與 Amazon Q Developer 聊天。AWS Chatbot 中的 Amazon Q 可以回答可以回答有關 AWS 帳戶中的資源、建置解決方案的最佳實務、問題排查方法以及確定後續步驟的問題。您可以透過輸入「@aws list by ec2 instances in us-west-1」或「@aws how do I troubleshoot lambda concurrency issues?」,直接從聊天頻道詢問 Amazon Q 問題。

如需詳細資訊,請參閱在 AWS Chatbot 中與 Amazon Q Developer 聊天

AWS Chatbot 是預先建置的互動式代理,旨在監控、操作和故障診斷 AWS 資源 (ChatOps)。使用 AWS Chatbot,您可以安全地接收提醒、請求來自 Amazon CloudWatch 和 AWS GuardDuty 等服務的診斷資訊,並透過執行 CLI 命令解決偶發事件,例如在 Microsoft Teams 或 Slack 頻道中執行 AWS System Manager Runbook 的命令、提升 AWS Lambda 並行限制的命令。

Amazon Lex 提供自動語音辨識 (ASR) 和自然語言理解 (NLU) 等進階深度學習功能,前者可將語音轉為文字,後者則可辨識意圖並建置逼真的互動功能。這有助於您快速輕鬆地建置自己專屬的精密自然語言交談機器人。

使用 AWS Chatbot 不會產生額外費用。您需要為與 AWS Chatbot 搭配使用的 AWS 資源付費,例如 Amazon Simple Notification Service (SNS) 主題或 Amazon CloudWatch 警示。

您可以使用 AWS CLI、AWS CloudFormation、AWS Cloud Control API 和 SDK 來佈建 Microsoft Teams 和 Slack 頻道組態。Terraform 使用者可以使用 AWS 供應商來管理 Chatbot 頻道組態。

AWS Chatbot 是一項全球服務,可用於所有商業 AWS區域。您可以將多個區域的 Amazon SNS 主題,結合成單一 AWS Chatbot 組態。如需可用性的詳細資訊,請造訪 AWS 區域產品和服務資料表

AWS Chatbot 是全域服務,可以在任何商業 AWS 區域存放或處理客戶資訊,例如 Chatbot 組態與許可、Microsoft Teams 團隊識別符、Slack 工作區識別符和管道名稱、通知、使用者輸入和 AWS Chatbot 產生的回應和影像。

您可以聯絡 AWS Support 請求刪除用於分析和提升與您帳戶相關之服務品質的資料。我們將您的信任、您資料的隱私和安全性放在第一優先,而且實作適當且複雜的技術和實體控制 (包括靜態加密和傳輸加密),旨在避免未授權人員存取或公開您的內容,同時確保對資料的使用絕對遵守我們對您所做的承諾。如需詳細資訊,請參閱 https://aws.amazon.com/compliance/data-privacy-faq/。 

當您選擇退出使用可用來改進和開發 AWS Chatbot 和其他 Amazon 機器學習/人工智慧技術的資料時,您的資料會從 AWS 區域中移除。如需有關如何選擇退出的資訊,請聯絡 AWS Support。

您可以自訂 AWS Chatbot 以滿足 ChatOps 使用案例。您可以指定不同的頻道來監控和操作雲端應用程式的不同方面。您可以從一個頻道跨多個帳戶和區域操作資源。藉助 IAM 式許可、防護機制和服務控制政策 (SCP),您可以決定頻道成員可以從聊天頻道執行的動作類型。

您也可以傳送自訂通知,以便收到關於資源和應用程式狀態的通知。您也可以自訂通知上的動作按鈕,並設定命令別名,以便快速執行命令來診斷和修復問題。

聊天用戶端整合

AWS Chatbot 可支援 Microsoft Teams、Slack 和 Amazon Chime。目前僅在 Microsoft Teams 和 Slack 中支援執行命令。

AWS Chatbot 透過 Webhook 與 Amazon Chime 整合。

AWS Chatbot 使用 AWS Chatbot for Microsoft Teams 應用程式與 Microsoft Teams 整合,您可以在 Microsoft Teams 中安裝該應用程式。您可以在 AWS Chatbot 主控台中建立 Microsoft Teams 管道組態,授權 AWS Chatbot 將通知傳送至已設定的管道,並在聊天管道中處理 AWS 命令。安裝透過瀏覽器中的點選流程或使用 AWS CloudFormation 範本執行,而且只需幾分鐘即可設定。

AWS Chatbot 透過 AWS Chatbot Slack 應用程式與 Slack 整合;您可以從 AWS Chatbot 主控台將 AWS Chatbot Slack 應用程式安裝到 Slack 工作空間。點按 OAuth 2.0 流程即可在瀏覽器中執行安裝,整個程序只需按幾下。

AWS Chatbot 組態是 Microsoft Teams 頻道、Slack 頻道或 Amazon Chime 聊天室與 Amazon SNS 主題和 AWS IAM 角色 (與防護機制政策相關聯) 的映射。

通知

AWS Chatbot 透過 Amazon SNS 主題與支援的 AWS 服務整合。您需要將服務設定為針對某個 SNS 主題發佈通知,然後建立將主題映射至 Amazon Chime、Microsoft Teams 或 Slack 頻道的 AWS Chatbot 組態。

若要使用 AWS Chatbot 接收來自受支援服務的 EventBridge 事件通知,請使用 Amazon SNS 主題作為 EventBridge 事件規則的目標,然後在 AWS Chatbot 組態中使用該主題。EventBridge 透過與規則中所定義相符的事件模式接收事件時,事件規則緊急情況和事件通知會傳送至設定的聊天頻道。如需支援的服務完整清單,請參閱 AWS Chatbot 文件

按一下通知的標題,瀏覽至 AWS 管理主控台頁面,以取得通知來源。例如,如果您按一下 AWS Budgets 通知上的標題,系統會將您導向該筆特定預算的詳細資訊頁面,讓您檢閱並分析預算績效。

是,AWS Chatbot 支援將 Amazon EventBridge 事件和自訂應用程式事件的通知傳送至聊天頻道。Amazon EventBridge 事件的通知會以其原始事件訊息內容傳送至聊天頻道。您可以使用 AWS Chatbot 自訂通知在通知中定義和新增其他資訊,以監控 AWS 應用程式的運作狀態和效能。若要傳送應用程式事件的自訂通知或修訂現有的 EventBridge 事件,您可以採用 Chatbot 自訂通知結構描述格式將事件傳送至 SNS 主題。客戶可以透過寫入 Lambda 函數或使用 EventBridge InputTransformers 來產生這些事件。

如需詳細資訊,請參閱 AWS Chatbot 中的自訂通知

否,僅可使用來自託管 AWS Chatbot 組態之 AWS 帳戶的 SNS 主題。但是,您可以在其他 AWS 帳戶中建立 Chatbot 組態,並將這些組態映射至單一聊天室。由於各 AWS Chatbot 組態都連結到不同的 AWS 帳戶,因此各組態彼此獨立。此外,您可以使用一個 AWS Chatbot 組態和一個 Amazon SNS 主題在 Amazon Chime、Microsoft Teams 和 Slack 頻道接收 AWS 帳戶和區域之間的 EventBridge 事件通知。如需接收 AWS 帳戶和區域之間 EventBridge 事件通知的詳細資訊,請參閱 AWS Chatbot 文件

是。您可以在同一個 AWS Chatbot 組態中使用多個公有 AWS 區域的 SNS 主題。

對於支援篩選的事件,您可以使用 Amazon SNS 篩選政策或 Amazon CloudWatch 事件規則來篩選通知。對於不支援篩選的事件,就無法使用篩選功能。

雖然您無法直接自訂 AWS 服務事件通知的格式,但可以使用 AWS Chatbot 自訂通知在通知中定義和新增其他資訊,以監控 Microsoft Teams 和 Slack 頻道中 AWS 應用程式的運作狀態和效能。如需詳細資訊,請參閱 AWS Chatbot 中的自訂通知

是,AWS Chatbot 受限於 Microsoft Teams、Slack 和 Amazon Chime 的速率限制。如需詳細資訊,請參閱 Microsoft Teams 開發人員文件Slack Web API 文件Amazon Chime Webhook 文件

AWS Chatbot 支援由 Amazon EventBridge 處理之大多數 AWS 服務事件的通知。如果 AWS Chatbot 目前不支援所需服務,則您無法將其與 AWS Chatbot 搭配使用。請在 AWS Chatbot 主控台註腳中,使用「意見回饋」按鈕提出要求待審核。

若要取消訂閱通知中的頻道或聊天室,請移除相關組態。如果您只想取消訂閱頻道或聊天室中的某些通知,則請從 AWS Chatbot 組態中移除特定的 Amazon SNS 主題。

您可以在 Amazon CloudWatch 指標和日誌中查看嘗試及失敗通知的詳細資訊。查看 AWS Chatbot 文件以取得有關故障診斷的更多詳細資訊。

執行命令和動作

若要在 Microsoft Teams 或 Slack 頻道中執行命令,首先要使用 AWS Chatbot 主控台建立 Slack 頻道組態。

若要在 Microsoft Teams 或 Slack 中開始與 AWS Chatbot 互動,請輸入 “@aws”,後面緊接著使用標準 AWS CLI 語法的命令。例如,若要取得 CloudWatch 警示的清單和圖表,則請輸入 “@aws cloudwatch describe-alarms”。您可以在 Microsoft Teams 和 Slack 頻道中同時執行唯讀命令和突發 CLI 命令。請參閱 AWS Chatbot 文件以取得相較於 AWS CLI 的限制。如果您不記得命令語法,則 AWS Chatbot 會提供命令提示協助您完成命令並根據需要尋求其他命令參數。

您也可以使用命令別名執行命令,或者選取建議的 Chatbot 服務或自訂動作按鈕。

AWS Chatbot 支援多數 AWS 服務的命令,而其許可範圍是由 AWS Chatbot 組態中定義的 IAM 角色和頻道 IAM 政策防護機制所定義。無論 IAM 角色許可為何,存取特定服務和命令 (例如 IAM 和 AWS Key Management Service (KMS)) 會被停用,以避免在聊天頻道暴露憑證。請參閱 AWS Chatbot 文件以取得許可的詳細資訊。

目前不支援私訊。您可以建立只有您和 AWS Chatbot 的私人頻道,並使用其進行私訊溝通。

訊息動作是可以讓您快速採取行動的捷徑,在 AWS Chatbot 傳送的通知和訊息上按一下按鈕即可。例如,針對 Lambda 函數和 API Gateway 階段的 CloudWatch 警示通知會有 “Show logs” (顯示日誌) 與 “Show error logs” (顯示錯誤日誌) 按鈕,可顯示聊天頻道中受影響資源的日誌。

目前,您可以在 Microsoft Teams 和 Slack 中使用命令和動作。

安全性和管控

客戶可以使用 AWS Organizations 中的聊天機器人政策和多帳戶管理服務,以判斷哪些許可模型、聊天應用程式和聊天工作區可以用來存取其帳戶。例如,您可以限制在指定工作區/團隊中從聊天頻道對生產帳戶的存取權。客戶也可以使用服務控制政策 (SCP),指定從聊天頻道執行的 CLI 命令任務上的防護機制。例如,您可以指定拒絕所有來自聊天頻道的 rds: delete-db-cluster CLI 動作。

AWS Chatbot 組態代表 AWS Chatbot 使用者發出 API 呼叫和執行命令時,會使用服務擔任的 IAM 角色。您可以透過共享頻道 IAM 角色或個別使用者 IAM 角色設定 AWS Chatbot 許可範圍。透過共享頻道角色,所有頻道成員會使用共享的 IAM 角色來執行命令。或者,您可以設定 AWS Chatbot,要求頻道成員選擇 IAM 角色來執行命令。許可範圍會由頻道防護機制 IAM 政策進一步控制。請參閱 AWS Chatbot 文件以取得許可的詳細資訊。 

請參閱 AWS Chatbot 文件以取得詳細資訊。 

AWS Chatbot 會提供其在 CloudWatch Logs 中執行的稽核命令日誌。此日誌包含已執行的命令及其聊天工作區 ID、頻道 ID 和頻道使用者 ID 屬性。一律會啟用 CloudWatch Logs 中的稽核日誌事件,且無法停用。請參閱 AWS Chatbot 文件以取得詳細資訊。