הגדרת הארגון שלך

כשנרשמים ל- Cloud de Confianceבפעם הראשונה, מקבלים ארגון חדש וריק. כדי להשתמש בארגון הזה, צריך להגדיר אותו עם פרויקטים, רשת ומשאבים אחרים. Cloud de Confianceמספקת כמה אפשרויות להגדרת הארגון, כולל מודולים של Terraform שעוזרים להגדיר במהירות את המשאבים שאתם והמשתמשים שלכם צריכים כדי להתחיל.

הדף הזה מיועד לאדמינים שצריכים להגדיר ארגון חדש ב- Cloud de Confiance.

לפני שקוראים את המדריך הזה, צריך:

לפני שמתחילים

חשוב לוודא את הדברים הבאים לגבי כל אפשרויות ההגדרה:

אפשרויות להגדרות אישיות

יש שלוש אפשרויות להגדרת ארגון ארגוני ב- Cloud de Confiance:

  • (מומלץ) משתמשים במודולים של Terraform שסיפקנו כדי להגדיר את הארגון. זוהי גרסה מותאמת של הגדרת הבסיס של Cloud ב-Google Cloud, שמבוססת על שיטות מומלצות להגדרת ארגון שמוכן לשימוש ארגוני.
  • (למשתמשים מתקדמים בלבד) אם יש לכם מודולים קיימים של Terraform 'אזור נחיתה' שבהם השתמשתם ב-Google Cloud, אתם יכולים להתאים אותם ולהשתמש בהם מחדש כדי להגדיר את הארגון ב- Cloud de Confiance. אם בוחרים באפשרות הזו, חשוב לעיין בקפידה בההבדלים בין שני היקומים, גם ברמה גבוהה וגם לגבי כל השירותים שרוצים להשתמש בהם.
  • אפשר ליצור באופן ידני פרויקטים, רשתות, כללי מדיניות ומשאבים אחרים באמצעות Google Cloud CLI או המסוף Cloud de Confiance , בהתאם להוראות במסמכים הרלוונטיים. אפשר להשתמש בגישה הזו כדי ליצור הגדרה מינימלית כמו שמתואר בקטע הבא, או כדי ליצור הגדרה מלאה לארגון באמצעות ההגדרה המומלצת שלנו או גרסה מועדפת אחרת.

הגדרה מינימלית

אם אתם רק רוצים לנסות את הארגון החדש לפני שתגדירו אותו באופן מלא, אתם יכולים להוסיף פרויקט אחד ורשת אחת של ענן וירטואלי פרטי (VPC). הפריסה הבסיסית הזו מספיקה כדי לבדוק את השירותים הזמינים ולהפעיל את המדריכים למתחילים:

  1. יוצרים פרויקט בארגון.
  2. יוצרים ומגדירים רשת VPC בשם default בפרויקט באמצעות הפקודות הבאות:

    gcloud compute networks create default
    gcloud compute firewall-rules create default-allow-internal --allow=tcp:1-65535,udp:1-65535,icmp --source-ranges 10.128.0.0/9
    gcloud compute firewall-rules create default-allow-ssh --allow=tcp:22
    gcloud compute firewall-rules create default-allow-rdp --allow=tcp:3389
    gcloud compute firewall-rules create default-allow-icmp --allow=icmp
    

לא הוגדרה רשת ברירת מחדל

אם אתם מכירים את Google Cloud, יכול להיות שלא תצפו שתצטרכו ליצור רשת: ב-Google Cloud, רשת VPC שמוגדרת כברירת מחדל (עם כללי חומת אש IPv4 שמולאו מראש) נוצרת באופן אוטומטי לכל פרויקט. לעומת זאת, לפרויקט אין רשת שמוגדרת כברירת מחדל, ולכן אתם צריכים ליצור רשת בעצמכם כדי להתחיל לעבוד עם חברי הצוות. Cloud de Confiance

הגדרה מומלצת

זו ההגדרה שנפרסת עם Terraform שסיפקנו, שהיא גרסה מותאמת של הגדרת Cloud Foundations של Google Cloud. מידע נוסף על Cloud Foundations ועל השיטות המומלצות שמשמשות בבסיס שלו זמין במאגר GitHub ובמאמרי העזרה של Google Cloud. הערה: הגדרה מודרכת באמצעות Cloud Foundations ממסוף Cloud de Confiance לא זמינה ב- Cloud de Confiance.

אפשר גם להשתמש בקטע הזה כהנחיות אם בוחרים ליצור משאבים ומדיניות באופן ידני באמצעות מסוף Cloud de Confiance או Google Cloud CLI.

ההגדרה הזו מייצגת הרבה שיטות מומלצות שמצאנו כיעילות לרוב הארגונים, אבל יכול להיות שהיא לא תענה על כל הדרישות הארגוניות או הטכניות שלכם. חשוב לעיין בקטע הזה (וב-Terraform עצמו אם משתמשים בו) בקפידה, ולהתאים אישית את ההגדרות לפי הצורך.

