> ## Documentation Index
> Fetch the complete documentation index at: https://docs.honeycomb.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Send Data from AWS via AWS CloudFormation

> Set up Honeycomb's AWS integrations using AWS CloudFormation as your IaC method to provision the resources needed to send data to Honeycomb.

Honeycomb AWS Integrations can be set up with [AWS CloudFormation](https://docs.aws.amazon.com/cloudformation/index.html) as your preferred Infrastructure-as-Code (IaC) method and deployment process.

<Note>
  Honeycomb AWS Integrations utilize AWS CloudWatch, Amazon Kinesis, and AWS Lambda to send data to Honeycomb.
  Refer to [How AWS Integrations Work](/integrations/aws/how-aws-integrations-work/) to reference which AWS services use which methods.
  Note that standard AWS charges apply.
  Please refer to Amazon for specifics on associated egress costs.
</Note>

## AWS CloudFormation

Honeycomb provides a [CloudFormation template](https://github.com/honeycombio/cloudformation-integrations) to automate configuration of various AWS services to Honeycomb.
Each integration has an independently deployable stack that the template deploys all together with the ability to turn functionality on and off as needed.

Supported CloudFormation Integrations:

* CloudWatch Logs
* CloudWatch Metrics
* RDS CloudWatch Logs
* Amazon S3 Bucket Logs

### AWS CloudFormation Setup

Choose from the available AWS [CloudFormation templates](https://github.com/honeycombio/cloudformation-integrations).

Each integration option features a **Launch Stack** button and a list of required parameters or inputs during installation.

We also offer a "quick start" AWS CloudFormation template that provides a streamlined path to integrate your AWS environments with Honeycomb.
The quick start template uses all of the per-integration templates below to offer the configuration of many integrations in a single CloudFormation stack.

The quick start template may be suitable for many production purposes, but we encourage you to use per-integration templates in a way that suits your AWS environment.

<Note>
  If a misconfiguration happens during AWS CloudFormation installation, it is better to completely delete the CloudFormation stack and re-create it using the quick-create links.
</Note>

<Tabs>
  <Tab title="All">
    This AWS CloudFormation template allows the configuration of **multiple integrations** from a single CloudFormation Template.

    Select **Launch Stack** to start the install:

    <a href="https://console.aws.amazon.com/cloudformation/home#/stacks/new?templateURL=https://honeycomb-builds.s3.amazonaws.com/cloudformation-templates/latest/quickstart.yml&stackName=Honeycomb-Integration">
      <img src="https://s3.amazonaws.com/cloudformation-examples/cloudformation-launch-stack.png" alt="Launch Stack" />
    </a>

    #### Required Inputs

    Enter a value for the required input in the UI, or if using the CLI or API, ensure the inclusion of the required input and its value.

    * `HoneycombAPIKey`: Your Honeycomb Team's API Key.

    <Note>
      All other parameters are optional.
      If you provide no additional parameters, the template only creates an S3 Bucket.
    </Note>
  </Tab>

  <Tab title="CloudWatch Logs">
    This AWS CloudFormation template integrates up to six **CloudWatch Log Groups** and ships them to a Honeycomb dataset.

    Select **Launch Stack** to start the install.

    <a href="https://console.aws.amazon.com/cloudformation/home#/stacks/new?templateURL=https://honeycomb-builds.s3.amazonaws.com/cloudformation-templates/latest/cloudwatch-logs.yml&stackName=Honeycomb-Logs">
      <img src="https://s3.amazonaws.com/cloudformation-examples/cloudformation-launch-stack.png" alt="Launch Stack" />
    </a>

    #### Required Inputs

    Enter a value for each required input in the UI, or if using the CLI or API, ensure the inclusion of each required input and its value.

    * `HoneycombAPIKey`: Your Honeycomb Team's API Key.
    * `HoneycombDataset`: The target Honeycomb dataset for the Stream to publish to.
    * `LogGroupName`: A CloudWatch Log Group name. Additional Log Groups can be added with the `LogGroupNameX` parameters.
    * `S3FailureBucketArn`: The ARN of the S3 Bucket that will store any logs that failed to be sent to Honeycomb.
  </Tab>

  <Tab title="CloudWatch Metrics">
    This AWS CloudFormation template integrates all metrics flowing to **CloudWatch Metrics** and ships them to a Honeycomb dataset.

    Select **Launch Stack** to start the install.

    <a href="https://console.aws.amazon.com/cloudformation/home#/stacks/new?templateURL=https://honeycomb-builds.s3.amazonaws.com/cloudformation-templates/latest/cloudwatch-metrics.yml&stackName=Honeycomb-CloudMetrics">
      <img src="https://s3.amazonaws.com/cloudformation-examples/cloudformation-launch-stack.png" alt="Launch Stack" />
    </a>

    #### Required Inputs

    Enter a value for each required input in the UI, or if using the CLI or API, ensure the inclusion of each required input and its value.

    * `HoneycombAPIKey`: Your Honeycomb Team's API Key.
    * `S3FailureBucketArn`: The ARN of the S3 Bucket that will store any logs that failed to be sent to Honeycomb.
  </Tab>

  <Tab title="RDS CloudWatch Logs">
    This AWS CloudFormation template streams **RDS logs from CloudWatch** to a Kinesis Firehose that includes a data transform to **structure** the logs before it sends them to Honeycomb.

    Select **Launch Stack** to start the install.

    <a href="https://console.aws.amazon.com/cloudformation/home#/stacks/new?templateURL=https://honeycomb-builds.s3.amazonaws.com/cloudformation-templates/latest/rds-logs.yml&stackName=Honeycomb-RDS-Logs">
      <img src="https://s3.amazonaws.com/cloudformation-examples/cloudformation-launch-stack.png" alt="Launch Stack" />
    </a>

    #### Required Inputs

    Enter a value for each required input in the UI, or if using the CLI or API, ensure the inclusion of each required input and its value.

    * `HoneycombAPIKey`: Your Honeycomb Team's API Key.
    * `HoneycombDataset`: The target Honeycomb dataset for the Stream to publish to.
    * `DBEngineType`: The Engine type of your RDS database. One of `aurora-mysql`, `aurora-postgresql` `mariadb`, `sqlserver`,`mysql`, `oracle`, or `postgresql`.
    * `LogGroupName`: A CloudWatch Log Group name for RDS logs. Additional Log Groups can be added with the `LogGroupNameX` parameters.
    * `S3FailureBucketArn`: The ARN of the S3 Bucket that will store any logs that failed to be sent to Honeycomb.
  </Tab>

  <Tab title="Amazon S3 Bucket Logs">
    This AWS CloudFormation template supports **sending logs from a S3 bucket** to Honeycomb.

    Select **Launch Stack** to start the install.

    <a href="https://console.aws.amazon.com/cloudformation/home#/stacks/new?templateURL=https://honeycomb-builds.s3.amazonaws.com/cloudformation-templates/latest/s3-logfile.yml&stackName=Honeycomb-S3-Logs">
      <img src="https://s3.amazonaws.com/cloudformation-examples/cloudformation-launch-stack.png" alt="Launch Stack" />
    </a>

    #### Required Inputs

    Enter a value for each required input in the UI, or if you are using the CLI or API, make sure to include each required input and its value:

    * `HoneycombAPIKey`: Your Honeycomb Team's API Key.
    * `HoneycombDataset`: Target Honeycomb dataset to which you will publish.
    * `ParserType`: Type of log file to parse. Options include: `alb`, `elb`, `cloudfront`, `keyval`, `json`, `s3-access`, or `vpc-flow`.
    * `S3BucketArn`: ARN of the S3 Bucket storing the logs.
  </Tab>
</Tabs>
