Amazon Simple Email Service
Developer Guide (API Version 2010-12-01)

Step 2: Create a Firehose Delivery Stream

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

This section shows how to create a Firehose delivery stream using the 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 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 Firehose to Amazon Elasticsearch Service

  1. Sign in to the AWS Management Console and open the 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 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 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 Firehose delivery stream set-up steps in the 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: