אם תרצה להגדיר את Amazon Virtual Private Cloud (VPC), תוכל לעשות זאת דרך ממשק הניהול של AWS אך אוטומציה זה הרבה יותר כיף! בסצנריו של פיתוח-תפעול (DevOps), בניית שירותי AWS דרך כלים כמו Terraform היא גישה יותר קצבית ואוטומטית לספק משאבים של ענן.
במדריך זה, תלמד כיצד לבנות ולהפעיל תצורת Terraform כדי לבנות VPC דרך Terraform מההתחלה!
דרישות מראש
הפוסט הזה יהיה מדריך שלב-אחר-שלב. אם ברצונך לעקוב, הקפד לוודא שיש לך את המרכיבים הבאים:
- חשבון AWS
- Terraform – המדריך הזה ישתמש ב-Terraform גרסה 0.14.9 הרצה על Ubuntu 18.04.5 LTS, אך כל מערכת הפעלה עם Terraform צריכה לעבוד.
- A code editor – Even though you can use any text editor to work with Terraform configuration files, you should have one that understands the HCL Terraform language. Try out Visual Studio (VS) Code.
הבנת VPCs ב-AWS
הענן של AWS מכיל דיוזינים של שירותים שונים החל מחישוב, אחסון, רשת, ועוד. כל אחד מהשירותים הללו יכול לתקשר עם השירותים האחרים בדיוק כמו במרכז נתונים באתר. אך, כל אחד מהשירותים הללו הוא תלוי בעצמו, והם לא בהכרח מבודדים משאר השירותים. ה־VPC של AWS משנה את זה.
ה־VPC של AWS הוא רשת יחידה שמאפשרת לך להשיק שירותי AWS בתוך רשת מבודדת יחידה. מבחינה טכנית, VPC של AWS כמעט זהה לבעלות כתת סנטר, אך עם יתרונות נוספים מובנים של התרחבות, אמינות תקלות, אחסון ללא הגבלה, וכן הלאה.

ה־VPC של AWS מוגבלים לפי אזור. אין אפשרות להחזיק VPC אחת המתרפסת על כמה אזורים, עם עד חמישה VPC נתמכים לאזור.
בניית תצורת Terraform עבור VPC של AWS
די מדברים, בואו נתחיל לבנות!
1. להתחיל, צרו תיקייה לאחסון קבצי התצורה שלכם ב־Terraform. במדריך זה תצרו תיקייה בשם terraform-vpc-demo בתיקיית הבית שלכם.
2. פתחו את העורך הקוד האהוב עליכם והעתיקו/הדביקו את התצורה הבאה שכבר נוצרה עבורכם, שמורים את הקובץ כ־main.tf בתוך התיקייה ~/terraform-vpc-demo. מידע על כל משאב ליצירה מופיע בקווים ביניהם.
הקובץ main.tf מכיל את כל המשאבים שנדרשים להעברה.
טרהפורם משתמשת במספר סוגים שונים של קבצי הגדרה. כל קובץ נכתב באחד מבין שני הפורמטים: טקסט פשוט או פורמט JSON. להם יש סדר ספציפי של שמות, או בפורמט .tf או .tfjson.
הגדרת הטרהפורם למטה:
- יוצרת VPC
- יוצרת שער אינטרנט ומצרפת אותו ל־VPC כדי לאפשר תעבורה בתוך ה־VPC להיות נגישה מהעולם החיצוני.
- יוצרת תת־רשתות ציבוריות ופרטיות
תת־רשתות הן רשתות בתוך רשתות. הן מיועדות לעזור לתעבורת הרשת להיות יעילה יותר ולספק 'חתיכות' קטנות יותר וניתנות לניהול של כתובות IP
- יוצרת טבלת נתיב עבור התת־רשתות הציבוריות והפרטיות ומשייכת את הטבלה לשתי התת־רשתות
- יוצרת שער NAT כדי לאפשר לתת־רשתות פרטיות להתחבר לאינטרנט ללא צורך בכתובת IP ניתנת לניתוב מחוץ.
3. כעת, צור קובץ נוסף בתוך התיקייה ~/terraform-vpc-demo, שם קרא לו vars.tf והדבק את התוכן הבא.
Vars.tf הוא קובץ משתנים של Terraform המכיל את כל המשתנים שהקובץ התצורה מתייחס אליהם.
ניתן לראות את ההתייחסויות למשתנים בקובץ ההגדרה באמצעות:
var.region
var.main_vpc_cidr
var.public_subnets
var.private_subnets
אפשר לכלול את כל ערכי התצורה בקובץ תצורה יחיד. כדי לשמור על דברים ברורים ולהקל על מפתחי תוכנה ומנהלי מערכות, חשוב לפצל את הדברים.
4. צור קובץ נוסף בתוך התיקייה ~/terraform-vpc-demo, הדבק בו את הקוד הבא ושנה את שמו ל-provider.tf כדי להגדיר את ספק ה- AWS. המדר ייצור משאבים באזור us-east-2
.
קובץ הספקים מגדיר ספקים כמו AWS, Oracle או Azure וכו ', כך ש-Terraform יכול להתחבר עם השירותים המעניינים בענן הנכון.
provider "aws" { region = "us-east-2" }
5. לבסוף, צור קובץ נוסף בתוך התיקייה ~/terraform-vpc-demo, שנה את שמו ל-terraform.tfvars, והדבק את הקוד למטה. קובץ זה מכיל את הערכים ש-Terraform ישתמש כדי להחליף את ההתייחסויות למשתנים בתוך קובץ התצורה.
עכשיו, פתח את הטרמינל האהוב עליך (Bash במקרה זה) ווודא שכל הקבצים הדרושים מתחת לתיקייה על ידי הרצת פקודת tree
.

