الاتصال بخدمة Cloud SQL: عنوان IP العام والشبكات المعتمَدة

1. مقدمة

تاريخ آخر تعديل: 2020-05-04

التفكير في الاتصال

هناك العديد من أنواع التطبيقات والأُطر المتاحة. في هذا الدرس التطبيقي حول الترميز، سنتناول كيفية الاتصال بخدمة Cloud SQL من أي مكان. يتم تفعيل إمكانية الاتصال من خلال منح الإذن بشكل صريح لعناوين IP المسموح لها بالاتصال. هذا الخيار هو الأقل أمانًا للاتصال بقاعدة بيانات Cloud SQL، ولكنّه أيضًا الأسهل من حيث الإعداد وبدء الاستخدام.

في بعض الأحيان، يكون من الضروري تنفيذ هذا الإجراء في مرحلة الإنتاج، ولكن إذا كان بإمكانك تجنُّبه، ننصحك باختيار بديل أكثر أمانًا (مثل استخدام Cloud SQL Proxy). هذا الإعداد هو الأنسب للتطوير والاختبار.

ما ستنشئه

هذا الدرس العملي بسيط للغاية. الفكرة هي أن نوضّح لك أساسيات عملية الربط، بدون التفكير كثيرًا في التطبيق نفسه. في عالم مثالي، يكون الربط بخدمة Cloud SQL تمامًا مثل الربط بأي مثيل آخر لقاعدة بيانات SQL، لذا يجب أن تتمكّن من استخدام ما تنشئه في هذا الدرس التطبيقي وتطبيقه على أي تطبيق إنتاج.

ستتضمّن التعليمات شرحًا تفصيليًا لكيفية تنفيذ الإجراءات في وحدة تحكّم Google Cloud Platform، بالإضافة إلى تضمين معادِلات أوامر gcloud لاستخدامها في واجهة سطر الأوامر أو التشغيل الآلي.

في ما يلي الخطوات الفردية:

  • إنشاء مثيل Cloud SQL (يستخدم هذا البرنامج التعليمي Postgres، ولكنّه يعمل بشكل مشابه مع MySQL أو SQL Server) ومنح الإذن لعناوين IP معيّنة بالاتصال به

المتطلبات

  • حساب على "منصة Google السحابية" لديك أذونات لتفعيل واجهات برمجة التطبيقات وإنشاء الخدمات عليه
  • برنامج Postgres المثبَّت للتحقّق من الاتصال (أو برنامج MySQL إذا كنت تريد استخدام MySQL بدلاً من Postgres)

2. إنشاء مثيل Cloud SQL

‫Cloud SQL هي خدمة قواعد البيانات الارتباطية المُدارة التي نقدّمها. وهي تتوافق مع MySQL وPostgreSQL وSQL Server. في هذا الدرس العملي، سننشئ قاعدة بيانات Postgres، ولكن التعليمات متشابهة في جميع الحالات الثلاث.

في "وحدة التحكّم"

انتقِل إلى صفحة Cloud SQL، ثم انقر على الزر 241836b315e11bf5.png.

كما ذكرتُ، معظم هذا الدرس التطبيقي حول الترميز عام لأي نوع من SQL، ولكن في هذا الدرس التطبيقي، اختَر PostgreSQL.

  1. تحديد رقم تعريف للمثيل
  2. اختيار منطقة قريبة من موقعك الجغرافي
  3. أدخِل كلمة مرور للمستخدم التلقائي (سيكون اسم المستخدم هو الاسم التلقائي لقاعدة البيانات المحدّدة، مثل root لـ MySQL أو postgres لـ PostgreSQL).
  4. انتقِل إلى أسفل الصفحة وانقر على show configuration options
  5. توسيع القسم "Connectivity"
  6. تأكَّد من وضع علامة في المربّع Public IP وعدم وضع علامة في المربّع Private IP
  7. انقر على الزر 883b32ec2734de01.png
  8. احصل على عنوان IP الذي تتصل منه. أسهل طريقة هي إجراء بحث على Google عن "ما هو عنوان IP الخاص بي"، وستتضمّن نتائج البحث عنوان IP العلني الخاص بك.
  1. أدخِل مواصفات عنوان IP في حقل الشبكة، وأدخِل اسمًا إذا أردت ذلك، ثم انقر على "تم" في المربّع New Network.
  2. انتقِل إلى أسفل الصفحة وانقر على "إنشاء".

