במדריך הזה מוסבר איך להשתמש ב-Certificate Manager כדי לפרוס אישור גלובלי בניהול Google עם הרשאה של מאזן עומסים.
הרשאה של מאזן עומסים מאפשרת לכם לקבל אישור בניהול Google לדומיין שלכם, כשתעבורת הנתונים מועברת על ידי מאזן העומסים. בשיטה הזו לא צריך להוסיף רשומות DNS כדי להקצות אישורים.
מאזני העומסים הבאים תומכים באישורים בניהול Google עם הרשאה של מאזן עומסים:
- מאזן עומסים גלובלי חיצוני של אפליקציות (ALB)
- מאזן עומסים קלאסי של אפליקציות (ALB)
- מאזן עומסי רשת גלובלי חיצוני בשרת proxy
- מאזן עומסי רשת קלאסי בשרת proxy
מטרות
במדריך הזה מוסבר איך לבצע את הפעולות הבאות:
- איך יוצרים אישור בניהול Google שהונפק על ידי רשות אישורים (CA) מהימנה באופן ציבורי, עם הרשאה של מאזן עומסים באמצעות Certificate Manager.
- פורסים את האישור במאזן עומסים נתמך באמצעות שרת proxy ל-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 APIs, if any are not already enabled.
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.-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
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 APIs, if any are not already enabled.
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.-
Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
התפקידים הנדרשים
כדי לבצע את המשימות במדריך הזה, ודאו שיש לכם את התפקידים הבאים:
בעלים של Certificate Manager (
roles/certificatemanager.owner)נדרש כדי ליצור ולנהל משאבים של Certificate Manager.
אדמין של מאזן עומסים ב-Compute (
roles/compute.loadBalancerAdmin) או אדמין של רשת Compute (roles/compute.networkAdmin)נדרשת כדי ליצור ולנהל שרת proxy לחלוקת העומס מסוג HTTPS.
אדמין DNS (
roles/dns.admin)נדרש אם רוצים להשתמש ב-Cloud DNS כפתרון ה-DNS.
למידע נוסף, קראו את המאמרים הבאים:
- תפקידים והרשאות ב-Certificate Manager.
- תפקידים והרשאות של IAM ב-Compute Engine, ל-Compute Engine.
- תפקידים והרשאות ב-Cloud DNS.
שמות דומיין
כדי ליצור אישורים, צריך לקבל את שמות הדומיינים שמוגדרים במלואם (FQDN) של הדומיינים שבבעלותכם. אם אין לכם דומיין, אתם יכולים להשתמש ב-Cloud Domains כדי לרשום דומיין.
יצירת מאזן העומסים
במדריך הזה אנחנו מניחים שכבר יצרתם והגדרתם את הקצוות העורפיים, בדיקות התקינות, השירותים לקצה העורפי ומפות ה-URL של מאזן העומסים. אם יצרתם מאזן עומסים חיצוני של אפליקציות (ALB), שימו לב לשם של מפת URL כי תצטרכו אותו בהמשך המדריך.
אם עדיין לא יצרתם מאזן עומסים, תוכלו להיעזר בדפים הבאים כדי ליצור אחד:
כדי ליצור מאזן עומסים גלובלי חיצוני של אפליקציות (ALB), קראו את המאמר הגדרת מאזן עומסים גלובלי חיצוני של אפליקציות (ALB) עם קבוצות של מכונות VM בתור מערכות בק-אנד.
כדי ליצור מאזן עומסים קלאסי של אפליקציות (ALB), קראו את המאמר הגדרת מאזן עומסים קלאסי של אפליקציות עם קצה עורפי של קבוצת מופעי מכונה מנוהלים.
כדי ליצור מאזן עומסי רשת גלובלי חיצוני בשרת proxy (שרת proxy של SSL), קראו את המאמר הגדרת מאזן עומסי רשת גלובלי חיצוני בשרת proxy (שרת proxy של SSL) עם קבוצות של מכונות וירטואליות בקצה העורפי.
כדי ליצור מאזן עומסי רשת קלאסי בשרת proxy (שרת proxy ל-SSL), קראו את המאמר הגדרת מאזן עומסי רשת קלאסי בשרת proxy (שרת proxy ל-SSL) עם קצוות עורפיים של קבוצות מכונות וירטואליות.
יצירת אישור בניהול Google עם הרשאה של מאזן עומסים
כדי ליצור אישור בניהול Google עם הרשאה של מאזן עומסים:
המסוף
נכנסים לדף Certificate Manager במסוף Google Cloud .
בכרטיסייה אישורים, לוחצים על הוספת אישור.
בשדה Certificate name, מזינים שם ייחודי לאישור.
אופציונלי: בשדה Description, מזינים תיאור לאישור. התיאור מאפשר לכם לזהות את האישור.
בקטע Location, בוחרים באפשרות Global.
בשדה היקף, בוחרים באפשרות ברירת מחדל.
בשביל Certificate type, בוחרים Create Google-managed certificate.
בשדה Certificate Authority type, בוחרים באפשרות Public.
בשדה Domain Names, מציינים רשימה של שמות הדומיינים של האישור, מופרדים בפסיקים. כל שם דומיין חייב להיות שם דומיין שמוגדר במלואו, כמו
myorg.example.com.בשדה Authorization type, בוחרים באפשרות Load balancer authorization.
בשדה Labels, מציינים את התוויות שרוצים לשייך לאישור. כדי להוסיף תווית, לוחצים על Add label ומציינים מפתח וערך בשביל התווית.
לוחצים על יצירה.
האישור החדש מופיע ברשימת האישורים.
gcloud
כדי ליצור אישור גלובלי בניהול Google עם הרשאה של מאזן עומסים, משתמשים בפקודה certificate-manager certificates create:
gcloud certificate-manager certificates create CERTIFICATE_NAME \
--domains="DOMAIN_NAMES"
מחליפים את מה שכתוב בשדות הבאים:
-
CERTIFICATE_NAME: שם האישור. -
DOMAIN_NAMES: רשימה מופרדת בפסיקים של דומיינים לטירגוט. כל שם דומיין צריך להיות שם דומיין שמוגדר במלואו, כמוmyorg.example.com.
Terraform
משתמשים במשאב של google_certificate_manager_certificate.
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
API
כדי ליצור את האישור, שולחים בקשת POST ל-method certificates.create באופן הבא:
POST /v1/projects/PROJECT_ID/locations/global/certificates?certificate_id=CERTIFICATE_NAME"
{
"managed": {
"domains": ["DOMAIN_NAME"],
}
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . -
CERTIFICATE_NAME: שם האישור. -
DOMAIN_NAMES: רשימה מופרדת בפסיקים של דומיינים לטירגוט. כל שם דומיין צריך להיות שם דומיין שמוגדר במלואו, כמוmyorg.example.com.
פריסת האישור למאזן עומסים
כדי לפרוס את האישור הגלובלי שמנוהל על ידי Google, צריך להשתמש במפת אישורים.
יצירת מפת אישורים
יוצרים מפת אישורים שמפנה לרשומת מיפוי לאישורים שמשויכת לאישור:
gcloud
כדי ליצור מפת אישורים, משתמשים בפקודה gcloud certificate-manager maps create:
gcloud certificate-manager maps create CERTIFICATE_MAP_NAME
מחליפים את CERTIFICATE_MAP_NAME בשם של מפת האישורים הרלוונטית.
Terraform
כדי ליצור מפת אישורים, אפשר להשתמש במשאב google_certificate_manager_certificate_map.
יצירת רשומת מיפוי לאישורים
יוצרים רשומת מיפוי לאישורים ומשייכים אותה לאישור ולמפת האישורים:
gcloud
כדי ליצור רשומת מיפוי לאישורים, משתמשים בפקודה gcloud certificate-manager maps entries create:
gcloud certificate-manager maps entries create CERTIFICATE_MAP_ENTRY_NAME \
--map="CERTIFICATE_MAP_NAME" \
--certificates="CERTIFICATE_NAME" \
--hostname="HOSTNAME"
מחליפים את מה שכתוב בשדות הבאים:
-
CERTIFICATE_MAP_ENTRY_NAME: השם של רשומת המיפוי לאישורים. -
CERTIFICATE_MAP_NAME: השם של מפת האישורים שאליה משויכת רשומת המיפוי לאישורים. -
CERTIFICATE_NAME: שם האישור שרוצים לשייך לרשומת המיפוי לאישורים.
HOSTNAME: שם המארח שרוצים לשייך לרשומת המיפוי לאישורים.אם רוצים ליצור אישור שכולל גם דומיין עם תו כללי לחיפוש וגם דומיין בסיסי (root), צריך לציין את שם המארח עם דומיין בסיסי ועם תו כללי לחיפוש, למשל
example.comו-*.example.com. בנוסף, צריך לציין שתי רשומות מיפוי לאישורים – אחת ל-example.comוהשנייה ל-*.example.com.
Terraform
כדי ליצור רשומת מיפוי לאישורים עם דומיין בסיסי (root), משתמשים במשאב google_certificate_manager_certificate_map_entry.
כדי ליצור רשומת מיפוי לאישורים עם דומיין עם תו כללי לחיפוש, משתמשים במשאב google_certificate_manager_certificate_map_entry.
איך מוודאים שרשומת מיפוי לאישורים פעילה
לפני שמצרפים את מפת האישורים המתאימה לשרת ה-proxy לחלוקת העומס, צריך לוודא שרשומת המיפוי לאישורים פעילה.
כדי לאמת את רשומת המיפוי לאישורים, משתמשים בפקודה gcloud certificate-manager maps entries describe:
gcloud certificate-manager maps entries describe CERTIFICATE_MAP_ENTRY_NAME \
--map="CERTIFICATE_MAP_NAME"
מחליפים את מה שכתוב בשדות הבאים:
-
CERTIFICATE_MAP_ENTRY_NAME: השם של רשומת המיפוי לאישורים. -
CERTIFICATE_NAME: שם האישור שרוצים לשייך לרשומת המיפוי לאישורים.
הפלט אמור להיראות כך:
certificates: createTime: '2021-09-06T10:01:56.229472109Z' hostname: example.com name: projects/my-project/locations/global/certificateMaps/myCertMap/certificateMapEntries/myCertMapEntry state: ACTIVE updateTime: '2021-09-06T10:01:58.277031787Z'
צירוף מפת האישורים לשרת proxy לחלוקת העומס
אפשר לצרף את מפת האישורים לשרת proxy חדש או קיים לחלוקת העומס.
המסוף
אם שרת proxy לחלוקת העומס הוא חלק ממאזן עומסים קיים, אפשר לצרף את מפת האישורים על ידי עריכת הגדרת הקצה הקדמי של מאזן העומסים.
במסוף Google Cloud , עוברים לדף איזון עומסים.
לוחצים על השם של מאזן העומסים שרוצים לעדכן ואז על Edit.
לוחצים על Frontend configuration ובוחרים את כתובת ה-IP של ממשק הקצה ואת הגדרת היציאה שרוצים לערוך.
אם מופיעה האפשרות Choose certificate repository, בוחרים באפשרות Use certificate map.
ברשימה Select a certificate map, בוחרים את מפת האישורים.
לוחצים על Done ואז על Update.
gcloud
כדי לצרף את מפת האישורים לשרת proxy חדש לחלוקת העומס, משתמשים בפקודה gcloud compute target-https-proxies create:
gcloud compute target-https-proxies create PROXY_NAME \
--certificate-map="CERTIFICATE_MAP_NAME" \
--url-map="URL_MAP" \
--global
מחליפים את מה שכתוב בשדות הבאים:
-
PROXY_NAME: שם שרת ה-proxy לחלוקת העומס. -
CERTIFICATE_MAP_NAME: השם של מפת האישורים שמפנה לרשומת המיפוי לאישורים ולאישור המשויך. -
URL_MAP: השם של מפת URL
כדי לצרף את מפת האישורים לשרת proxy קיים של יעד HTTPS, משתמשים בפקודה gcloud compute target-https-proxies update. אם אתם לא יודעים את השם של שרת ה-proxy הקיים לחלוקת העומס, היכנסו לדף Target proxies ושימו לב לשם של שרת ה-proxy לחלוקת העומס.
gcloud compute target-https-proxies update PROXY_NAME \
--certificate-map="CERTIFICATE_MAP_NAME" \
--global
אחרי שיוצרים או מעדכנים את שרת proxy לחלוקת העומס, מריצים את הפקודה הבאה כדי לאמת אותו:
gcloud compute target-https-proxies list
Terraform
כדי לצרף את מפת האישורים לשרת ה-Proxy לחלוקת העומס, אפשר להשתמש במשאב google_compute_target_https_proxy.
כשמגדירים שרת proxy לחלוקת העומס, אם מצרפים אישורי TLS (SSL) ישירות וגם דרך מפת אישורים, שרת ה-proxy משתמש באישורים שמפת האישורים מפנה אליהם ומתעלם מאישורי ה-TLS (SSL) שצורפו ישירות.
אימות סטטוס האישור
לפני שפורסים אישור למאזן עומסים, צריך לוודא שהוא פעיל. יכול להיות שיחלפו כמה דקות עד שמצב האישור ישתנה ל-ACTIVE.
המסוף
נכנסים לדף Certificate Manager במסוף Google Cloud .
בכרטיסייה אישורים, בודקים את העמודה סטטוס של האישור.
gcloud
כדי לאמת את סטטוס האישור, מריצים את הפקודה הבאה:
gcloud certificate-manager certificates describe CERTIFICATE_NAME
מחליפים את CERTIFICATE_NAME בשם של האישור המנוהל על ידי Google.
הפלט אמור להיראות כך:
createTime: '2021-10-20T12:19:53.370778666Z'
expireTime: '2022-05-07T05:03:49Z'
managed:
authorizationAttemptInfo:
- domain: myorg.example.com
state: AUTHORIZED
domains:
- myorg.example.com
state: ACTIVE
name: projects/myProject/locations/global/certificates/myCert
pemCertificate: |
-----BEGIN CERTIFICATE-----
[...]
-----END CERTIFICATE-----
sanDnsnames:
- myorg.example.com
updateTime: '2021-10-20T12:19:55.083385630Z'
אם סטטוס האישור הוא לא ACTIVE אחרי כמה שעות, בודקים את הדברים הבאים:
- מפת האישורים שמפנה לאישור מצורפת לשרת proxy לחלוקת העומס הנכון.
- שרת ה-proxy לחלוקת העומס מצורף למאזן העומסים הנכון.
- הגדרת ה-DNS של דומיין היעד מפנה לכתובת ה-IP של מאזן העומסים של היעד.
לשלבים נוספים לפתרון בעיות, ראו פתרון בעיות ב-Certificate Manager.
הסרת המשאבים
כדי להימנע מחיובים בחשבון Google Cloud בגלל השימוש במשאבים שנעשה במסגרת המדריך הזה, צריך למחוק אותם.
מוחקים את מאזן העומסים והמשאבים שלו.
מידע נוסף זמין במאמר ניקוי הגדרת איזון עומסים.
מוחקים את מפת האישורים או מנתקים אותה מה-proxy.
כדי למחוק את מפת האישורים, מריצים את הפקודה הבאה:
gcloud compute target-https-proxies delete PROXY_NAME
אם רוצים להשאיר את שרת ה-proxy ל-HTTPS, צריך לנתק את מפת האישורים משרת ה-proxy.
- אם יש אישורי TLS (SSL) שמצורפים ישירות לשרת ה-proxy, ניתוק מפת האישורים יגרום לשרת ה-proxy להמשיך להשתמש באישורי ה-TLS (SSL) שמצורפים ישירות.
- אם אין אישורי TLS (SSL) שמצורפים ישירות לשרת ה-proxy, אי אפשר לנתק את מפת האישורים משרת ה-proxy. כדי לנתק את מפת האישורים, קודם צריך לצרף לפחות אישור TLS (SSL) אחד ישירות לשרת ה-proxy.
כדי לנתק את מפת האישורים, מריצים את הפקודה הבאה:
gcloud compute target-https-proxies update PROXY_NAME \ --clear-certificate-mapמחליפים את
PROXY_NAMEבשם של שרת ה-Proxy לטירגוט.מוחקים את רשומת המיפוי לאישורים ממפת האישורים:
gcloud certificate-manager maps entries delete CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME"מחליפים את מה שכתוב בשדות הבאים:
-
CERTIFICATE_MAP_ENTRY_NAME: השם של רשומת המיפוי לאישורים. -
CERTIFICATE_MAP_NAME: שם מפת האישורים.
-
מוחקים את מפת האישורים:
gcloud certificate-manager maps delete CERTIFICATE_MAP_NAME
מחליפים את
CERTIFICATE_MAP_NAMEבשם של מפת האישורים.מוחקים את האישור שמנוהל על ידי Google:
המסוף
נכנסים לדף Certificate Manager במסוף Google Cloud .
בכרטיסייה Certificates, מסמנים את התיבה של האישור.
לוחצים על Delete.
בתיבת הדו-שיח שמופיעה, לוחצים על מחיקה כדי לאשר.
gcloud
gcloud certificate-manager certificates delete CERTIFICATE_NAME
מחליפים את
CERTIFICATE_NAMEבשם של אישור היעד.