使用 AWS CloudFormation 在 Slack 資源中建立 AWS Support 應用程式 - AWS Support

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 AWS CloudFormation 在 Slack 資源中建立 AWS Support 應用程式

Slack 中的 AWS Support 應用程式已與 AWS CloudFormation 整合,這項服務可協助您建立 AWS 資源的模型並進行設定,以減少建立和管理資源和基礎設施的時間。您可以建立一個範本,描述您需要的所有 AWS 資源 (例如 AccountAlias 和 SlackChannelConfiguration),AWS CloudFormation 會為您佈建和設定這些資源。

當您使用 AWS CloudFormation 時,您可以重複使用您的範本,重複且一致地設定您的 AWS Support 應用程式資源。只需描述一次您的資源,即可在多個 AWS 帳戶 帳戶與區域內重複佈建相同資源。

AWS Support 應用程式和 AWS CloudFormation 模板

若要佈建和設定 AWS Support 應用程式與相關服務的資源,您必須了解 AWS CloudFormation 範本。範本是以 JSON 或 YAML 格式化的文本檔案。而您亦可以透過這些範本的說明,了解欲在 AWS CloudFormation 堆疊中佈建的資源。如果您不熟悉 JSON 或 YAML,您可以使用 AWS CloudFormation Designer 協助您開始使用 AWS CloudFormation 範本。如需詳細資訊,請參閱 AWS CloudFormation 使用者指南中的什麼是 AWS CloudFormation Designer?

AWS Support 應用程式支援在 AWS CloudFormation 中建立您的 AccountAlias 和 SlackChannelConfiguration。如需詳細資訊 (包括 AccountAlias 和 SlackChannelConfiguration 資源的 JSON 和 YAML 範本範例),請參閱《AWS CloudFormation 使用者指南》中的 AWS Support 應用程式資源類型參考

為您的組織建立 Slack 組態資源

您可以使用 CloudFormation 範本建立 AWS Support 應用程式所需的資源。如果您是組織的管理帳戶,則可以使用範本為 AWS Organizations 中的成員帳戶建立這些資源。

例如,您可以使用範本為組織中的所有帳戶建立相同的 Slack 工作區組態,然後使用不同的範本為特定 AWS 帳戶 或組織單位 (OU) 建立不同的 Slack 頻道組態。您也可以使用範本來建立 Slack 工作區組態,以便成員帳戶接著可以為其 AWS 帳戶 設定想要的 Slack 頻道。

您可以選擇是否使用 CloudFormation 範本。如果您不使用 CloudFormation 範本,則可以改為手動完成下列步驟:

  • 在 AWS Support Center Console 中建立 AWS Support 應用程式資源。

  • 使用 AWS Support 建立支援案例,以授權多個帳戶使用 AWS Support 應用程式。

  • 呼叫 RegisterSlackWorkspaceForOrganization API 操作為您的帳戶註冊 Slack 工作區。CloudFormation 堆疊會為您呼叫此 API 操作。

請遵循下列程序,將 CloudFormation 範本上傳至您的組織。您可以使用 AWS Support 應用程式資源類型參考頁面中的範例範本。

範本會通知 CloudFormation 建立以下資源:

更新適用於 Slack 的 CloudFormation 範本

若要開始使用,請使用下列範本建立您的堆疊。您必須將範本取代為 Slack 工作區和頻道的有效值。

注意

我們不建議使用範本為您的組織建立 AccountAlias 資源。AccountAlias 資源可唯一識別 AWS Support 應用程式中的 AWS 帳戶。您的成員帳戶可以在 Support Center Console 中輸入帳戶名稱。如需更多詳細資訊,請參閱 授權 Slack 工作區

