המדריך הזה מתאר איך להגדיר קטגוריה של Cloud Storage לאירוח אתר סטטי בשביל דומיין שנמצא בבעלותכם. דפי אינטרנט סטטיים יכולים להכיל טכנולוגיות בצד הלקוח, כמו HTML, CSS ו-JavaScript. הם לא יכולים להכיל תוכן דינמי, כמו סקריפטים בצד השרת, למשל PHP.
המדריך הזה מראה איך למלא בקשות באמצעות HTTP. למדריך שמשתמש ב-HTTPS, ראו אירוח אתר סטטי.
לדוגמאות ולטיפים בנושא דפי אינטרנט סטטיים, כולל הנחיות לאירוח נכסים סטטיים באתר דינמי, ראו דף אתר סטטי.
מטרות
במדריך הזה תלמדו:- להפנות את הדומיין ל-Cloud Storage באמצעות רשומת
CNAME. - ליצור קטגוריה שמקושרת לדומיין.
- להעלות את קובצי האתר ולשתף אותם.
- לבדוק את האתר.
עלויות
במדריך הזה השתמשנו ברכיבים הבאים של Google Cloud, והשימוש בהם כרוך בתשלום:
- Cloud Storage
למידע נוסף על החיובים באירוח אתר סטטי, ראו את הטיפ למעקב אחרי החיובים על האחסון, ולפרטים על עלויות Cloud Storage, עיינו בדף תמחור.
לפני שמתחילים
- נכנסים לחשבון 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.
-
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.
- אתם צריכים דומיין שאתם מנהלים או הבעלים שלו. אם אין לכם דומיין קיים, יש שירותים רבים שבאמצעותם אפשר לרשום דומיין חדש, כמו Cloud Domains.
המדריך זה משתמש בדומיין
example.com. - מוודאים שאתם הבעלים או המנהלים של הדומיין שבו תשתמשו. מוודאים שהאימות מתבצע בדומיין ברמה עליונה, כמו
example.com, ולא בתת-דומיין, כמוwww.example.com.הערה: אם אתם הבעלים של הדומיין שמשייכים לקטגוריה, יכול להיות שכבר ביצעתם את השלב הזה בעבר. אם רכשתם את הדומיין דרך Cloud Domains, האימות מתבצע באופן אוטומטי.
קישור הדומיין ל-Cloud Storage
כדי לקשר את הדומיין ל-Cloud Storage, צריך ליצור רשומת CNAME באמצעות שירות הרישום של הדומיין. רשומת CNAME היא סוג של רשומת DNS. היא מפנה תעבורה שמבקשת כתובת URL מהדומיין שלכם למשאבים שרוצים לספק, במקרה הזה, אובייקטים בקטגוריות של Cloud Storage.
בשביל www.example.com, הרשומה CNAME עשויה להכיל את הפרטים הבאים:
NAME TYPE DATA www CNAME c.storage.googleapis.com.
למידע נוסף על הפניות לכתובת אחרת של CNAME, ראו URI עבור יצירת אימייל חלופי ל-CNAME.
כדי לקשר את הדומיין ל-Cloud Storage:
יוצרים רשומת
CNAMEשמצביעה אלc.storage.googleapis.com..שירות הרישום של הדומיין צריך לאפשר לנהל את הדומיין, כולל הוספה של רשומת
CNAME. לדוגמה, אם משתמשים ב-Cloud DNS, אפשר למצוא הוראות להוספת רשומות משאבים בדף הוספה, שינוי ומחיקה של רשומות.
יצירת קטגוריה
יוצרים קטגוריה שהשם שלה תואם ל-CNAME שיצרתם בשביל הדומיין.
לדוגמה, אם מוסיפים רשומת CNAME שמצביעה מתת-הדומיין www של example.com אל c.storage.googleapis.com., אז הפקודה ב-Google Cloud CLI ליצירת קטגוריה בשם www.example.com תיראה בערך כך:
gcloud storage buckets create gs://www.example.com --location=US
הוראות מלאות ליצירת קטגוריות באמצעות כלים שונים זמינות במאמר יצירת קטגוריות.
העלאת הקבצים של האתר
כדי להוסיף לקטגוריה את הקבצים שרוצים להציג באתר:
המסוף
- במסוף Google Cloud , נכנסים לדף Buckets של Cloud Storage.
ברשימת הקטגוריות, לוחצים על שם הקטגוריה שיצרתם.
לוחצים על הלחצן Upload files בכרטיסייה Objects.
בתיבת הדו-שיח של הקובץ, מחפשים את הקובץ הרצוי ובוחרים אותו.
בסיום ההעלאה אמורים להופיע שם הקובץ ופרטי הקובץ בקטגוריה.
שורת הפקודה
כדי להעתיק קבצים לקטגוריה, משתמשים בפקודה gcloud storage cp.
לדוגמה, כדי להעתיק את הקובץ index.html מהמיקום הנוכחי שלו, Desktop:
gcloud storage cp Desktop/index.html gs://www.example.com
אם הפעולה בוצעה ללא שגיאות, התשובה תיראה כמו בדוגמה הבאה:
Completed files 1/1 | 164.3kiB/164.3kiB
ספריות לקוח
C++
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C++ API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
C#
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C# API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Go
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Go API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Java
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Java API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה מעלה אובייקט ספציפי:
בדוגמה הבאה מועלים כמה אובייקטים בו-זמנית:
בדוגמה הבאה כל האובייקטים עם אותה הקידומת מועלים בו-זמנית:
Node.js
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Node.js API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה מעלה אובייקט ספציפי:
בדוגמה הבאה מועלים כמה אובייקטים בו-זמנית:
בדוגמה הבאה כל האובייקטים עם אותה הקידומת מועלים בו-זמנית:
PHP
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage PHP API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Python API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
הדוגמה הבאה מעלה אובייקט ספציפי:
בדוגמה הבאה מועלים כמה אובייקטים בו-זמנית:
בדוגמה הבאה כל האובייקטים עם אותה הקידומת מועלים בו-זמנית:
Ruby
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Ruby API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Rust
ממשקי API ל-REST
API בפורמט JSON
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט JSON באמצעות בקשת אובייקטPOST. בשביל דף האינדקס של www.example.com:curl -X POST --data-binary @index.html \ -H "Content-Type: text/html" \ -H "Authorization: $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/upload/storage/v1/b/www.example.com/o?uploadType=media&name=index.html"
API בפורמט XML
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט XML באמצעות בקשת אובייקטPUT: בשביל דף האינדקס של www.example.com:curl -X PUT --data-binary @index.html \ -H "Authorization: $(gcloud auth print-access-token)" \ -H "Content-Type: text/html" \ "https://storage.googleapis.com/www.example.com/index.html"
שיתוף הקבצים
כדי להגדיר את כל האובייקטים בקטגוריה כקריאים לכולם באינטרנט הציבורי:
המסוף
- במסוף Google Cloud , נכנסים לדף Buckets של Cloud Storage.
ברשימת הקטגוריות, לוחצים על השם של הקטגוריה שרוצים להגדיר כציבורית.
לוחצים על הכרטיסייה Permissions בחלק העליון של הדף.
אם בחלונית Public access כתוב Not public, לוחצים על הלחצן Remove public access Prevention, ואז לוחצים על Confirm בתיבת הדו-שיח שמופיעה.
לוחצים על הלחצן add_boxGrant access.
תיבת הדו-שיח Add principals מופיעה.
בשדה New Principals, מזינים
allUsers.בתפריט הנפתח Select a role, בוחרים את תפריט המשנה Cloud Storage, ולוחצים על האפשרות Storage Object Viewer.
לוחצים על Save.
לוחצים על Allow Public Access.
אחרי השיתוף באופן ציבורי, בעמודה public access מופיע סמל קישור לכל אובייקט. אפשר ללחוץ על הסמל הזה כדי לקבל את כתובת ה-URL של האובייקט.
שורת הפקודה
משתמשים בפקודה buckets add-iam-policy-binding:
gcloud storage buckets add-iam-policy-binding gs://www.example.com --member=allUsers --role=roles/storage.objectViewer
ספריות לקוח
C++
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C++ API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
C#
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C# API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Go
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Go API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Java
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Java API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Node.js
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Node.js API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
PHP
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage PHP API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Python API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Ruby
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Ruby API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Rust
ממשקי API ל-REST
API בפורמט JSON
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.יוצרים קובץ JSON שמכיל את הפרטים הבאים:
{ "bindings":[ { "role": "roles/storage.objectViewer", "members":["allUsers"] } ] }
משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט JSON באמצעות בקשה של קטגורייתPUT:curl -X PUT --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
כאשר:
-
JSON_FILE_NAMEהוא הנתיב לקובץ JSON שיצרתם בשלב 2. -
BUCKET_NAMEהוא שם הקטגוריה שרוצים להגדיר את האובייקטים שלה כציבוריים. למשל,my-bucket.
-
API בפורמט XML
ב-API בפורמט XML אין תמיכה בהגדרת כל האובייקטים בקטגוריה כקריאים באופן ציבורי. במקום זאת, אפשר להשתמש במסוף Google Cloud או ב-gcloud storage.
אם רוצים, אפשר גם להגדיר חלקים מהקטגוריה כנגישים באופן ציבורי.
המבקרים יקבלו קוד תגובה http 403 כשהם מבקשים את כתובת ה-URL של קובץ שאינו ציבורי או לא קיים. בקטע הבא מוסבר איך להוסיף דף שגיאה שמשתמש בקוד התגובה http 404.
מומלץ: הקצאת דפים מיוחדים
אפשר להקצות סיומת של דף אינדקס, שנשלטת על ידי המאפיין MainPageSuffix, וגם דף שגיאה בהתאמה אישית שנשלט על ידי המאפיין NotFoundPage. לא חובה להקצות אחד מהם, אבל בלי דף אינדקס, לא יוצג כלום למשתמשים כשהם ניגשים לאתר ברמה העליונה, לדוגמה http://www.example.com. למידע נוסף, ראו דוגמאות להגדרות של אתר.
בדוגמה הבאה, הערך MainPageSuffix מוגדר ל-index.html ו-NotFoundPage מוגדר ל-404.html:
המסוף
- במסוף Google Cloud , נכנסים לדף Buckets של Cloud Storage.
מוצאים ברשימת הקטגוריות את הקטגוריה שיצרתם.
לוחצים על התפריט Bucket overflow (more_vert) שמשויך לקטגוריה ובוחרים באפשרות Edit website configuration.
בתיבת הדו-שיח של הגדרת האתר, מציינים את הדף הראשי ואת דף השגיאה.
לוחצים על Save.
שורת הפקודה
משתמשים בפקודה buckets update עם הדגלים --web-main-page-suffix ו---web-error-page:
gcloud storage buckets update gs://www.example.com --web-main-page-suffix=index.html --web-error-page=404.html
אם הפעולה הצליחה, הפקודה תחזיר:
Updating gs://www.example.com/... Completed 1
ספריות לקוח
C++
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C++ API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
C#
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C# API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Go
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Go API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Java
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Java API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Node.js
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Node.js API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
PHP
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage PHP API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Python
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Python API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Ruby
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Ruby API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Rust
ממשקי API ל-REST
API בפורמט JSON
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.יוצרים קובץ JSON שמגדיר את המאפיינים
mainPageSuffixו-notFoundPageבאובייקטwebsiteלדפים הרצויים:{ "website":{ "mainPageSuffix": "index.html", "notFoundPage": "404.html" } }
משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט JSON באמצעות בקשת קטגוריהPATCH. בשביל www.example.com:curl -X PATCH --data-binary @web-config.json \ -H "Authorization: $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/www.example.com"
API בפורמט XML
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.יוצרים קובץ XML שמגדיר את הרכיבים
MainPageSuffixו-NotFoundPageברכיבWebsiteConfigurationלדפים הרצויים:<WebsiteConfiguration> <MainPageSuffix>index.html</MainPageSuffix> <NotFoundPage>404.html</NotFoundPage> </WebsiteConfiguration>
משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט XML באמצעות בקשת קטגוריהPUTופרמטר מחרוזת שאילתהwebsiteConfig. בשביל www.example.com:curl -X PUT --data-binary @web-config.xml \ -H "Authorization: $(gcloud auth print-access-token)" \ https://storage.googleapis.com/www.example.com?websiteConfig
בדיקת האתר
כדי לוודא שהתוכן מוצג מהקטגוריה, מבקשים את שם הדומיין בדפדפן. אפשר לעשות זאת באמצעות נתיב לאובייקט או באמצעות שם הדומיין עצמו, אם מוגדר המאפיין MainPageSuffix.
לדוגמה, אם יש אובייקט בשם test.html ששמור בקטגוריה בשם www.example.com, צריך לעבור אל www.example.com/test.html בדפדפן כדי לבדוק אם אפשר לגשת אליו.
הסרת המשאבים
אחרי שמסיימים את המדריך, אפשר למחוק את המשאבים שנוצרו, כדי שהם יפסיקו להשתמש במכסה ולצבור חיובים. בסעיפים הבאים מוסבר איך למחוק או להשבית את המשאבים האלו.
מחיקת הפרויקט
הדרך הקלה ביותר לבטל את החיוב היא למחוק את הפרויקט שיצרתם בשביל המדריך.
כדי למחוק את הפרויקט:
- במסוף Google Cloud , נכנסים לדף Manage resources.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete.
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.