1. সংক্ষিপ্ত বিবরণ
শেষ আপডেট: ২০২০-০৭-২৩
ক্লাউড স্প্যানার কী?
গুগল ক্লাউড স্প্যানার হল একটি বিশ্বব্যাপী বিতরণকৃত, ACID-সম্মত ডাটাবেস যা স্বয়ংক্রিয়ভাবে প্রতিলিপি, শারডিং এবং লেনদেন প্রক্রিয়াকরণ পরিচালনা করে, যাতে আপনি যেকোনো ব্যবহারের ধরণ পূরণ করতে দ্রুত স্কেল করতে পারেন এবং আপনার পণ্যের সাফল্য নিশ্চিত করতে পারেন।
মূল বৈশিষ্ট্য
- রিলেশনাল ডাটাবেস, স্কেলের জন্য তৈরি: একটি রিলেশনাল ডাটাবেস থেকে আপনি যা আশা করবেন - স্কিমা, SQL কোয়েরি এবং ACID লেনদেন - পরীক্ষিত এবং বিশ্বব্যাপী স্কেল করার জন্য প্রস্তুত।
- ৯৯.৯৯৯% প্রাপ্যতা: ক্লাউড স্প্যানার বহু-আঞ্চলিক ক্ষেত্রে শিল্প-নেতৃস্থানীয় ৯৯.৯৯৯% প্রাপ্যতা প্রদান করে—চারটি নাইন-এর তুলনায় ১০ গুণ কম ডাউনটাইম—এবং অঞ্চল এবং বহু-অঞ্চল কনফিগারেশন জুড়ে স্বচ্ছ, সমলয় প্রতিলিপি প্রদান করে।
- স্বয়ংক্রিয়ভাবে ভাগ করা: ক্লাউড স্প্যানার অনুরোধের লোড এবং ডেটার আকারের উপর ভিত্তি করে স্বয়ংক্রিয়ভাবে ডেটা ভাগ করে কর্মক্ষমতা অপ্টিমাইজ করে। ফলস্বরূপ, আপনি আপনার ডাটাবেস কীভাবে স্কেল করবেন তা নিয়ে চিন্তা করার জন্য কম সময় ব্যয় করতে পারেন এবং পরিবর্তে আপনার ব্যবসাকে স্কেল করার উপর মনোযোগ দিতে পারেন।
তুমি কি শিখবে
- গুগল ক্লাউড টেরাফর্ম প্রোভাইডার কীভাবে ব্যবহার করবেন।
- ক্লাউড স্প্যানার ইনস্ট্যান্স এবং ডাটাবেস তৈরি করতে টেরাফর্ম ব্যবহার করা।
- ক্লাউড স্প্যানার রিসোর্স পরিবর্তন করতে টেরাফর্ম ব্যবহার করা।
- ক্লাউড স্প্যানার রিসোর্স মুছে ফেলার জন্য টেরাফর্ম ব্যবহার করা।
2. সেটআপ এবং প্রয়োজনীয়তা
স্ব-গতিসম্পন্ন পরিবেশ সেটআপ
যদি আপনার ইতিমধ্যেই একটি Google অ্যাকাউন্ট (Gmail বা Google Apps) না থাকে, তাহলে আপনাকে অবশ্যই একটি তৈরি করতে হবে। Google Cloud Platform কনসোলে ( console.cloud.google.com ) সাইন-ইন করুন এবং একটি নতুন প্রকল্প তৈরি করুন:


