Amazon Simple Email Service
Developer Guide

Step 2: Create a Kinesis Data Firehose Delivery Stream

To publish email sending events to Amazon Kinesis Data Firehose, you must create a Kinesis Data Firehose delivery stream. When you set up a Kinesis Data Firehose delivery stream, you choose where Kinesis Data Firehose publishes the data. In this tutorial, we set up Kinesis Data Firehose to publish the data to Amazon Elasticsearch Service (Amazon ES).

This section shows how to create a Kinesis Data Firehose delivery stream using the Kinesis Data Firehose console. For the simplicity of this tutorial, we choose basic options. For information about all available options, see Creating an Amazon Kinesis Firehose Delivery Stream in the Amazon Kinesis Data Firehose Developer Guide.


You must have already set up an Amazon ES cluster, as explained in Step 1: Create an Amazon ES Cluster.

To create a delivery stream from Kinesis Data Firehose to Amazon Elasticsearch Service

  1. Sign in to the AWS Management Console and open the Kinesis Data Firehose console at

  2. Choose Create Delivery Stream.

  3. On the Destination page, choose the following options.

    • Destination – Choose Amazon Elasticsearch Service.

    • Delivery stream name – Type a name for the delivery stream.

    • Elasticsearch domain – Choose the Amazon ES domain that you created in Step 1: Create an Amazon ES Cluster.

    • Index – Type a name that you want to use to explore your email sending event data in Kibana. You can choose any name, but let's use holiday-sale for this tutorial. An index is analogous to a database. For example, if you want an easy way to access events from each of your email campaigns separately, you can use a different Kinesis Data Firehose stream and index for each campaign.

    • Index rotation – Choose NoRotation.

    • Type – Although this setting is not relevant to this tutorial, you must choose something, so type events. A type is a logical category or partition of your index.

    • Retry duration (sec) – Type 300.

    • Backup mode – Choose Failed Documents Only.

    • S3 bucket – Choose New S3 Bucket. Type a name for the bucket and choose the region your console is currently using.

    • S3 prefix – Leave this field empty.

  4. Choose Next.

  5. On the Configuration page, leave the fields at the default settings. The only step you must do is select an IAM role that enables Kinesis Data Firehose to access your resources, as explained in the following procedure.

    1. For IAM Role, choose Select an IAM role.

    2. In the drop-down menu, under Create/Update existing IAM role, choose Firehose delivery IAM role.

      You will be taken to the IAM console.

    3. In the IAM console, leave the fields at their default settings, and then choose Allow.

      You will return to the Kinesis Data Firehose delivery stream set-up steps in the Kinesis Data Firehose console.

  6. Choose Next.

  7. On the Review page, review your settings, and then choose Create Delivery Stream.

Next Step

Step 3: Set up a Configuration Set

On this page: