הגדרה בסיסית באמצעות ערכת הכלים Fabric FAST

בדף הזה נסביר איך להשתמש ב-Fabric FAST, מסגרת Terraform, כדי להגדיר ארגון חדש מסוג 'starter'. אפשר תמיד ליצור פרויקטים, תיקיות ועוד באופן ידני, אבל באמצעות ההגדרה הבסיסית של Fabric FAST אפשר להתחיל לעבוד במהירות עם הגדרות ברירת מחדל מאובטחות שנבדקו היטב, בלי התקורה הניהולית של הגדרה בארגון גדול.

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

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

אחרי שתשלימו את ההגדרה הזו, תוכלו להמשיך להשתמש ב-Terraform כדי לנהל את הארגון החדש, או לעבור לשימוש ב-Google Cloud CLI או במסוף Cloud de Confiance .

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

מה חשוב לדעת?

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

מומלץ להכיר את Terraform, אבל לא צריך להיות משתמשים מנוסים ב-Terraform כדי להשתמש במדריך הזה.

מה מקבלים עם ההגדרה הזו?

ההגדרה של Fabric FAST מסוג 'starter' היא יחסית פשוטה, והיא מספקת נקודת התחלה בסיסית ושימושית לארגון. הגישה הזו שונה מההגדרה ה'קלאסית', שכוללת היררכיית משאבים עמוקה ברמת הארגון, ומתבססת על בנייה הדרגתית של ההגדרה בשלבים.

אחרי שמריצים את ההגדרה, משאב הארגון מכיל את הפריטים הבאים:

  • שתי תיקיות לסביבות, אחת לפיתוח ואחת לייצור. הם מתויגים באופן אוטומטי כדי לעזור לכם לעקוב אחרי העלויות ולהחיל מדיניות לכל סביבה.
  • שני פרויקטים בכל תיקייה:
    • פרויקט רשת ייעודי שיכיל את הרשת היחידה של התיקייה.
    • פרויקט אפליקציה ראשון, שנוצר בתיקייה ומוגדר כפרויקט שירות של ה-VPC של התיקייה.
  • רשת אחת של ענן וירטואלי פרטי (VPC) בכל תיקייה, עם רשת משנה אחת וכללי חומת אש בסיסיים ומאובטחים שהוגדרו מראש (לדוגמה, מתן אפשרות להתחברות מאובטחת באמצעות שרת proxy לאימות זהויות (IAP)).
  • פרויקט ניהול אחד ברמה העליונה (prod-iac-core-0). הפרויקט הזה משמש כמרכז של ההגדרה, ומאחסן בצורה מאובטחת את המצב של Terraform, את חשבונות השירות של האוטומציה ואת יומני הביקורת המרכזיים.

לאחר מכן תוכלו להוסיף תיקיות, פרויקטים, רשתות ומשאבים אחרים לפי הצורך.

התרשים הבא מציג את הקשרים בין משאבי ה-starter:

תרשים שמציג את ארכיטקטורת ה-FAST starter.

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

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

  • ספק הזהויות (IdP) מוגדר בארגון ואתם מחוברים אליו Cloud de Confiance באמצעות מזהה האדמין שלכם.
  • הגדרתם את Google Cloud CLI לשימוש עם Cloud de Confiance.
  • הכלים git ו-terraform מותקנים במחשב המקומי:
  • כדאי להכין את הפרטים הבאים:

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

      gcloud organizations list
      

      בקטע הזה מופיעים כל הארגונים שאתם משתייכים אליהם (אמור להיות רק אחד!) והמזהים שלהם.

מתן ההרשאות הנדרשות

מריצים את הפקודות הבאות כדי לתת לישות המורשית שמריצה את הפריסה את הרשאות ה-IAM הנדרשות:

export FAST_PRINCIPAL="PRINCIPAL_ID"

export FAST_ORG_ID="ORG_ID"

# set needed roles (billing role only needed for organization-owned account)
export FAST_ROLES="\
  roles/billing.admin \
  roles/logging.admin \
  roles/iam.organizationRoleAdmin \
  roles/orgpolicy.policyAdmin \
  roles/resourcemanager.folderAdmin \
  roles/resourcemanager.organizationAdmin \
  roles/resourcemanager.projectCreator \
  roles/resourcemanager.tagAdmin \
  roles/owner"

for role in $FAST_ROLES; do
  gcloud organizations add-iam-policy-binding $FAST_ORG_ID \
    --member $FAST_PRINCIPAL --role $role --condition None
done

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

  • PRINCIPAL_ID: מזהה של החשבון הראשי הרלוונטי. מידע נוסף על ציון זהויות וקבוצות מתוך איחוד שירותי אימות הזהות של כוח עבודה זמין במאמר מזהי משתמשים ראשיים.
  • ORG_ID: מזהה משאב הארגון.