প্রোজেক্ট আইডি মনে রাখবেন, সমস্ত গুগল ক্লাউড প্রোজেক্টের জন্য একটি অনন্য নাম (উপরের নামটি ইতিমধ্যেই নেওয়া হয়েছে এবং আপনার জন্য কাজ করবে না, দুঃখিত!)। এই কোডল্যাবে পরে এটিকে PROJECT_ID হিসাবে উল্লেখ করা হবে।
এরপর, গুগল ক্লাউড রিসোর্স ব্যবহার করার জন্য আপনাকে ক্লাউড কনসোলে বিলিং সক্ষম করতে হবে।
এই কোডল্যাবটি চালাতে আপনার কয়েক ডলারের বেশি খরচ হবে না, তবে আপনি যদি আরও বেশি রিসোর্স ব্যবহার করার সিদ্ধান্ত নেন অথবা সেগুলি চালিয়ে যেতে থাকেন তবে এটি আরও বেশি হতে পারে (এই নথির শেষে "পরিষ্কার" বিভাগটি দেখুন)।
গুগল ক্লাউড প্ল্যাটফর্মের নতুন ব্যবহারকারীরা $300 এর বিনামূল্যে ট্রায়ালের জন্য যোগ্য।
প্রমাণীকরণ
যদি আগে না করে থাকেন, তাহলে অনুগ্রহ করে gcloud কমান্ড লাইন টুলটি ইনস্টল করুন। gcloud ইনস্টল হয়ে গেলে, আপনার টার্মিনালে নিম্নলিখিত কমান্ডটি চালিয়ে অ্যাপ্লিকেশন ডিফল্ট শংসাপত্রগুলি সক্রিয় করুন:
$ gcloud auth application-default login
টেরাফর্ম
যদি আপনি আগে Terraform ইনস্টল না করে থাকেন, তাহলে Terraform ইনস্টল করুন ।
৩. গুগল ক্লাউড টেরাফর্ম প্রোভাইডার
গুগল ক্লাউড টেরাফর্ম প্রোভাইডার চারটি ক্লাউড স্প্যানার রিসোর্স প্রদান করে:
- গুগল_স্প্যানার_ইনস্ট্যান্স
- গুগল_স্প্যানার_ডাটাবেস
- গুগল_স্প্যানার_ইনস্ট্যান্স_আইএএম
- গুগল_স্প্যানার_ডাটাবেস_আইএএম
এই কোডল্যাবে, আমরা ক্লাউড স্প্যানার ইনস্ট্যান্স এবং ডাটাবেস তৈরি এবং পরিচালনা করব।
পরিবেশ
আপনার ডেভেলপমেন্ট পরিবেশে, আপনার টেরাফর্ম কনফিগারেশন ফাইলগুলির জন্য একটি নতুন ডিরেক্টরি তৈরি করুন।
$ mkdir ~/terraform-spanner $ cd ~/terraform-spanner
তারপর, নিম্নলিখিত কন্টেন্ট দিয়ে "main.tf" নামে একটি ফাইল তৈরি করুন এবং আপনার নিজস্ব Google Cloud প্রজেক্ট আইডি দিয়ে PROJECT_ID প্রতিস্থাপন করুন:
$ cat >> main.tf <<'EOF'
provider "google" {
project = "PROJECT_ID"
}
EOF
এই কোডল্যাবের বাকি অংশে, আমরা এই ফাইলটি পরিবর্তন করব এবং পরিবর্তনগুলি প্রয়োগ করব।
৪. ইনস্ট্যান্স এবং ডাটাবেস তৈরি করা
একটি নতুন ক্লাউড স্প্যানার ইনস্ট্যান্স যোগ করতে নিম্নলিখিত কন্টেন্ট ব্যবহার করে main.tf পরিবর্তন করুন:
provider "google" {
project = "PROJECT_ID"
}
resource "google_spanner_instance" "main" {
config = "regional-us-central1"
display_name = "first-terraform-instance"
num_nodes = 3
}
পরিবর্তনগুলি প্রয়োগ করতে নিম্নলিখিত কমান্ডটি চালান:
$ terraform apply # ... Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value: yes # ... Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
পরিবর্তনগুলি প্রয়োগ করার পরে, আপনি Google Cloud Console এ ইনস্ট্যান্সটি দেখতে সক্ষম হবেন। অনুগ্রহ করে মনে রাখবেন যে একটি ইনস্ট্যান্স তৈরি করার পরে আঞ্চলিক কনফিগারেশন পরিবর্তন করা সম্ভব নয়।

ইনস্ট্যান্স তৈরি করার পর, আমরা পরবর্তী ধাপে একটি ডাটাবেস তৈরি করব। নিম্নলিখিত বিষয়বস্তু দিয়ে main.tf পরিবর্তন করুন:
provider "google" {
project = "PROJECT_ID"
}
resource "google_spanner_instance" "main" {
config = "regional-us-central1"
display_name = "first-terraform-instance"
num_nodes = 3
}
resource "google_spanner_database" "database" {
instance = google_spanner_instance.main.name
name = "my-first-database"
}
আবার, পরিবর্তনগুলি প্রয়োগ করতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন:
$ terraform apply # ... Apply complete! Resources: 0 added, 1 changed, 0 destroyed.
সফল হলে, my-first-database নিম্নলিখিত উদাহরণের অধীনে উপলব্ধ হবে:

