প্রাইভেট সার্ভিস কানেক্ট ইন্টারফেস ম্যানেজড সার্ভিসেস

1. ভূমিকা

একটি প্রাইভেট সার্ভিস কানেক্ট ইন্টারফেস হল একটি রিসোর্স যা একটি প্রযোজক ভার্চুয়াল প্রাইভেট ক্লাউড (ভিপিসি) নেটওয়ার্ককে একটি ভোক্তা ভিপিসি নেটওয়ার্কের বিভিন্ন গন্তব্যে সংযোগ শুরু করতে দেয়। প্রযোজক এবং ভোক্তা নেটওয়ার্ক বিভিন্ন প্রকল্প এবং সংস্থায় হতে পারে।

যদি একটি নেটওয়ার্ক সংযুক্তি একটি ব্যক্তিগত পরিষেবা সংযোগ ইন্টারফেস থেকে একটি সংযোগ গ্রহণ করে, Google ক্লাউড ইন্টারফেসটিকে একটি ভোক্তা সাবনেট থেকে একটি IP ঠিকানা বরাদ্দ করে যা নেটওয়ার্ক সংযুক্তি দ্বারা নির্দিষ্ট করা হয়েছে৷ ভোক্তা এবং প্রযোজক নেটওয়ার্ক সংযুক্ত থাকে এবং অভ্যন্তরীণ আইপি ঠিকানা ব্যবহার করে যোগাযোগ করতে পারে।

একটি নেটওয়ার্ক সংযুক্তি এবং একটি প্রাইভেট সার্ভিস কানেক্ট ইন্টারফেসের মধ্যে একটি সংযোগ একটি প্রাইভেট সার্ভিস কানেক্ট এন্ডপয়েন্ট এবং একটি পরিষেবা সংযুক্তির মধ্যে সংযোগের অনুরূপ, তবে এর দুটি মূল পার্থক্য রয়েছে:

  • একটি নেটওয়ার্ক সংযুক্তি একটি প্রযোজক নেটওয়ার্ককে একটি ভোক্তা নেটওয়ার্কের সাথে সংযোগ শুরু করতে দেয় (পরিচালিত পরিষেবা বহির্গমন), যখন একটি এন্ডপয়েন্ট একটি ভোক্তা নেটওয়ার্ককে একটি প্রযোজক নেটওয়ার্কের সাথে সংযোগ শুরু করতে দেয় (পরিচালিত পরিষেবা প্রবেশ)।
  • একটি ব্যক্তিগত পরিষেবা সংযোগ ইন্টারফেস সংযোগ ট্রানজিটিভ। এর মানে হল যে একটি প্রযোজক নেটওয়ার্ক ভোক্তা নেটওয়ার্কের সাথে সংযুক্ত অন্যান্য নেটওয়ার্কগুলির সাথে যোগাযোগ করতে পারে।

আপনি কি নির্মাণ করবেন

আপনি ভোক্তা VPC-তে একটি একক psc-নেটওয়ার্ক-সংযুক্তি তৈরি করবেন যার ফলে L4 অভ্যন্তরীণ লোড ব্যালেন্সারের ব্যাকএন্ড হিসাবে দুটি PSC ইন্টারফেস তৈরি হবে। প্রযোজক ভিপিসি বাঘ ব্যাকএন্ড-ভিপিসি-তে কসমোতে একটি কার্ল পাঠাবে। প্রযোজকের ভিপিসি-তে আপনি গন্তব্য ট্র্যাফিকের একটি স্ট্যাটিক রুট তৈরি করবেন 192.168.20.0/28 নেক্সট হপ অভ্যন্তরীণ লোড ব্যালেন্সার হিসাবে যা ব্যাকএন্ড এবং পরবর্তী PSC ইন্টারফেস(গুলি) ট্র্যাফিককে কসমোতে রুট করার জন্য লিভারেজ করবে। একটি ওভারভিউ জন্য চিত্র 1 দেখুন.

একই পন্থা Google পরিচালিত পরিষেবাগুলির সাথে ব্যবহার করা যেতে পারে যেগুলি ব্যক্তিগত পরিষেবা অ্যাক্সেস ব্যবহার করার সময় গ্রাহকের ভিপিসি পিয়ার করা হয়৷

চিত্র 1

36dbc7f825a21cbd.png

আপনি কি শিখবেন

  • কিভাবে একটি নেটওয়ার্ক সংযুক্তি তৈরি করতে হয়
  • কিভাবে একজন প্রযোজক একটি নেটওয়ার্ক সংযুক্তি ব্যবহার করে ব্যাকএন্ড হিসাবে একটি PSC ইন্টারফেস তৈরি করতে পারেন
  • পরবর্তী হপ হিসাবে ILB ব্যবহার করে কীভাবে প্রযোজক থেকে ভোক্তার সাথে যোগাযোগ স্থাপন করবেন
  • কীভাবে প্রযোজক ভিএম (বাঘ) থেকে ভিপিসি পিয়ারিংয়ের মাধ্যমে ভোক্তা ভিএম (কসমো) এ অ্যাক্সেসের অনুমতি দেওয়া যায়

আপনি কি প্রয়োজন হবে

2. আপনি শুরু করার আগে

টিউটোরিয়াল সমর্থন করার জন্য প্রকল্পটি আপডেট করুন

এই টিউটোরিয়ালটি ক্লাউড শেল-এ gcloud কনফিগারেশন বাস্তবায়নে সহায়তা করার জন্য $variables ব্যবহার করে।

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectid=YOUR-PROJECT-NAME
echo $projectid

3. ভোক্তা সেটআপ

কনজিউমার ভিপিসি তৈরি করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

gcloud compute networks create consumer-vpc --project=$projectid --subnet-mode=custom