يستغرق بدء تشغيل الجهاز الافتراضي بضع دقائق عادةً.

بعد الانتهاء من إنشاء المثيل، انقر عليه في القائمة، وفي صفحة النظرة العامة، ضمن العنوان Connect to this instance، انسخ public IP address المُدرَج هناك. لن يظهر هذا الخيار إلى أن يتم إنشاء الجهاز الافتراضي بالكامل، حتى إذا كان بإمكانك النقر على التفاصيل قبل أن يتم إنشاء الجهاز الافتراضي بالكامل.

استخدام gcloud

عليك أولاً الحصول على عنوان IP الذي تريد منحه الإذن بالاتصال بمثيل Cloud SQL. أسهل طريقة لإجراء ذلك هي فتح متصفّح والبحث عن "ما هو عنوان IP الخاص بي"، وستعرض نتائج البحث عنوان IP العلني الخاص بك. إذا لم يكن بإمكانك فتح متصفّح من المكان الذي تجري فيه هذه العملية، يمكنك استخدام أداة مثل dig.

dig @resolver1.opendns.com ANY myip.opendns.com +short -4

عليك تحديد منطقة لمثيل Cloud SQL الأقرب إلى موقعك الجغرافي. يمكنك الاطّلاع على قائمة المناطق من خلال تنفيذ ما يلي:

gcloud sql tiers list

تتوفّر كل فئة في مناطق معيّنة فقط. بالنسبة إلى جزء gcloud من البرنامج التعليمي، سننشئ فقط آلة افتراضية صغيرة، لذا يمكنك العثور على المناطق المتاحة لهذه الفئة من خلال تنفيذ ما يلي تحديدًا (طالما أنّ لديك grep مثبّتًا):

gcloud sql tiers list | grep db-f1-micro

سيبدو الأمر لإنشاء المثيل على النحو التالي (لا تنسَ استبدال <AUTHORIZED_IP > بعنوان IP الذي حصلت عليه من المتصفّح أو dig، و<REGION > بمنطقة قريبة منك، وكلمة مرور لمستخدم الجذر"postgres"):

gcloud sql instances create sql-codelab-00 --database-version=POSTGRES_11 --tier=db-f1-micro --region=<REGION> --authorized-networks=<AUTHORIZED_IP> --root-password=<PASSWORD>

يستغرق إكمال هذه الخطوة بضع دقائق.

بعد اكتمال العملية، سيتضمّن الناتج في واجهة سطر الأوامر PRIMARY_ADDRESS للجهاز. انسخ هذا الرمز لاستخدامه في الخطوة التالية.

3- اختبار الاتصال والانتهاء من عملية الإعداد

للتحقّق من إعداد الجهاز بشكل صحيح، يمكنك تنفيذ ما يلي من الجهاز الذي أدخلت عنوان IP الخاص به:

psql "host=<IP copied from previous step> port=5432 sslmode=disable user=postgres"

بعد ذلك، حدِّد كلمة مرور المستخدم التلقائي التي أعددتها عند إنشاء مثيل Cloud SQL.

تهانينا! إذا سارت الأمور على ما يرام، من المفترض أن يظهر لك طلب Postgres ويمكنك تنفيذ الأوامر على قاعدة البيانات.

ما هي الخطوات التالية؟

اطّلِع على بعض دروس الترميز التطبيقية هذه...

المستندات المرجعية