如何使用terraform在ec2实例中创建mysql数据库
我已经使用下面的代码创建了EC2和我的sql实例,并成功地执行了它。如果我们需要在一个特定的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
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负责这些安装的自动化。