הפעלת Terraform ליצירת VPC של AWS
עכשיו שיש לך את קובץ התצורה של Terraform וקבצי המשתנים מוכנים, זמן להתחיל את Terraform וליצור את ה-VPC! כדי לספק, קובץ תצורה של Terraform בדרך כלל משתמש בשלבים שלושה terraform init → terraform plan → terraform apply. בואו נעבור על כל שלב כעת.
1. פתח טרמינל ונווט לתיקייה ~\terraform-vpc-demo.
2. הפעל את הפקודה terraform init
באותה תיקייה. הפקודה terraform init
מאתחלת את התוספות והספקים שנדרשים לעבוד עם משאבים.
אם הכל הולך כמו שצריך, אתה אמור לראות את ההודעה Terraform has been successfully initialized
בפלט, כפי שמוצג למטה.

3. כעת, הפעל את הפקודה terraform plan
. זוהי פעולה אופציונלית, אך מומלצת לוודא שהתחברות התצורה שלך נכונה ונותנת לך סקירה על המשאבים שיתבצעו בתשתיות שלך. terraform plan
אם הצלחת, תראה הודעה דומה ל־Plan: "X" להוסיף, "Y" לשנות, או "Z" להשמיד
בפלט כדי לציין שהפקודה הצליחה. תראה גם כל משאבי AWS שטררפורם מתכוון ליצור.

4. לאחר מכן, ספר לטררפורם לבצע את ה- AWS VPC והמשאבים באמת באמצעות terraform apply
. כאשר אתה מפעיל את terraform apply
, טררפורם יקרא את התצורה (main.tf) ואת הקבצים האחרים כדי להידרדר לתצורה. לאחר מכן הוא ישלח את התצורה ההיא ל-AWS כהוראות לבניית ה-VPC והרכיבים האחרים.

שים לב למזהים שהוגדרו בפלט של טררפורם. תצטרך את המזהים הללו כדי לקשר את המשאבים שנוצרו בחלק הבא.
הפקודה של טררפורם בוצעה בהצלחה, אז בוא נעבור לממשק הניהול של AWS כדי לוודא שה-VPC והרכיבים נוצרו בהצלחה.
אימות ה-VPC של AWS טררפורם
עד כה, כבר עשית את ה-VPC עם טררפורם. בוא נאמת באמצעות בדיקה ידנית של ה-VPC בממשק הניהול של AWS.
1. פתח את דפדפן האינטרנט המועדף עליך ונווט אל ממשק הניהול של AWS והתחבר.
2. בעוד אתה בממשק, לחץ על סרגל החיפוש בחלק העליון, חפש 'vpc', ולחץ על פריט התפריט VPC.

3. כאשר בדף ה-VPC, לחץ על ה-VPC שלך. אתה צריך לראות את ה-VPC שנוצר עם אותו המזהה שחזר טררפורם לפני כן.

4. מאז ש-Terraform יצרה לא רק את משאב ה-VPC אלא את כל המשאבים הנדרשים ל-VPC, אתה אז צריך למצוא כל משאב בעמוד זה גם.




עם כל הרכיבים שנוצרו בהצלחה, באמצעות Terraform, ה-VPC הזה מוכן לשימוש!
מסקנה
במדריך זה, למדת כיצד להשתמש ב-Terraform כדי להפיק את VPC של AWS ואת הרכיבים שלו באמצעות Terraform.
בניית Virtual Private Cloud של Amazon עם Terraform מאפשרת לך ליצור משאבים במהירות, בקלות ובאופן צפוי. אתה כעת מוכן להשתמש בידע הזה עם שירותי AWS אחרים ולבנות שירותים עוצמתיים עליו.