· 7 years ago · Oct 02, 2018, 09:46 AM
1provider "aws" {
2 access_key = "${var.access_key}"
3 secret_key = "${var.secret_key}"
4 region = "us-west-2"
5
6}
7
8resource "aws_vpc" "awsVpc" {
9 cidr_block = "10.1.0.0/16"
10
11}
12
13resource "aws_subnet" "awsSubnet" {
14 cidr_block = "10.1.0.0/24"
15 vpc_id = "${aws_vpc.awsVpc.id}"
16
17}
18
19resource "aws_security_group" "available_on_particular_port" {
20 name = "available_on_particular_port"
21 vpc_id = "${aws_vpc.awsVpc.id}"
22
23
24 ingress {
25 from_port = 22
26 to_port = 22
27 protocol = "tcp"
28 cidr_blocks = ["0.0.0.0/0"]
29 }
30
31}
32
33resource "aws_instance" "awsInstance" {
34 ami = "ami-a0cfeed8"
35 instance_type = "t2.micro"
36 subnet_id = "${aws_subnet.awsSubnet.id}"
37 vpc_security_group_ids = ["${aws_security_group.available_on_particular_port.id}"]
38 key_name = "${var.key_name}"
39
40 connection {
41 user = "ec2-user"
42 private_key = "${file(var.private_key_path)}"
43 }
44
45 provisioner "remote-exec" {
46 inline = [
47 "sudo yum install nginx -y",
48 "sudo service nginx start",
49 "echo '<html><head><title>Learning terraform</title></head><body><h1>Automating Infrastructure on AWS Using Terraform</h1></body></html>' | sudo tee /usr/share/nginx/html/index.html"
50 ]
51 }
52}