1. مقدمة
يوضّح هذا الدرس التطبيقي حول الترميز كيفية نشر AlloyDB Omni على جهاز افتراضي واحد من Google Compute Engine (GCE). في نهاية هذا الدرس التطبيقي حول الترميز، ستوفّر جهازًا افتراضيًا واحدًا من GCE يعمل بنظام التشغيل Rocky Linux 9 وتثبّت AlloyDB Omni باستخدام حِزم RPM الرسمية. يتم تحميل هذه الآلة الافتراضية مزوّدة بكل أدوات التطوير التي ستحتاج إليها. توفّر هذه المنصة دليلًا منزليًا دائمًا بسعة 20 غيغابايت، وتعمل على Google Cloud، ما يحسّن بشكل كبير أداء الشبكة والمصادقة.
المتطلبات الأساسية
- الوصول إلى مشروع Google Cloud وCloud Shell من Cloud Console
- تم تثبيت Google Cloud SDK (
gcloud) وإعداده. للحصول على تفاصيل حول تثبيت gcloud، يُرجى الرجوع إلى gcloud-install.
ما ستتعلمه
- كيفية إنشاء جهاز GCE الافتراضي وإعداده لاستخدام AlloyDB Omni باستخدام
gcloud - كيفية تثبيت حِزم AlloyDB Omni RPM على عقدة Linux واحدة
- كيفية بدء AlloyDB Omni وضبط إعداداتها
- كيفية التحقّق من تثبيت قاعدة البيانات المحلية
المتطلبات
- الحصول على رابط عنوان URL لحِزم AlloyDB Omni RPM يتم إرسال الروابط إلى بريدك الإلكتروني الذي يتضمّن خادم عنوان URL للمستودع. اضبط قيمة متغير البيئة التالي لإبقاء عنوان URL جاهزًا للاستخدام أثناء درس تطبيقي حول الترميز.
export ALLOYDB_OMNI_REPOSITORY_URL="..." - جهاز طرفي يعمل مع إمكانية الوصول إلى Google Cloud يمكنك استخدام Cloud Shell لهذا الغرض.
2. الإعداد والمتطلبات
إعداد المشروع
إنشاء مشروع على Google Cloud
- في وحدة تحكّم Google Cloud، في صفحة اختيار المشروع، اختَر مشروع Google Cloud أو أنشِئه.
- تأكَّد من تفعيل الفوترة لمشروعك على السحابة الإلكترونية. كيفية التحقّق من تفعيل الفوترة في مشروع
بدء Cloud Shell
على الرغم من إمكانية تشغيل Google Cloud عن بُعد من الكمبيوتر المحمول، ستستخدم في هذا الدرس التطبيقي حول الترميز Google Cloud Shell، وهي بيئة سطر أوامر تعمل في السحابة الإلكترونية.

- افتح وحدة تحكّم Google Cloud وانقر على رمز Cloud Shell في شريط الأدوات أعلى يسار الصفحة.يمكنك أيضًا فتح Cloud Shell بإحدى الطرق التالية:
- إذا كنت تستخدم وحدة تحكّم Google Cloud، اضغط على G ثم S.
- انقر على هذا الرابط.
يستغرق توفير البيئة والاتصال بها عادةً بضع لحظات. عند اكتمال هذه العملية، سيظهر لك ما يلي:
{: width="624"}
3- إنشاء جهاز Compute Engine الافتراضي
في هذا القسم، ستنشئ جهازًا افتراضيًا واحدًا على Compute Engine (GCE) باستخدام أداة سطر الأوامر gcloud. يمكنك استخدام صورة Rocky Linux 9 المتوافقة تمامًا مع حِزم AlloyDB Omni RPM.
- حدِّد متغيّرات البيئة لرقم تعريف مشروعك واسم الجهاز الافتراضي والمنطقة والبلد.
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 gateway للسماح للجهاز الافتراضي بالوصول إلى مستودعات الحِزم الخارجية وتنزيل البرامج المطلوبة.
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 وحدة معالجة مركزية افتراضية، وقرص دائم متوازن بسعة 20 غيغابايت، وRocky Linux 9). لتعزيز الأمان، نستخدم العلامة
--no-addressلضمان عدم تخصيص عنوان 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. إعداد الجهاز الافتراضي
في هذا القسم، يمكنك الاتصال بالجهاز الافتراضي الذي أنشأته حديثًا وإعداد بيئة نظام التشغيل، بما في ذلك إعداد دليل البيانات وضبط SELinux.
- اتّصِل بالجهاز الافتراضي عبر بروتوكول SSH باستخدام خدمة Identity-Aware Proxy (IAP). بما أنّ الجهاز الافتراضي لا يتضمّن عنوان IP عامًا، سيقوم
gcloudتلقائيًا بتوجيه اتصال SSH عبر IAP.gcloud compute ssh $INSTANCE_NAME --zone=$ZONE --project=$PROJECT --tunnel-through-iap - حدِّد متغيّرات البيئة على الجهاز الظاهري لدليل البيانات وعنوان 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
بعد إعداد الجهاز الافتراضي، يمكنك الآن ضبط مستودع الحِزم وتثبيت حزمة AlloyDB Omni RPM.
- اضبط مستودع YUM على جهازك الافتراضي من خلال إنشاء ملف إعدادات المستودع.
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 من حزمة AlloyDB Omni RPM.
sudo dnf install -y alloydbomni18
6. إعداد AlloyDB Omni
بعد تثبيت حزمة RPM، عليك تهيئة خدمة قاعدة بيانات AlloyDB Omni وضبطها وبدء تشغيلها.
- حدِّد كلمة مرور قوية لمستخدم المشرف
postgresفي PostgreSQL.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 قيد التشغيل.
تشير النتيجة إلى أنّ الإصدار 18 من PostgreSQL يعمل مع AlloyDB Omni.postgres=# SELECT version(); - أدخِل
\qللخروج من طلبpsql.
8. التنظيف والاستطلاع
بعد الانتهاء من درس تطبيقي حول الترميز، يمكنك تنظيف موارد 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. تهانينا
تهانينا على إكمال الدرس العملي. لقد نجحت في نشر AlloyDB Omni وإعداده على جهاز Compute Engine الافتراضي.
المواضيع التي تناولناها
- كيفية توفير جهاز Compute Engine الظاهري وإعداده لاستخدام AlloyDB Omni
- كيفية ضبط مستودع حِزم AlloyDB Omni وتثبيت حِزم RPM
- كيفية بدء خدمة قاعدة بيانات AlloyDB Omni وضبط إعداداتها وإدارتها باستخدام
systemd - كيفية التحقّق من وظائف قاعدة البيانات باستخدام أدوات PostgreSQL العادية
لمزيد من المعلومات، اطّلِع على نظرة عامة على AlloyDB Omni.