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

- افتح وحدة تحكّم Google Cloud وانقر على رمز Cloud Shell في شريط الأدوات أعلى يسار الصفحة.يمكنك أيضًا فتح Cloud Shell بإحدى الطرق التالية:
- إذا كنت تستخدم وحدة تحكّم Google Cloud، اضغط على G ثم S.
- انقر على هذا الرابط.
يستغرق توفير Cloud Shell والاتصال بالبيئة بضع لحظات عادةً. عند اكتمال هذه العملية، ستظهر لك نتيجة مشابهة لما يلي:

3- إنشاء جهاز Compute Engine الافتراضي
في هذا القسم، يمكنك إنشاء جهاز افتراضي واحد على Compute Engine باستخدام أداة سطر الأوامر gcloud. استخدِم صورة Rocky Linux 9 المتوافقة تمامًا مع حِزم AlloyDB Omni RPM.
- حدِّد متغيّرات البيئة لرقم تعريف مشروعك واسم الجهاز الافتراضي والمنطقة والبلد.
export PROJECT="your-project-id" export INSTANCE_NAME="alloydb-omni-multi-vm" export ZONE="us-central1-c" export REGION="us-central1" - سجِّل الدخول باستخدام حسابك على Google Cloud، واضبط المشروع التلقائي.
gcloud auth login gcloud config set project $PROJECT - للسماح باتصالات SSH بالجهاز الظاهري باستخدام خدمة Identity-Aware Proxy (IAP)، أنشئ قاعدة جدار حماية.
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. إعداد الجهاز الافتراضي
في هذا القسم، يمكنك الاتصال بالجهاز الافتراضي الذي أنشأته حديثًا وإعداد بيئة نظام التشغيل.
- اتّصِل بالجهاز الافتراضي عبر بروتوكول SSH باستخدام خدمة "الشراء داخل التطبيق". بما أنّ الجهاز الافتراضي ليس لديه عنوان IP عام، ينشئ
gcloudتلقائيًا نفقًا لاتصال SSH من خلال IAP.gcloud compute ssh $INSTANCE_NAME --zone=$ZONE --project=$PROJECT --tunnel-through-iap - تحديد متغيّر بيئة لدليل البيانات الأساسي
export BASE_PGDATA="/var/lib/alloydbomni" - أنشئ دليل البيانات الأساسي.
sudo mkdir -p $BASE_PGDATA - ثبِّت حزمة
policycoreutils-python-utilsحتى يمكن ضبط سياسة SELinux.sudo dnf install -y policycoreutils-python-utils
5- تثبيت AlloyDB Omni
بعد إعداد الجهاز الافتراضي، يمكنك الآن ضبط مستودع الحِزم وتثبيت حزمة AlloyDB Omni RPM.
- اضبط مستودع YUM على جهازك الافتراضي من خلال إنشاء ملف إعدادات المستودع. استبدِل
$ALLOYDB_OMNI_REPOSITORY_URLبعنوان URL الذي تلقّيته.export ALLOYDB_OMNI_REPOSITORY_URL="..." 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
sudo yum makecache - ثبِّت الإصدار 18 من حزمة AlloyDB Omni RPM.
sudo dnf install -y alloydbomni18
6. إعداد مثيلات متعددة
في هذا القسم، اضبط مثيلَين: inst1 وinst2.
- لإتاحة مثيلات متعددة، أنشئ
systemdملف خدمة النموذجalloydbomni18@.service.sudo tee /etc/systemd/system/alloydbomni18@.service << EOF [Unit] Description=AlloyDB Omni Database server instance %I After=syslog.target After=network-online.target [Service] SyslogIdentifier=alloydbomni-%I Type=notify User=postgres Group=postgres # Load configuration for the instance EnvironmentFile=/etc/alloydbomni/%I.conf OOMScoreAdjust=-1000 Environment=PG_OOM_ADJUST_FILE=/proc/self/oom_score_adj Environment=PG_OOM_ADJUST_VALUE=0 ExecStartPre=/usr/lib/postgresql/18/bin/alloydbomni18-check-db-dir \${PGDATA} ExecStart=/usr/lib/postgresql/18/bin/postgres -D \${PGDATA} ExecReload=/bin/kill -HUP \$MAINPID KillMode=mixed KillSignal=SIGINT TimeoutSec=0 TimeoutStartSec=0 TimeoutStopSec=1h [Install] WantedBy=multi-user.target EOF - أعِد تحميل إعدادات مدير
systemdللتعرّف على خدمة النموذج الجديدة.sudo systemctl daemon-reload - أنشئ دليل الإعداد لآلات AlloyDB Omni الافتراضية.
sudo mkdir -p /etc/alloydbomni - اضبط دليل البيانات في
inst1.sudo tee /etc/alloydbomni/inst1.conf << EOF PGDATA=/var/lib/alloydbomni/inst1 EOF - اضبط دليل البيانات في
inst2.sudo tee /etc/alloydbomni/inst2.conf << EOF PGDATA=/var/lib/alloydbomni/inst2 EOF - اضبط الأذونات المناسبة على ملفات الإعداد.
sudo chmod 640 /etc/alloydbomni/*.conf sudo chown postgres:postgres /etc/alloydbomni/*.conf - أنشِئ أدلة البيانات لكلتا الآلتين الافتراضيتين واضبط الملكية الصحيحة.
sudo mkdir -p /var/lib/alloydbomni/inst1 sudo mkdir -p /var/lib/alloydbomni/inst2 sudo chown -R postgres:postgres /var/lib/alloydbomni sudo chmod 750 /var/lib/alloydbomni/inst1 /var/lib/alloydbomni/inst2 - اختياري: اضبط حدود الموارد لكل آلة افتراضية. يمنع ذلك إحدى الآلات الافتراضية من استهلاك جميع موارد الآلة الافتراضية. أنشئ
systemdأدلة وملفات بديلة لكلتا الحالتين.ملاحظة: إنّ حدود الموارد المستخدَمة في الإعدادات التالية (40%) هي قيم مثال. عدِّل الحدود استنادًا إلى حجم عبء العمل وسعة الجهاز الظاهري.بالنسبة إلىinst1: بالنسبة إلىsudo mkdir -p /etc/systemd/system/alloydbomni18@inst1.service.d sudo tee /etc/systemd/system/alloydbomni18@inst1.service.d/override.conf << EOF [Service] CPUQuota=40% MemoryMax=40% EOFinst2:sudo mkdir -p /etc/systemd/system/alloydbomni18@inst2.service.d sudo tee /etc/systemd/system/alloydbomni18@inst2.service.d/override.conf << EOF [Service] CPUQuota=40% MemoryMax=40% EOF
7. إعداد قواعد البيانات وتجهيزها
يجب تهيئة كل مثيل لقاعدة البيانات وإعداده بشكل منفصل.
- اضبط SELinux على الوضع المتساهل لإجراء عملية الإعداد.
تنبيه: يؤدي ضبط SELinux على وضع التساهل إلى إيقاف التنفيذ ويجب استخدامه بحذر. ويتم استخدامه في هذا الدرس التطبيقي لتبسيط عملية التثبيت. في مرحلة الإنتاج، اضبط سياسات SELinux المناسبة لتشغيل AlloyDB Omni في وضع التنفيذ. يمكنك إعادة تفعيل فرض القيود بعد الإعداد من خلال تنفيذsudo setenforce 0sudo setenforce 1. - حدِّد كلمة مرور قوية لمستخدم المشرف
postgresفي PostgreSQL. يتم استخدام كلمة المرور هذه في كلتا الحالتين في هذا الدرس التطبيقي. ملاحظة: يتم هنا تمرير كلمات المرور باستخدام متغيّرات البيئة في سطر الأوامر (مثلexport PGPASSWORD="YourStrongPassword123!"PGPASSWORD=$PGPASSWORD) لتبسيط عملية التدريب العملي، ولكن يمكن أن يؤدي ذلك إلى الكشف عن كلمة المرور في قوائم العمليات. في مرحلة الإنتاج، استخدِم طرقًا أكثر أمانًا، مثل ملف.pgpassأو أداة إدارة الأسرار.
إعداد inst1
- ابدأ إعداد دليل قاعدة البيانات لـ
inst1.sudo PGPASSWORD=$PGPASSWORD \ PGDATA=/var/lib/alloydbomni/inst1 \ /usr/lib/postgresql/18/bin/alloydbomni18-setup initdb - اضبط الجهاز الظاهري للاستماع على المنفذ
5433من خلال تعديل ملفpostgresql.conf.sudo sed -i \ "s/^#*[[:space:]]*port[[:space:]]*=[[:space:]]*[0-9]*/port = 5433/" \ /var/lib/alloydbomni/inst1/postgresql.conf - جهِّز مثيل قاعدة البيانات لاستخدام AlloyDB Omni.
sudo PGPASSWORD=$PGPASSWORD \ PGDATA=/var/lib/alloydbomni/inst1 \ PGPORT=5433 \ /usr/lib/postgresql/18/bin/alloydbomni18-setup preparedb
إعداد inst2
- ابدأ إعداد دليل قاعدة البيانات لـ
inst2.sudo PGPASSWORD=$PGPASSWORD \ PGDATA=/var/lib/alloydbomni/inst2 \ /usr/lib/postgresql/18/bin/alloydbomni18-setup initdb - اضبط الجهاز الظاهري للاستماع على المنفذ
5434.sudo sed -i \ "s/^#*[[:space:]]*port[[:space:]]*=[[:space:]]*[0-9]*/port = 5434/" \ /var/lib/alloydbomni/inst2/postgresql.conf - إعداد مثيل قاعدة البيانات
sudo PGPASSWORD=$PGPASSWORD \ PGDATA=/var/lib/alloydbomni/inst2 \ PGPORT=5434 \ /usr/lib/postgresql/18/bin/alloydbomni18-setup preparedb
8. بدء خدمات AlloyDB Omni
يمكنك الآن بدء خدمات systemd لكلتا الحالتين.
- للتعرّف على الإعدادات الجديدة وعمليات التجاوز، أعِد تحميل إعدادات أداة إدارة
systemd.sudo systemctl daemon-reload - فعِّل الخدمة وابدأها لـ "
inst1".sudo systemctl enable alloydbomni18@inst1 sudo systemctl start alloydbomni18@inst1 - فعِّل الخدمة وابدأها لـ "
inst2".sudo systemctl enable alloydbomni18@inst2 sudo systemctl start alloydbomni18@inst2 - تأكَّد من أنّ كلتا الخدمتَين نشطتَين وقيد التشغيل.
تأكَّد من أنّ الناتج لكليهما يشير إلىsudo systemctl status alloydbomni18@inst1 sudo systemctl status alloydbomni18@inst2Active: active (running).
9. التحقّق من آلات AlloyDB Omni الافتراضية
تأكَّد من أنّ كلتا الحالتين تعملان بشكلٍ صحيح ومستقل.
- اتّصِل بـ
inst1(المنفذ 5433). سيُطلب منك إدخال كلمة المرور التي أعددتها في تهيئة قواعد البيانات وإعدادها./usr/lib/postgresql/18/bin/psql -h localhost -p 5433 -U postgres -W - تشغيل طلب بحث للتحقّق من الربط
postgres=# SELECT version(); - قطع الاتصال بالمثيل
postgres=# \q - اتّصِل بـ
inst2(المنفذ 5434)./usr/lib/postgresql/18/bin/psql -h localhost -p 5434 -U postgres -W - تشغيل طلب بحث للتحقّق من الربط
postgres=# SELECT version(); - قطع الاتصال بالمثيل
postgres=# \q
10. إعداد النسخ المتماثل باستخدام pglogical
اضبط عملية النسخ المتطابق المنطقي بين مثيلَي قاعدة البيانات باستخدام الإضافة pglogical. في هذا السيناريو، يعمل inst1 كمقدّم خدمة ويعمل inst2 كمشترك.
ملاحظة: يستخدم هذا الدرس التطبيقي postgres superuser لاتصالات النسخ المتماثل. في بيئة التشغيل الفعلي، أنشئ مستخدمًا مخصّصًا للنسخ المتماثل لديه امتيازات REPLICATION، وامنحه إذن الوصول إلى الجداول التي يتم نسخها بشكل متماثل فقط.
ضبط مثيلات pglogical
- فعِّل
pglogicalفيshared_preload_librariesواضبط مَعلمات النسخ المتماثل الأخرى فيpostgresql.confلـinst1.# Append pglogical to shared_preload_libraries sudo sed -i \ "s/\(shared_preload_libraries\s*=\s*'\)\([^']*\)'/\1\2,pglogical'/" \ /var/lib/alloydbomni/inst1/postgresql.conf # Append replication settings sudo tee -a /var/lib/alloydbomni/inst1/postgresql.conf << EOF wal_level = logical max_replication_slots = 10 max_wal_senders = 10 max_worker_processes = 20 track_commit_timestamp = on alloydb.enable_pglogical = on alloydb.logical_decoding = on EOF - اضبط إعدادات
inst2التي ضبطتها فيinst1.# Append pglogical to shared_preload_libraries sudo sed -i \ "s/\(shared_preload_libraries\s*=\s*'\)\([^']*\)'/\1\2,pglogical'/" \ /var/lib/alloydbomni/inst2/postgresql.conf # Append replication settings sudo tee -a /var/lib/alloydbomni/inst2/postgresql.conf << EOF wal_level = logical max_replication_slots = 10 max_wal_senders = 10 max_worker_processes = 20 track_commit_timestamp = on alloydb.enable_pglogical = on alloydb.logical_decoding = on EOF - لتطبيق تغييرات الإعداد، أعِد تشغيل كلتا الآلتين الافتراضيتين.
sudo systemctl restart alloydbomni18@inst1 sudo systemctl restart alloydbomni18@inst2
إعداد أدوار وجداول النسخ المتماثل
- على
inst1(الموفّر، المنفذ 5433)، أنشئ دور النسخ المتماثل والجدول الذي سيتم نسخه./usr/lib/postgresql/18/bin/psql -h localhost -p 5433 \ -U postgres -d postgres -c " DO \$\$ BEGIN IF NOT EXISTS (SELECT FROM pg_catalog.pg_roles WHERE rolname = 'app_owner') THEN CREATE ROLE app_owner WITH LOGIN PASSWORD 'Password123'; END IF; END \$\$; GRANT ALL ON SCHEMA public TO app_owner; CREATE TABLE IF NOT EXISTS replication_test ( id SERIAL PRIMARY KEY, data TEXT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); ALTER TABLE replication_test OWNER TO app_owner; " - على
inst2(المشترك، المنفذ 5434)، أنشئ بنية الدور والجدول نفسها./usr/lib/postgresql/18/bin/psql -h localhost -p 5434 \ -U postgres -d postgres -c " DO \$\$ BEGIN IF NOT EXISTS (SELECT FROM pg_catalog.pg_roles WHERE rolname = 'app_owner') THEN CREATE ROLE app_owner WITH LOGIN PASSWORD 'Password123'; END IF; END \$\$; GRANT ALL ON SCHEMA public TO app_owner; CREATE TABLE IF NOT EXISTS replication_test ( id SERIAL PRIMARY KEY, data TEXT, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); ALTER TABLE replication_test OWNER TO app_owner; "
ضبط عقد pglogical والاشتراك
- ابدأ إعداد عقدة موفّر pglogical على
inst1./usr/lib/postgresql/18/bin/psql -h localhost -p 5433 \ -U postgres -d postgres -c " CREATE EXTENSION IF NOT EXISTS pglogical; SELECT pglogical.create_node( node_name := 'provider', dsn := 'host=127.0.0.1 port=5433 dbname=postgres user=postgres password=YourStrongPassword123!' ); SELECT pglogical.replication_set_add_table('default', 'replication_test'); " - ابدأ عُقدة المشترك في pglogical وأنشئ الاشتراك على
inst2. ملاحظة: بعد إنشاء الاشتراك، قد يستغرق اكتمال المزامنة الأولية بعض الوقت./usr/lib/postgresql/18/bin/psql -h localhost -p 5434 \ -U postgres -d postgres -c " CREATE EXTENSION IF NOT EXISTS pglogical; SELECT pglogical.create_node( node_name := 'subscriber', dsn := 'host=127.0.0.1 port=5434 dbname=postgres user=postgres password=YourStrongPassword123!' ); SELECT pglogical.create_subscription( subscription_name := 'test_subscription', provider_dsn := 'host=127.0.0.1 port=5433 dbname=postgres user=postgres password=YourStrongPassword123!' ); "
11. التحقّق من عملية النسخ المتماثل pglogical
تأكَّد من أنّ عملية النسخ المتماثل تعمل على النحو المتوقّع من خلال إدراج البيانات في المزوّد والاستعلام عنها في المشترك.
- تأكَّد من أنّ الاشتراك نشط. قد يستغرق الانتقال إلى
replicatingبضع ثوانٍ./usr/lib/postgresql/18/bin/psql -t -A -h localhost -p 5434 \ -U postgres -d postgres -c " SELECT status FROM pglogical.show_subscription_status() WHERE subscription_name = 'test_subscription'; " - تأكَّد من أنّ الناتج يعرض
replicatingقبل المتابعة. - أدرِج صفًا تجريبيًا في جدول موفّر الخدمة (
inst1)./usr/lib/postgresql/18/bin/psql -h localhost -p 5433 \ -U postgres -d postgres -c " INSERT INTO replication_test (data) VALUES ('Hello from replication provider!'); " - للتأكّد من تكرار البيانات، استعلم عن الجدول في
inst2. تأكَّد من ظهور الصف الذي تم إدراجه في/usr/lib/postgresql/18/bin/psql -h localhost -p 5434 \ -U postgres -d postgres -c "SELECT * FROM replication_test;"inst1.
12. تنظيف
تنظيف الموارد أولاً، عليك إيقاف مثيلات AlloyDB Omni على الجهاز الظاهري، ثم حذف موارد Google Cloud.
محو نُسخ AlloyDB Omni
قبل حذف الجهاز الافتراضي، يمكنك تنظيف مثيلات AlloyDB Omni من خلال إيقاف الخدمات وإيقافها، وإزالة إعداداتها وبياناتها.
- إيقاف الخدمة وتعطيلها لحساب
inst1وإزالة بياناتها وإعداداتهاsudo systemctl stop alloydbomni18@inst1 sudo systemctl disable alloydbomni18@inst1 sudo rm -rf /var/lib/alloydbomni/inst1 sudo rm -f /etc/alloydbomni/inst1.conf - إيقاف الخدمة وتعطيلها لحساب
inst2وإزالة بياناتها وإعداداتهاsudo systemctl stop alloydbomni18@inst2 sudo systemctl disable alloydbomni18@inst2 sudo rm -rf /var/lib/alloydbomni/inst2 sudo rm -f /etc/alloydbomni/inst2.conf - أعِد تحميل إعدادات مدير systemd وأعِد ضبط الوحدات التي تعذّر تحميلها.
sudo systemctl daemon-reload sudo systemctl reset-failed
تنظيف موارد Google Cloud
بعد تنظيف المثيلات، احذف الجهاز الافتراضي على Compute Engine والموارد الأخرى.
- قطع الاتصال بجلسة SSH
exit - احذف آلة Compute Engine الافتراضية.
gcloud compute instances delete $INSTANCE_NAME --zone=$ZONE --project=$PROJECT --quiet - احذف قاعدة جدار الحماية.
gcloud compute firewall-rules delete allow-ssh-alloydb-omni --project=$PROJECT --quiet - احذف Cloud NAT وجهاز التوجيه.
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 - احذف مسار الإنترنت التلقائي.
gcloud compute routes delete default-internet-route --project=$PROJECT --quiet
13. تهانينا
لقد نجحت في نشر وإعداد عدة مثيلات من AlloyDB Omni على جهاز Compute Engine افتراضي واحد.
المواضيع التي تناولناها
- كيفية توفير جهاز Compute Engine الظاهري وإعداده
- كيفية تثبيت حِزم RPM في AlloyDB Omni
- كيفية ضبط نماذج
systemdلعدة حالات - كيفية بدء خدمات مستقلة متعددة وإعدادها وتشغيلها على منافذ مختلفة
- كيفية التحقّق من استقلالية كل مثيل
مزيد من المعلومات
- راجِع مستندات AlloyDB Omni للحصول على مزيد من المعلومات حول التثبيت والإعداد.
- للحصول على تفاصيل حول إضافة النسخ المتماثل المستخدَمة في هذا الدرس العملي، يُرجى الاطّلاع على مستندات pglogical.