概觀
Workload Discovery on AWS (之前稱為 AWS Perspective) 是用於視覺化 AWS 雲端工作負載的工具。使用 Workload Discovery on AWS 根據 AWS 中的即時資料建置、自訂和共享工作負載的詳細架構圖。
右圖是 Workload Discovery on AWS 產生的範例架構圖。
優勢
藉助 Workload Discovery on AWS,您可以建置、定製和共享詳細的架構圖。 Workload Discovery on AWS 可維護帳戶和區域間的 AWS 資源清單,映射它們之間的關係,並在 Web UI 中顯示出來。
成本査詢建置器可讓您尋找可能產生成本的 AWS 資源和服務。預估成本資料將在指定的時段內自動計算,並顯示在架構圖上。
您可以為架構圖產生成本報告 (包含預估成本的概觀),並將其匯出為 CSV。
透過搜尋功能,您可以使用基本資訊,例如資源名稱、標籤名稱或 IP 地址,來尋找您感興趣的資源。
使用資源目錄瀏覽您的帳戶和區域所佈建的資源。它包含 Workload Discovery on AWS 探索的所有資源。您可以透過在 Web UI 中選取資源,來開始建置 Workload Discovery on AWS 架構圖。
您可以儲存 Workload Discovery on AWS 架構圖,以供今後重新檢視或與其他 Workload Discovery on AWS 使用者共用。若要在 Workload Discovery on AWS 之外使用架構圖,可以匯出為 PNG、JSON、CSV 或 draw.io。
技術詳細資訊
您可以使用實作指南和隨附的 AWS CloudFormation 範本自動部署此架構。
步驟 1
HTTP Strict-Transport-Security (HSTS) 為來自 Amazon CloudFront 分發的每個回應新增安全標頭。
步驟 2
Amazon Simple Storage Service (Amazon S3) 儲存貯體託管 Web 使用者界面 (Web UI),該界面藉助 CloudFront 分配。Amazon Cognito 驗證使用者對 Web UI 的存取。
步驟 3
AWS WAF 保護 AWS AppSync API 免受可能影響可用性、安全性危害、或耗用過多資源的常見入侵程式和機器人程式的侵擾。
步驟 4
AWS AppSync 端點允許 Web UI 元件請求資源關係資料、查詢成本、匯入新的 AWS 區域和更新偏好設定。AWS AppSync 還允許探索元件將持久資料存放在解決方案的資料庫中。
步驟 5
AWS AppSync 使用 Cognito 佈建的 JSON Web 字符 (JWT) 來驗證每個請求。
步驟 6
設定 AWS Lambda 函數可將匯入的區域及其他組態儲存到 Amazon DynamoDB。
步驟 7
此解決方案將 AWS Amplify 和 S3 儲存貯體部署為儲存管理元件,以存放使用者偏好設定和儲存的架構圖。
步驟 8
資料元件使用 Gremlin Resolver Lambda 函數從 Amazon Neptune 資料庫査詢和返回資料。
步驟 9
資料元件使用 Search Resolver Lambda 函數査詢資源資料並將其儲存到 Amazon OpenSearch Service 網域。
步驟 10
Cost Lambda 函數使用 Amazon Athena 査詢 AWS 成本和用量報告 (AWS CUR),以向 Web UI 提供預估成本資料。
步驟 11
Athena 會對 CUR 執行査詢。
步驟 12
CUR 將報告傳送至 CostAndUsageReportBucket S3 儲存貯體。
步驟 13
Cost Lambda 函數會將 Athena 結果存放在 AthenaResultsBucket S3 儲存貯體中。
步驟 14
AWS CodeBuild 會將探索元件容器映像建置在映像部署元件中。
步驟 15
Amazon Elastic Container Registry (Amazon ECR) 包含映像部署元件提供的 Docker 映像檔。
步驟 16
Amazon Elastic Container Service (Amazon ECS) 管理 AWS Fargate 任務,並提供執行任務所需的組態。Fargate 每 15 分鐘執行一次容器任務,以重新整理庫存和資源資料。
步驟 17
AWS Config 和適用於 JavaScript 的 AWS 開發套件呼叫可協助探索元件維護匯入的區域中的資源資料庫存,然後將結果存放在資料元件中。
步驟 18
Fargate 任務藉助對 AWS AppSync API 的 API 呼叫,將 Config 和適用於 JavaScript 的開發套件呼叫的結果儲存到 Neptune 資料庫和 OpenSearch Service 網域。