backend.tf
terraform {
backend "s3" {
bucket = "terraform-remote-state-conor"
key = "terraform/lab-2-remote-state"
region = "eu-west-1"
}
}
resource "aws_instance" "conor_wu_example_ec2" {
ami = "ami-09b9e380df60300c8"
instance_type = var.instance_type
key_name = aws_key_pair.mykeypair.key_name
provisioner "local-exec" { //本地执行
command = "echo ${aws_instance.conor_wu_example_ec2.private_ip} >> private_ips.txt"
}
provisioner "file" { //文件上传
source = "script.sh"
destination = "/tmp/script.sh"
}
provisioner "remote-exec" { //远程执行
inline = [
"chmod +x /tmp/script.sh",
"sudo sed -i -e 's/\rS//' /tmp/script.sh",
"sudo /tmp/script.sh",
]
}
connection {
host = coalesce(self.public_ip, self.private_ip) //链接公有ip或者私有ip
type = "ssh"
user = var.INSTANCE_USERNAME //实例用户名
private_key = file(var.PATH_TO_PRIVATE_KEY) //本地私钥
}
}
EC2下载->开启,nginx 服务脚本
#!/bin/bash
until [[ -f /var/lib/cloud/instance/boot-finished ]]; do
sleep 1
done
# INSTALL Nginx
apt-get update
apt-get -y install nginx
# START Nginx
service nginx start