במדריך הזה נסביר איך להשתמש ב-Certificate Manager כדי לפרוס אישור אזורי בניהול Google עם Certificate Authority Service למאזן עומסים אזורי חיצוני של אפליקציות או למאזן עומסים אזורי פנימי של אפליקציות.
אם רוצים לבצע פריסה למאזני עומסים גלובליים חיצוניים או למאזני עומסים חוצי-אזורים, אפשר לעיין במאמרים הבאים:
מטרות
במדריך הזה מוסבר איך לבצע את הפעולות הבאות:
- יוצרים אישור שמנוהל על ידי Google באמצעות CA Service דרך Certificate Manager.
- פורסים את האישור למאזן עומסים נתמך באמצעות פרוקסי HTTPS של יעד.
לפני שמתחילים
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Compute Engine, Certificate Manager, Certificate Authority APIs.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Compute Engine, Certificate Manager, Certificate Authority APIs.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init - מפעילים את CA Service API.
- יוצרים מאגר רשויות אישורים. צריך ליצור ולהפעיל לפחות CA אחד במאגר ה-CA הזה.
לפני שמבצעים את השלבים במדריך הזה, צריך לרשום את הפרטים הבאים:
- אישורים שיוצרים באמצעות שירות רשות האישורים לא מהימנים באופן ציבורי. כדי להנפיק אישורים שמהימנים באופן ציבורי, צריך ליצור אישורים עם הרשאת DNS או הרשאה של איזון עומסים.
אם מדיניות הנפקת אישוריםבתוקף במאגר היעד של רשות האישורים, יכול להיות שהקצאת האישורים תיכשל בגלל אחת מהסיבות הבאות:
- מדיניות הנפקת האישורים חסמה את האישור המבוקש. במקרה כזה, לא נחייב אתכם כי האישור לא הונפק.
- המדיניות החילה שינויים באישור שלא נתמכים על ידי Certificate Manager. במקרה כזה, תחויבו כי האישור הונפק, למרות שהוא לא תואם באופן מלא ל-Certificate Manager.
כדי להבטיח תאימות, צריך להגדיר את מדיניות הנפקת האישורים של מאגר ה-CA של היעד כך שתאפשר אישורים לשרתי TLS של ישויות קצה (עלה).
אישורי TLS שמנוהלים על ידי Google ומונפקים ממאגר אזורי של רשויות אישורים הם גלובליים ואפשר להשתמש בהם בכל אזור.
התפקידים הנדרשים
כדי לבצע את המשימות במדריך הזה, צריך לוודא שיש לכם את התפקידים הבאים:
בעלים של Certificate Manager (
roles/certificatemanager.owner)נדרשת כדי ליצור ולנהל משאבים של Certificate Manager.
אדמין של איזון עומסים ב-Compute (
roles/compute.loadBalancerAdmin) או אדמין של רשת מחשוב (roles/compute.networkAdmin)נדרש כדי ליצור ולנהל שרת proxy ליעד HTTPS.
אדמין של שירות CA (
roles/privateca.admin)נדרש כדי לבצע פעולות ב-CA Service.
למידע נוסף, קראו את המאמרים הבאים:
- תפקידים והרשאות לניהול אישורים.
- תפקידים והרשאות ב-IAM של Compute Engine ל-Compute Engine.
- בקרת גישה באמצעות IAM ל-CA Service.
יצירת מאזן העומסים
במדריך הזה אנחנו מניחים שכבר יצרתם והגדרתם את הקצוות העורפיים של מאזן העומסים, את בדיקות התקינות, את השירותים לקצה העורפי ואת מיפוי כתובות ה-URL. חשוב לרשום את השם של מפת כתובות ה-URL, כי תצטרכו אותו בהמשך המדריך הזה.
כדי ליצור מאזן עומסים חיצוני אזורי של אפליקציות, אפשר לעיין במאמר בנושא הגדרה של מאזן עומסים חיצוני אזורי של אפליקציות עם מערכות בק-אנד של קבוצת מופעי מכונה וירטואלית.
כדי ליצור מאזן עומסים פנימי אזורי של אפליקציות, אפשר לעיין במאמר הגדרת מאזן עומסים פנימי אזורי של אפליקציות עם בק-אנד של קבוצת מכונות וירטואליות.
הגדרת שילוב של שירות CA עם Certificate Manager
כדי לשלב בין CA Service לבין Certificate Manager, פועלים לפי השלבים הבאים:
בפרויקט היעד Google Cloud , יוצרים חשבון שירות של Certificate Manager:
gcloud beta services identity create --service=certificatemanager.googleapis.com \ --project=PROJECT_IDמחליפים את
PROJECT_IDבמזהה של פרויקט היעדGoogle Cloud .הפקודה מחזירה את השם של הזהות בשירות שנוצרה. מקרה לדוגמה:
service-520498234@gcp-sa-certificatemanager.iam.gserviceaccount.com
מקצים לחשבון השירות של Certificate Manager את התפקיד 'שליחת בקשות לאישורים של שירות CA' (
roles/privateca.certificateRequester) במאגר CA של היעד:gcloud privateca pools add-iam-policy-binding CA_POOL \ --location LOCATION \ --member "serviceAccount:SERVICE_ACCOUNT" \ --role roles/privateca.certificateRequesterמחליפים את מה שכתוב בשדות הבאים:
-
CA_POOL: המזהה של מאגר רשויות האישורים (CA) של היעד. -
LOCATION: מיקום היעד. Google Cloud -
SERVICE_ACCOUNT: השם המלא של חשבון השירות שיצרתם בשלב 1.
-
יוצרים משאב של הגדרת הנפקת אישורים למאגר ה-CA:
המסוף
במסוף Google Cloud , עוברים לכרטיסייה Issuance configs בדף Certificate Manager.
לוחצים על יצירה. ייפתח הדף Create a Certificate Issuance Config.
בשדה שם, מזינים שם ייחודי להגדרת הנפקת האישור.
אופציונלי: בשדה Description, מזינים תיאור של הגדרת ההנפקה.
בקטע מיקום, בוחרים באפשרות אזורי.
בשדה Region, בוחרים את אותו אזור שבו נמצאים האישור ומאגר רשויות האישורים.
אופציונלי: בשדה Lifetime, מציינים את משך החיים של האישור שהונפק בימים. הערך חייב להיות בין 21 ל-30 ימים (כולל).
אופציונלי: באחוז חלון ההחלפה, מציינים את האחוז ממשך החיים של האישור שבו מתחיל תהליך החידוש. כדי לראות את טווח הערכים התקינים, אפשר לעיין במאמר בנושא משך החיים ואחוז חלון הרוטציה.
אופציונלי: מהרשימה Key algorithm, בוחרים את אלגוריתם המפתח שבו רוצים להשתמש כשיוצרים את המפתח הפרטי.
ברשימה CA pool, בוחרים את השם של מאגר רשויות האישורים שרוצים להקצות למשאב הזה של הגדרת הנפקת האישורים.
בשדה Labels (תוויות), מציינים את התוויות שרוצים לשייך לאישור. כדי להוסיף תווית, לוחצים על Add label ומציינים מפתח וערך לתווית.
לוחצים על יצירה.
gcloud
gcloud certificate-manager issuance-configs create ISSUANCE_CONFIG_NAME \ --ca-pool=CA_POOL \ --location=LOCATIONמחליפים את מה שכתוב בשדות הבאים:
-
ISSUANCE_CONFIG_NAME: השם של משאב הגדרות הנפקת האישורים. -
CA_POOL: שם המשאב והנתיב המלאים של מאגר רשויות האישורים שרוצים להקצות למשאב הזה של הגדרת הנפקת האישורים. -
LOCATION: מיקום היעד. Google Cloud צריך לציין את אותו מיקום כמו מאגר רשויות האישורים והאישור.
מידע נוסף על משאבי הגדרת הנפקת אישורים זמין במאמר ניהול משאבי הגדרת הנפקת אישורים.
יצירת אישור בניהול Google שהונפק על ידי מופע של שירות CA
כדי ליצור אישור שמנוהל על ידי Google ומונפק על ידי מופע CA Service שלכם, צריך לבצע את הפעולות הבאות:
המסוף
נכנסים לדף Certificate Manager במסוף Google Cloud .
בכרטיסייה אישורים, לוחצים על הוספת אישור.
בשדה שם האישור, מזינים שם ייחודי לאישור.
אופציונלי: בשדה Description, מזינים תיאור של האישור. התיאור מאפשר לכם לזהות את האישור.
בקטע מיקום, בוחרים באפשרות אזורי.
ברשימה אזור, בוחרים את האזור שלכם.
בשדה Certificate type (סוג האישור), בוחרים באפשרות Create Google-managed certificate (יצירת אישור בניהול Google).
בשדה Certificate Authority type, בוחרים באפשרות Private.
בשדה שמות דומיינים, מציינים רשימה של שמות דומיינים של האישור, שמופרדים בפסיקים. כל שם דומיין צריך להיות שם דומיין שמוגדר במלואו, כמו
myorg.example.com.בקטע Select a certificate issuance config (בחירת הגדרת הנפקת אישור), בוחרים את השם של משאב הגדרת הנפקת האישור שמפנה למאגר היעד של רשות האישורים.
בשדה Labels (תוויות), מציינים את התוויות שרוצים לשייך לאישור. כדי להוסיף תווית, לוחצים על Add label ומציינים מפתח וערך לתווית.
לוחצים על יצירה.
האישור החדש מופיע ברשימת האישורים.
gcloud
כדי ליצור אישור אזורי בניהול Google באמצעות Certificate Authority Service, משתמשים בפקודה certificate-manager certificates create עם הדגל issuance-config:
gcloud certificate-manager certificates create CERTIFICATE_NAME \
--domains="DOMAIN_NAMES" \
--issuance-config="ISSUANCE_CONFIG_NAME" \
--location="LOCATION"
מחליפים את מה שכתוב בשדות הבאים:
-
CERTIFICATE_NAME: שם האישור. -
DOMAIN_NAME: השם של דומיין היעד. שם הדומיין חייב להיות שם דומיין שמוגדר במלואו, כמוmyorg.example.com. -
ISSUANCE_CONFIG_NAME: השם של משאב הגדרות הנפקת האישורים שמפנה למאגר היעד של רשות האישורים. -
LOCATION: מיקום היעד. Google Cloud צריך לציין את אותו מיקום כמו מאגר ה-CA, משאב ההגדרה של הנפקת האישורים והאישור המנוהל.
API
כדי ליצור את האישור, שולחים בקשת POST ל-method certificates.create באופן הבא:
POST /v1/projects/PROJECT_ID/locations/LOCATION/certificates?certificate_id=CERTIFICATE_NAME"
{
name: "/projects/example-project/locations/LOCATION/certificates/my-cert",
"managed": {
"domains": ["DOMAIN_NAME"],
"issuanceConfig": "ISSUANCE_CONFIG_NAME",
},
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . -
LOCATION: מיקום היעד. Google Cloud צריך לציין את אותו מיקום כמו מאגר ה-CA, משאב ההגדרה של הנפקת האישורים והאישור המנוהל. -
CERTIFICATE_NAME: שם האישור. -
DOMAIN_NAME: השם של דומיין היעד. שם הדומיין חייב להיות שם דומיין שמוגדר במלואו, כמוmyorg.example.com. -
ISSUANCE_CONFIG_NAME: השם של משאב הגדרות הנפקת האישורים שמפנה למאגר היעד של רשות האישורים.
אימות הסטטוס של האישור
לפני שמקצים אישור למאזן עומסים, צריך לוודא שהוא פעיל. יכול להיות שיחלפו כמה דקות עד שמצב האישור ישתנה לACTIVE.
המסוף
נכנסים לדף Certificate Manager במסוף Google Cloud .
בכרטיסייה Certificates (אישורים), בודקים את העמודה Status (סטטוס) של האישור.
gcloud
כדי לבדוק את סטטוס האישור, מריצים את הפקודה הבאה:
gcloud certificate-manager certificates describe CERTIFICATE_NAME \
--location=LOCATION
מחליפים את מה שכתוב בשדות הבאים:
-
CERTIFICATE_NAME: שם האישור. -
LOCATION: מיקום היעד Google Cloud שבו יצרתם את האישור שמנוהל על ידי Google.
הפלט אמור להיראות כך:
createTime: '2021-10-20T12:19:53.370778666Z' expireTime: '2022-05-07T05:03:49Z' managed: domains: - myorg.example.com issuanceConfig: projects/myproject/locations/LOCATION/issuanceConfigs/myissuanceConfig state: ACTIVE name: projects/myproject/locations/LOCATION/certificates/mycertificate pemCertificate: | -----BEGIN CERTIFICATE----- [...] -----END CERTIFICATE----- sanDnsnames: - myorg.example.com updateTime: '2021-10-20T12:19:55.083385630Z'
שלבים נוספים לפתרון בעיות זמינים במאמר בנושא פתרון בעיות ב-Certificate Manager.
פריסת אישור אזורי שמנוהל על ידי Google במאזן עומסים
כדי לפרוס את האישור האזורי שמנוהל על ידי Google, צריך לצרף אותו ישירות לשרת ה-proxy של היעד.
צירוף האישור ישירות לשרת ה-proxy של היעד
אפשר לצרף את האישור לשרת proxy חדש של יעד או לשרת proxy קיים של יעד.
כדי לצרף את האישור לשרת proxy חדש ליעד, משתמשים בפקודה gcloud compute
target-https-proxies create:
gcloud compute target-https-proxies create PROXY_NAME \
--certificate-manager-certificates=CERTIFICATE_NAME \
--url-map=URL_MAP \
--region=LOCATION
מחליפים את מה שכתוב בשדות הבאים:
-
PROXY_NAME: שם של שרת proxy של היעד. -
CERTIFICATE_NAME: שם האישור. -
URL_MAP: השם של מפת כתובות ה-URL. יצרתם את מיפוי כתובות ה-URL כשיצרתם את מאזן העומסים. -
LOCATION: מיקום היעד Google Cloud שבו רוצים ליצור את שרת ה-proxy ל-HTTPS.
כדי לצרף אישור ל-proxy קיים של HTTPS ליעד, משתמשים בפקודה gcloud
compute target-https-proxies update. אם אתם לא יודעים את השם של שרת ה-proxy הקיים ליעד, עוברים לדף Target proxies ורושמים את השם של שרת ה-proxy ליעד.
gcloud compute target-https-proxies update PROXY_NAME \
--region=LOCATION \
--certificate-manager-certificates=CERTIFICATE_NAME
אחרי שיוצרים או מעדכנים את פרוקסי היעד, מריצים את הפקודה הבאה כדי לאמת אותו:
gcloud compute target-https-proxies list
פתרון בעיות שקשורות לאישורים שהונפקו על ידי שירות CA
כדי לראות את השלבים לפתרון הבעיה, אפשר לעיין במאמר בנושא בעיות שקשורות לאישורים שהונפקו על ידי מופע של שירות רשות אישורים.
הסרת המשאבים
כדי להימנע מחיובים בחשבון Google Cloud על המשאבים שבהם השתמשתם במדריך הזה, אתם יכולים למחוק אותם.
מחיקת מאזן העומסים והמשאבים שלו.
מוחקים את האישור שמנוהל על ידי Google:
המסוף
נכנסים לדף Certificate Manager במסוף Google Cloud .
בכרטיסייה אישורים, מסמנים את תיבת הסימון של האישור.
לוחצים על Delete.
בתיבת הדו-שיח שמופיעה, לוחצים על מחיקה כדי לאשר.
gcloud
gcloud certificate-manager certificates delete CERTIFICATE_NAME \ --location=LOCATIONמחליפים את מה שכתוב בשדות הבאים:
-
CERTIFICATE_NAME: שם האישור. -
LOCATION: מיקום היעד. Google Cloud
מחיקת משאב ההגדרה של הנפקת האישורים:
המסוף
במסוף Google Cloud , עוברים לכרטיסייה Issuance configs בדף Certificate Manager.
מסמנים את התיבה של משאב הגדרת ההנפקה שרוצים למחוק.
לוחצים על Delete.
בתיבת הדו-שיח שמופיעה, לוחצים על מחיקה כדי לאשר.
gcloud
gcloud certificate-manager issuance-configs delete ISSUANCE_CONFIG_NAME \ --location=LOCATIONמחליפים את מה שכתוב בשדות הבאים:
-
ISSUANCE_CONFIG_NAME: השם של משאב הגדרות הנפקת האישורים שמפנה למאגר היעד של רשות האישורים. -
LOCATION: מיקום היעד. Google Cloud
מחיקת מאגר רשויות אישורים.
כדי למחוק את מאגר ה-CA, או כדי להשבית את ה-CA האחרון שמופעל במאגר CA שאליו מפנה הגדרת הנפקת אישורים, צריך למחוק את כל הגדרות הנפקת האישורים שמפנות למאגר ה-CA. מידע נוסף זמין במאמר בנושא מחיקת מאגר רשויות אישורים.