1. ভূমিকা
শেষ আপডেট: 2020-05-04
সংযোগ সম্পর্কে চিন্তা
সেখানে অনেক ধরনের অ্যাপ্লিকেশন এবং ফ্রেমওয়ার্ক রয়েছে। এই কোডল্যাবে, আমরা যে কোনও জায়গা থেকে ক্লাউড এসকিউএল-এর সাথে সংযোগ কভার করব। সংযোগ করার ক্ষমতা সুস্পষ্টভাবে সংযোগ করার অনুমতিপ্রাপ্ত আইপি অনুমোদন করে সক্ষম করা হয়েছে। এটি একটি ক্লাউড এসকিউএল ডাটাবেসের সাথে সংযোগ করার জন্য যুক্তিযুক্তভাবে সর্বনিম্ন নিরাপদ বিকল্প, তবে এটি সেটআপ করা এবং ব্যবহার শুরু করাও সবচেয়ে সহজ।
কখনও কখনও এটি উত্পাদনে এটি করা প্রয়োজন, কিন্তু আপনি যদি এটি করা এড়াতে পারেন, তাহলে আপনাকে আরও নিরাপদ বিকল্প বেছে নেওয়া উচিত (যেমন ক্লাউড SQL প্রক্সি ব্যবহার করা)। এই সেটআপটি বিকাশ এবং পরীক্ষার জন্য সবচেয়ে আদর্শভাবে উপযুক্ত।
আপনি কি নির্মাণ করবেন
এই কোডল্যাবটি খুবই সংক্ষিপ্ত। ধারণাটি হল অ্যাপ্লিকেশন সম্পর্কে খুব বেশি চিন্তা না করে সংযোগের অংশের বাদাম এবং বোল্টের মধ্য দিয়ে আপনাকে হাঁটা। একটি নিখুঁত বিশ্বে, ক্লাউড এসকিউএল-এর সাথে সংযোগ করা একটি SQL ডাটাবেসের অন্য যেকোন উদাহরণের সাথে সংযোগ করার মতোই, তাই আপনি এই কোডল্যাবে যা তৈরি করেন তা নিতে এবং যেকোনো উত্পাদন অ্যাপ্লিকেশনে এটি প্রয়োগ করতে সক্ষম হওয়া উচিত।
নির্দেশাবলীতে জিসিপি কনসোলে কাজ করার জন্য ওয়াক-থ্রু উভয়ই অন্তর্ভুক্ত থাকবে, সেইসাথে সিএলআই বা অটোমেশন ব্যবহারের জন্য জিক্লাউড কমান্ডের সমতুল্য অন্তর্ভুক্ত থাকবে।
স্বতন্ত্র পদক্ষেপগুলি হল:
- একটি ক্লাউড এসকিউএল ইনস্ট্যান্স তৈরি করুন (এই টিউটোরিয়ালটি পোস্টগ্রেস ব্যবহার করে, কিন্তু মাইএসকিউএল বা এসকিউএল সার্ভারের জন্য একইভাবে কাজ করে) এবং এটির সাথে সংযোগ করার জন্য অনুমোদিত নির্দিষ্ট আইপি অনুমোদন করুন
আপনি কি প্রয়োজন হবে
- একটি GCP অ্যাকাউন্ট যেটিতে আপনার API সক্ষম করার এবং পরিষেবা তৈরি করার অনুমতি রয়েছে৷
- সংযোগ যাচাই করতে Postgres ক্লায়েন্ট ইনস্টল করা হয়েছে (অথবা MySQL ক্লায়েন্ট যদি আপনি Postgres এর পরিবর্তে MySQL ব্যবহার করতে চান)
2. ক্লাউড এসকিউএল ইনস্ট্যান্স তৈরি করা
Cloud SQL হল আমাদের পরিচালিত রিলেশনাল ডাটাবেস অফার। এটি MySQL, PostgreSQL এবং SQL সার্ভার সমর্থন করে। এই কোডল্যাবের জন্য, আমরা একটি Postgres ডাটাবেস তৈরি করব, কিন্তু নির্দেশাবলী তিনটির জন্যই একই রকম।
কনসোলে
ক্লাউড এসকিউএল পৃষ্ঠায় যান এবং ক্লিক করুন বোতাম
আমি যেমন উল্লেখ করেছি, এই কোডল্যাবের বেশিরভাগই যেকোন SQL স্বাদের জন্য জেনেরিক, কিন্তু এই কোডল্যাবের জন্য, PostgreSQL বেছে নিন।
- আপনার উদাহরণ একটি আইডি দিন
- আপনি যেখানেই থাকুন না কেন কাছাকাছি একটি অঞ্চল বেছে নিন
- ডিফল্ট ব্যবহারকারীর জন্য একটি পাসওয়ার্ড লিখুন (ব্যবহারকারীর নামটি নির্বাচিত ডিবি-র জন্য ডিফল্ট হবে, যেমন MySQL-এর জন্য
root
বা PostgreSQL-এর জন্যpostgres
) - নীচে স্ক্রোল করুন এবং
show configuration options
ক্লিক করুন -
Connectivity
বিভাগটি প্রসারিত করুন - নিশ্চিত করুন যে
Public IP
চেক করা হয়েছে এবংPrivate IP
আনচেক করা আছে - ক্লিক করুন বোতাম
- আপনি যেখান থেকে সংযোগ করছেন সেখান থেকে আইপি ঠিকানা পান। সবচেয়ে সহজ হল "হোয়াটস মাই আইপি" এর জন্য একটি গুগল সার্চ করা এবং সার্চের ফলাফলে আপনার পাবলিক ফেসিং আইপি রয়েছে৷
- নেটওয়ার্ক ক্ষেত্রে আইপি স্পেসিফিকেশন লিখুন, আপনি যদি চান তবে এটির একটি নাম দিন এবং
New Network
বাক্সে সম্পন্ন ক্লিক করুন। - নীচে স্ক্রোল করুন এবং তৈরি করুন ক্লিক করুন
উদাহরণটি সাধারণত শুরু হতে কয়েক মিনিট সময় নেয়।
একবার দৃষ্টান্ত তৈরি করা হয়ে গেলে, তালিকায় এটিতে ক্লিক করুন, এবং ওভারভিউ পৃষ্ঠায়, Connect to this instance
, সেখানে তালিকাভুক্ত public IP address
অনুলিপি করুন। দৃষ্টান্তটি সম্পূর্ণরূপে তৈরি না হওয়া পর্যন্ত এটি সেখানে থাকবে না যদিও আপনি এটি সম্পূর্ণরূপে ইনস্ট্যান্ট হওয়ার আগে বিশদটিতে ক্লিক করতে পারেন।
জিক্লাউড ব্যবহার করে
প্রথমে, আপনাকে ক্লাউড এসকিউএল ইনস্ট্যান্সের সাথে সংযোগ করার জন্য অনুমোদিত আইপি ঠিকানাটি ধরতে হবে। এটি করার সবচেয়ে সহজ উপায় হল একটি ব্রাউজার খুলুন এবং "আমার আইপি কী" অনুসন্ধান করুন এবং অনুসন্ধানের ফলাফলে আপনার সর্বজনীন আইপি ঠিকানা রয়েছে৷ আপনি যেখান থেকে এটি করছেন সেখান থেকে ব্রাউজার খোলার ক্ষমতা আপনার না থাকলে, আপনি dig
এর মতো একটি ইউটিলিটি ব্যবহার করতে পারেন।
dig @resolver1.opendns.com ANY myip.opendns.com +short -4
আপনি যেখানে আছেন তার নিকটতম আপনার ক্লাউড এসকিউএল ইন্সট্যান্সের জন্য আপনাকে একটি অঞ্চল নির্দিষ্ট করতে হবে। আপনি রান করে অঞ্চলের তালিকা দেখতে পারেন:
gcloud sql tiers list
প্রতিটি স্তর শুধুমাত্র নির্দিষ্ট অঞ্চলে উপলব্ধ। টিউটোরিয়ালের gcloud অংশের জন্য, আমরা শুধু একটি মাইক্রো ইন্সট্যান্স তৈরি করছি, যাতে আপনি বিশেষভাবে চালানোর মাধ্যমে উপলব্ধ এই স্তরের জন্য অঞ্চলগুলি খুঁজে পেতে পারেন (যতক্ষণ আপনি grep ইনস্টল করেছেন):
gcloud sql tiers list | grep db-f1-micro
দৃষ্টান্ত তৈরি করার কমান্ডটি তখন এমন দেখায় (আপনি ব্রাউজার বা ডিগ থেকে যে আইপি পেয়েছেন তা দিয়ে <AUTHORIZED_IP> প্রতিস্থাপন করতে ভুলবেন না এবং আপনার কাছের একজনের সাথে <REGION> এবং রুট ব্যবহারকারীর পোস্টগ্রেসের জন্য একটি পাসওয়ার্ড '):
gcloud sql instances create sql-codelab-00 --database-version=POSTGRES_11 --tier=db-f1-micro --region=<REGION> --authorized-networks=<AUTHORIZED_IP> --root-password=<PASSWORD>
এটি সম্পূর্ণ হতে কয়েক মিনিট সময় নেয়।
এটি সম্পূর্ণ হয়ে গেলে, CLI-এর আউটপুটে উদাহরণের PRIMARY_ADDRESS
তালিকাভুক্ত থাকবে। পরবর্তী পদক্ষেপের জন্য এটি অনুলিপি করুন।
3. সংযোগ পরীক্ষা এবং মোড়ানো আপ
দৃষ্টান্তটি সঠিকভাবে সেটআপ করা হয়েছে তা যাচাই করতে, আপনি যে আইপি ঠিকানাটি প্রবেশ করেছেন সেই মেশিন থেকে, আপনি কমান্ডলাইনে চালাতে পারেন:
psql "হোস্ট=<আইপি পূর্ববর্তী ধাপ থেকে অনুলিপি করা হয়েছে> পোর্ট=5432 sslmode=অক্ষম ব্যবহারকারী=postgres"
তারপর ক্লাউড SQL দৃষ্টান্ত তৈরি করার সময় আপনি যে ডিফল্ট ব্যবহারকারীর পাসওয়ার্ড সেট আপ করেছেন তা নির্দিষ্ট করুন৷
অভিনন্দন! সবকিছু ঠিকঠাক থাকলে, আপনার পোস্টগ্রেস প্রম্পট থাকা উচিত এবং আপনার ডাটাবেসের বিরুদ্ধে কমান্ড চালাতে পারে।
এরপর কি?
এই কোডল্যাবগুলির কিছু পরীক্ষা করে দেখুন...