A company's application integrates with multiple software-as-a-service (SaaS) sources for data collection. The company runs Amazon EC2 instances to receive the data and to upload the data to an Amazon S3 bucket for analysis. The same EC2 instance that receives and uploads the data also sends a notification to the user when an upload is complete. The company has noticed slow application performance and wants to improve the performance as much as possible.
Which solution will meet these requirements with the LEAST operational overhead?
A. Create an Auto Scaling group so that EC2 instances can scale out. Configure an S3 event notification to send events to an Amazon Simple Notification Service (Amazon SNS) topic when the upload to the S3 bucket is complete.
B. Create an Amazon AppFlow flow to transfer data between each SaaS source and the S3 bucket. Configure an S3 event notification to send events to an Amazon Simple Notification Service (Amazon SNS) topic when the upload to the S3 bucket is complete.
C. Create an Amazon EventBridge (Amazon CloudWatch Events) rule for each SaaS source to send output data. Configure the S3 bucket as the rule's target. Create a second EventBridge (Cloud Watch Events) rule to send events when the upload to the S3 bucket is complete. Configure an Amazon Simple Notification Service (Amazon SNS) topic as the second rule's target.
D. Create a Docker container to use instead of an EC2 instance. Host the containerized application on Amazon Elastic Container Service (Amazon ECS). Configure Amazon CloudWatch Container Insights to send events to an Amazon Simple Notification Service (Amazon SNS) topic when the upload to the S3 bucket is complete.
B
技巧:排除明顯錯誤選項,在沒有明顯錯誤的選項中選擇最合理的選項。
某公司的應用程序與多個軟件即服務(SaaS)源集成,用于數據收集。該公司運行 Amazon EC2 實例來接收數據,并將數據上傳到 Amazon S3 存儲桶進行分析。接收和上傳數據的 EC2 實例在上傳完成時也會向用戶發送通知。該公司已經注意到應用程序性能緩慢,并希望盡可能地提高性能。
哪種解決方案能夠以最小的運營開銷滿足這些要求?
A. 不正確。創建一個 Auto Scaling 組,以便 EC2 實例可以向外擴展。配置 S3 事件通知,以便在上傳到 S3 存儲桶完成時將事件發送到 Amazon Simple notification Service(Amazon SNS)主題。通過創建 Auto Scaling 組,EC2 實例可以根據負載自動擴展,這有助于提高應用程序的性能,特別是在數據接收和上傳高峰期。當數據上傳到 S3 存儲桶完成時,S3 事件通知可以觸發 Amazon SNS 主題,從而向用戶發送通知。這種方式不需要修改現有的 EC2 實例邏輯,操作開銷較小。但是,該方案并依然依賴于 EC2 實例進行數據接收和上傳,并沒有做架構層面的優化。
B. 正確。創建一個 Amazon AppFlow 流,在每個 SaaS 源和 S3 存儲桶之間傳輸數據。配置 S3 事件通知,以便在上傳到 S3 存儲桶完成時將事件發送到 Amazon Simple notification Service(Amazon SNS)主題。AppFlow 是一種完全托管的服務,可以自動化地在 SaaS 源和 AWS 服務(如 S3)之間傳輸數據。使用 AppFlow 可以減少 EC2 實例的負載,因為數據傳輸不再完全依賴于 EC2 實例。當數據上傳到 S3 存儲桶完成時,S3 事件通知可以觸發 Amazon SNS 主題,從而向用戶發送通知。該方案引入了完全托管的新服務(AppFlow),顯著減少了 EC2 實例的負載,提高了應用程序的性能,且操作開銷較小。
C. 不正確。為每個 SaaS 源創建一個 Amazon EventBridge(Amazon CloudWatch Events)規則,以發送輸出數據。將 S3 存儲桶配置為規則的目標。創建第二個 EventBridge(Cloud Watch Events)規則,以便在上傳到 S3 存儲桶完成時發送事件。將 Amazon 簡單通知服務(Amazon SNS)主題配置為第二條規則的目標。該方案中數據接收和上傳,沒有進行優化,仍然依賴于 EC2 實例。使用 EventBridge 為每個 SaaS 源創建規則并將 S3 存儲桶作為目標并不高效,而且使用 EventBridge 用于在上傳完成后發送通知,增加了系統的復雜性。
D. 不正確。創建一個 Docker 容器來代替 EC2 實例。在 Amazon Elastic Container Service(Amazon ECS)上托管容器化應用程序。配置 Amazon CloudWatch Container Insights,以便在上傳到 S3 存儲桶完成時將事件發送到 Amazon 簡單通知服務(Amazon SNS)主題。將應用程序容器化并托管在 ECS 上可以提高可移植性和可擴展性,但并沒有直接解決 EC2 實例在數據接收和上傳方面的性能瓶頸。Amazon CloudWatch Container Insights 也只是用于監控容器并發送通知,同樣沒有直接提高數據接收和上傳的性能。此外,需要管理容器和 ECS 集群,操作開銷較高。