更新適用於 Slack 的 CloudFormation 範本
  1. 如果您是組織的管理帳戶,則必須先手動授權帳戶的 Slack 工作區,然後您的成員帳戶才能使用 CloudFormation 來建立資源。如果您尚未這麼做,則請參閱 授權 Slack 工作區

  2. AWS Support 應用程式資源類型參考頁面複製所需資源的 JSON 或 YAML 範本。

  3. 在文字編輯器中,將範本貼到新檔案中。

  4. 在範本中,指定所需的參數。請至少取代下列欄位的值:

    • TeamId 取代為您的 Slack 工作區 ID

    • ChannelId 取代為 Slack 頻道 ID

    • ChannelName 取代為可識別 Slack 頻道組態的名稱

    提示

    若要尋找工作區和通道 ID,請在瀏覽器中開啟 Slack 通道。在 URL 中,您的工作區 ID 是第一個識別碼,而通道 ID 是第二個識別碼。例如,在 https://app.slack.com/client/T012ABCDEFG/C01234A5BCD 中,T012ABCDEFG 是工作區 ID,而 C01234A5BCD 是通道 ID。

  5. 將檔案儲存為 JSON 或 YAML 檔案。

為管理帳戶建立堆疊

接下來,您必須為組織中的管理帳戶建立堆疊。此步驟會為您呼叫 RegisterSlackWorkspaceForOrganization API 操作,並使用 Slack 授權工作區。

注意

建議您上傳您在上一個程序中為管理帳戶更新的 Slack 工作區組態範本。您不需要上傳 Slack 通道組態範本,除非您也將管理帳戶設定為使用 AWS Support 應用程式。

為管理帳戶建立堆疊
  1. 使用組織的管理帳戶登入 AWS Management Console。

  2. 在以下網址開啟 AWS CloudFormation 主控台:https://console.aws.amazon.com/cloudformation

  3. 如果您尚未執行此步驟,則請在 Region selector (區域選取器) 中選擇下列其中一個 AWS 區域:

    • 歐洲 (法蘭克福)

    • 歐洲 (愛爾蘭)

    • 歐洲 (倫敦)

    • 美國東部 (維吉尼亞北部)

    • 美國東部 (俄亥俄)

    • 美國西部 (奧勒岡)

    • 亞太區域 (新加坡)

    • 亞太區域 (東京)

    • 加拿大 (中部)

  4. 遵循下列程序來建立堆疊。如需詳細資訊,請參閱在 AWS CloudFormation 主控台上建立堆疊

    在 CloudFormation 成功建立堆疊後,您可以使用同一個範本為您的組織建立堆疊集。

為您的組織建立堆疊集

接下來,對 Slack 工作區組態使用相同的範本來建立具有 service-managed 許可的堆疊集。您可以使用堆疊集為您的整個組織建立堆疊,或指定所需的 OU。如需詳細資訊,請參閱建立堆疊集

此程序也會為您呼叫 RegisterSlackWorkspaceForOrganization API 操作。此 API 操作使用 Slack 為成員帳戶授權工作區。