৫. একটি ইনস্ট্যান্স পরিবর্তন করা
আগের অংশে যেমন উল্লেখ করা হয়েছে, ইনস্ট্যান্সের সমস্ত বৈশিষ্ট্য পরিবর্তনযোগ্য নয়। তবে ইনস্ট্যান্স দ্বারা ব্যবহৃত রিসোর্সগুলি সামঞ্জস্য করার জন্য আপনি নোডের সংখ্যা বাড়াতে/কমাতে পারেন। তৈরি করা ইনস্ট্যান্সে 3টি নোড ছিল। main.tf ফাইলটি পরিবর্তন করে, আমরা নোডের সংখ্যা 5-এ বৃদ্ধি করতে যাচ্ছি:
provider "google" {
project = "PROJECT_ID"
}
resource "google_spanner_instance" "main" {
config = "regional-us-central1"
display_name = "first-terraform-instance"
num_nodes = 5
}
resource "google_spanner_database" "database" {
instance = google_spanner_instance.main.name
name = "my-first-database"
}
পরবর্তী ধাপ হল পরিবর্তনগুলি প্রয়োগ করা:
$ terraform apply # ... Apply complete! Resources: 0 added, 1 changed, 0 destroyed.
একবার সফল হলে, ইনস্ট্যান্সটি ৫টি নোড ব্যবহার করবে।
৬. একটি ডাটাবেস মুছে ফেলা
আপনার আর প্রয়োজন না হলে আপনি একটি ডাটাবেস স্থায়ীভাবে মুছে ফেলতে পারেন। কেবল, main.tf থেকে ডাটাবেসটি সরিয়ে ফেলুন এবং পরিবর্তনগুলি প্রয়োগ করুন।
provider "google" {
project = "PROJECT_ID"
}
resource "google_spanner_instance" "main" {
config = "regional-us-central1"
display_name = "first-terraform-instance"
num_nodes = 5
}
$ terraform apply # ... Apply complete! Resources: 0 added, 0 changed, 1 destroyed.
সফল হলে, ডাটাবেস স্থায়ীভাবে মুছে ফেলা হবে।
৭. একটি ইনস্ট্যান্স মুছে ফেলা
আপনার আর প্রয়োজন না হলে আপনি একটি ইনস্ট্যান্স স্থায়ীভাবে মুছে ফেলতে পারেন। কেবল, main.tf থেকে ইনস্ট্যান্সটি সরিয়ে ফেলুন এবং পরিবর্তনগুলি প্রয়োগ করুন।
provider "google" {
project = "PROJECT_ID"
}
$ terraform apply # ... Apply complete! Resources: 0 added, 0 changed, 1 destroyed.
একবার সফল হলে, ইনস্ট্যান্সটি স্থায়ীভাবে মুছে ফেলা হবে।
৮. অভিনন্দন!
আপনি Terraform ব্যবহার করে Cloud Spanner রিসোর্স তৈরি, পরিবর্তন এবং মুছে ফেলেছেন।
আমরা যা কভার করেছি
- গুগল ক্লাউড টেরাফর্ম প্রোভাইডার কীভাবে ব্যবহার করবেন।
- ক্লাউড স্প্যানার ইনস্ট্যান্স এবং ডাটাবেস তৈরি করতে টেরাফর্ম ব্যবহার করা।
- ক্লাউড স্প্যানার রিসোর্স পরিবর্তন করতে টেরাফর্ম ব্যবহার করা।
- ক্লাউড স্প্যানার রিসোর্স মুছে ফেলার জন্য টেরাফর্ম ব্যবহার করা।
আরও জানুন
- গুগল ক্লাউড স্প্যানার ডকুমেন্টেশন দেখুন।
- গুগল ক্লাউড স্প্যানার টেরাফর্ম রিসোর্স সম্পর্কে পড়ুন।
- ইনস্ট্যান্স এবং ডাটাবেসের জন্য IAM নিয়ম সেট করা সম্পর্কে পড়ুন।