במדריך הזה מוסבר איך להעביר אישורים של Cloud Load Balancing אל Certificate Manager. מידע נוסף על אישורים של Cloud Load Balancing זמין במאמר סקירה כללית על אישורי SSL במסמכי Cloud Load Balancing.
כדי להעביר אישורים של Cloud Load Balancing ללא זמן השבתה, קודם צריך לזהות את האישורים שרוצים להעביר. לאחר מכן, יוצרים מספר זהה של אישורים שמנוהלים על ידי Google לאישורים של Cloud Load Balancing. לאחר מכן, מאחדים את האישורים למפת אישורים אחת, ובודקים את מפת האישורים במאזן עומסים אחר. אם הבדיקות הצליחו, צריך לצרף את מיפוי האישורים למאזן העומסים של היעד שמארח את אישורי Cloud Load Balancing.
רשימת מאזני העומסים הנתמכים מופיעה במאמר סקירה כללית של Certificate Manager.
מטרות
במדריך הזה מוסבר איך לבצע את הפעולות הבאות:
- מזהים את האישורים ממאזן העומסים של היעד שרוצים להעביר.
- ליצור אישורים שמנוהלים על ידי Google.
- יוצרים מיפוי לאישורים ורשומות מיפוי לאישורים.
- בודקים את מיפוי האישורים במאזן עומסים אחר.
- מצרפים את מיפוי האישורים למאזן העומסים של היעד.
לפני שמתחילים
- נכנסים לחשבון 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.
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 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
התפקידים הנדרשים
כדי לבצע את המשימות במדריך הזה, צריך לוודא שיש לכם את התפקידים הבאים:
בעלים של Certificate Manager (
roles/certificatemanager.owner)נדרשת כדי ליצור ולנהל משאבים של Certificate Manager.
אדמין של איזון עומסים ב-Compute (
roles/compute.loadBalancerAdmin) או אדמין של רשת מחשוב (roles/compute.networkAdmin)נדרש כדי ליצור ולנהל שרת proxy ליעד HTTPS.
אדמין DNS (
roles/dns.admin)נדרש אם רוצים להשתמש ב-Cloud DNS כפתרון DNS.
למידע נוסף, קראו את המאמרים הבאים:
- תפקידים והרשאות עבור Certificate Manager.
- תפקידים והרשאות ב-IAM של Compute Engine ל-Compute Engine.
- תפקידים והרשאות ל-Cloud DNS.
זיהוי האישורים שרוצים להעביר
כדי לזהות את האישורים שרוצים להעביר, פועלים לפי השלבים הבאים:
במאזן העומסים, מזהים את השם של שרת ה-proxy של היעד.
מזהים את האישורים שרוצים להעביר.
כדי למצוא את האישורים שמצורפים לשרת proxy של יעד, מריצים את הפקודה הבאה:
gcloud compute target-https-proxies describe TARGET_PROXY_NAME
מחליפים את
TARGET_PROXY_NAMEבשם של שרת proxy היעד.הפלט אמור להיראות כך:
creationTimestamp: '2021-10-06T04:05:07.520-07:00' fingerprint: c9Txdx6AfcM= id: '365692570234384780' kind: compute#targetHttpsProxy name: my-proxy selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/targetHttpsProxies/my-proxy sslCertificates: - https://www.googleapis.com/compute/v1/projects/my-project/global/sslCertificates/my-first-certificate - https://www.googleapis.com/compute/v1/projects/my-project/global/sslCertificates/my-second-certificate urlMap: https://www.googleapis.com/compute/v1/projects/my-project/global/urlMaps/my-mapשימו לב לשמות האישורים שמופיעים בשדה
sslCertificates. מידע נוסף מופיע במאמר סקירה כללית על שרתי proxy של יעד.-
gcloud compute ssl-certificates --project=PROJECT_ID describe LB_CERTIFICATE_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . -
LB_CERTIFICATE_NAME: השם של אישור מאזן העומסים.
הפלט אמור להיראות כך:
certificate: | -----BEGIN CERTIFICATE----- MIIFYjCCBEqgAwIBAgIQd70NbNs2+RrqIQ/E8FjTDTANBgkqhkiG9w0BAQsFADBX MQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTEQMA4GA1UE CxMHUm9vdCBDQTEbMBkGA1UEAxMSR2xvYmFsU2lnbiBSb290IENBMB4XDTIwMDYx OTAwMDA0MloXDTI4MDEyODAwMDA0MlowRzELMAkGA1UEBhMCVVMxIjAgBgNVBAoT GUdvb2dsZSBUcnVzdCBTZXJ2aWNlcyBMTEMxFDASBgNVBAMTC0dUUyBSb290IFIx MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAthECix7joXebO9y/lD63 ladAPKH9gvl9MgaCcfb2jH/76Nu8ai6Xl6OMS/kr9rH5zoQdsfnFl97vufKj6bwS iV6nqlKr+CMny6SxnGPb15l+8Ape62im9MZaRw1NEDPjTrETo8gYbEvs/AmQ351k KSUjB6G00j0uYODP0gmHu81I8E3CwnqIiru6z1kZ1q+PsAewnjHxgsHA3y6mbWwZ DrXYfiYaRQM9sHmklCitD38m5agI/pboPGiUU+6DOogrFZYJsuB6jC511pzrp1Zk j5ZPaK49l8KEj8C8QMALXL32h7M1bKwYUH+E4EzNktMg6TO8UpmvMrUpsyUqtEj5 cuHKZPfmghCN6J3Cioj6OGaK/GP5Afl4/Xtcd/p2h/rs37EOeZVXtL0m79YB0esW CruOC7XFxYpVq9Os6pFLKcwZpDIlTirxZUTQAs6qzkm06p98g7BAe+dDq6dso499 iYH6TKX/1Y7DzkvgtdizjkXPdsDtQCv9Uw+wp9U7DbGKogPeMa3Md+pvez7W35Ei Eua++tgy/BBjFFFy3l3WFpO9KWgz7zpm7AeKJt8T11dleCfeXkkUAKIAf5qoIbap sZWwpbkNFhHax2xIPEDgfg1azVY80ZcFuctL7TlLnMQ/0lUTbiSw1nH69MG6zO0b 9f6BQdgAmD06yK56mDcYBZUCAwEAAaOCATgwggE0MA4GA1UdDwEB/wQEAwIBhjAP BgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTkrysmcRorSCeFL1JmLO/wiRNxPjAf BgNVHSMEGDAWgBRge2YaRQ2XyolQL30EzTSo//z9SzBgBggrBgEFBQcBAQRUMFIw JQYIKwYBBQUHMAGGGWh0dHA6Ly9vY3NwLnBraS5nb29nL2dzcjEwKQYIKwYBBQUH MAKGHWh0dHA6Ly9wa2kuZ29vZy9nc3IxL2dzcjEuY3J0MDIGA1UdHwQrMCkwJ6Al oCOGIWh0dHA6Ly9jcmwucGtpLmdvb2cvZ3NyMS9nc3IxLmNybDA7BgNVHSAENDAy MAgGBmeBDAECATAIBgZngQwBAgIwDQYLKwYBBAHWeQIFAwIwDQYLKwYBBAHWeQIF AwMwDQYJKoZIhvcNAQELBQADggEBADSkHrEoo9C0dhemMXoh6dFSPsjbdBZBiLg9 NR3t5P+T4Vxfq7vqfM/b5A3Ri1fyJm9bvhdGaJQ3b2t6yMAYN/olUazsaL+yyEn9 WprKASOshIArAoyZl+tJaox118fessmXn1hIVw41oeQa1v1vg4Fv74zPl6/AhSrw 9U5pCZEt4Wi4wStz6dTZ/CLANx8LZh1J7QJVj2fhMtfTJr9w4z30Z209fOU0iOMy +qduBmpvvYuR7hZL6Dupszfnw0Skfths18dG9ZKb59UhvmaSGZRVbNQpsg3BZlvi d0lIKO2d1xozclOzgjXPYovJJIultzkMu34qQb9Sz/yilrbCgj8= -----END CERTIFICATE----- creationTimestamp: '2021-05-06T04:39:21.736-07:00' expireTime: '2022-06-07T01:10:34.000-07:00' id: '6422259403966690822' kind: compute#sslCertificate managed: domainStatus: a.my-domain1.example.com: ACTIVE b.my-domain2.example.com: ACTIVE domains: - a.my-domain1.example.com - b.my-domain2.example.com status: ACTIVE name: my-certificate selfLink: https://www.googleapis.com/compute/v1/projects/my-project/global/sslCertificates/my-certificate subjectAlternativeNames: - a. my-domain1.example.com - b. my-domain2.example.com type: MANAGED -
יצירת אישורים שמנוהלים על ידי Google
יוצרים מספר זהה של אישורים מנוהלים על ידי Google כמו מספר האישורים של מאזן העומסים. במאזן עומסים גלובלי או קלאסי, יוצרים אישורים גלובליים. במאזן עומסים אזורי, יוצרים אישורים אזוריים. במאזן עומסים חוצה-אזורים, יוצרים אישורים חוצי-אזורים. לפני שיוצרים את האישורים, צריך ליצור הרשאה ב-DNS ולהוסיף את רשומת ה-CNAME לאזור ה-DNS הסמכותי של הדומיין.
אפשר ליצור אישורים בניהול Google עם הרשאת DNS (מומלץ) או אישורים בניהול עצמי.
בקטע הזה מפורטים השלבים והפקודות ליצירת אישורים גלובליים שמנוהלים על ידי Google. כדי ליצור אישור מנוהל על ידי Google ברמה אזורית או בין-אזורית, אפשר לעיין במאמר בנושא יצירת אישור מנוהל על ידי Google.
יצירת הרשאת DNS
אישור DNS מכסה רק שם דומיין אחד. צריך ליצור הרשאת DNS נפרדת לכל שם דומיין שרוצים להשתמש בו עם אישור היעד.
אם אתם יוצרים הרשאת DNS עבור תעודת wildcard, כמו *.myorg.example.com, צריך להגדיר את הרשאת ה-DNS עבור דומיין האב – לדוגמה, myorg.example.com.
המסוף
כשיוצרים אישור, אפשר ליצור אישור DNS או לצרף אישור DNS קיים. מידע נוסף זמין במאמר בנושא יצירת אישור בניהול Google עם הפניה לאישור DNS.
gcloud
אפשר ליצור שני סוגים של הרשאות DNS: FIXED_RECORD או PER_PROJECT_RECORD. מידע נוסף זמין במאמר בנושא אימות DNS.
הרשאה ל-DNS מסוג FIXED_RECORD
כדי ליצור הרשאת DNS מסוג FIXED_RECORD, משתמשים בפקודה gcloud certificate-manager dns-authorizations create הבאה:
gcloud certificate-manager dns-authorizations create AUTHORIZATION_NAME \
--domain="DOMAIN_NAME" \
--type=[FIXED_RECORD]
מחליפים את מה שכתוב בשדות הבאים:
-
AUTHORIZATION_NAME: השם של אישור ה-DNS. -
DOMAIN_NAME: השם של דומיין היעד שעבורו יוצרים את אישור ה-DNS הזה. שם הדומיין חייב להיות שם דומיין שמוגדר במלואו, כמוmyorg.example.com.
אחרי שיוצרים את הרשאת ה-DNS FIXED_RECORD, מאמתים אותה באמצעות הפקודה gcloud certificate-manager dns-authorizations describe:
gcloud certificate-manager dns-authorizations describe AUTHORIZATION_NAME
הפלט אמור להיראות כך: בפלט, מוצאים את הקטע dnsResourceRecord. מאתרים את רשומת CNAME ומוסיפים את הפרטים שלה (data, name ו-type) אל תצורת ה-DNS.
createTime: '2022-01-14T13:35:00.258409106Z' dnsResourceRecord: data: 0e40fc77-a37d-4eb8-8fe1-eea2e18d12d9.4.authorize.certificatemanager.goog. name: _acme-challenge.myorg.example.com. type: CNAME domain: myorg.example.com name: projects/myProject/locations/global/dnsAuthorizations/myAuthorization updateTime: '2022-01-14T13:35:01.571086137Z'
הרשאה של DNS לרשומה בכל פרויקט
כדי ליצור הרשאת DNS מסוג PER_PROJECT_RECORD, משתמשים בפקודה gcloud certificate-manager dns-authorizations create הבאה:
gcloud certificate-manager dns-authorizations create AUTHORIZATION_NAME \
--domain="DOMAIN_NAME" \
--type=PER_PROJECT_RECORD
מחליפים את מה שכתוב בשדות הבאים:
-
AUTHORIZATION_NAME: השם של אישור ה-DNS. -
DOMAIN_NAME: השם של דומיין היעד שעבורו יוצרים את אישור ה-DNS הזה. שם הדומיין חייב להיות שם דומיין שמוגדר במלואו, כמוmyorg.example.com.
אחרי שיוצרים את הרשאת ה-DNS של PER_PROJECT_RECORD, מאמתים אותה באמצעות הפקודה gcloud certificate-manager dns-authorizations describe:
gcloud certificate-manager dns-authorizations describe AUTHORIZATION_NAME
הפלט אמור להיראות כך: בפלט, מוצאים את הקטע dnsResourceRecord. מאתרים את רשומת CNAME ומוסיפים את הפרטים שלה (data, name ו-type) אל תצורת ה-DNS.
createTime: '2022-01-14T13:35:00.258409106Z' dnsResourceRecord: data: 0e40fc77-a37d-4eb8-8fe1-eea2e18d12d9.4.authorize.certificatemanager.goog. name: _acme-challenge_ujmmovf2vn55tgye.myorg.example.com type: CNAME domain: myorg.example.com name: projects/myProject/locations/global/dnsAuthorizations/myAuthorization updateTime: '2022-01-14T13:35:01.571086137Z'
Terraform
כדי ליצור הרשאת DNS, אפשר להשתמש במשאב google_certificate_manager_dns_authorization.
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
API
כדי ליצור הרשאת DNS, שולחים בקשת POST אל ה-method dnsAuthorizations.create:
POST /v1/projects/PROJECT_ID/locations/global/dnsAuthorizations?dns_authorization_id=AUTHORIZATION_NAME
{
"domain": "DOMAIN_NAME",
"type": "PER_PROJECT_RECORD" //optional
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . -
AUTHORIZATION_NAME: השם של אישור ה-DNS. -
DOMAIN_NAME: השם של דומיין היעד שעבורו יוצרים את אישור ה-DNS הזה. שם הדומיין חייב להיות שם דומיין שמוגדר במלואו, כמוmyorg.example.com.
יצירת אישור בניהול Google שמפנה להרשאת ה-DNS
כדי ליצור אישור גלובלי שמנוהל על ידי Google ומפנה לאישור ה-DNS שיצרתם בשלבים הקודמים, פועלים לפי השלבים הבאים:
המסוף
נכנסים לדף Certificate Manager במסוף Google Cloud .
בכרטיסייה אישורים, לוחצים על הוספת אישור.
בשדה שם האישור, מזינים שם ייחודי לאישור.
אופציונלי: בשדה Description, מזינים תיאור של האישור. התיאור מאפשר לכם לזהות את האישור.
בקטע מיקום, בוחרים באפשרות גלובלי.
בקטע היקף, בוחרים באפשרות ברירת מחדל.
בשדה Certificate type (סוג האישור), בוחרים באפשרות Create Google-managed certificate (יצירת אישור בניהול Google).
בקטע סוג רשות האישורים, בוחרים באפשרות ציבורי.
בשדה שמות דומיינים, מציינים רשימה מופרדת בפסיקים של שמות דומיינים של האישור. כל שם דומיין צריך להיות שם דומיין שמוגדר במלואו, כמו
myorg.example.com. שם הדומיין יכול להיות גם שם דומיין עם תו כללי, כמו*.example.com.בקטע סוג הרשאה, בוחרים באפשרות הרשאת DNS.
בדף מופיעים אישורי ה-DNS של שמות הדומיינים. אם לשם דומיין אין הרשאה משויכת ב-DNS, פועלים לפי השלבים הבאים כדי ליצור אחת:
- לוחצים על יצירת הרשאת DNS חסרה.
- בשדה DNS authorization name (שם הרשאת DNS), מציינים את השם של הרשאת ה-DNS.
סוג ההרשאה של DNS שמוגדר כברירת מחדל הוא
FIXED_RECORD. כדי לנהל אישורים באופן עצמאי בכמה פרויקטים, מסמנים את תיבת הסימון הרשאה לכל פרויקט. - לוחצים על יצירת הרשאת DNS.
בשדה Labels (תוויות), מציינים את התוויות שרוצים לשייך לאישור. כדי להוסיף תווית, לוחצים על Add label ומציינים מפתח וערך לתווית.
לוחצים על יצירה.
האישור החדש מופיע ברשימת האישורים.
gcloud
כדי ליצור אישור גלובלי שמנוהל על ידי Google עם הרשאת DNS, מריצים את הפקודה certificate-manager certificates create עם הדגל dns-authorizations:
gcloud certificate-manager certificates create CERTIFICATE_NAME \
--domains="DOMAIN_NAME,*.DOMAIN_NAME" \
--dns-authorizations="AUTHORIZATION_NAMES"
מחליפים את מה שכתוב בשדות הבאים:
-
CERTIFICATE_NAME: שם האישור. -
DOMAIN_NAME: השם של דומיין היעד. שם הדומיין חייב להיות שם דומיין שמוגדר במלואו, כמוmyorg.example.com, או דומיין עם תו כללי לחיפוש, כמו*.myorg.example.com. הקידומת של כוכבית ונקודה(*.)מציינת תעודת wildcard. -
AUTHORIZATION_NAMES: רשימה מופרדת בפסיקים של שמות הרשאות DNS שיצרתם עבור האישור.
Terraform
API
כדי ליצור את האישור, שולחים בקשת POST ל-method certificates.create באופן הבא:
POST /v1/projects/PROJECT_ID/locations/global/certificates?certificate_id=CERTIFICATE_NAME
{
"managed": {
"domains": ["DOMAIN_NAME"],
"dnsAuthorizations": [
"projects/PROJECT_ID/locations/global/dnsAuthorizations/AUTHORIZATION_NAME",
],
}
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . -
CERTIFICATE_NAME: שם האישור. -
DOMAIN_NAME: השם של דומיין היעד. שם הדומיין חייב להיות שם דומיין שמוגדר במלואו, כמוmyorg.example.com, או דומיין עם תו כללי לחיפוש, כמו*.myorg.example.com. הקידומת של כוכבית ונקודה (*.) מציינת תעודת wildcard. -
AUTHORIZATION_NAMES: רשימה מופרדת בפסיקים של שמות הרשאות DNS.
הוספת רשומת ה-CNAME להגדרת ה-DNS
אם אתם משתמשים בפתרון DNS של צד שלישי כדי לנהל את ה-DNS, תוכלו לעיין במסמכי התיעוד שלו כדי להוסיף את רשומת ה-CNAME להגדרות ה-DNS. אם אתם משתמשים ב-Google Cloud כדי לנהל את ה-DNS, אתם צריכים לבצע את השלבים שמפורטים בקטע הזה.
המסוף
כדי ליצור קבוצת רשומות, פועלים לפי השלבים הבאים:
נכנסים לדף DNS zones במסוף Google Cloud .
לוחצים על השם של תחום ה-DNS שרוצים להוסיף אליו את הרשומה.
בדף פרטי האזור, לוחצים על הוספת רשומה רגילה.
בדף יצירת סט הרשומות, בשדה שם ה-DNS, מזינים את התת-דומיין של תחום ה-DNS.
כשמזינים את שם תת-הדומיין, צריך לוודא ששם תת-הדומיין, כולל הטקסט האפור שמוצג בשדה שם ה-DNS, זהה לערך המלא של השדה
dnsResourceRecord.nameשמוצג בפלט של הפקודהgcloud certificate-manager dns-authorizations describe.דוגמאות:
אם ערך השדה
dnsResourceRecord.nameהוא_acme-challenge.myorg.example.com., והטקסט האפור בשדה שם DNS הוא.example.com., מזינים_acme-challenge.myorg.אם ערך השדה
dnsResourceRecord.nameהוא_acme-challenge.myorg.example.com., והטקסט האפור בשדה שם DNS הוא.myorg.example.com., מזינים_acme-challenge.אם הערך של השדה
dnsResourceRecord.nameהוא_acme-challenge_ujmmovf2vn55tgye.myorg.example.com., והטקסט האפור בשדה שם DNS הוא.myorg.example.com., מזינים_acme-challenge_ujmmovf2vn55tgye.
בשדה סוג רשומת משאב בוחרים באפשרות CNAME.
בשדה TTL, מזינים ערך מספרי חיובי לאורך החיים של רשומת המשאב, כלומר משך הזמן שבו אפשר לשמור אותה במטמון.
ברשימה יחידת TTL, בוחרים את יחידת הזמן – לדוגמה,
30 minutes.בשדה Canonical name, מזינים את הערך המלא של השדה
dnsResourceRecord.dataכפי שהוא מוצג בפלט של הפקודהgcloud certificate-manager dns-authorizations describe.כדי להזין פרטים נוספים, לוחצים על הוספת פריט.
לוחצים על יצירה.
gcloud
כשיוצרים אימות DNS, פקודת ה-CLI של gcloud מחזירה את רשומת ה-CNAME המתאימה. כדי להוסיף את רשומת ה-CNAME להגדרות ה-DNS בתחום ה-DNS של דומיין היעד, פועלים לפי השלבים הבאים:
מתחילים את העסקה של רשומת ה-DNS:
gcloud dns record-sets transaction start --zone="DNS_ZONE_NAME"
מחליפים את
DNS_ZONE_NAMEבשם של אזור ה-DNS של היעד.מוסיפים את רשומת ה-CNAME לתחום ה-DNS של היעד:
gcloud dns record-sets transaction add CNAME_RECORD \ --name="VALIDATION_SUBDOMAIN_NAME.DOMAIN_NAME." \ --ttl="30" \ --type="CNAME" \ --zone="DNS_ZONE_NAME"מחליפים את מה שכתוב בשדות הבאים:
-
CNAME_RECORD: ערך הנתונים המלא של רשומת ה-CNAME שמוחזרת על ידי פקודת Google Cloud CLI שיצרה את הרשאת ה-DNS המתאימה. -
VALIDATION_SUBDOMAIN_NAME: תת-הדומיין של הקידומת בתחום ה-DNS, למשל_acme-challenge. אפשר להעתיק את השם מיומן הפקודות שלgcloud certificate-manager dns-authorizations describe, כמו שמתואר במאמר יצירת הרשאת DNS. -
DOMAIN_NAME: השם של דומיין היעד.שם הדומיין חייב להיות שם דומיין מלא (FQDN), כמוmyorg.example.com. צריך גם לכלול את הנקודה בסוף אחרי שם דומיין היעד. -
DNS_ZONE_NAME: השם של תחום ה-DNS של היעד.
למידע נוסף על ההבדל בין הרשאות DNS של
FIXED_RECORDלביןPER_PROJECT_RECORD, אפשר לעיין בדוגמאות הבאות. ההבדל היחיד בין שתי הדוגמאות הוא הערך של הדגל--name.הרשאה ל-DNS מסוג FIXED_RECORD
gcloud dns record-sets transaction add 0e40fc77-a37d-4eb8-8fe1-eea2e18d12d9.4.authorize.certificatemanager.goog. \ --name="_acme-challenge.myorg.example.com." \ --ttl="30" \ --type="CNAME" \ --zone="myorg-example-com"הרשאה של DNS לרשומה בכל פרויקט
gcloud dns record-sets transaction add 0e40fc77-a37d-4eb8-8fe1-eea2e18d12d9.4.authorize.certificatemanager.goog. \ --name="_acme-challenge_ujmmovf2vn55tgye.myorg.example.com." \ --ttl="30" \ --type="CNAME" \ --zone="myorg-example-com"-
מריצים את טרנזקציית רשומת ה-DNS כדי לשמור את השינויים:
gcloud dns record-sets transaction execute --zone="DNS_ZONE_NAME"
מחליפים את
DNS_ZONE_NAMEבשם של אזור ה-DNS של היעד.
Terraform
כדי להוסיף את רשומת ה-CNAME להגדרת ה-DNS, אפשר להשתמש במשאב google_dns_record_set.
אימות הסטטוס של האישור
לפני שמקצים אישור למאזן עומסים, צריך לוודא שהוא פעיל. יכול להיות שיחלפו כמה דקות עד שמצב האישור ישתנה לACTIVE.
המסוף
נכנסים לדף Certificate Manager במסוף Google Cloud .
בכרטיסייה Certificates (אישורים), בודקים את העמודה Status (סטטוס) של האישור.
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
dnsAuthorizations:
- projects/myProject/locations/global/dnsAuthorizations/myCert
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 אחרי כמה שעות, צריך לבדוק שהוספתם נכון את רשומת CNAME להגדרות ה-DNS.
שלבים נוספים לפתרון בעיות זמינים במאמר בנושא פתרון בעיות ב-Certificate Manager.
יצירת מיפוי האישורים
כדי לפרוס אישור למאזן עומסים גלובלי חיצוני של אפליקציות (ALB), צריך ליצור מפת אישורים.
המסוף
נכנסים לדף Certificate Manager במסוף Google Cloud ולוחצים על הכרטיסייה Certificate maps.
לוחצים על יצירת מפת אישורים.
בשדה Name, מזינים שם למפת האישורים, כמו
cert-map-8.בשדה Description (תיאור), מזינים תיאור למפת האישורים, כמו
My new certificate map.כדי ליצור רשומה במפת האישורים ולהוסיף אותה למפת האישורים, לוחצים על הוספת רשומה למפה ופועלים לפי השלבים שמפורטים בקטע הבא.
כדי להוסיף תווית ולשייך אותה למיפוי האישורים, לוחצים על Add label ואז מזינים מפתח וערך לתווית.
לוחצים על יצירה.
gcloud
כדי ליצור מיפוי אישורים, משתמשים בפקודה gcloud certificate-manager maps create:
gcloud certificate-manager maps create CERTIFICATE_MAP_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
CERTIFICATE_MAP_NAME: שם מיפוי האישורים
API
כדי ליצור מיפוי אישורים, שולחים בקשת POST אל ה-method certificateMaps.create:
POST /v1/projects/PROJECT_ID/locations/global/certificateMaps?certificate_map_id=CERTIFICATE_MAP_NAME
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud -
CERTIFICATE_MAP_NAME: שם מיפוי האישורים
Terraform
כדי ליצור מיפוי אישורים, משתמשים במשאב google_certificate_manager_certificate_map:
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
יצירת רשומות מיפוי לאישורים
כדי לפרוס אישור למאזן עומסים גלובלי חיצוני של אפליקציות (ALB), צריך ליצור רשומה במפת האישורים.
לכל אישור שרוצים להעביר, יוצרים רשומות של מיפוי אישורים שמפנות לאישורים האלה באופן הבא:
בלוג, לכל דומיין שמופיע בשדה
subjectAlternativeNames, יוצרים רשומה במפת האישורים שכוללת את הדומיין הזה. אם יותר מאישור אחד מכסה דומיין יחיד, צריך ליצור רק רשומה אחת של מיפוי אישורים ולהשתמש בכל אישור תקף שמכסה את הדומיין הזה.gcloud certificate-manager maps entries create CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME" \ --certificates="CERTIFICATE_NAMES" \ --hostname="HOSTNAME"מחליפים את מה שכתוב בשדות הבאים:
-
CERTIFICATE_MAP_ENTRY_NAME: השם של רשומת המיפוי לאישורים. -
CERTIFICATE_MAP_NAME: השם של מיפוי האישורים שאליו משויכת רשומת מיפוי האישורים. -
CERTIFICATE_NAMES: רשימה מופרדת בפסיקים של שמות האישורים שרוצים לשייך לרשומה במפת האישורים. -
HOSTNAME: שם המארח שרוצים לשייך לרשומה במפת האישורים.
-
אופציונלי: יוצרים רשומה ראשית במפת האישורים שמפנה לאישור שתואם לאישור הראשון מתוך רשימת האישורים שצורפו במקור לשרת הפרוקסי.
gcloud certificate-manager maps entries create CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME" \ --certificates="CERTIFICATE_NAMES" \ --set-primary
מחליפים את מה שכתוב בשדות הבאים:
-
CERTIFICATE_MAP_ENTRY_NAME: השם של רשומת המיפוי לאישורים. -
CERTIFICATE_MAP_NAME: השם של מיפוי האישורים שאליו משויכת רשומת מיפוי האישורים. -
CERTIFICATE_NAMES: רשימה מופרדת בפסיקים של שמות האישורים שרוצים לשייך לרשומה במפת האישורים.
-
כדי לוודא שכל רשומה במפת האישורים נמצאת במצב פעיל, מריצים את הפקודה הבאה:
gcloud certificate-manager maps entries describe CERTIFICATE_MAP_ENTRY_NAME \ --map="CERTIFICATE_MAP_NAME"מחליפים את מה שכתוב בשדות הבאים:
-
CERTIFICATE_MAP_ENTRY_NAME: השם של רשומת המיפוי לאישורים. -
CERTIFICATE_MAP_NAME: השם של מיפוי האישורים שאליו משויכת רשומת מיפוי האישורים.
הפלט אמור להיראות כך:
certificates: - projects/my-project/locations/global/certificates/my-certificate createTime: '2021-09-06T10:01:56.229472109Z' hostname: example.com name: projects/my-project/locations/global/certificateMaps/myCertMap/certificateMapEntries/my-map-entry state: ACTIVE updateTime: '2021-09-06T10:01:58.277031787Z'-
אופציונלי: בדיקת ההגדרה במאזן עומסים חדש
כדי לצמצם את זמן ההשבתה, מומלץ לבדוק את מיפויי האישורים החדשים במאזן עומסים חדש שלא משרת תנועת ייצור. כך תוכלו לזהות ולפתור שגיאות לפני שתמשיכו בהעברה בסביבת הייצור.
כדי לבדוק את ההגדרה, מבצעים את הפעולות הבאות:
יוצרים מאזן עומסים גלובלי עם שרת proxy חדש ליעד. כדי ליצור מאזן עומסים, אפשר לעיין בדפים הבאים:
כדי ליצור מאזן עומסים גלובלי חיצוני של אפליקציות (ALB), אפשר לעיין במאמר הגדרה של מאזן עומסים גלובלי חיצוני של אפליקציות עם מערכות בק-אנד של קבוצות מופעי מכונה וירטואלית.
כדי ליצור מאזן עומסי רשת גלובלי חיצוני בשרת proxy (שרת proxy של SSL), אפשר לעיין במאמר הגדרה של מאזן עומסי רשת גלובלי חיצוני בשרת proxy (שרת proxy של SSL) עם מערכות בק-אנד של קבוצת מופעי מכונה וירטואלית.
כדי ליצור מאזן עומסי רשת גלובלי חיצוני בשרת proxy (TCP proxy), אפשר לעיין במאמר הגדרה של מאזן עומסי רשת גלובלי חיצוני בשרת proxy (TCP proxy) עם קבוצות של מופעי מכונות וירטואליות בתור קצה עורפי.
מצרפים את מפת האישורים לשרת ה-proxy של היעד של מאזן העומסים החדש.
gcloud compute target-https-proxies create TEST_PROXY_NAME \ --certificate-map="CERTIFICATE_MAP_NAME" \ --globalמחליפים את מה שכתוב בשדות הבאים:
-
TEST_PROXY_NAME: השם של ה-proxy של יעד הבדיקה. CERTIFICATE_MAP_NAME: השם של מיפוי האישורים שמפנה לרשומת מיפוי האישורים ולאישור המשויך.
-
לכל דומיין יעד שכלול בהעברה, בודקים את הקישוריות לדומיין בכתובת ה-IP של מאזן העומסים החדש:
openssl s_client -showcerts -servername DOMAIN_NAME -connect IP_ADDRESS:443
מחליפים את מה שכתוב בשדות הבאים:
-
DOMAIN_NAME: השם של דומיין היעד. -
IP_ADDRESS: כתובת ה-IP של מאזן העומסים החדש.
מידע נוסף על בדיקת הקישוריות זמין במאמר בדיקה באמצעות OpenSSL
-
ניקוי סביבת הבדיקה
מנקים את סביבת הבדיקה שיצרתם בשלבים הקודמים.
מוחקים את מאזן העומסים לניסיון כמו שמתואר במאמר בנושא מחיקת מאזן העומסים.
אל תמחקו את האישורים, את מיפוי האישורים או את הרשומות במיפוי האישורים שיצרתם בשלבים הקודמים.
החלת מיפוי האישורים החדש על מאזן העומסים של היעד
אחרי שבודקים את ההגדרה של האישור החדש ומוודאים שהיא תקינה, מבצעים את השלבים הבאים כדי להחיל את מיפוי האישורים החדש על מאזן העומסים של היעד (מאזן העומסים שמארח את האישורים).
אם אתם משתמשים במאזן עומסים גלובלי, מצרפים את מיפוי האישורים לשרת ה-proxy של היעד של מאזן העומסים החדש:
gcloud compute target-https-proxies update TARGET_PROXY_NAME \ --certificate-map="CERTIFICATE_MAP_NAME" \ --globalמחליפים את מה שכתוב בשדות הבאים:
-
TARGET_PROXY_NAME: השם של שרת ה-proxy של היעד. -
CERTIFICATE_MAP_NAME: השם של מפת האישורים שמפנה לרשומת המיפוי לאישורים ולאישור המשויך.
-
מחכים עד שהשינוי בתצורה יוחל ועד שמאזן העומסים יתחיל להציג את האישור החדש. בדרך כלל התהליך נמשך כמה דקות, אבל הוא יכול להימשך עד 30 דקות.
האישורים שלכם מועברים. אם אתם מבחינים בבעיות בתנועה, מנתקים את מיפוי האישורים החדש משרת ה-proxy של היעד. הפעולה הזו תחזיר את מאזן העומסים להגדרה המקורית שלו.