בקטעים הבאים מתוארים המשאבים השונים בהגדרה המוצעת שלנו.

ארגון

ברמה העליונה של הארגון, ההגדרה המוצעת שלנו כוללת שני תיקיות. התיקייה הראשונה מכילה פרויקטים עם משאבים משותפים כמו Cloud KMS ומשאבי Logging שמשותפים לארגון. התיקייה השנייה משמשת לאחסון פרויקטים שקשורים לרשת, כמו מרכז Cloud DNS של הארגון, ופרויקטים מארחים של VPC משותף עם רשת בסיסית ורשת מוגבלת לכל סביבה (פיתוח, סביבה ללא ייצור וייצור).

example-organization
└── fldr-common
    ├── s3ns:prj-c-kms
    ├── s3ns:prj-c-logging
└── fldr-network
    ├── s3ns:prj-net-dns
    ├── s3ns:prj-d-shared-base
    ├── s3ns:prj-d-shared-restricted
    ├── s3ns:prj-n-shared-base
    ├── s3ns:prj-n-shared-restricted
    ├── s3ns:prj-p-shared-base
    └── s3ns:prj-p-shared-restricted

סביבות

ההגדרה המומלצת שלנו כוללת תיקייה לכל סביבה: ייצור, לא ייצור ו-Staging. כל תיקייה מכילה פרויקט ש-Cloud KMS יכול להשתמש בו בשביל משאבי ניהול מפתחות שמשויכים באופן ספציפי לסביבה הזו.

example-organization
└── fldr-development
    ├── s3ns:prj-d-kms
└── fldr-nonproduction
    ├── s3ns:prj-n-kms
└── fldr-production
    ├── s3ns:prj-p-kms

הטופולוגיה של הרשת

ההגדרה כוללת רשת VPC משותפת לכל סביבה (פיתוח, לא ייצור וייצור) בהגדרה רגילה עם הגדרות בסיסיות סבירות לאבטחה. ההגדרה הזו כוללת:

  • (אופציונלי) דוגמאות לרשתות משנה לפיתוח, לסביבה ללא ייצור ולייצור, כולל טווחים משניים.
  • מדיניות חומת אש היררכית שנוצרה כדי לאפשר גישה מרחוק למכונות וירטואליות.
  • נוצרה מדיניות היררכית של חומת אש כדי לאפשר בדיקות תקינות של איזון עומסים.
  • נוצרה מדיניות היררכית של חומת אש כדי לאפשר הפעלה של Windows KMS.
  • מכונה וירטואלית / דיסק מוצפן
  • מדיניות ברירת המחדל של Cloud DNS מוחלת, עם הפעלה של רישום ביומן של DNS והעברה של שאילתות נכנסות.

פרויקטים

לכל סביבה יכולים להיות מספר פרויקטים של שירותים שמחוברים לרשתות VPC משותפות שמתוארות בקטע הקודם. אם פורסים אותו ללא שינוי, קובץ ה-Terraform שסיפקנו יוצר את קבוצת הפרויקטים הבאה. הפרויקטים מקובצים בתיקיות בכל סביבה, וכל תיקייה משויכת ליחידה עסקית מסוימת. לכל יחידה עסקית נוצר פרויקט משותף infra-pipeline עם טריגרים של Cloud Build, בקשות לחתימת אישורים (CSR) לקוד של תשתית האפליקציה וקטגוריות של Cloud Storage לאחסון מצב.

example-organization/
└── fldr-development
    └── fldr-development-bu1
        ├── s3ns:prj-d-bu1-sample-floating
        ├── s3ns:prj-d-bu1-sample-base
        ├── s3ns:prj-d-bu1-sample-restrict
        ├── s3ns:prj-d-bu1-sample-peering
    └── fldr-development-bu2
        ├── s3ns:prj-d-bu2-sample-floating
        ├── s3ns:prj-d-bu2-sample-base
        ├── s3ns:prj-d-bu2-sample-restrict
        └── s3ns:prj-d-bu2-sample-peering
└── fldr-nonproduction
    └── fldr-nonproduction-bu1
        ├── s3ns:prj-n-bu1-sample-floating
        ├── s3ns:prj-n-bu1-sample-base
        ├── s3ns:prj-n-bu1-sample-restrict
        ├── s3ns:prj-n-bu1-sample-peering
    └── fldr-nonproduction-bu2
        ├── s3ns:prj-n-bu2-sample-floating
        ├── s3ns:prj-n-bu2-sample-base
        ├── s3ns:prj-n-bu2-sample-restrict
        └── s3ns:prj-n-bu2-sample-peering
└── fldr-production
    └── fldr-production-bu1
        ├── s3ns:prj-p-bu1-sample-floating
        ├── s3ns:prj-p-bu1-sample-base
        ├── s3ns:prj-p-bu1-sample-restrict
        ├── s3ns:prj-p-bu1-sample-peering
    └── fldr-production-bu2
        ├── s3ns:prj-p-bu2-sample-floating
        ├── s3ns:prj-p-bu2-sample-base
        ├── s3ns:prj-p-bu2-sample-restrict
        └── s3ns:prj-p-bu2-sample-peering
