我正在使用terraform在localstack中创建一个RDS距离。我使用的是一个非常简单的示例,它使用RDS/terraform文档中的a代码示例。这就是它的样子。如果我不包括这一点,其他资源(如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实例时没有错误,但显示
创新1module.db.aws\u db\u实例.test rds:仍在创建。。。
[11s]本地堆栈\u 1|
在端口4511上启动RDS服务器-数据库“mydb”,用户“foo”
本地堆栈\u 1|
在端口4511上启动RDS服务器-数据库“mydb”,用户“foo”
[20秒]本地堆栈\u 1|
2020年2月10日21:05:53:信息:localstack\u ext.services.rds.rds\u listener:
在端口4511上启动RDS服务器-数据库“mydb”,用户“foo”
永远。我等了20分钟,但这条信息仍在打印到终端上。
此外,我使用localstack pro版本和以下docker compose文件
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 {
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实例?谢谢。