1. מבוא
ב-Codelab הזה נדגים איך פורסים את AlloyDB Omni במכונה וירטואלית אחת של Google Compute Engine (GCE). בסוף ה-Codelab הזה, תסיימו עם הקצאה של מכונה וירטואלית אחת של GCE שמופעלת באמצעות Rocky Linux 9, והתקנה של AlloyDB Omni באמצעות חבילות ה-RPM הרשמיות. המכונה הווירטואלית הזו כוללת את כל הכלים שדרושים למפתחים. יש בה ספריית בית בנפח מתמיד של 20GB והיא פועלת ב-Google Cloud, מה שמשפר מאוד את הביצועים והאימות של הרשת.
דרישות מוקדמות
- גישה לפרויקט ב-Google Cloud ול-Cloud Shell מ-Cloud Console.
- ה-SDK של Google Cloud (
gcloud) מותקן ומוגדר. פרטים על התקנת gcloud זמינים במאמר gcloud-install.
מה תלמדו
- איך יוצרים ומכינים מכונה וירטואלית ב-GCE ל-AlloyDB Omni באמצעות
gcloud. - איך מתקינים חבילות RPM של AlloyDB Omni בצומת Linux יחיד.
- איך מבצעים אתחול ומגדירים את AlloyDB Omni.
- איך מאמתים את ההתקנה של מסד הנתונים המקומי.
מה תצטרכו
- קבלת קישור לכתובת URL של חבילות RPM של AlloyDB Omni. הקישורים נשלחים לאימייל שלכם, שכולל את שרת כתובת ה-URL של המאגר. מאתחלים את משתנה הסביבה הבא כדי שכתובת ה-URL תהיה מוכנה לשימוש במהלך ה-codelab.
export ALLOYDB_OMNI_REPOSITORY_URL="..." - טרמינל פעיל עם גישה ל-Google Cloud. למטרה הזו אפשר להשתמש ב-Cloud Shell.
2. הגדרה ודרישות
הגדרת פרויקט
יצירת פרויקט ב-Google Cloud
- במסוף Google Cloud, בדף לבחירת הפרויקט, בוחרים פרויקט ב-Google Cloud או יוצרים פרויקט.
- הקפידו לוודא שהחיוב מופעל בפרויקט שלכם ב-Cloud. כך בודקים אם החיוב מופעל בפרויקט
מפעילים את Cloud Shell
אפשר להפעיל את Google Cloud מרחוק מהמחשב הנייד, אבל בשיעור Codelab הזה משתמשים ב-Google Cloud Shell, סביבת שורת פקודה שפועלת בענן.