יצירת פרויקט זמני

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

  1. יוצרים פרויקט בארגון ורושמים את מזהה הפרויקט.
  2. מגדירים את הפרויקט כפרויקט הנוכחי ב-Google Cloud CLI:

    gcloud config set project PROJECT_ID
    
  3. מפעילים את השירותים הנדרשים בפרויקט באמצעות הפקודה הבאה:

    gcloud services enable \
     bigquery.googleapis.com \
     cloudbilling.googleapis.com \
     cloudresourcemanager.googleapis.com \
     essentialcontacts.googleapis.com \
     iam.googleapis.com \
     logging.googleapis.com \
     orgpolicy.googleapis.com \
     serviceusage.googleapis.com
    

אחרי שמסיימים את ההגדרה, אפשר למחוק את הפרויקט.

קבלת Terraform

משכפלים את מאגר Fabric FAST למכונה המקומית באמצעות הפקודה הבאה:

git clone https://github.com/GoogleCloudPlatform/cloud-foundation-fabric.git

אחרי שהקבצים מועתקים למחשב, כדי להתחיל, משנים את ספריית העבודה לספרייה הבסיסית של שלב ההגדרה של ארגון Fabric FAST.

cd cloud-foundation-fabric/fast/stages/0-org-setup

עדכון קובצי תצורה

לפני שמחילים את Terraform, צריך לעדכן כמה קובצי הגדרות שמשמשים את Fabric FAST כדי לציין פרטים כמו ההגדרה שבחרתם, היקום שלכם וחשבון האדמין שלכם. משתמשים בכלי המועדף לעריכת טקסט.

יצירת קובץ ספקים

קובץ ספקי שירותים מבטיח ש-Terraform יכוון לנקודות הקצה הנכונות של ה-API ביקום שלכם.

  1. בתיקיית השורש (0-org-setup) של שלב הגדרת הארגון, יוצרים קובץ בשם providers.tf.
  2. מוסיפים לקובץ את הנתונים הבאים:

    provider "google" {
      universe_domain = "s3nsapis.fr"
    }
    
    provider "google-beta" {
      universe_domain = "s3nsapis.fr"
    }
    
  3. שומרים את הקובץ החדש.

ציון מערך הנתונים

הגדרת ההתחלה מצוינת בstarter-gcd dataset. ב-Fabric FAST, מערך נתונים הוא הגדרה מבוססת-YAML שמציינת את הסוג והמספר של משאבי הענן שרוצים ליצור, ומאפשרת למשתמשים לבחור בין שיטות מומלצות לסוגים שונים של ארגונים ולצרכים טכניים שונים.

כדי לציין שרוצים להשתמש במערך הנתונים starter-gcd, פועלים לפי השלבים הבאים:

  1. עדיין בספריית השורש של שלב ההגדרה של הארגון, יוצרים קובץ חדש בשם terraform.tfvars
  2. בקובץ הזה, מציינים שרוצים להשתמש במערך הנתונים starter-gcd באופן הבא:

    factories_config = {
       dataset="datasets/starter-gcd"
    }
    
  3. שומרים את הקובץ החדש.

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

ב-Fabric FAST נעשה שימוש בקובץ defaults.yaml לכל מערך נתונים כדי לציין ערכים שמשמשים לאורך ההגדרה, כמו ערכים ספציפיים ליקום ופרטי האדמין.

  1. פותחים את קובץ defaults.yaml הקיים בספרייה של מערך הנתונים 0-org-setup/datasets/starter-gcd.
  2. מעדכנים את קובץ ברירות המחדל באופן הבא:

    # ... existing configuration ...
    projects:
      defaults:
        prefix: PREFIX
        locations:
          logging: global
          storage: u-france-east1
      overrides:
        universe:
          domain: s3nsapis.fr
          prefix: s3ns
          forced_jit_service_identities:
            - compute.googleapis.com
          unavailable_service_identities:
            - dns.googleapis.com
            - monitoring.googleapis.com
            - networksecurity.googleapis.com
    context:
      email_addresses:
        gcp-organization-admins: CONTACT_EMAIL
      iam_principals:
        gcp-organization-admins: ADMIN_ID
      locations:
        primary: u-france-east1
    # ... existing configuration ...
    

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

    • PREFIX: תחילית ספציפית לארגון שנוספת למזהה של כל פרויקט שנוצר, בנוסף לתחילית הספציפית ליקום שנוספת באופן אוטומטי. כך אפשר לוודא שמזהי הפרויקטים שלכם הם ייחודיים ביקום שלכם.
    • CONTACT_EMAIL: כתובת האימייל שרוצים להגדיר כאיש הקשר החיוני לפרויקטים מרכזיים.
    • ADMIN_ID: מזהה של הקבוצה או המשתמש שצריכים לקבל הרשאות אדמין בארגון.
  3. שמירה של defaults.yaml.

החלת Terraform

  1. חשוב לוודא שחזרתם לספריית הבסיס של שלב הגדרת הארגון.
  2. מריצים את הפקודה הבאה כדי להפעיל את Terraform (צריך לעשות את זה רק פעם אחת לכל ספרייה):

    terraform init
    
  3. מריצים את הפקודה הבאה כדי להחיל את Terraform:

    terraform apply
    

אימות ההגדרה

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

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

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