প্রাইভেট সার্ভিস কানেক্ট নেটওয়ার্ক অ্যাটাচমেন্ট সাবনেট তৈরি করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

gcloud compute networks subnets create intf-subnet --project=$projectid --range=192.168.10.0/28 --network=consumer-vpc --region=us-central1

ব্যাকএন্ড ভিপিসি তৈরি করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

gcloud compute networks create backend-vpc --project=$projectid --subnet-mode=custom

ব্যাকএন্ড ভিপিসি সাবনেট তৈরি করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

gcloud compute networks subnets create cosmo-subnet-1 --project=$projectid --range=192.168.20.0/28 --network=backend-vpc --region=us-central1

ব্যাকএন্ড-ভিপিসি ফায়ারওয়াল নিয়ম তৈরি করুন

ক্লাউড শেল-এ, psc-নেটওয়ার্ক-অ্যাটাচমেন্ট সাবনেট থেকে কসমোতে ট্র্যাফিকের জন্য একটি প্রবেশের নিয়ম তৈরি করুন

gcloud compute firewall-rules create allow-ingress-to-cosmo \
    --network=backend-vpc \
    --action=ALLOW \
    --rules=ALL \
    --direction=INGRESS \
    --priority=1000 \
    --source-ranges="192.168.10.0/28" \
    --destination-ranges="192.168.20.0/28" \
    --enable-logging

ক্লাউড রাউটার এবং NAT কনফিগারেশন

সফ্টওয়্যার প্যাকেজ ইনস্টলেশনের জন্য টিউটোরিয়ালে ক্লাউড ন্যাট ব্যবহার করা হয় কারণ ভিএম ইনস্ট্যান্সের একটি পাবলিক আইপি ঠিকানা নেই। ক্লাউড NAT ইন্টারনেট অ্যাক্সেস করতে ব্যক্তিগত আইপি ঠিকানা সহ VM সক্ষম করে।

ক্লাউড শেলের ভিতরে, ক্লাউড রাউটার তৈরি করুন।

gcloud compute routers create cloud-router-for-nat --network backend-vpc --region us-central1

ক্লাউড শেলের ভিতরে, NAT গেটওয়ে তৈরি করুন।

gcloud compute routers nats create cloud-nat-us-central1 --router=cloud-router-for-nat --auto-allocate-nat-external-ips --nat-all-subnet-ip-ranges --region us-central1

4. IAP সক্ষম করুন৷

IAP কে আপনার VM দৃষ্টান্তের সাথে সংযোগ করার অনুমতি দিতে, একটি ফায়ারওয়াল নিয়ম তৈরি করুন যা:

  • আপনি IAP ব্যবহার করে অ্যাক্সেসযোগ্য হতে চান এমন সমস্ত VM দৃষ্টান্তগুলিতে প্রযোজ্য।
  • IP পরিসর 35.235.240.0/20 থেকে ট্র্যাফিক প্রবেশের অনুমতি দেয়। এই পরিসরে সমস্ত আইপি ঠিকানা রয়েছে যা IAP TCP ফরওয়ার্ডিংয়ের জন্য ব্যবহার করে।

ক্লাউড শেলের ভিতরে, IAP ফায়ারওয়াল নিয়ম তৈরি করুন।

gcloud compute firewall-rules create ssh-iap-consumer \
    --network backend-vpc \
    --allow tcp:22 \
    --source-ranges=35.235.240.0/20

5. ভোক্তা VM দৃষ্টান্ত তৈরি করুন

ক্লাউড শেলের ভিতরে, ভোক্তা vm উদাহরণ, কসমো তৈরি করুন

gcloud compute instances create cosmo \
    --project=$projectid \
    --machine-type=e2-micro \
    --image-family debian-11 \
    --no-address \
    --image-project debian-cloud \
    --zone us-central1-a \
    --subnet=cosmo-subnet-1 \
    --metadata startup-script="#! /bin/bash
      sudo apt-get update
      sudo apt-get install tcpdump
      sudo apt-get install apache2 -y
      sudo service apache2 restart
      echo 'Welcome to cosmo's backend server !!' | tee /var/www/html/index.html
      EOF"

দৃষ্টান্তগুলির আইপি ঠিকানাগুলি প্রাপ্ত করুন এবং সংরক্ষণ করুন:

ক্লাউড শেলের ভিতরে, কসমো ভিএম উদাহরণগুলির বিরুদ্ধে একটি বর্ণনা সম্পাদন করুন।

gcloud compute instances describe cosmo --zone=us-central1-a | grep  networkIP:

6. ব্যক্তিগত পরিষেবা সংযোগ নেটওয়ার্ক সংযুক্তি

নেটওয়ার্ক সংযুক্তিগুলি হল আঞ্চলিক সংস্থান যা একটি প্রাইভেট সার্ভিস কানেক্ট ইন্টারফেসের ভোক্তাদের প্রতিনিধিত্ব করে। আপনি একটি নেটওয়ার্ক সংযুক্তির সাথে একটি একক সাবনেট সংযুক্ত করেন এবং প্রযোজক সেই সাবনেট থেকে প্রাইভেট সার্ভিস কানেক্ট ইন্টারফেসে আইপি বরাদ্দ করেন। সাবনেটটি অবশ্যই নেটওয়ার্ক সংযুক্তির মতো একই অঞ্চলে হতে হবে৷ একটি নেটওয়ার্ক সংযুক্তি অবশ্যই প্রযোজক পরিষেবার মতো একই অঞ্চলে হতে হবে৷

নেটওয়ার্ক সংযুক্তি তৈরি করুন

ক্লাউড শেলের ভিতরে, নেটওয়ার্ক সংযুক্তি তৈরি করুন।

gcloud compute network-attachments create psc-network-attachment \
    --region=us-central1 \
    --connection-preference=ACCEPT_MANUAL \
    --producer-accept-list=$projectid \
    --subnets=intf-subnet