└── fldr-common
    ├── s3ns:prj-c-bu1-infra-pipeline
    └── s3ns:prj-c-bu2-infra-pipeline

רישום ביומן ומעקב

בשלב האחרון בהגדרת התצורה המוצעת, מוגדרים sink ביומן ו-bucket ביומן של Pub/Sub בפרויקט המשותף של רישום ביומן בארגון. ממשקי ה-API הנדרשים מופעלים לפי הצורך. פריט sink מצטבר שלא חוסם מוגדר ברמת הארגון כדי לנתב רשומות ביומן לפרויקט המשותף שמכיל את קטגוריית היומן. מידע נוסף על האופן שבו זה עובד זמין במאמר אחסון מרכזי של יומנים.

אתם וחברי הארגון שלכם יכולים לראות את היומנים ב-Logs Explorer דרך מסוף Cloud de Confiance Google Cloud או על ידי קישור מינוי לנושא Pub/Sub במצב משיכה. ‫Cloud Logging ב- Cloud de Confiance שומר יומנים רק למשך שלושים יום.

שימוש ב-Terraform כדי להגדיר את הארגון

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

ה-Terraform מותאם מההגדרות הבסיסיות של Cloud ב-Google Cloud. אפשר למצוא מידע נוסף על מודולי הבסיס של Cloud במאגר שלו, אבל חשוב לזכור שלא כל המידע רלוונטי להגדרה הספציפית שלCloud de Confiance.

לפני שמתחילים, מוודאים שכלי Terraform מותקן. מכיוון ש-Cloud Shell לא נתמך ב- Cloud de Confiance, צריך לפעול לפי ההוראות כדי להתקין את Terraform באופן מקומי.

מורידים את קובצי Terraform.

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

לפני שמפעילים את ההגדרה, כדאי לבדוק (ולערוך, אם צריך) את מה שמופעל בארגון, כמו שמתואר בהגדרה מומלצת. בנוסף להגדרה, Terraform שסופק כולל גם מודול bootstrap שמבצע פריסה של הרכיבים הבאים:

  • פרויקט s3ns:prj-b-seed שמכיל את הרכיבים הבאים:
    • קטגוריית מצב Terraform
    • חשבונות שירות בהתאמה אישית שמשמשים את Terraform ליצירת משאבים חדשים ב- Cloud de Confiance

החלת Terraform

כדי להחיל את Terraform:

  1. עוברים לספרייה שמכילה את קובצי התצורה של Terraform.
  2. פותחים ועורכים את קובץ terraform.tfvars שסופק כדי לציין את הערכים שבחרתם לפרמטרים הבאים:

    org_id = ORG_ID
    billing_account = BILLING_ACCOUNT
    billing_project = moonrise-replaceef1c540e95154cb7b1169951ff10dc0bmoonrise-replace:BILLING_PROJECT
    prefix = FOLDER_PREFIX
    

    מחליפים את מה שכתוב בשדות הבאים:

    • ORG_ID: המזהה הייחודי של הארגון
    • BILLING_ACCOUNT: החשבון לחיוב
    • BILLING_PROJECT: פרויקט החיוב של הארגון (לפעמים נקרא פרויקט המכסה)
    • FOLDER_PREFIX (אופציונלי): תחילית שרוצים להחיל על כל השמות הייחודיים של התיקיות והפרויקטים
  3. פורסים את ההגדרה.

    terraform init
    terraform apply
    

פתרון בעיות בפריסת Terraform עם משאבים קיימים

אם קובץ ההגדרות של Terraform שהורדתם מנסה ליצור משאבים שכבר קיימים, תתבצע יציאה מ-Terraform עם קוד השגיאה 409. כדי לפתור את השגיאות, אפשר למחוק את המשאב באמצעות מסוף Google Cloud או ה-CLI של gcloud, ולאחר מכן להחיל מחדש את ההגדרות של Terraform. Cloud de Confiance לחלופין, אם המשאבים האלה קריטיים ולא ניתן למחוק אותם, תוכלו לייבא את המשאבים למצב של Terraform.

אימות ההגדרה

כדי לוודא שההגדרה שלכם נכונה, מומלץ קודם לבדוק באמצעות Google Cloud CLI או Cloud de Confiance המסוף שהמבנה של התיקייה והפרויקט הוגדר בצורה נכונה.

אחר כך תוכלו לנסות לפרוס עומסי עבודה של אפליקציות באחד מפרויקטי השירות, באמצעות עומס עבודה שתבחרו או באמצעות אחד מהמדריכים למתחילים שלנו. אלה הדרכות קצרות שיעזרו לכם להפעיל במהירות דוגמה פשוטה ב- Cloud de Confiance. מידע נוסף זמין במאמר מה עכשיו?.

המאמרים הבאים