Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Introduce to Terraform
1. Introduction to Terraform: IaC
Jay Kim
Nov 28, 2019
class 101
101.1 What is Terraform?
101.2 Key Features of Terraform
101.3 Pros and Cons
101.4 Providers
101.5 Basic of Infrastructure
101.6 Getting Started
4. class 101 101.1 What is Terraform?
Use Infrastructure as Code(IaC) to provision and manage any cloud, infrastructure, or service
5. class 101 101.1 What is Terraform?
Terraform
Infrastructure
creation
DEV
STG
Prod
Use Infrastructure as Code(IaC) to provision and manage any cloud, infrastructure, or service
6. class 101 101.1 What is Terraform?
Use Infrastructure as Code(IaC) to provision and manage any cloud, infrastructure, or service
7. class 101 101.1 What is Terraform?
HCL
(Hashicorp Configuration Language (HCL))
Use Infrastructure as Code(IaC) to provision and manage any cloud, infrastructure, or service
14. class 101 101.1 What is Terraform?
Armon Dadgar(24)
co-founder and CTO
Mitchell Hashimoto(26)
co-founder and CEO
15. class 101 101.1 What is Terraform?
Armon Dadgar(24)
co-founder and CTO
Mitchell Hashimoto(26)
co-founder and CEO
16. class 101 101.1 What is Terraform?
Armon Dadgar(24)
co-founder and CTO
http://mitchellh.com/automation-obsessed
Mitchell Hashimoto(26)
co-founder and CEO
17. class 101 101.1 What is Terraform?
Mitchell Hashimoto(26)
co-founder and CEO
http://mitchellh.com/automation-obsessed
18. class 101 101.1 What is Terraform?
Terraform is, the result of
“Engineering Thinking”
Do Coding For Everything
(Automation)
Summary
35. class 101 101.2 Key Features of Terraform
These features are very similar with
36. class 101 101.2 Key Features of Terraform
These features are very similar with React
37. class 101 101.2 Key Features of Terraform
Terraform is an infrastructure provisioning tool
but the concepts aren’t only for SysOps Engineer.
Summary
38. class 101 101.2 Key Features of Terraform
*.examples of declarative
40. class 101 101.3 Pros and Cons
Pros Cons
Problem Solving
w/Engineer’s way
Reusable
Resources
Productivity
High Entry Barrier
(Especially, non-coder)
Reduce
Human Error
Everyone
Should do Terraform
Difficult to train
Difficult to design
47. class 101 101.5 Basic of Infrastructure
Customer
Mobile App
Web Browser
WebServer
Backend
LB
LB
LB
DB
VPC
48. class 101 101.5 Basic of Infrastructure
Customer
Mobile App
Web Browser
DB
WebServer
Backend
LB
LB
LB
Public Subnet Private Subnet DB Subnet
VPC
49. class 101 101.5 Basic of Infrastructure
Customer
Mobile App
Web Browser
DB
WebServer
Backend
LB
LB
LB
Public Subnet Private Subnet DB Subnet
IGW
NAT
Internet VPC
64. class 101 101.6 Getting Started
DEMO
11. Execute “tf apply”
12. Checking “VPC Creation” in AWS Console
65. class 101 101.6 Getting Started
13. Change “Name” Tag Value & “tf plan” & “tf apply”
14. Checking the “VPC Name Change” on AWS Console
15. Add “local” variable
DEMO
66. class 101 101.6 Getting Started
16. Search “terraform aws subnet”
DEMO
17.Add “aws_subnet” “private”, “public”, “db” with cidrs
67. class 101 101.6 Getting Started
DEMO
17.Add “aws_subnet” “private”, “public”, “db” with cidrs
* Interpolation Warning
${aws_vpc.main.id}
Terraform Version < 0.12.x
aws_vpc.main.id
Terraform Version > 0.12.x
18.plan / apply
68. class 101 101.6 Getting Started
DEMO
19. igw, route table, nat, nat_eip
69. class 101 101.6 Getting Started
DEMO
19. igw, route table, nat, nat_eip