為您的組織建立堆疊集
  1. 使用組織的管理帳戶登入 AWS Management Console。

  2. 在以下網址開啟 AWS CloudFormation 主控台:https://console.aws.amazon.com/cloudformation

  3. 如果您尚未執行此步驟,則請在 Region selector (區域選取器) 中選擇您在上一個程序中使用的相同 AWS 區域。

  4. 在導覽窗格中,選擇 StackSets

  5. 選擇 Create StackSet (建立 StackSet)。

  6. Choose a template (選擇範本) 頁面上,保留下列選項的預設選項:

    • Permissions (許可) 下,保留 Service-managed permissions (服務受管許可)。

    • 對於 Prerequisite - Prepare template (先決條件 - 準備範本),保留 Template is ready (範本已就緒)。

  7. Specify template (指定範本) 下,選擇 Upload a template file (上傳範本檔案),然後選擇 Choose file (選擇檔案)。

  8. 選擇檔案,然後選擇 Next (下一步)。

  9. Specify StackSet details (指定 StackSet 詳細資訊) 頁面上,輸入堆疊名稱 (例如 support-app-slack-workspace),輸入描述,然後選擇 Next (下一步)。

  10. Configure StackSet options (設定 StackSet 選項) 頁面上,保留預設選項,然後選擇 Next (下一步)。

  11. Set deployment options (設定部署選項) 頁面上,對於 Add stacks to stack set (將堆疊新增至堆疊集),保留預設 Deploy new stacks (部署新堆疊) 選項。

  12. 針對 Deployment targets (部署目標),選擇是否要為整個組織或特定 OU 建立堆疊。如果您選擇 OU,請輸入 OU ID。

  13. Specify regions (指定區域) 中,僅輸入下列其中一個 AWS 區域:

    • 歐洲 (法蘭克福)

    • 歐洲 (愛爾蘭)

    • 歐洲 (倫敦)

    • 美國東部 (維吉尼亞北部)

    • 美國東部 (俄亥俄)

    • 美國西部 (奧勒岡)

    • 亞太區域 (新加坡)

    • 亞太區域 (東京)

    • 加拿大 (中部)

    備註:
    • 若要簡化您的工作流程,建議您使用您在步驟 3 中選擇的相同 AWS 區域。

    • 選擇一個以上 AWS 區域 可能會導致與建立堆疊發生衝突。

  14. 對於部署選項容錯能力 – 選用中,請輸入在 CloudFormation 停止操作之前堆疊可以失敗的帳戶數量。建議您輸入要新增的帳戶數量減一。例如,如果您指定的 OU 有 10 個成員帳戶,請輸入 9。這意味著,即使 CloudFormation 操作失敗 9 次,至少有一個帳戶會成功。

  15. 選擇 Next (下一步)

  16. Review (檢閱) 頁面上,檢閱您的選項,然後選擇 Submit (提交)。您可以在 Stack instances (堆疊執行個體) 標籤上檢查您的堆疊狀態。

  17. (選用) 重複此程序以上傳 Slack 頻道組態的範本。範例範本也會建立 IAM 角色並連接 AWS 受管政策。此角色具有為您存取其他服務所需的許可。如需更多詳細資訊,請參閱 管理 AWS Support 應用程式的存取權

    如果您沒有建立堆疊集來建立 Slack 頻道組態,則您的成員帳戶可以手動設定 Slack 頻道。如需更多詳細資訊,請參閱 設定 Slack 頻道

在 CloudFormation 建立堆疊之後,每個成員帳戶都可以登入 Support Center Console 並尋找其設定的 Slack 工作區和通道。然後,他們可以在 AWS 帳戶 中使用 AWS Support 應用程式。請參閱 在 Slack 頻道中建立支援案例

提示

如果您需要上傳新的範本,則建議您使用之前指定的相同 AWS 區域。

進一步了解 CloudFormation

若要進一步了解 CloudFormation,請參閱下列資源:

使用 Terraform 建立 AWS Support 應用程式資源

您也可以使用 Terraform 為您的 AWS 帳戶 建立 AWS Support 應用程式資源。Terraform 是一種基礎設施即程式碼工具,可用於雲端應用程式。您可以使用 Terraform 來建立 AWS Support 應用程式資源,而不是將 CloudFormation 堆疊部署至帳戶。

安裝 Terraform 之後,您可以指定所需的 AWS Support 應用程式資源。Terraform 會呼叫 RegisterSlackWorkspaceForOrganization API 操作,以為您註冊 Slack 工作區,並建立您的資源。然後,您可以登入 Support Center Console 並尋找已設定的 Slack 工作區和頻道。

備註
  • 如果您是組織的管理帳戶,則必須先手動為您的帳戶授權 Slack 工作區,然後您的成員帳戶才能使用 Terraform 來建立資源。如果您尚未這麼做,則請參閱 授權 Slack 工作區

  • 與 CloudFormation 堆疊集不同,您無法使用 Terraform 為組織中的 OU 建立 AWS Support 應用程式資源。

  • 您也可以在 AWS CloudTrail 中從 Terraform 尋找這些更新的事件歷史記錄。這些事件的 eventSource 將是 cloudcontrolapi.amazonaws.com.rproxy.goskope.comsupportapp.amazonaws.com。如需更多詳細資訊,請參閱 使用 AWS CloudTrail 在 Slack API 呼叫中記錄 AWS Support 應用程式

進一步了解

若要進一步了解 Terraform,請參閱下列主題: