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

# ETL: Connecting to Amazon RDS

> Grant Integrate.io ETL direct access to your Amazon RDS databases. Configure security groups and network settings for database connectivity.

This article walks you through the process of allowing Integrate.io ETL direct access to your [databases on RDS](https://www.integrate.io/blog/amazon-rds-what-is-it-and-how-does-it-work/). If you'd like to use an SSH tunnel, click [here](/etl/allowing-integrateio-etl-access-to-my-server-behind-a-firewall/) to read more.

You can watch this short video that demonstrates setting up a connection to MySQL RDS in VPC or read below for textual instructions.

<Frame>
  <iframe className="w-full aspect-video rounded-xl" src="https://fast.wistia.com/embed/iframe/s3kppyme97" title="Allowing Integrate.io ETL access to relational databases on Amazon RDS" allow="autoplay; fullscreen" allowFullScreen />
</Frame>

The security rules are setup with either a VPC or an EC2 instance to provide Integrate.io ETL access to the database IP address and port.

**To verify or modify the security rules of an instance on VPC:**

<Steps>
  <Step>
    Open the instance in the RDS Dashboard in the **Connectivity & Security** section of the **DB Instance** pane.
  </Step>

  <Step>
    Verify that **Publicly Accessible** is set to the default value **Yes**.
  </Step>

  <Step>
    Click on the Security Group listed.

    <Frame>
      <img src="https://mintcdn.com/integrateio/K1OxIkBgHF64pvnH/images/connectivity-and-security/image-295.webp?fit=max&auto=format&n=K1OxIkBgHF64pvnH&q=85&s=882379e156c3af2675970fdd133dd0df" alt="RDS instance Connectivity and Security section with security group link" width="1223" height="556" data-path="images/connectivity-and-security/image-295.webp" />
    </Frame>
  </Step>

  <Step>
    In the Security Group screen, select the **Inbound** tab. Then click **Edit inbound rules**.

    <Frame>
      <img src="https://mintcdn.com/integrateio/K1OxIkBgHF64pvnH/images/connectivity-and-security/image-296.webp?fit=max&auto=format&n=K1OxIkBgHF64pvnH&q=85&s=8c26974d52e2d2244a017c492089e73a" alt="Security Group inbound rules tab with Edit inbound rules button" width="1173" height="457" data-path="images/connectivity-and-security/image-296.webp" />
    </Frame>
  </Step>

  <Step>
    Click **Add rule** to add the IP addresses listed [here](/etl/integrateio-etls-ip-list/). Create a rule for each of the IP addresses:

    In the "Type" dropbox, choose Custom TCP rule.<br />
    In the port range, add the port that your database listens to. <br />
    In the source dropbox select Custom IP and enter one of the IP addresses.

    The default ports for supported databases are:

    MySQL - 3306<br />
    SQL Server - 1433<br />
    PostgreSQL - 5432.
  </Step>

  <Step>
    Click **Save rules**.

    <Frame>
      <img src="https://mintcdn.com/integrateio/K1OxIkBgHF64pvnH/images/connectivity-and-security/image-297.webp?fit=max&auto=format&n=K1OxIkBgHF64pvnH&q=85&s=79f21bc1f030c7b53dd8f9c569f68ab4" alt="Inbound rules configured with custom TCP rules for Integrate.io IP addresses" width="1366" height="297" data-path="images/connectivity-and-security/image-297.webp" />
    </Frame>
  </Step>
</Steps>

To configure your database to only accept SSL encrypted connections see [https://aws.amazon.com/rds/faqs/#53](https://aws.amazon.com/rds/faqs/#53) for more information.
