יסודות ומושגים של Terraform
Terraform הוא כלי תשתיות כקוד (IaC) בקוד פתוח המאפשר לך לבנות, לשנות ולנהל תשתיות בבטחה ובקלות. הוא משתמש בקובצי תצורה כדי לתאר את רכיבי התשתיות הדרושים להפעלת יישום.
מושגים מרכזיים
- תשתיות כקוד (IaC):
- Terraform מאפשר לך להגדיר תשתיות בקובצי תצורה שניתן לגרוס בגרסאות, להשתמש בהם מחדש ולשתף אותם.
- ספקים:
- ספקים הם תוספים ש-Terraform משתמש בהם כדי לתקשר עם ספקי ענן, ספקי SaaS ו-API אחרים.
- ספקים נפוצים כוללים AWS, Azure, Google Cloud ועוד.
- משאבים:
- משאבים הם האלמנט החשוב ביותר בשפת Terraform. כל בלוק משאב מתאר אחד או יותר מאובייקטי תשתיות, כגון רשתות וירטואליות, מופעי מחשוב או רכיבים ברמה גבוהה יותר כגון רשומות DNS.
- מודלים:
- מודולים הם מיכלים עבור מספר משאבים המשמשים יחד. מודול יכול לכלול משאבים, משתני קלט, ערכי פלט ואפילו מודולים אחרים.
- קבצי מצב:
- Terraform רושם מידע אודות התשתיות שיצר בקובץ מצב. מצב זה משמש על ידי Terraform כדי למפות משאב ים בעולם האמיתי לתצורה שלך ולעקוב אחר מטא נתונים.
- HCL (HashiCorp Configuration Language):
- Terraform משתמש ב-HCL, שתוכנן להיות גם ידידותי למכונות וגם קריא לבני אדם. הוא מספק דרך גמישה לתאר תשתיות ולהגדיר משתנים.
דוגמה:**
להלן דוגמה פשוטה לתצורת Terraform:
provider "aws" {
region = "us-west-2"
}
resource "aws_instance" "example" {
ami = "ami-0c55b159cbfafe1f0"
instance_type = "t2.micro"
}
דוגמה זו מגדירה ספק AWS ומגדירה משאב עבור מופע AWS.