1. مقدمة
توفّر منصة Looker (حزمة Google Cloud الأساسية) توفيرًا بسيطًا و سلسًا لإدارة النسخة الافتراضية من Looker وإعداداتها وإدارتها من Google Cloud Console. قد يتم أيضًا تنفيذ بعض مهام إدارة المثيلات من وحدة التحكّم.
تتوفّر ثلاثة إعدادات شبكة لنُسخ Looker (نظام Google Cloud الأساسي):
- عام: يستخدم الاتصال بالشبكة عنوان IP خارجيًا يمكن الوصول إليه من الإنترنت.
- خاص: يستخدم الاتصال بالشبكة عنوان IP داخليًا لسحابة إلكترونية خاصة (VPC) تستضيفه Google.
- عام وخاص: يستخدم اتصال الشبكة كلاً من عنوان IP العام وعنوان IP الخاص، حيث سيتم توجيه حركة البيانات الواردة عبر عنوان IP عام وسيتم توجيه حركة البيانات الصادرة عبر عنوان IP خاص.
في البرنامج التعليمي، عليك تفعيل شبكة خاصة شاملة لتوفير إمكانية اتصال Looker بشبكة افتراضية خاصة داخل الشركة عبر شبكة VPN عالية التوفّر يمكن نسخها لاستيفاء متطلباتك المتعلّقة بالسحابة الإلكترونية المتعددة والاتصال داخل المؤسسة.
تتوافق منصة Looker (حزمة Google Cloud الأساسية) مع عنوان IP الخاص للمثيلات التي تستوفي المعايير التالية:
- يجب أن تكون إصدارات المثيلات Enterprise أو Embed.
ما الذي ستنشئه
في هذا الدليل التعليمي، ستنشئ عملية نشر خاصة وشاملة لشبكة Looker في شبكة VPC مستقلة تتميّز بإمكانية اتصال مختلط بالسحابة الإلكترونية المتعددة وفي المؤسسة.
عليك إعداد شبكة VPC باسم on-prem-vpc
لتمثيل بيئة داخل الشركة. بالنسبة إلى النشر، لن يكون vpc في مقر الشركة، وبدلاً من ذلك سيتم استخدام شبكة مختلَطة لمركز البيانات داخل المؤسسة أو مزود السحابة الإلكترونية.
في ما يلي الخطوات الرئيسية للبرنامج التعليمي
- إنشاء شبكة VPC مستقلة في us-central1
- تخصيص شبكة فرعية لعنوان IP للوصول إلى الخدمة الخاصة
- نشر نسخة Looker في شبكة VPC المستقلة
- إنشاء حدث VPC في مقر الشركة والشبكات المختلطة
- الإعلان عن نطاق عناوين IP لمنصة Looker والتحقّق من صحته من خلال بروتوكول BGP
- دمج والتحقّق من اتصالات بيانات Looker وPostgresql
Figure1
ما ستتعرَّف عليه
- طريقة إنشاء شبكة VPC وشبكات مختلَطة مرتبطة بها
- كيفية نشر Looker في إصدار افتراضي مستقل (vPC)
- طريقة إنشاء حدث VPC في مقر الشركة وشبكات مختلَطة مرتبطة به
- اربط vpc في مقر الشركة بإحصاءات vps عبر شبكة VPN عالية الجودة
- كيفية الإعلان عن شبكات Looker الفرعية عبر الشبكات المختلطة
- كيفية مراقبة البنية الأساسية للشبكات المختلطة
- كيفية دمج قاعدة بيانات Postgresql مع Looker Cloud Core
المتطلبات
- مشروع Google Cloud
أذونات "إدارة الهوية وإمكانية الوصول"
2. قبل البدء
تعديل المشروع لدعم الدليل التعليمي
يستخدم هذا البرنامج التعليمي $variables للمساعدة في تنفيذ تهيئة gcloud في Cloud Shell.
داخل Cloud Shell، يمكنك تنفيذ ما يلي:
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectid=YOUR-PROJECT-NAME
echo $projectid
3- إعداد سحابة VPC
إنشاء analytics-vpc
داخل Cloud Shell، يمكنك تنفيذ ما يلي:
gcloud compute networks create analytics-vpc --project=$projectid --subnet-mode=custom
إنشاء حدث on-prem-vpc
داخل Cloud Shell، يمكنك تنفيذ ما يلي:
gcloud compute networks create on-prem-vpc --project=$projectid --subnet-mode=custom
إنشاء الشبكة الفرعية لقاعدة بيانات Postgresql
داخل Cloud Shell، يمكنك تنفيذ ما يلي:
gcloud compute networks subnets create database-subnet-us-central1 --project=$projectid --range=172.16.10.0/27 --network=on-prem-vpc --region=us-central1
إعدادات جهاز توجيه السحابة الإلكترونية وترجمة عنوان الشبكة (NAT)
يتم استخدام ترجمة عنوان الشبكة في السحابة الإلكترونية في البرنامج التعليمي لتثبيت حزمة البرامج لأن مثيل الجهاز الافتراضي لقاعدة البيانات لا يحتوي على عنوان IP خارجي.
داخل Cloud Shell، أنشئ Cloud Router.
gcloud compute routers create on-prem-cr-us-central1-nat --network on-prem-vpc --region us-central1
داخل Cloud Shell، أنشئ بوابة NAT.
gcloud compute routers nats create on-prem-nat-us-central1 --router=on-prem-cr-us-central1-nat --auto-allocate-nat-external-ips --nat-all-subnet-ip-ranges --region us-central1
إنشاء مثيل اختبار قاعدة البيانات
إنشاء مثيل لقاعدة بيانات postgres-database سيتم استخدامه لاختبار الاتصال بمنصة Looker والتحقّق من صحته
أنشئ المثيل داخل Cloud Shell.
gcloud compute instances create postgres-database \
--project=$projectid \
--zone=us-central1-a \
--machine-type=e2-medium \
--subnet=database-subnet-us-central1 \
--no-address \
--image=projects/ubuntu-os-cloud/global/images/ubuntu-2304-lunar-amd64-v20230621 \
--metadata startup-script="#! /bin/bash
sudo apt-get update
sudo apt -y install postgresql postgresql-client postgresql-contrib -y"
إنشاء قواعد جدار حماية
للسماح لعمليات الشراء داخل التطبيق بالاتصال بمثيلات الأجهزة الافتراضية، أنشِئ قاعدة جدار حماية تعمل على:
- ينطبق ذلك على جميع مثيلات الأجهزة الافتراضية التي تريد أن تتوفّر إمكانية الوصول إليها من خلال استخدام الشراء داخل التطبيق.
- يسمح بالزيارات الواردة من نطاق IP 35.235.240.0/20. يحتوي هذا النطاق على جميع عناوين IP التي يستخدمها بروتوكول IAP لإعادة توجيه بروتوكول التحكم بالنقل.
من Cloud Shell
gcloud compute firewall-rules create on-prem-ssh \
--network on-prem-vpc --allow tcp:22 --source-ranges=35.235.240.0/20
4. الوصول إلى الخدمات الخاصة
إنّ الوصول إلى الخدمات الخاصة هو اتصال خاص بين شبكة VPC وشبكة مملوكة لشركة Google أو جهة خارجية. تُعرف أيضًا Google أو الجهات الخارجية التي تقدّم الخدمات باسم منتجي الخدمات. Looker Cloud Core هي منتج خدمة.
يفعِّل الاتصال الخاص مثيلات الأجهزة الافتراضية في شبكة VPC والخدمات التي يمكنك الوصول إليها للتواصل حصريًا باستخدام عناوين IP الداخلية.
على مستوى عالٍ، لاستخدام الوصول إلى الخدمات الخاصة، عليك تخصيص نطاق عنوان IP (كتلة CIDR) في شبكة VPC ثم إنشاء اتصال خاص بمنتج الخدمة.
تخصيص نطاق عنوان IP للخدمات
قبل إنشاء اتصال خاص، عليك تخصيص نطاق عنوان IPv4 لاستخدامه من خلال شبكة VPC الخاصة بمنتج الخدمة. يضمن ذلك عدم حدوث تضارب في عنوان IP بين شبكة VPC الخاصة بك وشبكة منتج الخدمة.
عند تخصيص نطاق في شبكة VPC، لا يكون هذا النطاق مؤهَّلاً للشبكات الفرعية (النطاقات الأساسية والثانوية) ووجهات المسارات الثابتة المخصّصة.
لا يُتاح استخدام نطاقات عناوين IPv6 مع الوصول إلى الخدمات الخاصة.
تفعيل واجهة برمجة تطبيقات شبكات الخدمة لمشروعك في وحدة التحكّم في Google Cloud عند تفعيل واجهة برمجة التطبيقات، قد تحتاج إلى إعادة تحميل صفحة وحدة التحكّم لتأكيد أنّه قد تم تفعيلها.
إنشاء عملية تخصيص لعنوان IP
لتحديد نطاق عنوان وطول بادئة (قناع الشبكة الفرعية)، استخدم العناوين وعلامات طول البادئة. على سبيل المثال، لتخصيص كتلة CIDR 192.168.0.0/22، حدد 192.168.0.0 للعنوان و22 لطول البادئة.
داخل Cloud Shell، أنشئ تخصيص عنوان IP لمنصة Looker.
gcloud compute addresses create psa-range-looker \
--global \
--purpose=VPC_PEERING \
--addresses=192.168.0.0 \
--prefix-length=22 \
--description="psa range for looker" \
--network=analytics-vpc
داخل Cloud Shell، تحقَّق من صحة تخصيص عنوان IP.
gcloud compute addresses list --global --filter="purpose=VPC_PEERING"
مثال:
userl@cloudshell$ gcloud compute addresses list --global --filter="purpose=VPC_PEERING"
NAME: psa-range-looker
ADDRESS/RANGE: 192.168.0.0/22
TYPE: INTERNAL
PURPOSE: VPC_PEERING
NETWORK: analytics-vpc
REGION:
SUBNET:
STATUS: RESERVED
إنشاء اتصال خاص
بعد إنشاء نطاق مخصّص، يمكنك إنشاء اتصال خاص بمنتِج الخدمة، Looker Cloud Core. يُنشئ الاتصال الخاص اتصال تبادل المعلومات بين شبكات VPC بين شبكة VPC وشبكة VPC بعد إنشاء نسخة Looker.
الاتصالات الخاصة هي علاقة مباشرة بين شبكة VPC ومنتج الخدمة. إذا كان منتِج الخدمة الواحد يقدم خدمات متعددة، فستحتاج فقط إلى اتصال خاص واحد لجميع خدمات المنتِج.
إذا اتصلت بالعديد من منتجي الخدمات، استخدم تخصيصًا فريدًا لكل منتج خدمة. تساعدك هذه الممارسة في إدارة إعدادات الشبكة، مثل المسارات وقواعد جدار الحماية، لكل منتج خدمة.
داخل Cloud Shell، أنشئ اتصالاً خاصًا، ودوِّن اسم العملية.
gcloud services vpc-peerings connect \
--service=servicenetworking.googleapis.com \
--ranges=psa-range-looker \
--network=analytics-vpc
مثال:
user@cloudshell$ gcloud services vpc-peerings connect \
--service=servicenetworking.googleapis.com \
--ranges=psa-range-looker \
--network=analytics-vpc
Operation "operations/pssn.p24-1049481044803-f16d61ba-7db0-4516-b525-cd0be063d4ea" finished successfully.
داخل Cloud Shell، تحقَّق مما إذا كانت العملية ناجحة أم لا، واستبدِل OPERATION_NAME بالاسم الذي تم إنشاؤه في الخطوة السابقة.
gcloud services vpc-peerings operations describe \
--name=OPERATION_NAME
مثال:
user@cloudshell$ gcloud services vpc-peerings operations describe \
--name=operations/pssn.p24-1049481044803-f16d61ba-7db0-4516-b525-cd0be063d4ea
Operation "operations/pssn.p24-1049481044803-f16d61ba-7db0-4516-b525-cd0be063d4ea" finished successfully.
5- إنشاء نسخة افتراضية من Looker (نظام Google Cloud الأساسي)
قبل البدء
فعِّل Looker API لمشروعك في وحدة تحكّم Google Cloud. عند تفعيل واجهة برمجة التطبيقات، قد تحتاج إلى إعادة تحميل صفحة وحدة التحكّم لتأكيد أنّه قد تم تفعيلها.
إعداد عميل OAuth للمصادقة على المثيل والوصول إليه
في القسم التالي، ستحتاج إلى استخدام معرّف وسر عميل OAuth لإنشاء نسخة Looker.
ولا حاجة إلى مصادر JavaScript المعتمَدة ومعرّفات الموارد المنتظمة (URI) لإعادة التوجيه.
داخل Cloud Console، يمكنك إنشاء مثيل استنادًا إلى لقطات الشاشة المقدّمة.
انتقِل إلى LOOKER ← إنشاء مثيل
تعبئة معرّف وسر عميل OAuth الذي تم إنشاؤه مسبقًا
انقر على إنشاء.
أثناء إنشاء المثيل، ستتم إعادة توجيهك إلى صفحة المثيلات في وحدة التحكّم. قد تحتاج إلى إعادة تحميل الصفحة للاطّلاع على حالة المثيل الجديد. يمكنك أيضًا الاطّلاع على نشاط إنشاء المثيل من خلال النقر على رمز الإشعارات في قائمة Google Cloud Console. أثناء إنشاء المثيل، سيكون رمز الإشعارات في قائمة Google Cloud Console محاطًا برمز تحميل.
بعد إنشاء نسخة Looker، يتم إنشاء عنوان URL للمثيل. دوِّن عنوان URL.
6- تعديل معرِّف عميل OAuth 2.0
في القسم التالي، ستحتاج إلى تعديل معرِّف عميل OAuth الذي تم إنشاؤه مسبقًا، وهو معرِّف الموارد المنتظم (URI) لعملية إعادة التوجيه المصرح بها من خلال إلحاق /oauth2callback
بعنوان URL للمثيل.
بعد الانتهاء، يمكنك استخدام عنوان URL للمثيل لتسجيل الدخول إلى واجهة مستخدم Looker.
داخل Cloud Console، انتقِل إلى واجهات برمجة التطبيقات الخدمات ← شهادات الاعتماد
يُرجى اختيار معرّف عميل Oauth 2.0 وتعديل عنوان URL للنسخة الافتراضية، كما هو موضّح في المثال أدناه:
7. التحقُّق من إذن الوصول إلى Looker
في Cloud Console، انتقِل إلى Looker واختَر عنوان URL للنسخة الافتراضية الذي سيفتح واجهة مستخدم Looker.
بعد الإطلاق، ستظهر لك الصفحة المقصودة حسب لقطة الشاشة أدناه التي تؤكّد وصولك إلى Looker Cloud Core.
8. الاتصال المختلَط
في القسم التالي، ستنشئ "جهاز توجيه السحابة الإلكترونية" الذي يمكّنك من تبادل المسارات ديناميكيًا بين السحابة الإلكترونية الخاصة الافتراضية (VPC) وشبكة التطبيقات المشابهة باستخدام بروتوكول بوابة الحدود (BGP).
يمكن لجهاز Cloud Router إعداد جلسة بروتوكول BGP من خلال نفق VPN على السحابة الإلكترونية للاتصال بشبكاتك. تتعرّف هذه الميزة تلقائيًا على نطاقات عناوين IP الجديدة للشبكة الفرعية وتعلِنها إلى شبكة أقرانك.
في الدليل التعليمي، ستعمل على تفعيل شبكة VPN العالية الدقة بين analytics-vpc وon-prem-vpc لتوضيح الاتصال الخاص بمنصة Looker.
أنشئ شبكة VPN الخاصة بالشبكات عالية الكثافة لـ analytics-vpc
عند إنشاء كل مدخل، يتم تلقائيًا تخصيص عنوانين خارجيين من عناوين IPv4، حيث يتم تخصيص عنوانين لكل واجهة مدخل. دوِّن عناوين IP هذه لاستخدامها لاحقًا في خطوات الضبط.
داخل Cloud Shell، يمكنك إنشاء شبكة VPN بمعايير HA VPN
gcloud compute vpn-gateways create analytics-vpn-gw \
--network=analytics-vpc\
--region=us-central1
أنشئ شبكة VPN التي توفّر إمكانية الاتصال بجودة عالية لجهاز on-prem-vpc
عند إنشاء كل مدخل، يتم تلقائيًا تخصيص عنوانين خارجيين من عناوين IPv4، حيث يتم تخصيص عنوانين لكل واجهة مدخل. دوِّن عناوين IP هذه لاستخدامها لاحقًا في خطوات الضبط.
داخل Cloud Shell، أنشئ شبكة VPN HA VPN GW.
gcloud compute vpn-gateways create on-prem-vpn-gw \
--network=on-prem-vpc\
--region=us-central1
التحقّق من إنشاء GW لشبكة VPN HA
باستخدام وحدة التحكّم، انتقِل إلى HYBRID CONNECTIVITY ← شبكة VPN ← CLOUD VPN GATEWAYS.
إنشاء Cloud Router لـ analytics-vpc
داخل Cloud Shell، أنشئ Cloud Router الذي يقع في us-central1
gcloud compute routers create analytics-cr-us-central1 \
--region=us-central1 \
--network=analytics-vpc\
--asn=65001
إنشاء Cloud Router لجهاز كمبيوتر vpc على شبكة الشركة
داخل Cloud Shell، أنشئ Cloud Router الذي يقع في us-central1
gcloud compute routers create on-prem-cr-us-central1 \
--region=us-central1 \
--network=on-prem-vpc \
--asn=65002
إنشاء أنفاق VPN لاتصال analytics-vpc
ستحتاج إلى إنشاء نفقَين لشبكة VPN على كل مدخل شبكة VPN الخاص بشبكة HA.
إنشاء نفق شبكة VPN 0
داخل Cloud Shell، أنشئ نفقًا 0:
gcloud compute vpn-tunnels create analytics-vpc-tunnel0 \
--peer-gcp-gateway on-prem-vpn-gw \
--region us-central1 \
--ike-version 2 \
--shared-secret [ZzTLxKL8fmRykwNDfCvEFIjmlYLhMucH] \
--router analytics-cr-us-central1 \
--vpn-gateway analytics-vpn-gw \
--interface 0
إنشاء نفق 1 لشبكة VPN
داخل Cloud Shell، أنشئ نفقًا1:
gcloud compute vpn-tunnels create analytics-vpc-tunnel1 \
--peer-gcp-gateway on-prem-vpn-gw \
--region us-central1 \
--ike-version 2 \
--shared-secret [bcyPaboPl8fSkXRmvONGJzWTrc6tRqY5] \
--router analytics-cr-us-central1 \
--vpn-gateway analytics-vpn-gw \
--interface 1
إنشاء أنفاق VPN لـ on-prem-vpc
ستحتاج إلى إنشاء نفقَين لشبكة VPN على كل مدخل شبكة VPN الخاص بشبكة HA.
إنشاء نفق شبكة VPN 0
داخل Cloud Shell، أنشئ نفقًا 0:
gcloud compute vpn-tunnels create on-prem-tunnel0 \
--peer-gcp-gateway analytics-vpn-gw \
--region us-central1 \
--ike-version 2 \
--shared-secret [ZzTLxKL8fmRykwNDfCvEFIjmlYLhMucH] \
--router on-prem-cr-us-central1 \
--vpn-gateway on-prem-vpn-gw \
--interface 0
إنشاء نفق 1 لشبكة VPN
داخل Cloud Shell، أنشئ نفقًا1:
gcloud compute vpn-tunnels create on-prem-tunnel1 \
--peer-gcp-gateway analytics-vpn-gw \
--region us-central1 \
--ike-version 2 \
--shared-secret [bcyPaboPl8fSkXRmvONGJzWTrc6tRqY5] \
--router on-prem-cr-us-central1 \
--vpn-gateway on-prem-vpn-gw \
--interface 1
التحقّق من إنشاء نفق شبكة VPN
باستخدام وحدة التحكّم، انتقِل إلى HYBRID CONNECTIVITY ← شبكة VPN ← CLOUD VPN TUNNELS.
9. إنشاء جيران لـ BGP
إنشاء جلسات BGP
في هذا القسم، يمكنك ضبط واجهات Cloud Router وأقران BGP.
إنشاء واجهة BGP وتبادل المعلومات بين الشبكات لـ analytics-vpc
داخل Cloud Shell، أنشئ واجهة BGP:
gcloud compute routers add-interface analytics-cr-us-central1 \
--interface-name if-tunnel0-to-onprem \
--ip-address 169.254.1.1 \
--mask-length 30 \
--vpn-tunnel analytics-vpc-tunnel0 \
--region us-central1
داخل Cloud Shell، أنشئ نظير BGP:
gcloud compute routers add-bgp-peer analytics-cr-us-central1 \
--peer-name bgp-on-premises-tunnel0 \
--interface if-tunnel1-to-onprem \
--peer-ip-address 169.254.1.2 \
--peer-asn 65002 \
--region us-central1
داخل Cloud Shell، أنشئ واجهة BGP:
gcloud compute routers add-interface analytics-cr-us-central1 \
--interface-name if-tunnel1-to-onprem \
--ip-address 169.254.2.1 \
--mask-length 30 \
--vpn-tunnel analytics-vpc-tunnel1 \
--region us-central1
داخل Cloud Shell، أنشئ نظير BGP:
gcloud compute routers add-bgp-peer analytics-cr-us-central1 \
--peer-name bgp-on-premises-tunnel1 \
--interface if-tunnel2-to-onprem \
--peer-ip-address 169.254.2.2 \
--peer-asn 65002 \
--region us-central1
إنشاء واجهة BGP وتبادل المعلومات بين وحدات vPC داخل الشركة
داخل Cloud Shell، أنشئ واجهة BGP:
gcloud compute routers add-interface on-prem-cr-us-central1 \
--interface-name if-tunnel0-to-analytics-vpc \
--ip-address 169.254.1.2 \
--mask-length 30 \
--vpn-tunnel on-prem-tunnel0 \
--region us-central1
داخل Cloud Shell، أنشئ نظير BGP:
gcloud compute routers add-bgp-peer on-prem-cr-us-central1 \
--peer-name bgp-analytics-vpc-tunnel0 \
--interface if-tunnel1-to-analytics-vpc \
--peer-ip-address 169.254.1.1 \
--peer-asn 65001 \
--region us-central1
داخل Cloud Shell، أنشئ واجهة BGP:
gcloud compute routers add-interface on-prem-cr-us-central1 \
--interface-name if-tunnel1-to-analytics-vpc \
--ip-address 169.254.2.2 \
--mask-length 30 \
--vpn-tunnel on-prem-tunnel1 \
--region us-central1
داخل Cloud Shell، أنشئ نظير BGP:
gcloud compute routers add-bgp-peer on-prem-cr-us-central1 \
--peer-name bgp-analytics-vpc-tunnel1\
--interface if-tunnel2-to-analytics-vpc \
--peer-ip-address 169.254.2.1 \
--peer-asn 65001 \
--region us-central1
انتقِل إلى الاتصال المختلط ← شبكة VPN للاطّلاع على تفاصيل الاتصال النفقي الخاص بشبكة VPN.
التحقّق من صحة المسارات التي تم رصدها استنادًا إلى إحصاءات VPC عبر شبكة VPN عالية التوفّر
نظرًا لأنه يتم إنشاء أنفاق الشبكة الافتراضية الخاصة (HA) معيَّنة وجلسات BGP، يتم معرفة المسارات من vpc على مقر الشركة من analytics-vpc. باستخدام وحدة التحكّم، انتقِل إلى شبكة VPC ← شبكات VPC ← analytics-vpc ← المسارات ← Region ← us-central1 ← VIEW
ملاحظة أن analytics-vpc قد تعلم المسارات من on-prem-vpcDatabase-subnet-us-central1 172.16.10.0/27
تأكَّد من أنّ vPC لم يتعلّم المسارات من خلال شبكة VPN العالية الدقة.
لا يحتوي analytics-vpc على شبكة فرعية، وبالتالي لن تعلن Cloud Router عن أي شبكات فرعية لـ on-prem-vpc . باستخدام وحدة التحكّم، انتقِل إلى شبكة VPC ← شبكات VPC ← on-prem-vpc ← المسارات ← المنطقة ← us-central1 ← عرض
10. الإعلان عن شبكة Looker الفرعية لاستخدامها في مقر الشركة
لا يتم الإعلان تلقائيًا عن الشبكة الفرعية للوصول إلى الخدمة الخاصة في Looker بواسطة موجِّه السحابة الإلكترونية analytics-cr-us-central1 لأنّ الشبكة الفرعية تكون مخصّصة لإعلانات الخدمة العامة (PSA) وليس إلى شبكة VPC.
ستحتاج إلى إنشاء إعلان مسار مخصّص من analytics-cr-central1 للشبكة الفرعية لخدمة الخدمة العامة 192.168.0.0/22 (psa-range-looker) لأنّه سيتم الإعلان عنه في البيئة الداخلية واستخدامه من خلال أحمال العمل للوصول إلى Looker.
من وحدة التحكّم، انتقِل إلى HYBRID CONNECTIVITY ← CLOUD ROUTERS ← analytics-cr-us-central1، ثم انقر على تعديل.
في قسم "المسارات المُعلَن عنها"، حدِّد الخيار إنشاء مسارات مخصّصة، وعدِّل الحقول بناءً على المثال أدناه، واختَر تم، ثم انقر على حفظ.
11. التحقّق من أنّ ملف on-prem-vpc قد تعرَّف على الشبكة الفرعية في Looker
سيتمكّن الآن vpc on-prem-vpc من الوصول إلى الشبكة الفرعية لإعلانات الخدمة العامة في Looker لأنّه تم الإعلان عنه من analytics-cr-us-central1 كإعلان مسار مخصّص.
باستخدام وحدة التحكّم، انتقِل إلى VPC NETWORK ← VPC NETWORKS ← on-prem-vpc ← ROUTES ← Region ← us-central1 ← VIEW
ملاحظة مسارات Looker المُعلَن عنها من analytics-vpc:
12. التحقّق من تبادل المعلومات بين سحابة VPC الحالي
يتم الربط بين Looker Cloud Core ومنصّة analytics-vPC من خلال تبادل المعلومات بين شبكات VPC، ما يسمح بتبادل المسارات المخصّصة التي تم تعلُّمها من خلال بروتوكول BGP. في البرنامج التعليمي، سيحتاج analytics-vpc إلى نشر المسارات التي تم تعلمها بواسطة on-prem-vpc إلى Looker. لتفعيل هذه الوظيفة، يتطلّب تبادل المعلومات بين شبكات VPC تحديثًا لتصدير المسارات المخصَّصة.
التحقق من صحة المسارات المستورَدة والمُصدَّرة الحالية.
انتقِل إلى VPC NETWORK ← VPC NETWORK PEERING ← servicenetworking-googleapis-com.
توضّح لقطة الشاشة أدناه تفاصيل analytics-vpc التي يستورد فيها psa-range-looker من شبكة VPC المُدارة من قِبل Google، وservicenetworking.
اختَر عمليات تسجيل "المسارات القابلة للتصدير" (EXPORTED ROUTES) أي عمليات تصدير إلى شبكة VPC المتكاملة منذ 1) لم يتم ضبط الشبكات الفرعية في analytics-vpc 2) لم يتم اختيار مسارات التصدير المخصّصة.
13. تعديل تبادل المعلومات بين سحابة VPC
انتقِل إلى VPC NETWORK ← VPC NETWORK PEERING ← servicenetworking-googleapis-com ← تعديل
انقر على تصدير مسارات مخصّصة ← حفظ.
14. التحقّق من تبادل المعلومات بين شبكات VPC المعدَّل
التحقق من صحة المسارات التي تم تصديرها.
انتقِل إلى VPC NETWORK ← VPC NETWORK PEERING ← servicenetworking-googleapis-com.
يكشف خيار "مسارات مقترَحة" عن مسارات vPC المتوفّرة في الشركة (الشبكة الفرعية لقاعدة البيانات 172.16.10.0/27) التي يتم تصديرها إلى شبكة VPC التي تستضيف Looker من خلال analytics-vpc.
15. إنشاء قاعدة بيانات لاحقة في Looker
في القسم التالي، ستُجري SSH في جهاز postgres-database لقاعدة البيانات باستخدام Cloud Shell.
داخل Cloud Shell، يمكنك تنفيذ ssh على مثيل قاعدة بيانات postgres-data**.**
gcloud compute ssh --zone "us-central1-a" "postgres-database" --project "$projectid"
داخل نظام التشغيل، حدِّد ولاحظ عنوان IP (ens4) لمثيل postgres-database.
ip a
مثال:
user@postgres-database:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1460 qdisc mq state UP group default qlen 1000
link/ether 42:01:ac:10:0a:02 brd ff:ff:ff:ff:ff:ff
altname enp0s4
inet 172.16.10.2/32 metric 100 scope global dynamic ens4
valid_lft 84592sec preferred_lft 84592sec
inet6 fe80::4001:acff:fe10:a02/64 scope link
valid_lft forever preferred_lft forever
داخل نظام التشغيل، سجّل الدخول إلى postgresql.
sudo -u postgres psql postgres
أدخِل كلمة المرور داخل نظام التشغيل.
\password postgres
داخل نظام التشغيل، اضبط كلمة المرور على النشر (أدخل كلمة المرور نفسها مرتين)
postgres
مثال:
user@postgres-database:~$ sudo -u postgres psql postgres
\password postgres
psql (13.11 (Debian 13.11-0+deb11u1))
Type "help" for help.
postgres=# \password postgres
Enter new password for user "postgres":
Enter it again:
داخل نظام التشغيل، اخرج من postgres.
\q
مثال:
postgres=# \q
user@postgres-database:~$
في القسم التالي، ستضيف عنوان IP لمثيل قاعدة البيانات postgres-database والشبكة الفرعية الخاصة بـ Looker الخاصة بـ Google Access (192.168.0.0/22) في ملف pg_hba.conf ضمن الاتصالات المحلية للإصدار 4 من بروتوكول الإنترنت حسب لقطة الشاشة أدناه:
sudo nano /etc/postgresql/15/main/pg_hba.conf
في القسم التالي، ألغِ تعليق postgresql.conf للاستماع إلى جميع "*". عناوين IP وفقًا للقطة الشاشة أدناه:
sudo nano /etc/postgresql/15/main/postgresql.conf
قبل:
بعد:
داخل نظام التشغيل، أعِد تشغيل خدمة postgresql.
sudo service postgresql restart
داخل نظام التشغيل، تحقق من أن حالة postgresql نشطة.
sudo service postgresql status
مثال:
داخل نظام التشغيل، تحقق من أن حالة postgresql نشطة.
user@postgres-database$ sudo service postgresql status
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; preset: enabled)
Active: active (exited) since Sat 2023-07-01 23:40:59 UTC; 7s ago
Process: 4073 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 4073 (code=exited, status=0/SUCCESS)
CPU: 2ms
Jul 01 23:40:59 postgres-database systemd[1]: Starting postgresql.service - PostgreSQL RDBMS...
Jul 01 23:40:59 postgres-database systemd[1]: Finished postgresql.service - PostgreSQL RDBMS.
16. إنشاء قاعدة بيانات Postgres
في القسم التالي، ستنشئ قاعدة بيانات postgres_looker ومخطط looker_schema المستخدمة للتحقق من اتصال Looker باتصال الشركة.
داخل نظام التشغيل، قم بتسجيل الدخول إلى postgres.
sudo -u postgres psql postgres
داخل نظام التشغيل، قم بإنشاء قاعدة البيانات.
create database postgres_looker;
داخل نظام التشغيل، أدرج قاعدة البيانات.
\l
داخل نظام التشغيل، إنشاء user looker باستخدام عارض كلمة المرور
create user postgres_looker with password 'postgreslooker';
داخل نظام التشغيل، قم بالاتصال بقاعدة البيانات.
\c postgres_looker;
داخل نظام التشغيل، أنشئ مخطط Looker-schema واخرج إلى طلب Cloud Shell.
create schema looker_schema;
create table looker_schema.test(firstname CHAR(15), lastname CHAR(20));
exit
مثال:
user@postgres-database$ sudo -u postgres psql postgres
psql (15.3 (Ubuntu 15.3-0ubuntu0.23.04.1))
Type "help" for help.
postgres=# create database postgres_looker;
CREATE DATABASE
postgres=# \l
List of databases
Name | Owner | Encoding | Collate | Ctype | ICU Locale | Locale Provider | Access privileges
-----------------+----------+----------+---------+---------+------------+-----------------+-----------------------
postgres | postgres | UTF8 | C.UTF-8 | C.UTF-8 | | libc |
postgres_looker | postgres | UTF8 | C.UTF-8 | C.UTF-8 | | libc |
template0 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | | libc | =c/postgres +
| | | | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | | libc | =c/postgres +
| | | | | | | postgres=CTc/postgres
(4 rows)
postgres=# create user postgres_looker with password 'postgreslooker';
CREATE ROLE
postgres=# \c postgres_looker;
You are now connected to database "postgres_looker" as user "postgres".
postgres_looker=# create schema looker_schema;
CREATE SCHEMA
postgres_looker=# create table looker_schema.test(firstname CHAR(15), lastname CHAR(20));
CREATE TABLE
postgres_looker=# exit
اخرج من نظام التشغيل، وعُد إلى Cloud Shell.
\q
exit
17. إنشاء جدار حماية في ملف vpc على جهاز الكمبيوتر
في القسم التالي، أنشِئ جدار حماية Ingress باستخدام التسجيل الذي يسمح لاتصال الشبكة الفرعية في Looker بمثيل قاعدة البيانات postgres-database.
من Cloud Shell، أنشئ جدار حماية VPC في الشركة.
gcloud compute --project=$projectid firewall-rules create looker-access-to-postgres --direction=INGRESS --priority=1000 --network=on-prem-vpc --action=ALLOW --rules=all --source-ranges=192.168.0.0/22 --enable-logging
18 إنشاء نظام أسماء نطاقات خاص في analytics-vpc
على الرغم من تفعيل Looker في شبكة VPC مُدارة من Google، يمكن الوصول إلى نظام أسماء النطاقات الخاص VPC في "إحصاءات Google" من خلال تبادل المعلومات بين الشبكات مع شبكات الخدمات.
في القسم التالي، ستنشئ منطقة نظام أسماء نطاقات خاصة في analytics-vpc وتتألف من سجل A لمثيل postgres-database باسم النطاق المؤهل بالكامل (postgres.analytics.com)
وعنوان IP.)
من Cloud Shell، أنشئ المنطقة الخاصة analytics.com.
gcloud dns --project=$projectid managed-zones create gcp-private-zone --description="" --dns-name="analytics.com." --visibility="private" --networks="https://www.googleapis.com/compute/v1/projects/$projectid/global/networks/analytics-vpc"
من Cloud Shell، حدِّد عنوان IP لمثيل postgres-database.
gcloud compute instances describe postgres-database --zone=us-central1-a | grep networkIP:
مثال:
user@cloudshell$ gcloud compute instances describe postgres-database --zone=us-central1-a | grep networkIP:
networkIP: 172.16.10.2
من Cloud Shell، أنشئ سجلّ A، وتأكّد من إضافة عنوان IP المحدّد مسبقًا.
gcloud dns --project=$projectid record-sets create postgres.analytics.com. --zone="gcp-private-zone" --type="A" --ttl="300" --rrdatas="your-postgres-database-ip"
مثال:
user@cloudshell$ gcloud dns --project=$projectid record-sets create postgres.analytics.com. --zone="gcp-private-zone" --type="A" --ttl="300" --rrdatas="172.16.10.2"
NAME: postgres.analytics.com.
TYPE: A
TTL: 300
DATA: 172.16.10.2
من Cloud Shell، ملحق نظام أسماء النطاقات من نظير analytics.com. إلى شبكات الخدمات، ما يسمح بوصول Looker إلى المنطقة الخاصة الافتراضية الخاصة بـ analytics-vpc.
gcloud services peered-dns-domains create looker-com --network=analytics-vpc --service=servicenetworking.googleapis.com --dns-suffix=analytics.com.
19. دمج Looker مع قاعدة بيانات Postgres postgres
في القسم التالي، ستستخدم Cloud Console لإنشاء اتصال قاعدة بيانات بمثيل postgres-database داخل الشركة.
في Cloud Console، انتقِل إلى Looker واختَر عنوان URL للنسخة الافتراضية الذي سيفتح واجهة مستخدم Looker.
بعد إطلاق الميزة، ستظهر لك الصفحة المقصودة كما هو موضّح في لقطة الشاشة أدناه.
انتقِل إلى المشرف ← قاعدة البيانات ← "الروابط" ← إضافة اتصال.
املأ تفاصيل الربط كما هو موضّح في لقطة الشاشة أدناه، وانقر على ربط.
تم الاتصال بنجاح الآن
20. التحقّق من اتصال Looker
في القسم التالي، ستتعرّف على كيفية التحقّق من صحة اتصال Looker بقاعدة بيانات postgres-vpc في on-prem-vpc باستخدام أداة Looker. وTCPDUMP.
من Cloud Shell، سجِّل الدخول إلى قاعدة بيانات postgres-data في حال انتهاء مهلة الجلسة.
داخل Cloud Shell، يمكنك تنفيذ ما يلي:
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectid=YOUR-PROJECT-NAME
echo $projectid
gcloud compute ssh --zone "us-central1-a" "postgres-database" --project "$projectid"
من نظام التشغيل، أنشئ فلتر TCPDUMP باستخدام الشبكة الفرعية psa-range-looker 192.168.0.0/22
sudo tcpdump -i any net 192.168.0.0/22 -nn
انتقِل إلى قسم اتصال البيانات المشرف ← قاعدة البيانات ← الاتصالات ← اختيار ← اختبار
بعد اختيار "اختبار"، سيتم ربط Looker بقاعدة بيانات postgres-data بنجاح كما هو موضّح أدناه:
انتقل مرة أخرى إلى الوحدة الطرفية لنظام التشغيل وتحقق من أن TCPDUMP قد حدد أن psc-range-looker يتصل بمثيل postgres-database المحلي.
أضِف ملاحظة أنّ أي عنوان IP من نطاق إعلانات الخدمة العامة (PSA) سيظهر من Looker.
user@postgres-database$ sudo tcpdump -i any net 192.168.0.0/22 -nn
tcpdump: data link type LINUX_SLL2
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
00:16:55.121631 ens4 In IP 192.168.1.24.46892 > 172.16.10.2.5432: Flags [S], seq 2221858189, win 42600, options [mss 1366,sackOK,TS val 4045928414 ecr 0,nop,wscale 7], length 0
00:16:55.121683 ens4 Out IP 172.16.10.2.5432 > 192.168.1.24.46892: Flags [S.], seq 1464964586, ack 2221858190, win 64768, options [mss 1420,sackOK,TS val 368503074 ecr 4045928414,nop,wscale 7], length 0
21. اقتراحات الأمان
هناك عدد قليل من اقتراحات الأمان وأفضل الممارسات المتعلقة بتأمين Looker وقاعدة بيانات Postgres. تشمل هذه الطرق ما يلي:
- إعداد أذونات حساب قاعدة البيانات الأقل امتيازًا لتطبيق Looker الذي لا يزال يسمح بتنفيذ الوظائف المطلوبة
- البيانات التي يتم نقلها بين واجهة مستخدم العميل وLooker وLooker إلى قاعدة البيانات في المشفّرة باستخدام الإصدار 1.2 من بروتوكول أمان طبقة النقل (TLS) أو الإصدارات الأحدث
- يتم تلقائيًا تشفير البيانات غير النشِطة، ويمكن للعميل أيضًا الاستفادة من CMEK في مثيلات Looker ( https://cloud.google.com/looker/docs/looker-core-cmek) وPostgres ( https://cloud.google.com/sql/docs/postgres/configure-cmek).
- التحكّم في الوصول إلى Looker: يمكن لمشرفي Looker التحكّم في ما يمكن لمبدأ أو مجموعة من المستخدمين الاطّلاع عليه وتنفيذه في Looker من خلال منح الإذن بالوصول إلى المحتوى والوصول إلى البيانات والوصول إلى الميزات. تسمح هذه الخيارات لمشرف Looker بتحديد أدوار معيّنة تشمل مجموعة النموذج والأذونات، وإنشاء تحكُّم دقيق في الوصول إلى البيانات.
- تتيح أداة Looker كلاً من سجلات التدقيق وسجلات الوصول إلى البيانات التي تسجِّل الإجراءات التي نفّذها المستخدمون وأوقاتها ومكانها. ويتم تفعيل سجلات التدقيق تلقائيًا بينما يجب تفعيل سجلات "الوصول إلى البيانات" بشكل صريح.
- تتوافق VPC-SC حاليًا مع النسخ الافتراضية للمؤسسات والتضمين التي تم ضبطها باستخدام عنوان IP خاص فقط.
22. تَنظيم
احذف نسخة Looker Cloud Core، انتقِل إلى:
LOOKER ← برنامج Looker التعليمي ← DELETE
من Cloud Shell، احذف مكوّنات الدليل التوجيهي.
gcloud compute vpn-tunnels delete analytics-vpc-tunnel0 analytics-vpc-tunnel1 on-prem-tunnel0 on-prem-tunnel1 --region=us-central1 --quiet
gcloud compute vpn-gateways delete analytics-vpn-gw on-prem-vpn-gw --region=us-central1 --quiet
gcloud compute routers delete analytics-cr-us-central1 on-prem-cr-us-central1 on-prem-cr-us-central1-nat --region=us-central1 --quiet
gcloud compute instances delete postgres-database --zone=us-central1-a --quiet
gcloud compute networks subnets delete database-subnet-us-central1 --region=us-central1 --quiet
gcloud compute firewall-rules delete looker-access-to-postgres on-prem-ssh --quiet
gcloud dns record-sets delete postgres.analytics.com. --type=A --zone=gcp-private-zone
gcloud dns managed-zones delete gcp-private-zone
gcloud compute networks delete on-prem-vpc --quiet
gcloud compute addresses delete psa-range-looker --global --quiet
gcloud compute networks delete analytics-vpc --quiet
23. تهانينا
تهانينا، لقد نجحت في إعداد والتحقّق من صحة اتصال Looker عبر شبكات مختلطة، ما يتيح التواصل بين البيانات في بيئات داخل الشركة وبيئات السحابة الإلكترونية المتعددة.
نجحت أيضًا في اختبار اتصال Looker Cloud Core بقاعدة بيانات postgres باستخدام "اختبار" Lookers Connect. وTCPDUMP في مثيل قاعدة بيانات postgres.
يعتبر تطبيق Cosmopup الفيديوهات التعليمية رائعة.
تعزيز القراءة الفيديوهات
- نقدّم لك الإصدار الجديد من Looker
- هل تريد نقل البيانات إلى Google Cloud Platform؟ الأهم فالمهم: سحابة VPC
- التوجيه الديناميكي باستخدام Cloud Router
المستندات المرجعية
- مستندات Looker (أساسية Google Cloud)
- إنشاء نسخة افتراضية من Looker (نظام Google Cloud الأساسي)
- إنشاء اتصال عنوان IP خاص لمنصة Looker (نظام Google Cloud الأساسي)
- شبكة افتراضية خاصة (HA) معيَّنة بين شبكات Google Cloud
- إعداد ترجمة عناوين الشبكة وإدارتها باستخدام Cloud NA
- خيارات تبادل المسارات الديناميكية