নেটওয়ার্ক সংযুক্তি তালিকা

ক্লাউড শেলের ভিতরে, নেটওয়ার্ক সংযুক্তি তালিকাভুক্ত করুন।

gcloud compute network-attachments list

নেটওয়ার্ক সংযুক্তি বর্ণনা করুন

ক্লাউড শেলের ভিতরে, নেটওয়ার্ক সংযুক্তি বর্ণনা করুন।

gcloud compute network-attachments describe psc-network-attachment --region=us-central1

psc-নেটওয়ার্ক-অ্যাটাচমেন্ট ইউআরআই নোট করুন যা প্রাইভেট সার্ভিস কানেক্ট ইন্টারফেস(গুলি) তৈরি করার সময় প্রযোজক ব্যবহার করবে। নীচের উদাহরণ:

user$ gcloud compute network-attachments describe psc-network-attachment --region=us-central1
connectionPreference: ACCEPT_MANUAL
creationTimestamp: '2023-06-07T11:27:33.116-07:00'
fingerprint: 8SDsvG6TfYQ=
id: '5014253525248340730'
kind: compute#networkAttachment
name: psc-network-attachment
network: https://www.googleapis.com/compute/v1/projects/$projectid/global/networks/consumer-vpc
producerAcceptLists:
- $projectid
region: https://www.googleapis.com/compute/v1/projects/$projectid/regions/us-central1
selfLink: https://www.googleapis.com/compute/v1/projects/$projectid/regions/us-central1/networkAttachments/psc-network-attachment
subnetworks:
- https://www.googleapis.com/compute/v1/projects/$projectid/regions/us-central1/subnetworks/intf-subnet

7. ভোক্তা এবং ব্যাকএন্ড ভিপিসির মধ্যে ভিপিসি পিয়ারিং স্থাপন করুন

আপনি ভোক্তা এবং ব্যাকএন্ড VPC এর মধ্যে একটি VPC পিয়ারিং সংযোগ তৈরি করবেন৷ এটি প্রতিলিপি করে যে Google কীভাবে নেটওয়ার্ক সংযোগের জন্য ক্রস অর্গানাইজেশন পিয়ারিং ছাড়াও পরিচালিত পরিষেবাগুলির জন্য গ্রাহক ভিপিসিগুলির সাথে সংযোগ স্থাপন করে৷ প্রতিটি ভিপিসি থেকে ভিপিসি পিয়ারিং কনফিগার করা আবশ্যক।

ভোক্তা VPC থেকে ব্যাকএন্ড VPC পিয়ারিং

ভোক্তা থেকে ব্যাকএন্ড ভিপিসিতে ভিপিসি পিয়ারিং সংযোগ তৈরি করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

gcloud compute networks peerings create consumer-to-backend-vpc \
    --network=consumer-vpc \
    --peer-project=$projectid \
    --peer-network=backend-vpc \
    --stack-type=IPV4_ONLY

ব্যাকএন্ড থেকে ভোক্তা ভিপিসিতে ভিপিসি পিয়ারিং সংযোগ তৈরি করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

gcloud compute networks peerings create backend-to-consumer-vpc \
    --network=backend-vpc \
    --peer-project=$projectid \
    --peer-network=consumer-vpc \
    --stack-type=IPV4_ONLY

VPC পিয়ারিং স্টেটের বিবরণ যাচাই করুন

ক্লাউড শেলের ভিতরে, যাচাই করুন যে VPC পিয়ারিং "সক্রিয়" এবং "সংযুক্ত" অবস্থায় আছে।

gcloud compute networks peerings list

উদাহরণ:

user@cloudshell$ gcloud compute networks peerings list
NAME: backend-to-consumer-vpc
NETWORK: backend-vpc
PEER_PROJECT: $projectid
PEER_NETWORK: consumer-vpc
STACK_TYPE: IPV4_ONLY
PEER_MTU: 
IMPORT_CUSTOM_ROUTES: False
EXPORT_CUSTOM_ROUTES: False
STATE: ACTIVE
STATE_DETAILS: [2023-06-07T11:42:27.634-07:00]: Connected.

NAME: consumer-to-backend-vpc
NETWORK: consumer-vpc
PEER_PROJECT: $projectid
PEER_NETWORK: backend-vpc
STACK_TYPE: IPV4_ONLY
PEER_MTU: 
IMPORT_CUSTOM_ROUTES: False
EXPORT_CUSTOM_ROUTES: False
STATE: ACTIVE
STATE_DETAILS: [2023-06-07T11:42:27.634-07:00]: Connected.

8. প্রযোজক সেটআপ

প্রযোজক ভিপিসি তৈরি করুন

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

gcloud compute networks create producer-vpc --project=$projectid --subnet-mode=custom

প্রযোজক সাবনেট তৈরি করুন

ক্লাউড শেলের ভিতরে, psc ইন্টারফেস(গুলি) এর vNIC0 এর জন্য ব্যবহৃত সাবনেট তৈরি করুন

gcloud compute networks subnets create prod-subnet --project=$projectid --range=10.20.1.0/28 --network=producer-vpc --region=us-central1

ক্লাউড শেলের ভিতরে, উদাহরণ বাঘের জন্য ব্যবহৃত সাবনেট তৈরি করুন।

gcloud compute networks subnets create prod-subnet-2 --project=$projectid --range=10.30.1.0/28 --network=producer-vpc --region=us-central1

ক্লাউড শেলের ভিতরে, অভ্যন্তরীণ লোড ব্যালেন্সারের জন্য ব্যবহৃত সাবনেট তৈরি করুন।

gcloud compute networks subnets create prod-subnet-3 --project=$projectid --range=172.16.10.0/28 --network=producer-vpc --region=us-central1

