What is the MOST operationally efficient solution that meets these requirements?
Create an Amazon Kinesis Data Firehose delivery stream to ingest the alerts. Configure the Kinesis Data Firehose stream to deliver the alerts to an Amazon S3 bucket. Set up an S3 Lifecycle configuration to transition data to Amazon S3 Glacier after 14 days.
Launch Amazon EC2 instances across two Availability Zones and place them behind an Elastic Load Balancer to ingest the alerts. Create a script on the EC2 instances that will store the alerts in an Amazon S3 bucket. Set up an S3 Lifecycle configuration to transition data to Amazon S3 Glacier after 14 days.
Create an Amazon Kinesis Data Firehose delivery stream to ingest the alerts. Configure the Kinesis Data Firehose stream to deliver the alerts to an Amazon Elasticsearch Service (Amazon ES) cluster. Set up the Amazon ES cluster to take manual snapshots every day and delete data from the cluster that is older than 14 days.
Create an Amazon Simple Queue Service (Amazon SQS) standard queue to ingest the alerts, and set the message retention period to 14 days. Configure consumers to poll the SQS queue, check the age of the message, and analyze the message data as needed. If the message is 14 days old, the consumer should copy the message to an Amazon S3 bucket and delete the message from the SQS queue.
Explanations:
This option uses Amazon Kinesis Data Firehose to ingest alerts and deliver them directly to an Amazon S3 bucket, which provides high availability and durability. The S3 Lifecycle configuration to transition data to S3 Glacier after 14 days effectively manages costs by archiving older data, ensuring that data older than 14 days is stored efficiently while keeping the last 14 days of data available for immediate analysis. This solution is operationally efficient as it requires minimal infrastructure management.
This option involves launching Amazon EC2 instances, which introduces additional infrastructure management and costs. While it can store alerts in S3, the operational overhead of maintaining EC2 instances and an Elastic Load Balancer is not aligned with the requirement to minimize infrastructure management. Furthermore, it does not offer the same level of scalability and reliability as Kinesis Data Firehose.
While Kinesis Data Firehose is a good choice for data ingestion, sending data to Amazon Elasticsearch Service (ES) requires more management, such as handling the ES cluster and managing its lifecycle. Additionally, daily manual snapshots and the deletion of old data adds complexity and operational overhead, which goes against the goal of minimizing management. Also, ES is not the most cost-effective solution for long-term storage compared to S3 and S3 Glacier.
This option uses Amazon SQS for ingestion, which is not optimal for high-volume data ingestion due to the polling mechanism needed by consumers. While it does manage the retention of messages for 14 days, it adds complexity by requiring consumers to handle the archival process manually. This could lead to operational inefficiencies and higher costs compared to a managed service like Kinesis Data Firehose.