如何使用terraform在ec2实例中创建mysql数据库

如何使用terraform在ec2实例中创建mysql数据库,terraform,Terraform,我已经使用下面的代码创建了EC2和我的sql实例,并成功地执行了它。如果我们需要在一个特定的ec2实例中创建mysql数据库,如果有多个实例正在运行,那么过程是什么呢。尽管控制台中有创建数据库的选项,但我需要通过地形代码执行 resource "aws_instance" "DB-Server" { ami = "ami-051f75c6" instance_type = "t2.micro" key_name="Key-pair } resource "aws_db_instan

我已经使用下面的代码创建了EC2和我的sql实例,并成功地执行了它。如果我们需要在一个特定的ec2实例中创建mysql数据库,如果有多个实例正在运行,那么过程是什么呢。尽管控制台中有创建数据库的选项,但我需要通过地形代码执行

resource "aws_instance" "DB-Server"
 {
  ami = "ami-051f75c6"
  instance_type = "t2.micro"
  key_name="Key-pair
}
resource "aws_db_instance" "default"
 {
   allocated_storage    = 20
   storage_type         = "gp2"
   engine               = "mysql"
   engine_version       = "5.7"
   instance_class       = "db.t2.micro"
   name                 = "mydb"
   username             = "username"
   password             = "XXXX"
   `enter code here`parameter_group_name = "default.mysql5.7"
}

您应该考虑使用TrRAFFReX代码>本地Exc/<代码>或<代码>远程Exc> <代码>提供器。它允许你用bash做任何你能做的事情。当您的Terraform代码启动EC2实例后,您将调用运行脚本的本地/远程exec来安装MySQL。

既然您说希望使用Terraform在您自己的EC2实例上安装MySQL,我建议您使用EC2的功能。用户数据允许您定义脚本,以便在部署EC2实例时执行安装或配置。Terraform提供了这样的挂钩

resource "aws_instance" "web" {
  ami           = "${data.aws_ami.ubuntu.id}"
  instance_type = "t2.micro"
  user_data = <<-EOF
                #!/bin/bash
                yum install -y mysql56-server
              EOF
  tags = {
    Name = "HelloWorld"
  }
}
资源“aws\u实例”“web”{
ami=“${data.aws\u ami.ubuntu.id}”
实例_type=“t2.micro”

user_data=我不理解你的问题。你想指定要在哪个EC2实例上创建MySQL实例吗?如果是,AWS RDS的工作方式就不是这样。你想在EC2实例上安装自己的MySQL而不使用RDS吗?嗨,是的,我想在EC2实例中安装自己的MySQL。这不是terraform的角色,想想ansible、chef负责这些安装的自动化。