ক্লাউড রাউটার এবং NAT কনফিগারেশন

সফ্টওয়্যার প্যাকেজ ইনস্টলেশনের জন্য টিউটোরিয়ালে ক্লাউড ন্যাট ব্যবহার করা হয় কারণ ভিএম ইনস্ট্যান্সের একটি পাবলিক আইপি ঠিকানা নেই। ক্লাউড NAT ইন্টারনেট অ্যাক্সেস করতে ব্যক্তিগত আইপি ঠিকানা সহ VM সক্ষম করে।

ক্লাউড শেলের ভিতরে, ক্লাউড রাউটার তৈরি করুন।

gcloud compute routers create cloud-router-for-nat-producer --network producer-vpc --region us-central1

ক্লাউড শেলের ভিতরে, NAT গেটওয়ে তৈরি করুন।

gcloud compute routers nats create cloud-nat-us-central1-producer --router=cloud-router-for-nat-producer --auto-allocate-nat-external-ips --nat-all-subnet-ip-ranges --region us-central1

IAP সক্ষম করুন

IAP কে আপনার VM দৃষ্টান্তের সাথে সংযোগ করার অনুমতি দিতে, একটি ফায়ারওয়াল নিয়ম তৈরি করুন যা:

  • আপনি IAP ব্যবহার করে অ্যাক্সেসযোগ্য হতে চান এমন সমস্ত VM দৃষ্টান্তগুলিতে প্রযোজ্য।
  • IP পরিসর 35.235.240.0/20 থেকে ট্র্যাফিক প্রবেশের অনুমতি দেয়। এই পরিসরে সমস্ত আইপি ঠিকানা রয়েছে যা IAP TCP ফরওয়ার্ডিংয়ের জন্য ব্যবহার করে।

ক্লাউড শেলের ভিতরে, IAP ফায়ারওয়াল নিয়ম তৈরি করুন।

gcloud compute firewall-rules create ssh-iap-producer \
    --network producer-vpc \
    --allow tcp:22 \
    --source-ranges=35.235.240.0/20

প্রযোজক VM দৃষ্টান্ত তৈরি করুন

ক্লাউড শেলের ভিতরে, ভোক্তা vm উদাহরণ, বাঘ তৈরি করুন

gcloud compute instances create tiger \
    --project=$projectid \
    --machine-type=e2-micro \
    --image-family debian-11 \
    --no-address \
    --image-project debian-cloud \
    --zone us-central1-a \
    --subnet=prod-subnet-2 \
    --metadata startup-script="#! /bin/bash
      sudo apt-get update
      sudo apt-get install tcpdump"

9. প্রযোজক ফায়ারওয়াল নিয়ম তৈরি করুন

প্রযোজক ভিপিসি-তে একটি ইনগ্রেস ফায়ারওয়াল নিয়ম তৈরি করুন যা প্রোড-সাবনেট-২ থেকে প্রযোজক-ভিপিসি-তে সমস্ত দৃষ্টান্তে যোগাযোগের অনুমতি দেয়।

ক্লাউড শেলের ভিতরে, প্রযোজক ফায়ারওয়াল নিয়ম তৈরি করুন।

gcloud compute --project=$projectid firewall-rules create allow-tiger-ingress --direction=INGRESS --priority=1000 --network=producer-vpc --action=ALLOW --rules=all --source-ranges=10.30.1.0/28 --enable-logging

10. প্রাইভেট সার্ভিস কানেক্ট ইন্টারফেস তৈরি করুন

একটি প্রাইভেট সার্ভিস কানেক্ট ইন্টারফেস হল একটি রিসোর্স যা একটি প্রযোজক ভার্চুয়াল প্রাইভেট ক্লাউড (ভিপিসি) নেটওয়ার্ককে একটি ভোক্তা ভিপিসি নেটওয়ার্কের বিভিন্ন গন্তব্যে সংযোগ শুরু করতে দেয়। প্রযোজক এবং ভোক্তা নেটওয়ার্ক বিভিন্ন প্রকল্প এবং সংস্থায় হতে পারে।

যদি একটি নেটওয়ার্ক সংযুক্তি একটি ব্যক্তিগত পরিষেবা সংযোগ ইন্টারফেস থেকে একটি সংযোগ গ্রহণ করে, Google ক্লাউড ইন্টারফেসটিকে একটি ভোক্তা সাবনেট থেকে একটি IP ঠিকানা বরাদ্দ করে যা নেটওয়ার্ক সংযুক্তি দ্বারা নির্দিষ্ট করা হয়েছে৷ ভোক্তা এবং প্রযোজক নেটওয়ার্ক সংযুক্ত থাকে এবং অভ্যন্তরীণ আইপি ঠিকানা ব্যবহার করে যোগাযোগ করতে পারে।

টিউটোরিয়ালে আপনি প্রাইভেট সার্ভিস কানেক্ট নেটওয়ার্ক অ্যাটাচমেন্টের সাথে দুটি উদাহরণ তৈরি করবেন যা অভ্যন্তরীণ লোড ব্যালেন্সারের ব্যাকএন্ড হবে।

ক্লাউড শেলের ভিতরে, প্রাইভেট সার্ভিস কানেক্ট ইন্টারফেস (খরগোশ) তৈরি করুন এবং নেটওয়ার্ক সংযুক্তি বর্ণনা আউটপুট থেকে পূর্বে চিহ্নিত psc-নেটওয়ার্ক-অ্যাটাচমেন্ট UR I সন্নিবেশ করুন।

gcloud compute instances create rabbit --zone us-central1-a --machine-type=f1-micro --can-ip-forward --network-interface subnet=prod-subnet,network=producer-vpc,no-address --network-interface network-attachment=https://www.googleapis.com/compute/v1/projects/$projectid/regions/us-central1/networkAttachments/psc-network-attachment --metadata startup-script="#! /bin/bash
      sudo apt-get update
      sudo apt-get install tcpdump
      sudo apt-get install apache2 -y
      sudo service apache2 restart"

ক্লাউড শেলের ভিতরে, প্রাইভেট সার্ভিস কানেক্ট ইন্টারফেস (ফক্স) তৈরি করুন এবং নেটওয়ার্ক সংযুক্তি বর্ণনা আউটপুট থেকে পূর্বে চিহ্নিত psc-নেটওয়ার্ক-অ্যাটাচমেন্ট UR I সন্নিবেশ করুন।

gcloud compute instances create fox --zone us-central1-a --machine-type=f1-micro --can-ip-forward --network-interface subnet=prod-subnet,network=producer-vpc,no-address --network-interface network-attachment=https://www.googleapis.com/compute/v1/projects/$projectid/regions/us-central1/networkAttachments/psc-network-attachment --metadata startup-script="#! /bin/bash
      sudo apt-get update
      sudo apt-get install tcpdump
      sudo apt-get install apache2 -y
      sudo service apache2 restart"

মাল্টি-নিক বৈধতা

PSC ইন্টারফেসটি উপযুক্ত আইপি ঠিকানার সাথে কনফিগার করা হয়েছে তা যাচাই করুন। vNIC0 প্রযোজক প্রোড-সাবনেট (10.20.1.0/28) ব্যবহার করবে এবং vNIC1 গ্রাহক intf-সাবনেট (192.168.10.0/28) ব্যবহার করবে।

gcloud compute instances describe rabbit --zone=us-central1-a | grep networkIP:

gcloud compute instances describe fox --zone=us-central1-a | grep networkIP:

উদাহরণ:

user$ gcloud compute instances describe rabbit --zone=us-central1-a | grep networkIP:
  networkIP: 10.20.1.2
  networkIP: 192.168.10.2

user$ gcloud compute instances describe fox --zone=us-central1-a | grep networkIP:
  networkIP: 10.20.1.3
  networkIP: 192.168.10.3

11. একটি অব্যবস্থাপিত উদাহরণ গোষ্ঠীতে খরগোশ এবং শিয়াল তৈরি করুন এবং যোগ করুন

নিম্নলিখিত বিভাগে, আপনি একটি অব্যবস্থাপিত দৃষ্টান্ত গোষ্ঠী তৈরি করবেন যেটিতে PSC ইন্টারফেস খরগোশ এবং শিয়াল রয়েছে।

ক্লাউড শেলের ভিতরে, অব্যবস্থাপিত উদাহরণ গোষ্ঠী তৈরি করুন।

gcloud compute instance-groups unmanaged create psc-interface-instances-ig --project=$projectid --zone=us-central1-a

ক্লাউড শেলের ভিতরে, ইনস্ট্যান্স গ্রুপে শিয়াল এবং খরগোশ যোগ করুন।

gcloud compute instance-groups unmanaged add-instances psc-interface-instances-ig --project=$projectid --zone=us-central1-a --instances=fox,rabbit

12. TCP স্বাস্থ্য পরীক্ষা, ব্যাকএন্ড পরিষেবা, ফরওয়ার্ডিং নিয়ম এবং ফায়ারওয়াল তৈরি করুন

ক্লাউড শেলের ভিতরে, ব্যাকএন্ড স্বাস্থ্য পরীক্ষা তৈরি করুন।

gcloud compute health-checks create http hc-http-80 --port=80

ক্লাউড শেলের ভিতরে ব্যাকএন্ড পরিষেবা তৈরি করুন

gcloud compute backend-services create psc-interface-backend --load-balancing-scheme=internal --protocol=tcp --region=us-central1 --health-checks=hc-http-80
gcloud compute backend-services add-backend psc-interface-backend --region=us-central1 --instance-group=psc-interface-instances-ig --instance-group-zone=us-central1-a

ক্লাউড শেলের ভিতরে ফরওয়ার্ডিং নিয়ম তৈরি করুন

gcloud compute forwarding-rules create psc-ilb --region=us-central1 --load-balancing-scheme=internal --network=producer-vpc --subnet=prod-subnet-3 --address=172.16.10.10 --ip-protocol=TCP --ports=all --backend-service=psc-interface-backend --backend-service-region=us-central1

ক্লাউড শেল থেকে ব্যাকএন্ড স্বাস্থ্য পরীক্ষা সক্ষম করতে একটি ফায়ারওয়াল নিয়ম তৈরি করুন

gcloud compute firewall-rules create ilb-health-checks --allow tcp:80,tcp:443 --network producer-vpc --source-ranges 130.211.0.0/22,35.191.0.0/16 

13. পিএসসি ইন্টারফেসের জন্য লিনাক্স আইপি টেবিল তৈরি করুন - খরগোশ

PSC ইন্টারফেস উদাহরণ থেকে, ভোক্তা সাবনেটের সাথে প্রযোজক যোগাযোগের অনুমতি দিতে linux IP টেবিল কনফিগার করুন।

আপনার Private Service Connect ইন্টারফেসের গেস্ট OS নামটি খুঁজুন

রাউটিং কনফিগার করতে, আপনাকে আপনার প্রাইভেট সার্ভিস কানেক্ট ইন্টারফেসের গেস্ট OS নামটি জানতে হবে, যা Google ক্লাউডে ইন্টারফেসের নামের চেয়ে আলাদা।

ক্লাউড শেল-এ IAP ব্যবহার করে psc-ইন্টারফেস vm, rabbit-এ লগ ইন করুন।

gcloud compute ssh rabbit --project=$projectid --zone=us-central1-a --tunnel-through-iap

ক্লাউড শেলে পিএসসি-ইন্টারফেস উদাহরণের আইপি ঠিকানা পান

ip a

উদাহরণ:

user@rabbit:~$ 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 pfifo_fast state UP group default qlen 1000
    link/ether 42:01:0a:14:01:02 brd ff:ff:ff:ff:ff:ff
    altname enp0s4
    inet 10.20.1.2/32 brd 10.20.1.2 scope global dynamic ens4
       valid_lft 59396sec preferred_lft 59396sec
    inet6 fe80::4001:aff:fe14:102/64 scope link 
       valid_lft forever preferred_lft forever
3: ens5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1460 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 42:01:c0:a8:0a:02 brd ff:ff:ff:ff:ff:ff
    altname enp0s5
    inet 192.168.10.2/32 brd 192.168.10.2 scope global dynamic ens5
       valid_lft 66782sec preferred_lft 66782sec
    inet6 fe80::4001:c0ff:fea8:a02/64 scope link 
       valid_lft forever preferred_lft forever

আপনার PSC ইন্টারফেসের গেটওয়ে আইপি খুঁজুন

নেটওয়ার্ক ইন্টারফেসের তালিকায়, আপনার প্রাইভেট সার্ভিস কানেক্ট ইন্টারফেসের আইপি ঠিকানার সাথে যুক্ত ইন্টারফেসের নামটি খুঁজুন এবং সংরক্ষণ করুন—উদাহরণস্বরূপ, ens5 (vNIC1)

রাউটিং কনফিগার করতে, আপনাকে আপনার প্রাইভেট সার্ভিস কানেক্ট ইন্টারফেসের ডিফল্ট গেটওয়ের আইপি ঠিকানা জানতে হবে

ক্লাউড শেলে আমরা 1 ব্যবহার করব যেহেতু PSC ইন্টারফেস vNIC1 এর সাথে যুক্ত।

curl http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/1/gateway -H "Metadata-Flavor: Google" && echo

উদাহরণটি ডিফল্ট gw 192.168.10.1 তৈরি করে

user@rabbit:~$ curl http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/1/gateway -H "Metadata-Flavor: Google" && echo
192.168.10.1

ভোক্তা সাবনেটের জন্য রুট যোগ করুন

আপনার ব্যক্তিগত পরিষেবা সংযোগ ইন্টারফেসের সাথে সংযোগকারী প্রতিটি গ্রাহক সাবনেটের জন্য আপনাকে অবশ্যই আপনার ব্যক্তিগত পরিষেবা সংযোগ ইন্টারফেসের ডিফল্ট গেটওয়েতে একটি রুট যোগ করতে হবে৷ এটি নিশ্চিত করে যে ভোক্তা নেটওয়ার্কের জন্য আবদ্ধ ট্রাফিক প্রাইভেট সার্ভিস কানেক্ট ইন্টারফেস থেকে বেরিয়ে যায়।

রুট টেবিল যাচাই

ক্লাউড শেল বর্তমান রুট যাচাই করে।

ip route show

উদাহরণ।

user@rabbit:~$ ip route show
default via 10.20.1.1 dev ens4 
10.20.1.0/28 via 10.20.1.1 dev ens4 
10.20.1.1 dev ens4 scope link 
192.168.10.0/28 via 192.168.10.1 dev ens5 
192.168.10.1 dev ens5 scope link 

ক্লাউড শেলে কসমো-সাবনেট-১-এ রুট যোগ করুন

sudo ip route add 192.168.20.0/28 via 192.168.10.1 dev ens5

রুট টেবিল যাচাই

ক্লাউড শেলে আপডেট করা যোগ করা রুট যাচাই করে।

ip route show

উদাহরণ।

user@rabbit:~$ ip route show
default via 10.20.1.1 dev ens4 
10.20.1.0/28 via 10.20.1.1 dev ens4 
10.20.1.1 dev ens4 scope link 
192.168.10.0/28 via 192.168.10.1 dev ens5 
192.168.10.1 dev ens5 scope link 
192.168.20.0/28 via 192.168.10.1 dev ens5 

আইপি টেবিলের নিয়ম তৈরি করুন

ক্লাউড শেল বর্তমান আইপি টেবিল যাচাই.

sudo iptables -t nat -L -n -v

উদাহরণ:

user@rabbit:~$ sudo iptables -t nat -L -n -v
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination  

ক্লাউড শেল আপডেট আইপি টেবিল

sudo iptables -t nat -A POSTROUTING -o ens5 -j MASQUERADE
sudo sysctl net.ipv4.ip_forward=1

ক্লাউড শেল আপডেট করা আইপি টেবিল যাচাই করে।

sudo iptables -t nat -L -n -v

উদাহরণ:

user@rabbit:~$ sudo iptables -t nat -L -n -v
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 MASQUERADE  all  --  *      ens5    0.0.0.0/0            0.0.0.0/0

14. পিএসসি ইন্টারফেসের জন্য লিনাক্স আইপি টেবিল তৈরি করুন - ফক্স

PSC ইন্টারফেস উদাহরণ থেকে, ভোক্তা সাবনেটের সাথে প্রযোজক যোগাযোগের অনুমতি দিতে linux IP টেবিল কনফিগার করুন।

আপনার Private Service Connect ইন্টারফেসের গেস্ট OS নামটি খুঁজুন

রাউটিং কনফিগার করতে, আপনাকে আপনার প্রাইভেট সার্ভিস কানেক্ট ইন্টারফেসের গেস্ট OS নামটি জানতে হবে, যা Google ক্লাউডে ইন্টারফেসের নামের চেয়ে আলাদা।

একটি নতুন ক্লাউড শেল ট্যাব খুলুন এবং আপনার প্রকল্প সেটিংস আপডেট করুন।

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectid=YOUR-PROJECT-NAME
echo $projectid

ক্লাউড শেল-এ IAP ব্যবহার করে psc-ইন্টারফেস vm, fox-এ লগ ইন করুন।

gcloud compute ssh fox --project=$projectid --zone=us-central1-a --tunnel-through-iap

ক্লাউড শেলে পিএসসি-ইন্টারফেস উদাহরণের আইপি ঠিকানা পান

ip a

উদাহরণ:

user@fox:~$ 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 pfifo_fast state UP group default qlen 1000
    link/ether 42:01:0a:14:01:03 brd ff:ff:ff:ff:ff:ff
    altname enp0s4
    inet 10.20.1.3/32 brd 10.20.1.3 scope global dynamic ens4
       valid_lft 65601sec preferred_lft 65601sec
    inet6 fe80::4001:aff:fe14:103/64 scope link 
       valid_lft forever preferred_lft forever
3: ens5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1460 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 42:01:c0:a8:0a:03 brd ff:ff:ff:ff:ff:ff
    altname enp0s5
    inet 192.168.10.3/32 brd 192.168.10.3 scope global dynamic ens5
       valid_lft 63910sec preferred_lft 63910sec
    inet6 fe80::4001:c0ff:fea8:a03/64 scope link 
       valid_lft forever preferred_lft forever

আপনার PSC ইন্টারফেসের গেটওয়ে আইপি খুঁজুন

নেটওয়ার্ক ইন্টারফেসের তালিকায়, আপনার প্রাইভেট সার্ভিস কানেক্ট ইন্টারফেসের আইপি ঠিকানার সাথে যুক্ত ইন্টারফেসের নামটি খুঁজুন এবং সংরক্ষণ করুন—উদাহরণস্বরূপ, ens5 (vNIC1)

রাউটিং কনফিগার করতে, আপনাকে আপনার প্রাইভেট সার্ভিস কানেক্ট ইন্টারফেসের ডিফল্ট গেটওয়ের আইপি ঠিকানা জানতে হবে

ক্লাউড শেলে আমরা 1 ব্যবহার করব যেহেতু PSC ইন্টারফেস vNIC1 এর সাথে যুক্ত।

curl http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/1/gateway -H "Metadata-Flavor: Google" && echo

উদাহরণটি ডিফল্ট gw 192.168.10.1 তৈরি করে

user@fox:~$ curl http://metadata.google.internal/computeMetadata/v1/instance/network-interfaces/1/gateway -H "Metadata-Flavor: Google" && echo
192.168.10.1

ভোক্তা সাবনেটের জন্য রুট যোগ করুন

আপনার ব্যক্তিগত পরিষেবা সংযোগ ইন্টারফেসের সাথে সংযোগকারী প্রতিটি গ্রাহক সাবনেটের জন্য আপনাকে অবশ্যই আপনার ব্যক্তিগত পরিষেবা সংযোগ ইন্টারফেসের ডিফল্ট গেটওয়েতে একটি রুট যোগ করতে হবে৷ এটি নিশ্চিত করে যে ভোক্তা নেটওয়ার্কের জন্য আবদ্ধ ট্রাফিক প্রাইভেট সার্ভিস কানেক্ট ইন্টারফেস থেকে বেরিয়ে যায়।

রুট টেবিল যাচাই

ক্লাউড শেল বর্তমান রুট যাচাই করে।

ip route show

উদাহরণ।

user@fox:~$ ip route show
default via 10.20.1.1 dev ens4 
10.20.1.0/28 via 10.20.1.1 dev ens4 
10.20.1.1 dev ens4 scope link 
192.168.10.0/28 via 192.168.10.1 dev ens5 
192.168.10.1 dev ens5 scope link 

ক্লাউড শেলে কসমো-সাবনেট-১-এ রুট যোগ করুন

sudo ip route add 192.168.20.0/28 via 192.168.10.1 dev ens5

রুট টেবিল যাচাই

ক্লাউড শেলে আপডেট করা যোগ করা রুট যাচাই করে।

ip route show

উদাহরণ।

user@fox:~$ ip route show
default via 10.20.1.1 dev ens4 
10.20.1.0/28 via 10.20.1.1 dev ens4 
10.20.1.1 dev ens4 scope link 
192.168.10.0/28 via 192.168.10.1 dev ens5 
192.168.10.1 dev ens5 scope link 
192.168.20.0/28 via 192.168.10.1 dev ens5

আইপি টেবিলের নিয়ম তৈরি করুন

ক্লাউড শেল বর্তমান আইপি টেবিল যাচাই.

sudo iptables -t nat -L -n -v

উদাহরণ:

user@fox:~$ sudo iptables -t nat -L -n -v
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

ক্লাউড শেল আপডেট আইপি টেবিল.

sudo iptables -t nat -A POSTROUTING -o ens5 -j MASQUERADE
sudo sysctl net.ipv4.ip_forward=1

ক্লাউড শেল আপডেট করা আইপি টেবিল যাচাই করে।

sudo iptables -t nat -L -n -v

উদাহরণ:

user@fox:~$ sudo iptables -t nat -L -n -v
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 MASQUERADE  all  --  *      ens5    0.0.0.0/0            0.0.0.0/0  

15. রুট টেবিল আপডেট করুন

প্রযোজক-ভিপিসি-তে ভোক্তাদের সাবনেট 192.168.20.0/28-এর জন্য একটি স্ট্যাটিক রুট তৈরি করে, অভ্যন্তরীণ লোড ব্যালেন্সার হিসাবে পরবর্তী হপ। একবার তৈরি হয়ে গেলে, 192.168.20.0/28 গন্তব্যে যে কোনও প্যাকেট (উৎপাদক-ভিপিসির মধ্যে) অভ্যন্তরীণ লোড ব্যালেন্সারের দিকে নির্দেশিত হবে।

একটি নতুন ক্লাউড শেল ট্যাব খুলুন এবং আপনার প্রকল্প সেটিংস আপডেট করুন।

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectid=YOUR-PROJECT-NAME
echo $projectid

ক্লাউড শেল একটি স্ট্যাটিক রুট সহ প্রযোজক-ভিপিসি রুট টেবিল আপডেট করুন।

gcloud beta compute routes create producer-to-cosmo-subnet-1 --project=$projectid --network=producer-vpc --priority=1000 --destination-range=192.168.20.0/28 --next-hop-ilb=psc-ilb --next-hop-ilb-region=us-central1

16. বাঘ থেকে কসমো পর্যন্ত সফল সংযোগ যাচাই করুন

কার্ল বৈধতা

আসুন নিশ্চিত করি যে প্রযোজক VM দৃষ্টান্ত, বাঘ, একটি কার্ল সম্পাদন করে ভোক্তার উদাহরণ, কসমোর সাথে যোগাযোগ করতে পারে।

একটি নতুন ক্লাউড শেল ট্যাব খুলুন এবং আপনার প্রকল্প সেটিংস আপডেট করুন।

ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectid=YOUR-PROJECT-NAME
echo $projectid

ক্লাউড শেল-এ IAP ব্যবহার করে বাঘের উদাহরণে লগ ইন করুন।

gcloud compute ssh tiger --project=$projectid --zone=us-central1-a --tunnel-through-iap

বাঘের দৃষ্টান্ত থেকে টিউটোরিয়ালে আগে চিহ্নিত কসমোর আইপি ঠিকানার বিপরীতে একটি কার্ল সম্পাদন করুন।

curl -v <cosmo's IP Address>

উদাহরণ:

user@tiger:~$ curl -v 192.168.20.2
*   Trying 192.168.20.2:80...
* Connected to 192.168.20.2 (192.168.20.2) port 80 (#0)
> GET / HTTP/1.1
> Host: 192.168.20.2
> User-Agent: curl/7.74.0
> Accept: */*
> 
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
< Date: Fri, 09 Jun 2023 03:49:42 GMT
< Server: Apache/2.4.56 (Debian)
< Last-Modified: Fri, 09 Jun 2023 03:28:37 GMT
< ETag: "27-5fda9f6ea060e"
< Accept-Ranges: bytes
< Content-Length: 39
< Content-Type: text/html
< 
Welcome to cosmo's backend server !!

অভিনন্দন!! আপনি সফলভাবে একটি কার্ল কমান্ড সম্পাদন করে উত্পাদনকারী-ভিপিসি থেকে ব্যাকএন্ড-ভিপিসি-তে সংযোগ যাচাই করেছেন।

17. পরিষ্কার করুন

ক্লাউড শেল থেকে, টিউটোরিয়াল উপাদানগুলি মুছুন।

gcloud compute instances delete cosmo --zone=us-central1-a --quiet

gcloud compute instances delete rabbit --zone=us-central1-a --quiet

gcloud compute instances delete fox --zone=us-central1-a --quiet

gcloud compute instances delete tiger --zone=us-central1-a --quiet

gcloud compute network-attachments delete psc-network-attachment --region=us-central1 --quiet

gcloud compute firewall-rules delete allow-ingress-to-cosmo allow-tiger-ingress ilb-health-checks ssh-iap-consumer   ssh-iap-producer --quiet

gcloud beta compute routes delete producer-to-cosmo-subnet-1 --quiet 

gcloud compute forwarding-rules delete psc-ilb --region=us-central1 --quiet
gcloud compute backend-services delete psc-interface-backend --region=us-central1 --quiet
gcloud compute instance-groups unmanaged delete psc-interface-instances-ig --zone=us-central1-a --quiet
gcloud compute health-checks delete hc-http-80 --quiet
gcloud compute networks subnets delete cosmo-subnet-1 prod-subnet prod-subnet-2 prod-subnet-3 intf-subnet --region=us-central1 --quiet

gcloud compute routers delete cloud-router-for-nat --region=us-central1 --quiet

gcloud compute routers delete cloud-router-for-nat-producer --region=us-central1 --quiet

gcloud compute networks delete consumer-vpc --quiet

gcloud compute networks delete producer-vpc --quiet

gcloud compute networks delete backend-vpc --quiet

18. অভিনন্দন

অভিনন্দন, আপনি সফলভাবে একটি প্রাইভেট সার্ভিস কানেক্ট ইন্টারফেস কনফিগার ও যাচাই করেছেন এবং ভিপিসি পিয়ারিং-এর মাধ্যমে ভোক্তা ও প্রযোজক সংযোগ যাচাই করেছেন।

আপনি ভোক্তা পরিকাঠামো তৈরি করেছেন, এবং আপনি একটি নেটওয়ার্ক সংযুক্তি যোগ করেছেন যা প্রযোজককে ভোক্তা এবং প্রযোজকের যোগাযোগ সেতু করার জন্য একটি মাল্টি nic vm তৈরি করার অনুমতি দেয়৷ আপনি শিখেছেন কিভাবে PSC ইন্টারফেস একটি অভ্যন্তরীণ লোড ব্যালেন্সার এবং প্রযোজকের ভিপিসিতে একটি স্ট্যাটিক রুট ব্যবহার করে VPC পিয়ারিং-এর মাধ্যমে 1P/3P পরিষেবার সাথে যোগাযোগ করতে ব্যবহার করা যেতে পারে।

কসমোপআপ মনে করে টিউটোরিয়ালগুলি দুর্দান্ত!!

e6d3675ca7c6911f.jpeg

এরপর কি?

এই টিউটোরিয়ালগুলির কয়েকটি দেখুন...

আরও পড়া এবং ভিডিও

রেফারেন্স ডক্স