PracticU

הקמת RDS
עם טרפורם Terraform
פרויקט NodeJS

בלי כתוביותעם כתוביות
PracticU › קורס Terraform - DevOps - Azure & AWS › הקמת RDS עם טרפורם Terraform פרויקט NodeJS
מילון מושגים:
Terraform - כלי להגדרת תשתית כקוד, שמאפשר ליצור ולנהל משאבי ענן ותשתית בעזרת קובצי תצורה.
Node.js - סביבת ריצה שמאפשרת להריץ קוד JavaScript מחוץ לדפדפן, בעיקר בצד השרת.
מסד נתונים - אוסף מאורגן של נתונים המאוחסן כך שאפשר לשמור, לחפש, לעדכן ולשלוף אותו ביעילות, לרוב באמצעות שפת שאילתות.
MySQL - מערכת ניהול מסדי נתונים יחסיים בקוד פתוח, נפוצה מאוד באתרים וביישומי אינטרנט.
AWS - שירותי הענן של אמזון (Amazon Web Services), המספקים שרתים, אחסון, מסדי נתונים ושירותים נוספים לפי שימוש.
גיבוי - העתק שמור של נתונים שנשמר כדי לאפשר שחזור במקרה של תקלה, מחיקה או פגיעה במקור.
קלאסטר - קבוצת מחשבים או שרתים שעובדים יחד כמערכת אחת, לשם זמינות גבוהה, ביצועים או חלוקת עומס.

הקמת RDS עם טרפורם Terraform פרויקט NodeJS
מקימים מסד נתונים MySQL בשירות מנוהל של AWS בשם RDS, בעזרת Terraform. במקום להקים מכונה רגילה ולהתקין עליה MySQL, AWS מטפלת בעדכוני מערכת ההפעלה, בתחזוקה ובגיבויים, ואנחנו מתעסקים רק ב-database.
השלבים העיקריים
1. המשאב הנכון: מחפשים AWS RDS Terraform Resource ב-Registry. צריך את המשאב של instance (aws_db_instance) ולא של cluster. נעתיק את דוגמת ה-Basic Usage של MySQL לקובץ חדש, rds.tf.
2. שם המסד: משנים את שם ה-database, בהרצאה Practicu. בסוג המשאב לא נוגעים.
3. סוג המכונה: t3.micro, כדי שיהיה בחינם. אם יהיה עומס אפשר להגדיל.
4. משתמש וסיסמה: המשתמש Admin והסיסמה Password. אסור להשתמש בשטרודל בסיסמה, ולכן הסיסמה נקבעה פשוטה לצורך הדגמה.
5. גישה מהבית: מוסיפים publicly_accessible = true (ברירת המחדל False), כדי לקבל כתובת אינטרנטית ולהתחבר מבחוץ.
6. שם למכונה: מוסיפים identifier, שם המכונה של RDS, אחרת Terraform ייתן שם אקראי.
7. הרצה: Format Document מסדר את הקוד, tf plan מציג יצירה של אובייקט אחד, ואחרי tf apply ההודעה ירוקה והמכונה מופיעה בשירות RDS, בלשונית Databases.
8. חיבור: ה-endpoint הוא שם ה-DNS של המכונה, והפורט הוא ברירת המחדל. מתחברים עם mysql -h על שם ה-endpoint, -u admin ו--p עם הסיסמה צמודה.
שימו לב
החיבור עדיין לא עובד, כי ל-Security Group אין חוק שמאפשר כניסה בפורט 3306. ה-Security Group ייווצר בהרצאה הבאה.
אחרי ההרצאה אפשר להקים מסד MySQL מנוהל ב-AWS עם Terraform.
השיעור הבא בקורס: יצירת AWS Security Group עבור RDS פרויקט NodeJS

פרקי ההרצאה: הקמת RDS עם טרפורם Terraform פרויקט NodeJS

  1. 00:00

    הקמת SQL מנוהל בענן

  2. 00:41

    למה לבחור בשירות RDS

  3. 01:21

    מציאת דוגמת Database Instance

  4. 01:55

    התאמת השדות וה-Region

תמלול ההרצאה: הקמת RDS עם טרפורם Terraform פרויקט NodeJS

הטקסט המלא של הדקות הראשונות בהרצאה «הקמת RDS עם טרפורם Terraform פרויקט NodeJS» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    שלום לכולם. בסרטון זה אנחנו נקים מכונה וירטואלית עם SQL. למעשה, את המכונה הווירטואלית הזאת ניתן לנהל ל-AWS.

  2. 00:12

    את כל העדכונים של מערכת ההפעלה, את כל התחזוקה, הכל הם יעשו עבורנו ואנחנו נתעסק רק ב-database עצמו. השירות הזה נקרא RDS. יכלנו כמובן להקים מכונה וירטואלית רגילה ולהתקין בפנים MySQL, ולנהל הכל בעצמנו.

  3. 00:30

    במקום להתעסק במכונה וירטואלית, בתחזוקה שלה, בגיבויים שלה, אפשר לשלם ממש כמה סנטים בודדים, כמה שקלים ו-AWS, Amazon, יעשו את כל התחזוקה עבורנו וזה נקרא שירות RDS, והם יעשו את זה הרבה יותר טוב מאיתנו.

  4. 00:47

    ואנחנו נתרכז אך ורק ב-database עצמו ולא בתחזוקה של מערכת ההפעלה. גיבויים, קלסתרים, כל זה הם יעשו במקומנו. אז בואו נלמד איך עובדים עם RDS, עם השירות הזה דרך Terraform.

  5. 01:02

    נרשום בגוגל AWS RDS Terraform Resource ונחפש פה Terraform IO, שזה האתר הרשמי. אני רואה פה AWS RDS קלסתר. אני לא צריך קלסתר, אני צריך Instance. שדרגתי את השאירטה שלי ל-RDS Instance.

  6. 01:21

    הנה AWS Database Instance. זה מה שחיפשתי. AWS Database Instance. ויש לנו פה דוגמה ל-Basic Usage, איך נשתמש במשאב הזה.

  7. 01:32

    ואני רואה שהדוגמה שלהם על MySQL, שזה בדיוק מה שאני צריך. בואו נעתיק אותה ונעשה לנו קובץ Terraform חדש. New File.

  8. 01:41

    נקרא לו RDS נקודה TF ונכניס את הדוגמה הזאת. מה המשמעות של כל שדה? אפשר לראות פה ב-Argument Reference. לדוגמה, אני יכול לציין באיזה Region להקים את ה-Database.

  9. 01:55

    שימו לב זה אופציונלי, זה לא חובה כי יש אותה ברירת מחדל ב-Provider. קודם כל בואו נחליף לאובייקט הזה שם. בסוג שלו אנחנו לא נוגעים.

לקורס המלא: קורס Terraform אונליין ל‑DevOps

ההרצאה הקודמת: פלט של טרפורם - Terraform Output - פרויקט NodeJS

ההרצאה הבאה: יצירת AWS Security Group - עבור RDS - פרויקט NodeJS

הרצאות קשורות מקורסים אחרים

  • הקמת VLAN - פרויקט גמר
  • מבוא ל-NodeJS
  • הקמת Cluster HyperV - חלק 1
  • הקמת משתמש חדש באופיס 365

קורסים נוספים במסלול

  • קורס AWS - ניהול מכונה וירטואלית בענן
  • קורס קוברנטיקס - Kubernetes
  • קורס Docker - עם Swarm Cluster
  • קורס DevOps - Ansible
  • קורס PowerShell
  • קורס Git ו-GitHub עם Visual Studio