- פותחים את מסוף Google Cloud ולוחצים על סמל Cloud Shell בסרגל הכלים שבפינה הימנית העליונה.אפשר גם לפתוח את Cloud Shell באחת מהדרכים הבאות:
- אם משתמשים במסוף Google Cloud, מקישים על G ואז על S.
- לוחצים על הקישור הזה.
בדרך כלל חולפות כמה שניות עד שההקצאה והחיבור לסביבת העבודה יושלמו. בסיום הפעולה, יופיע משהו כזה:
{: width="624"}
3. איך יוצרים מכונה וירטואלית ב-Compute Engine?
בקטע הזה, יוצרים מכונה וירטואלית (VM) בודדת ב-Compute Engine (GCE) באמצעות כלי שורת הפקודה gcloud. אתם משתמשים בתמונה של Rocky Linux 9, שתואמת באופן מלא ל-RPM של AlloyDB Omni.
- מגדירים משתני סביבה למזהה הפרויקט, לשם המכונה הווירטואלית, לאזור ולמדינה.
export PROJECT="your-project-id" export INSTANCE_NAME="alloydb-omni-vm" export ZONE="us-central1-c" export REGION="us-central1" - נכנסים באמצעות המשתמש בחשבון Google Cloud ומגדירים את פרויקט ברירת המחדל.
gcloud auth login gcloud config set project $PROJECT - יוצרים כלל חומת אש שמאפשר חיבורי SSH למכונה הווירטואלית.
gcloud compute firewall-rules create allow-ssh-alloydb-omni \ --project=$PROJECT \ --direction=INGRESS \ --action=allow \ --rules=tcp:22 \ --source-ranges="0.0.0.0/0" - מכיוון שהמכונה הווירטואלית נוצרת ללא כתובת IP ציבורית, צריך להגדיר Cloud Router ושער Cloud NAT כדי לאפשר למכונה הווירטואלית לגשת למאגרי חבילות חיצוניים ולהוריד את התוכנה הנדרשת.
gcloud compute routers create alloydb-omni-router \ --project=$PROJECT \ --network=default \ --region=$REGION gcloud compute routers nats create alloydb-omni-nat \ --project=$PROJECT \ --router=alloydb-omni-router \ --region=$REGION \ --nat-all-subnet-ip-ranges \ --auto-allocate-nat-external-ips - מוודאים שלרשת ה-VPC יש נתיב שער אינטרנט תקף שמוגדר כברירת מחדל. בסביבות משותפות או בסביבות ארגז חול מסוימות, סקריפטים לניקוי מסירים מדי פעם מסלולים שמוגדרים כברירת מחדל. המסלול הזה נדרש כדי ש-Cloud NAT יעביר תנועה יוצאת לאינטרנט.
gcloud compute routes create default-internet-route \ --project=$PROJECT \ --network=default \ --destination-range=0.0.0.0/0 \ --next-hop-gateway=default-internet-gateway - יוצרים את מכונת ה-VM ב-Compute Engine עם המפרטים הנדרשים (16 ליבות vCPU, דיסק אחסון מתמיד מאוזן בנפח 20GB, Rocky Linux 9). כדי לשפר את האבטחה, אנחנו משתמשים בדגל
--no-addressכדי לוודא שלא מוקצית ל-VM כתובת IP ציבורית.gcloud compute instances create $INSTANCE_NAME \ --project=$PROJECT \ --zone=$ZONE \ --machine-type=n2-highmem-16 \ --image-family=rocky-linux-9 \ --image-project=rocky-linux-cloud \ --boot-disk-size=20GB \ --boot-disk-type=pd-balanced \ --no-address - אחרי שיוצרים את המכונה הווירטואלית, מאמתים את הסטטוס שלה.
gcloud compute instances list --filter="name=$INSTANCE_NAME" --project=$PROJECT
4. הכנת ה-VM
בקטע הזה, מתחברים למכונה הווירטואלית החדשה שנוצרה ומכינים את סביבת מערכת ההפעלה, כולל הגדרת ספריית הנתונים והגדרת SELinux.
- מתחברים למכונה הווירטואלית באמצעות SSH באמצעות שרת proxy לאימות זהויות (IAP). מכיוון שלמכונה הווירטואלית אין כתובת IP ציבורית,
gcloudינהל באופן אוטומטי את חיבור ה-SSH דרך IAP.gcloud compute ssh $INSTANCE_NAME --zone=$ZONE --project=$PROJECT --tunnel-through-iap - מגדירים משתני סביבה ב-VM לספריית הנתונים ולכתובת ה-URL של מאגר AlloyDB Omni. מחליפים את כתובת ה-URL בכתובת שקיבלתם מטופס ההרשמה.
export PGDATA="/var/lib/alloydbomni" export ALLOYDB_OMNI_REPOSITORY_URL="..." - יוצרים את ספריית הנתונים שבה AlloyDB Omni יאחסן את קובצי מסד הנתונים שלו.
sudo mkdir -p $PGDATA - מתקינים את חבילת
policycoreutils-python-utilsכדי שאפשר יהיה להגדיר את מדיניות SELinux כך ששירות מסד הנתונים של AlloyDB Omni יפעל בצורה תקינה.sudo dnf install -y policycoreutils-python-utils
5. התקנה של AlloyDB Omni
אחרי שמכינים את המכונה הווירטואלית, אפשר להגדיר את מאגר החבילות ולהתקין את חבילת ה-RPM של AlloyDB Omni.
- מגדירים את מאגר YUM ב-VM על ידי יצירת קובץ תצורת המאגר.
sudo tee /etc/yum.repos.d/alloydbomni.repo << EOF [alloydbomni] name=alloydbomni baseurl=$ALLOYDB_OMNI_REPOSITORY_URL enabled=1 repo_gpgcheck=0 gpgcheck=1 gpgkey=https://dl.google.com/linux/linux_signing_key.pub EOF - מעדכנים את מטמון YUM כדי לוודא שהמאגר החדש מזוהה.
הערה: בגרסת הטרום-השקה של AlloyDB Omni RPM, שלמות החבילה מאומתת ברמת ה-RPM הבודד. כדי להמשיך בהגדרת מאגר YUM, מגדירים אתsudo yum makecacherepo_gpgcheck=0. - מתקינים את גרסה 18 של חבילת ה-RPM של AlloyDB Omni.
sudo dnf install -y alloydbomni18
6. הגדרת AlloyDB Omni
אחרי שמתקינים את חבילת ה-RPM, צריך לאתחל, להגדיר ולהפעיל את שירות מסד הנתונים AlloyDB Omni.
- מגדירים סיסמה חזקה למשתמש האדמין של PostgreSQL
postgres.export PGPASSWORD="YourStrongPassword123!" - מאתחלים את מכונת מסד הנתונים של AlloyDB Omni.
sudo PGPASSWORD=$PGPASSWORD PGDATA=$PGDATA /usr/lib/postgresql/18/bin/alloydbomni18-setup initdb - מגדירים את הקשר של קובץ SELinux כדי לאפשר לשירות AlloyDB Omni לקרוא ולכתוב נתונים בספריית הנתונים המותאמת אישית, ואז משחזרים את הקשר הנכון של האבטחה.
sudo setenforce 0 - מכינים את מכונת מסד הנתונים של AlloyDB Omni.
sudo PGPASSWORD=$PGPASSWORD PGDATA=$PGDATA /usr/lib/postgresql/18/bin/alloydbomni18-setup preparedb - (אופציונלי) כדי לבצע אופטימיזציה של ההפעלה של שירות AlloyDB Omni, מריצים את כלי ההגדרה של המארח כדי להגדיר אוטומטית את הגדרות הליבה והזיכרון המומלצות.
sudo /usr/lib/postgresql/18/bin/alloydbomni18-setup-host - מפעילים ומתחילים את שירות AlloyDB Omni
systemd.sudo systemctl enable alloydbomni18 sudo systemctl start alloydbomni18 - מוודאים ששירות AlloyDB Omni פעיל ופועל בצורה תקינה.
מוודאים שהפלט מצייןsudo systemctl status alloydbomni18Active: active (running).
7. אימות של AlloyDB Omni
כדי לוודא שמסד הנתונים של AlloyDB Omni עם צומת יחיד פועל בצורה תקינה, מתחברים אליו באמצעות לקוח PostgreSQL הרגיל (psql) שהותקן עם החבילה.
- מתחברים למכונה המקומית של מסד הנתונים בתור המשתמש
postgres. תתבקשו להזין את הסיסמה שהגדרתם קודם./usr/lib/postgresql/18/bin/psql -h localhost -U postgres -W - אחרי שהחיבור נוצר, מריצים שאילתת SQL בסיסית כדי לוודא את הגרסה של שרת מסד הנתונים ולוודא ש-AlloyDB Omni פועל.
הפלט שמתקבל מציין ש-PostgreSQL 18 פועל עם AlloyDB Omni.postgres=# SELECT version(); - מזינים
\qכדי לצאת מההנחיהpsql.
8. ניקוי וסקר
אחרי שמסיימים את ה-codelab, אפשר למחוק את המשאבים של Google Cloud כדי להימנע מחיובים לא רצויים.
- מתנתקים מהסשן של SSH במכונה הווירטואלית כדי לחזור לטרמינל המקומי של Cloud Shell.
exit - מוחקים את המכונה הווירטואלית ב-Compute Engine.
gcloud compute instances delete $INSTANCE_NAME --zone=$ZONE --project=$PROJECT --quiet - מוחקים את כלל חומת האש שנוצר לגישת SSH.
gcloud compute firewall-rules delete allow-ssh-alloydb-omni --project=$PROJECT --quiet - מוחקים את שער Cloud NAT ואת Cloud Router.
gcloud compute routers nats delete alloydb-omni-nat --router=alloydb-omni-router --region=$REGION --project=$PROJECT --quiet gcloud compute routers delete alloydb-omni-router --region=$REGION --project=$PROJECT --quiet
9. מזל טוב
כל הכבוד, סיימתם את ה-Codelab! הצלחתם לפרוס ולהגדיר את AlloyDB Omni במכונה וירטואלית אחת של Compute Engine.
מה נכלל
- איך להקצות ולהכין מכונה וירטואלית ב-Compute Engine ל-AlloyDB Omni.
- איך מגדירים את מאגר החבילות של AlloyDB Omni ומתקינים את חבילות ה-RPM.
- איך מאתחלים, מגדירים ומנהלים את שירות מסד הנתונים AlloyDB Omni באמצעות
systemd. - איך מאמתים את הפונקציונליות של מסד הנתונים באמצעות כלים סטנדרטיים של PostgreSQL.
מידע נוסף מופיע במאמר סקירה כללית על AlloyDB Omni.