# MSK Redshift connector

**URL:** <https://forum.confluent.io/t/msk-redshift-connector/37529>\
**Category:** Kafka Connect\
**Created:** [20 March 2025 09:01 UTC](https://forum.confluent.io/t/msk-redshift-connector/37529 "2025-03-20T09:01:26Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![dadadaniil](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.confluent.io/dadadaniil/32/5012_2.png) [@dadadaniil](https://forum.confluent.io/u/dadadaniil)\
**Post date:** [20 March 2025 09:01 UTC](https://forum.confluent.io/t/msk-redshift-connector/37529/1 "2025-03-20T09:01:26Z")

</div>

Hello, this is an extended guide on the Redshift MSK Connector in AWS, expanding on the instructions provided in the original guide.

The guide will consist of next chapters:

1. Connector creation process
2. Listing of all required permissions
3. Errors you might encounter

# 1. Connector creation

Not to duplicate [original article](https://docs.confluent.io/kafka-connectors/aws-redshift/current/overview.html) I would recommend you first to familiarize with confluent’s guide.

## 1.1 Plugin download

First, you are going to the plugin download [page](https://www.confluent.io/hub/confluentinc/kafka-connect-aws-redshift) and downloading zip, which after should be located anywhere in the S3 bucket to make it be accessible inside AWS infrastructure.

---

<div class="post-metadata">

**Author:** ![dadadaniil](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.confluent.io/dadadaniil/32/5012_2.png) [@dadadaniil](https://forum.confluent.io/u/dadadaniil)\
**Post date:** [20 March 2025 09:01 UTC](https://forum.confluent.io/t/msk-redshift-connector/37529/2 "2025-03-20T09:01:58Z")

</div>

**Note** , that you should locate there strictly zip, because on the connector creation process, AWS will require a path to the **archive**.

We assume, that you already have both working MSK cluster and Redshift instance, so you should go to connector creation [page](https://console.aws.amazon.com/msk/home#/connectors), and press there “Create connector” button.

If you are doing this first time and you do not have existing plugin instances, you need to select “Create custom plugin” in **Custom plugin type** and provide URI of a bucket, where you located the plugin in **step 1.1**. Mind, that you can get this uri by clicking “Copy S3 URI” with selected file

 ![image](https://us1.discourse-cdn.com/flex019/uploads/confluentcommunity/original/2X/7/7872d6d3a15872467e9bfdd8c2f9b6a4df1fe44a.png)

---

<div class="post-metadata">

**Author:** ![dadadaniil](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.confluent.io/dadadaniil/32/5012_2.png) [@dadadaniil](https://forum.confluent.io/u/dadadaniil)\
**Post date:** [20 March 2025 09:02 UTC](https://forum.confluent.io/t/msk-redshift-connector/37529/3 "2025-03-20T09:02:53Z")

</div>

## 1.2 Connector properties

_“Note that your connector can theoretically be created before meeting all conditions from the Security section. However, this will most likely result in a failed state. We assume that either you are lucky and no additional security configurations are needed, or all required steps have already been performed”_

Also, it is required to mention, that currently there is no way to provide access to Redshift via IAM and well-grained role, so we are forced to provide access using account and its credentials.

```auto
aws.redshift.domain=< Required Configuration >
aws.redshift.port=< Required Configuration >
aws.redshift.database=< Required Configuration >
aws.redshift.user=< Required Configuration >
aws.redshift.password=< Required Configuration >

```

The entire list of properties can be accessed [here](https://docs.confluent.io/cloud/current/connectors/cc-amazon-redshift-sink.html), but minimal setup will look like

```auto
    "confluent.topic.bootstrap.servers": "localhost:9092",
    "connector.class": "io.confluent.connect.aws.redshift.RedshiftSinkConnector",
    "tasks.max": "1",
    "topics": "orders",
    "aws.redshift.domain": "cluster-name.cluster-id.region.redshift.amazonaws.com",
    "aws.redshift.port": "5439",
    "aws.redshift.database": "dev",
    "aws.redshift.user": "awsuser",
    "aws.redshift.password": "your-password",
    "auto.create": "true",
    "pk.mode": "kafka"

```

Mind, that you should [decide](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-streaming-ingestion-getting-started-MSK.html#:~:text=Port%20to%20open%20between%20Redshift%20and%20Amazon%20MSK) what port will be used for communication with kafka brokers:

- To communicate with brokers in plaintext, use port 9092.
- To communicate with brokers with TLS encryption, use port 9094 for access from within AWS and port 9194 for public access.

That is why your _confluent.topic.bootstrap.servers_ will consist of exact broker name, which can be taken from cluster **Properties** tab in **Brokers** section and port:

` "confluent.topic.bootstrap.servers": "first.broker.name:9094, other.broker,name:9094",`

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex019/uploads/confluentcommunity/original/1X/c49438c90c9df282e9996fdf6971be890c71b65a.svg) [@system](https://forum.confluent.io/u/system)\
**Post date:** [20 March 2025 09:03 UTC](https://forum.confluent.io/t/msk-redshift-connector/37529/4 "2025-03-20T09:03:24Z")

</div>

This topic is temporarily closed for at least 1000000 hours due to a large number of community flags.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex019/uploads/confluentcommunity/original/1X/c49438c90c9df282e9996fdf6971be890c71b65a.svg) [@system](https://forum.confluent.io/u/system)\
**Post date:** [20 March 2025 09:13 UTC](https://forum.confluent.io/t/msk-redshift-connector/37529/5 "2025-03-20T09:13:39Z")

</div>


