首页 > 解决方案 > RDS 实例不在 localstack 中创建

问题描述

我正在使用 terraform 在 localstack 中创建 RDS istance。我正在使用一个非常简单的示例,它使用 RDS/terraform 文档中的代码示例。这就是它的样子。如果我不包含此内容,其他资源(例如 SQS/SNS/S3)会创建得很好。

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"
}

创建RDS实例时没有错误,但它说

创新_1 | module.db.aws_db_instance.test-rds:仍在创建... [11s elapsed] localstack_1 | 2020-02-10T21:05:39:INFO:localstack_ext.services.rds.rds_listener:在端口 4511 上启动 RDS 服务器 - 数据库“mydb”,用户“foo”localstack_1 | 2020-02-10T21:05:44:INFO:localstack_ext.services.rds.rds_listener:在端口 4511 上启动 RDS 服务器 - 数据库“mydb”,用户“foo”innovation_1 | module.db.aws_db_instance.test-rds:仍在创建... [20s elapsed] localstack_1 | 2020-02-10T21:05:53:INFO:localstack_ext.services.rds.rds_listener:在端口 4511 上启动 RDS 服务器 - 数据库“mydb”,用户“foo”

永远。我等了一次 20 分钟,这条消息仍在打印到终端。

此外,我正在使用带有以下 docker-compose 文件的 localstack pro 版本

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

terraform 提供程序文件如下所示

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     = "http://localstack:4567"
    cloudformation = "http://localstack:4581"
    cloudwatch     = "http://localstack:4582"
    dynamodb       = "http://localstack:4569"
    es             = "http://localstack:4578"
    firehose       = "http://localstack:4573"
    iam            = "http://localstack:4593"
    kinesis        = "http://localstack:4568"
    lambda         = "http://localstack:4574"
    route53        = "http://localstack:4580"
    redshift       = "http://localstack:4577"
    s3             = "http://localstack:4572"
    secretsmanager = "http://localstack:4584"
    ses            = "http://localstack:4579"
    sns            = "http://localstack:4575"
    sqs            = "http://localstack:4576"
    ssm            = "http://localstack:4583"
    stepfunctions  = "http://localstack:4585"
    sts            = "http://localstack:4592"
    rds            = "http://localstack:4578"
  }
}

为什么会这样?如何在 localstack 中使用 terraform 创建 RDS 实例?谢谢。

标签: terraformlocalstack

解决方案


推荐阅读