Rds Instance Does Not Create in Localstack

I am using terraform to create an RDS istance in localstack. I am using a very simple example which is using the a code example from the RDS/terraform docs. This is what it looks like. If i dont include this, the other resources such as SQS/SNS/S3 create fine.

resource "aws_db_instance" "test-rds" {
  allocated_storage    = 5
  storage_type         = "gp2"
  engine               = "postgres"
  engine_version       = "5.7"
  instance_class       = "db.t2.micro"
  name                 = "mydb"
  username             = "foo"
  password             = "foobarbaz"
  parameter_group_name = "default.mysql5.7"
}

There is no error when creating the RDS instance but it says

innovation_1 | module.db.aws_db_instance.test-rds: Still creating... [11s elapsed] localstack_1 | 2020-02-10T21:05:39:INFO:localstack_ext.services.rds.rds_listener: Starting RDS server on port 4511 - database "mydb", user "foo" localstack_1 | 2020-02-10T21:05:44:INFO:localstack_ext.services.rds.rds_listener: Starting RDS server on port 4511 - database "mydb", user "foo" innovation_1 | module.db.aws_db_instance.test-rds: Still creating... [20s elapsed] localstack_1 | 2020-02-10T21:05:53:INFO:localstack_ext.services.rds.rds_listener: Starting RDS server on port 4511 - database "mydb", user "foo"

Forever. I waited one time for 20 minutes and this message was still printing to the terminal.

In addition I am using the localstack pro version with the following docker-compose file

services:
  innovation:
    build: .
    ports:
      - "8080:8080"
    depends_on:
      - localstack
    links:
    - localstack
  localstack:
    image: localstack/localstack
    ports:
    - "4567-4584:4567-4584"
    environment:
    - SERVICES=s3:4572,sns:4575,sqs:4576,rds:4578
    - LOCALSTACK_API_KEY=sdfsdf

The terraform provider file looks like this

terraform {
  backend "local" {}
}

provider "aws" {
  access_key                  = "mock_access_key"
  region                      = "us-east-1"
  s3_force_path_style         = true
  secret_key                  = "mock_secret_key"
  skip_credentials_validation = true
  skip_metadata_api_check     = true
  skip_requesting_account_id  = true

  endpoints {
    apigateway     = ""
    cloudformation = ""
    cloudwatch     = ""
    dynamodb       = ""
    es             = ""
    firehose       = ""
    iam            = ""
    kinesis        = ""
    lambda         = ""
    route53        = ""
    redshift       = ""
    s3             = ""
    secretsmanager = ""
    ses            = ""
    sns            = ""
    sqs            = ""
    ssm            = ""
    stepfunctions  = ""
    sts            = ""
    rds            = ""
  }
}

Why is this happening? How does one create an RDS instance with terraform in localstack? Thanks.

4
Marcus Vance

Marcus Vance

Cybersecurity & Digital Privacy Researcher

Marcus Vance is a cybersecurity auditor and technology writer dedicated to educating the public about online safety, data privacy regulations, enterprise security, and emerging cyber threats.

Share this article