簡體   English   中英

如何在部署期間使用非 AWS 資源擴展 AWS CDK

[英]How to extend AWS CDK with non AWS Resources during deploy

我想使用 Sumo Logic 自動設置 AWS Application Load Balancer 日志的集合,如下所述:

https://help.sumologic.com/07Sumo-Logic-Apps/01Amazon_and_AWS/AWS_Elastic_Load_Balancer_-_Application/01_Collect_Logs_for_the_AWS_Elastic_Load_Balancer_Application_App

這包括創建一個存儲桶,創建一個帶有 S3 源的 Sumo Logic 托管收集器,獲取 Sumo Logic 提供的收集器源的 URL,然后創建一個帶有 HTTP 訂閱的 SNS 主題,其中訂閱 URL 是由 Sumo Logic 提供的來源。

問題在於 SumoLogic 源 URL 在綜合時未知。 必須部署 Bucket,然后創建 Sumlogic 事物,然后創建 SNS 主題。

盡我所能,我將不得不通過使用單獨的堆棧單獨調用 CDK 來完成此操作,這會更慢。 一個堆棧來創建存儲桶。 部署該堆棧后,使用 Sumo Logic api 創建或確認之前創建的 Sumo Logic 托管收集器和源,另一個 CDK 部署以創建 SNS 主題和 HTTP 訂閱。

我只是想知道是否有人知道更好的方法來做到這一點,也許可以使用某種部署時間掛鈎。

您可以通過兩種方式(我知道)自動收集 AWS Application Load Balancer。

  1. 使用 CloudFormation
  • Sumo Logic 有一個模板,用於為 AWS Application Load Balancer 創建收集過程,它是 AWS 可觀察性解決方案的一部分。 您可以分叉存儲庫,並可以在刪除不需要的資源后創建自己的 CloudFormation 模板。
  • Sumo Logic 還有一個無服務器應用程序,它自動為現有的和新的(在應用程序安裝后創建的)負載平衡器啟用訪問日志記錄。 使用應用程序的示例模板
  1. 使用地形
  • 正如Grzegorz所提到的,您也可以創建一個 terraform 腳本。

免責聲明:目前受雇於 Sumo Logic。

您可以嘗試使用自定義資源 SDK 調用來觸發執行您想要的操作的 lambda。

https://docs.aws.amazon.com/cdk/api/latest/docs/@aws-cdk_custom-resources.AwsSdkCall.html

(我知道這不是一個完美的答案,因為它建議使用另一種工具,但我相信它滿足了問題中表達的需求)

使用 Terraform 怎么樣?

sumologic_s3_source在Terraform能夠在相撲輸出其網址為內Terraform其他用途,以創建源-如建立AWS資源。

這個文檔甚至提到 URL 是返回值之一:

url - 與 SNS 一起使用以通知 Sumo Logic 新文件的 HTTP 端點。

免責聲明:我目前受雇於 Sumo Logic。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM