ব্যক্তিগত পরিষেবা সংযোগ - পরিচালিত পরিষেবাগুলিতে গ্লোবাল XLB-এর জন্য গ্রাহক HTTP(S) পরিষেবা নিয়ন্ত্রণগুলি ব্যবহার করে

1। পরিচিতি

প্রাইভেট সার্ভিস কানেক্ট একটি সেবা প্রযোজককে একটি সেবা গ্রাহককে সেবা প্রদান করতে দেয়। একটি পরিষেবা প্রযোজক VPC নেটওয়ার্ক একাধিক পরিষেবা গ্রাহকদের সমর্থন করতে পারে।

দুটি ধরনের প্রাইভেট সার্ভিস কানেক্ট এন্ডপয়েন্ট রয়েছে যা একটি প্রকাশিত পরিষেবার সাথে সংযোগ করতে পারে:

  • প্রাইভেট সার্ভিস কানেক্ট এন্ডপয়েন্ট (একটি ফরওয়ার্ডিং নিয়মের উপর ভিত্তি করে)

এই এন্ডপয়েন্ট টাইপের সাথে, ভোক্তারা একটি অভ্যন্তরীণ আইপি ঠিকানার সাথে সংযোগ করে যা তারা সংজ্ঞায়িত করে। প্রাইভেট সার্ভিস কানেক্ট নেটওয়ার্ক অ্যাড্রেস ট্রান্সলেশন (NAT) করে সেবা প্রযোজকের কাছে রিকোয়েস্ট পাঠানোর জন্য।

  • ভোক্তা HTTP(S) পরিষেবা নিয়ন্ত্রণের সাথে প্রাইভেট সার্ভিস কানেক্ট এন্ডপয়েন্ট (একটি গ্লোবাল এক্সটার্নাল HTTP(S) লোড ব্যালেন্সারের উপর ভিত্তি করে)

এই এন্ডপয়েন্ট টাইপের সাথে, ভোক্তারা একটি বাহ্যিক IP ঠিকানার সাথে সংযোগ স্থাপন করে। প্রাইভেট সার্ভিস কানেক্ট একটি নেটওয়ার্ক এন্ডপয়েন্ট গ্রুপ ব্যবহার করে সার্ভিস প্রযোজকের কাছে রিকোয়েস্ট পাঠাতে।

নীতি প্রয়োগকারী পয়েন্ট হিসাবে একটি গ্লোবাল এক্সটার্নাল HTTP(S) লোড ব্যালেন্সার ব্যবহার করার নিম্নলিখিত সুবিধা রয়েছে:

  • আপনি পরিষেবাগুলির নাম পরিবর্তন করতে পারেন এবং সেগুলিকে আপনার পছন্দের URLগুলিতে ম্যাপ করতে পারেন৷
  • আপনি ক্লাউড লগিং-এ সমস্ত অনুরোধ লগ করার জন্য লোড ব্যালেন্সার কনফিগার করতে পারেন।
  • আপনি গ্রাহক-পরিচালিত TLS শংসাপত্র ব্যবহার করতে পারেন। অথবা Google-পরিচালিত সার্টিফিকেট।

এই কোডল্যাবে, আপনি কীভাবে একটি প্রাইভেট সার্ভিস কানেক্ট এন্ডপয়েন্ট কনজিউমার এইচটিটিপি(এস) সার্ভিস কন্ট্রোল তৈরি করবেন সে সম্পর্কে শিখবেন গ্লোবাল এক্সএলবি ব্যবহার করে অন্য নেটওয়ার্কে একটি পরিষেবা ব্যক্তিগতভাবে অ্যাক্সেস করতে। এই PSC প্যাটার্নটি একটি একক প্রকল্প বা পৃথক প্রকল্প ব্যবহার করে করা যেতে পারে। এই ল্যাবের উদ্দেশ্যে, আমরা দুটি পৃথক ভিপিসি সহ একটি একক প্রকল্প ব্যবহার করব৷

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

  • গ্লোবাল এক্সএলবি ব্যবহার করে ভোক্তা HTTP(এস) পরিষেবা নিয়ন্ত্রণের সাথে একটি ব্যক্তিগত পরিষেবা সংযোগের শেষ পয়েন্ট তৈরি করুন
  • L7 XLB সংযোগগুলি গ্রহণ করার জন্য একটি পরিষেবা সংযুক্তির মাধ্যমে প্রকাশ করার জন্য একটি পরিচালিত পরিষেবা কনফিগার করুন৷
  • একটি SSL শংসাপত্র তৈরি করুন এবং TLS বন্ধ করতে এবং পোর্ট 443-এ ট্র্যাফিক গ্রহণ করতে একটি Apache ওয়েব সার্ভার কনফিগার করুন।
  • একটি PSC NEG তৈরি করুন।

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

  • একটি Google ক্লাউড প্রকল্প
  • দৃষ্টান্ত স্থাপন এবং নেটওয়ার্কিং উপাদান কনফিগার করার জ্ঞান

2. পরীক্ষা পরিবেশ

আপনি যে পরিবেশ তৈরি করবেন তা একটি ভোক্তা VPC-তে একটি বহিরাগত HTTP(S) লোড ব্যালেন্সার এবং PSC NEG নিয়ে গঠিত হবে। প্রযোজক VPC HTTPS-এর সাথে কনফিগার করা একটি সাধারণ অ্যাপাচি ওয়েব পরিষেবা হোস্ট করবে। আপনি Apache ওয়েব পরিষেবা থেকে একটি ব্যাকএন্ড পরিষেবা তৈরি করবেন এবং একটি PSC পরিষেবা সংযুক্তির সাথে কনফিগার করা একটি অভ্যন্তরীণ TCP লোড ব্যালেন্সার সহ সেই ব্যাকএন্ড পরিষেবার সামনে।

bbca972cf488ece.png

3. সেটআপ এবং প্রয়োজনীয়তা

স্ব-গতিসম্পন্ন পরিবেশ সেটআপ

  1. Google ক্লাউড কনসোলে সাইন-ইন করুন এবং একটি নতুন প্রকল্প তৈরি করুন বা বিদ্যমান একটি পুনরায় ব্যবহার করুন৷ আপনার যদি ইতিমধ্যেই একটি Gmail বা Google Workspace অ্যাকাউন্ট না থাকে, তাহলে আপনাকে অবশ্যই একটি তৈরি করতে হবে।

b35bf95b8bf3d5d8.png

a99b7ace416376c4.png

bd84a6d3004737c5.png

  • প্রকল্পের নাম এই প্রকল্পের অংশগ্রহণকারীদের জন্য প্রদর্শনের নাম। এটি একটি অক্ষর স্ট্রিং যা Google API দ্বারা ব্যবহৃত হয় না এবং আপনি যে কোনো সময় এটি আপডেট করতে পারেন।
  • সমস্ত Google ক্লাউড প্রজেক্ট জুড়ে প্রোজেক্ট আইডি অবশ্যই অনন্য হতে হবে এবং অপরিবর্তনীয় (সেট করার পরে পরিবর্তন করা যাবে না)। ক্লাউড কনসোল স্বয়ংক্রিয়ভাবে একটি অনন্য স্ট্রিং তৈরি করে; সাধারণত আপনি এটা কি যত্ন না. বেশিরভাগ কোডল্যাবে, আপনাকে প্রজেক্ট আইডি উল্লেখ করতে হবে (এবং এটি সাধারণত PROJECT_ID হিসাবে চিহ্নিত করা হয়), তাই আপনি যদি এটি পছন্দ না করেন তবে অন্য একটি এলোমেলো তৈরি করুন, অথবা, আপনি নিজের চেষ্টা করে দেখতে পারেন এটি উপলব্ধ কিনা। তারপর প্রকল্প তৈরি হওয়ার পরে এটি "হিমায়িত" হয়।
  • একটি তৃতীয় মান আছে, একটি প্রকল্প নম্বর যা কিছু API ব্যবহার করে। ডকুমেন্টেশনে এই তিনটি মান সম্পর্কে আরও জানুন।
  1. এরপরে, ক্লাউড রিসোর্স/এপিআই ব্যবহার করার জন্য আপনাকে ক্লাউড কনসোলে বিলিং সক্ষম করতে হবে। এই কোডল্যাবের মাধ্যমে চালানোর জন্য খুব বেশি খরচ করা উচিত নয়, যদি কিছু থাকে। রিসোর্স বন্ধ করতে যাতে আপনি এই টিউটোরিয়ালের বাইরে বিলিং করতে না পারেন, কোডল্যাবের শেষে পাওয়া যেকোনো "ক্লিন-আপ" নির্দেশাবলী অনুসরণ করুন। Google ক্লাউডের নতুন ব্যবহারকারীরা $300 USD বিনামূল্যের ট্রায়াল প্রোগ্রামের জন্য যোগ্য৷

ক্লাউড শেল শুরু করুন

যদিও Google ক্লাউড আপনার ল্যাপটপ থেকে দূরবর্তীভাবে পরিচালিত হতে পারে, এই কোডল্যাবে আপনি Google ক্লাউড শেল ব্যবহার করবেন, একটি কমান্ড লাইন পরিবেশ যা ক্লাউডে চলছে।

Google ক্লাউড কনসোল থেকে, উপরের ডানদিকে টুলবারে ক্লাউড শেল আইকনে ক্লিক করুন:

55efc1aaa7a4d3ad.png

পরিবেশের ব্যবস্থা করতে এবং সংযোগ করতে এটি শুধুমাত্র কয়েক মুহূর্ত নিতে হবে। এটি সমাপ্ত হলে, আপনি এই মত কিছু দেখতে হবে:

7ffe5cbb04455448.png

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

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

এপিআই সক্ষম করুন

ক্লাউড শেলের ভিতরে, নিশ্চিত করুন যে আপনার প্রকল্প আইডি সেট আপ করা আছে

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
export project=YOUR-PROJECT-NAME
export region=us-central1
echo $project
echo $region

সমস্ত প্রয়োজনীয় পরিষেবা সক্রিয় করুন

gcloud services enable compute.googleapis.com
gcloud services enable servicedirectory.googleapis.com

5. প্রযোজক VPC, সাবনেট, ফায়ারওয়াল নিয়ম সেটআপ

ভিপিসি নেটওয়ার্ক

ক্লাউড শেল থেকে

gcloud compute networks create producer-vpc --subnet-mode custom

সাবনেট তৈরি করুন

PSC-এর জন্য নেটওয়ার্ক অ্যাড্রেস ট্রান্সলেশন (NAT) করার জন্য প্রযোজকের পক্ষ থেকে একটি সাবনেট প্রয়োজন। লক্ষ্য করুন যে উদ্দেশ্য হল PRIVATE_SERVICE_CONNECT৷ এর মানে হল যে এই সাবনেটটি ওয়ার্কলোড স্থাপনের জন্য ব্যবহার করা যাবে না।

ক্লাউড শেল থেকে

gcloud compute networks subnets create producer-nat-subnet \
--network=producer-vpc \
--region=$region \
--range=10.100.100.0/24 \
--purpose=PRIVATE_SERVICE_CONNECT

আমরা প্রযোজক ভিপিসিতে দুটি সাবনেট স্থাপন করব। TCP অভ্যন্তরীণ লোড ব্যালেন্সারে গ্লোবাল অ্যাক্সেসের মাধ্যমে পরিষেবার সাথে সংযোগ পরীক্ষা করার জন্য একটি ক্লায়েন্ট-ভিএম স্থাপন করার জন্য প্রথমটি প্রযোজক পরিষেবা স্থাপন করে এবং অন্য একটি অঞ্চলে অতিরিক্ত।

ক্লাউড শেল থেকে

gcloud compute networks subnets create service-subnet \
    --network=producer-vpc \
    --range=10.0.0.0/24 \
    --region=$region

ক্লাউড শেল থেকে

gcloud compute networks subnets create client-subnet \
    --network=producer-vpc \
    --range=10.0.1.0/24 \
    --region=us-east4

Cloud NAT তৈরি করুন

আমাদের প্রযোজক পরিষেবাগুলির জন্য সঠিক প্যাকেজগুলি ইনস্টল করার জন্য একটি ক্লাউড NAT প্রয়োজন৷

ক্লাউড শেল থেকে

gcloud compute routers create service-cr \
--region=$region --network=producer-vpc \
--asn=65501

ক্লাউড শেল থেকে

gcloud compute routers nats create service-nat-gw \
--router=service-cr \
--router-region=$region \
--nat-custom-subnet-ip-ranges=service-subnet \
--auto-allocate-nat-external-ips

ফায়ারওয়াল নিয়ম তৈরি করুন

এই ল্যাবের জন্য, আপনার তৈরি করা দৃষ্টান্তগুলির সাথে সংযোগ করতে আপনি IAP ব্যবহার করবেন৷ নিম্নলিখিত ফায়ারওয়াল নিয়ম আপনাকে IAP এর মাধ্যমে দৃষ্টান্তগুলির সাথে সংযোগ করতে সক্ষম করবে৷ আপনি যদি IAP ব্যবহার না করতে পছন্দ করেন, আপনি এই ধাপটি এড়িয়ে যেতে পারেন, এবং পরিবর্তে উদাহরণে সর্বজনীন আইপি ঠিকানা যোগ করুন এবং একটি ফায়ারওয়াল নিয়ম তৈরি করুন যা 0.0.0.0/0 থেকে TCP পোর্ট 22-এ প্রবেশের অনুমতি দেয়।

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

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

ক্লাউড শেল থেকে

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

ক্লায়েন্ট ট্র্যাফিক গ্লোবাল এক্সটার্নাল HTTP(S) লোড ব্যালেন্সার থেকে উদ্ভূত হবে, তাই একটি ফায়ারওয়াল নিয়ম তৈরি করতে হবে যাতে এই ট্র্যাফিকটিকে ট্যাগ করা গন্তব্য সার্ভারগুলিতে অনুমতি দেওয়া হয় যা আমাদের ওয়েব পরিষেবা হোস্ট করবে৷ আমরা পরীক্ষার উদ্দেশ্যে আমাদের ক্লায়েন্ট-সাবনেট থেকে ফায়ারওয়াল নিয়মও খুলব।

ক্লাউড শেল থেকে

gcloud compute firewall-rules create allow-xlb-client \
  --network=producer-vpc \
  --direction=ingress \
  --allow=tcp:443 \
  --target-tags=psc-service \
  --source-ranges=130.211.0.0/22,35.191.0.0/16,10.0.1.0/24

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

আমরা একটি সাধারণ অ্যাপাচি ওয়েব পরিষেবা তৈরি করব যা "PSC পরিষেবা" প্রদর্শন করে

ইনস্ট্যান্স টেমপ্লেট তৈরি করুন

ক্লাউড শেল থেকে

gcloud compute instance-templates create producer-service-template \
    --network producer-vpc \
    --subnet service-subnet \
    --region $region \
    --no-address \
    --scopes=https://www.googleapis.com/auth/cloud-platform \
    --image-family=debian-10 \
    --image-project=debian-cloud \
    --tags=psc-service \
    --metadata startup-script='#! /bin/bash
    sudo apt-get update
    apt-get install apache2 -y
    a2ensite default-ssl
    echo "PSC Service" | \
    tee /var/www/html/index.html
    systemctl restart apache2'

এমআইজির জন্য স্বাস্থ্য পরীক্ষা তৈরি করুন

ক্লাউড শেল থেকে

gcloud compute health-checks create https psc-service-mig-healthcheck \
    --port=443 \
    --global

ম্যানেজড ইনস্ট্যান্স গ্রুপ তৈরি করুন

ক্লাউড শেল থেকে

gcloud compute instance-groups managed create psc-service-mig \
    --region $region \
    --size=2 \
    --template=producer-service-template \
    --health-check=psc-service-mig-healthcheck

Apache ওয়েব সার্ভারে SSL কনফিগার করুন

এর পরে, আমাদের প্রতিটি অ্যাপাচি ওয়েব সার্ভারে SSL কনফিগার করতে হবে। আমরা একটি শংসাপত্র তৈরি করে এবং সেই শংসাপত্রটিকে অ্যাপাচি কনফিগারেশনে যুক্ত করে এটি করব।

SSL সমাপ্তি অবশ্যই ব্যাকএন্ড পরিষেবাগুলিতে কনফিগার করা উচিত কারণ এই বিশেষ PSC প্যাটার্নের জন্য পরিষেবাটি একটি অভ্যন্তরীণ TCP/UDP (L4) লোড ব্যালেন্সার দ্বারা ফ্রন্ট করা আবশ্যক৷ অভ্যন্তরীণ TCP/UDP লোড ব্যালেন্সার লোড ব্যালেন্সার স্তরে SSL বন্ধ করে না।

আপনার MIG-তে প্রথম VM-এ SSHing করে শুরু করুন। ভিএম জোন এবং ভিএম নাম পরিবেশ প্রতি গতিশীলভাবে বরাদ্দ করা হবে। আপনার দৃষ্টান্তগুলির নাম এবং অঞ্চল খুঁজে পেতে কনসোলে, কম্পিউট ইঞ্জিন > VM দৃষ্টান্তগুলিতে নেভিগেট করুন।

ক্লাউড শেল থেকে

gcloud compute ssh --zone "<YOUR_VM_ZONE>" "<YOUR_MIG_VM_1>"  --tunnel-through-iap --project $project

এরপর আমরা OpenSSL এর মাধ্যমে সার্টিফিকেট তৈরি করব। আপনাকে আপনার দেশ, রাজ্য, এলাকা, সংস্থা, সাংগঠনিক ইউনিটের নাম, সাধারণ নাম এবং ইমেল ঠিকানা সম্পর্কে তথ্য পূরণ করতে বলা হবে। শুধুমাত্র আপনার যে তথ্যটি পূরণ করতে হবে তা সাধারণ নাম হওয়া উচিত, যা আপনার পছন্দের একটি অভ্যন্তরীণ FQDN হওয়া উচিত। এই ল্যাবের উদ্দেশ্যে, আপনাকে example.com বেছে নিতে হবে।

ক্লাউড শেল থেকে

sudo openssl genrsa -out private-key-file.pem 2048

ক্লাউড শেল থেকে

cat <<'EOF' >config.txt
[req]
default_bits              = 2048
req_extensions            = extension_requirements
distinguished_name        = dn_requirements

[extension_requirements]
basicConstraints          = CA:FALSE
keyUsage                  = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName            = @sans_list

[dn_requirements]
countryName               = Country Name (2 letter code)
stateOrProvinceName       = State or Province Name (full name)
localityName              = Locality Name (eg, city)
0.organizationName        = Organization Name (eg, company)
organizationalUnitName    = Organizational Unit Name (eg, section)
commonName                = Common Name (e.g. server FQDN or YOUR name)
emailAddress              = Email Address

[sans_list]
DNS.1                     = example.com

EOF

ক্লাউড শেল থেকে

sudo openssl req -new -key private-key-file.pem \
    -out csr.pem \
    -config config.txt

ক্লাউড শেল থেকে

sudo openssl x509 -req \
    -signkey private-key-file.pem \
    -in csr.pem \
    -out cert.cert \
    -extfile config.txt \
    -extensions extension_requirements \
    -days 10

এখন আমাদের নতুন শংসাপত্রের বিবরণ সহ Apache কনফিগারেশন তথ্য আপডেট করা যাক।

sudo vi /etc/apache2/sites-enabled/default-ssl.conf

সার্ভারঅ্যাডমিনের অধীনে একটি লাইন যুক্ত করুন যা পড়ে

ServerName example.com

SSLCertificateFile এবং SSLCertificateKeyFile আপনার VM-এ cert.cert ফাইল এবং private-key-file.pem অবস্থানগুলির অবস্থান আপডেট করুন৷ একটি উদাহরণ নীচে দেখানো হয়েছে. আপনার ডিরেক্টরির নামের সাথে <profile> আপডেট করা নিশ্চিত করুন।

SSLCertificateFile  /home/<profile>/cert.cert

SSLCertificateKeyFile /home/<profile>/private-key-file.pem

সম্পাদক বন্ধ করুন এবং Apache পুনরায় চালু করুন।

sudo a2enmod ssl
sudo systemctl restart apache2

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

6. প্রযোজক পরিষেবা তৈরি করুন

পরবর্তী আমরা পরিষেবার জন্য লোড ব্যালেন্সার উপাদান তৈরি করব।

লোড ব্যালেন্সার স্বাস্থ্য পরীক্ষা তৈরি করুন।

ক্লাউড শেল থেকে

gcloud compute health-checks create https service-lb-healthcheck \
    --port=443 \
    --region=$region

ব্যাকএন্ড পরিষেবা তৈরি করুন।

ক্লাউড শেল থেকে

 gcloud compute backend-services create psc-backend-service \
    --load-balancing-scheme=internal \
    --protocol=TCP \
    --region=$region \
    --health-checks=service-lb-healthcheck \
    --health-checks-region=$region

gcloud compute backend-services add-backend psc-backend-service \
--region=$region \
--instance-group=psc-service-mig

ফরোয়ার্ড করার নিয়ম তৈরি করুন। নোট করুন যে ফরওয়ার্ডিং নিয়মটি পোর্ট 443 এবং গ্লোবাল অ্যাক্সেসের সাথে কনফিগার করা আবশ্যক। এই PSC প্যাটার্ন কাজ করার জন্য এটি প্রয়োজনীয়।

ক্লাউড শেল থেকে

 gcloud compute forwarding-rules create producer-fr \
    --region=$region \
    --load-balancing-scheme=internal \
    --network=producer-vpc \
    --subnet=service-subnet \
    --address=10.0.0.100 \
    --ip-protocol=TCP \
    --ports=443 \
    --backend-service=psc-backend-service \
    --backend-service-region=$region \
    --allow-global-access

7. পরিষেবা পরীক্ষা করুন

আমরা পরিষেবা সংযুক্তি তৈরি করার আগে, আমরা গ্লোবাল অ্যাক্সেসের সাথে কনফিগার করা লোড ব্যালেন্সার, সেইসাথে TLS বন্ধ করার জন্য কনফিগার করা Apache পরিষেবা পরীক্ষা করার জন্য একটি ভিন্ন অঞ্চলে একটি ক্লায়েন্ট তৈরি করব।

ক্লাউড শেল থেকে

gcloud compute instances create vm-client \
    --zone=us-east4-a \
    --image-family=debian-10 \
    --image-project=debian-cloud \
    --subnet=client-subnet \
    --no-address

উদাহরণে SSH.

ক্লাউড শেল থেকে

gcloud compute ssh \
    --zone "us-east4-a" "vm-client" \
    --tunnel-through-iap \
    --project $project

লোড ব্যালেন্সারের মাধ্যমে 443-এর বেশি সংযোগ করে Apache পরিষেবা পরীক্ষা করুন।

curl https://example.com:443 -k --connect-to example.com:443:10.0.0.100:443

প্রত্যাশিত ফলাফল

PSC Service

8. পরিষেবা সংযুক্তি তৈরি করুন

ক্লাউড শেল থেকে

gcloud compute service-attachments create pscservice \
    --region=$region \
    --producer-forwarding-rule=producer-fr \
    --connection-preference=ACCEPT-AUTOMATIC \
    --nat-subnets=producer-nat-subnet

আপনার পরিষেবা সংযুক্তি ইউআরআইটি নোট করা উচিত কারণ শেষ পয়েন্ট কনফিগারেশনের জন্য পরবর্তী ধাপে আপনার এটির প্রয়োজন হবে। আপনি ক্লাউড শেলে নিম্নলিখিতগুলি সম্পাদন করে এটি পেতে পারেন

ক্লাউড শেল থেকে

gcloud compute service-attachments describe pscservice --region $region

/প্রকল্প থেকে শুরু করে ইউআরআই কপি করুন

উদাহরণ: /projects/<YOUR_PROJECT_ID>/regions/us-central1/serviceAttachments/pscservice

9. ভোক্তা VPC এবং সাবনেট সেটআপ

ভিপিসি নেটওয়ার্ক

ক্লাউড শেল থেকে

gcloud compute networks create consumer-vpc --subnet-mode custom

সাবনেট তৈরি করুন

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

ক্লাউড শেল থেকে

gcloud compute networks subnets create psc-neg-subnet \
--network=consumer-vpc \
--region=$region \
--range=10.100.200.0/24 \
--purpose=private

10. প্রাইভেট সার্ভিস কানেক্ট এন্ডপয়েন্ট এবং টেস্ট কানেকশন তৈরি করুন

আমরা একটি PSC NEG তৈরি করার প্রক্রিয়া অনুসরণ করব যা আমরা এইমাত্র তৈরি করা পরিষেবা সংযুক্তির সাথে যুক্ত হবে, PSC NEG-কে একটি ব্যাকএন্ড পরিষেবাতে সংযুক্ত করব এবং একটি ফরওয়ার্ডিং নিয়মের সাথে ব্যাকএন্ড পরিষেবা সংযুক্ত করব৷

আমরা শেষ ধাপে উল্লেখিত পরিষেবা সংযুক্তি ইউআরআইটি ব্যবহার করুন। আপনার URI দিয়ে নিচের URLটি প্রতিস্থাপন করুন।

ক্লাউড শেল থেকে

gcloud beta compute network-endpoint-groups create xlb-psc-neg \
--network-endpoint-type=private-service-connect \
--psc-target-service=projects/<PROJECT-ID>/regions/us-central1/serviceAttachments/pscservice \
--region=$region \
--network=consumer-vpc \
--subnet=psc-neg-subnet

XLB সর্বজনীন IP ঠিকানা তৈরি করুন এবং পরবর্তী পরীক্ষার জন্য নির্ধারিত প্রকৃত IP ঠিকানাটি ধরুন।

ক্লাউড শেল থেকে

gcloud compute addresses create xlb-psc-address \
--ip-version=IPv4 --global

gcloud compute addresses describe xlb-psc-address --format="get(address)" --global

এর পরে আমরা PSC এন্ডপয়েন্ট তৈরি করব, যা এই ক্ষেত্রে, একটি বাহ্যিক লোড ব্যালেন্সারে।

ক্লাউড শেল থেকে

gcloud beta compute backend-services create pscneg-backend-service \
--load-balancing-scheme=EXTERNAL_MANAGED \
--protocol=HTTPS \
--global

ক্লাউড শেল থেকে

gcloud beta compute backend-services add-backend pscneg-backend-service \
--network-endpoint-group=xlb-psc-neg \
--network-endpoint-group-region=$region \
--global

ক্লাউড শেল থেকে

gcloud beta compute url-maps create xlb-psc-map \
--default-service=pscneg-backend-service \
--global

ক্লাউড শেল থেকে

gcloud beta compute target-http-proxies create psc-http-proxy \
--url-map=xlb-psc-map

ক্লাউড শেল থেকে

gcloud beta compute forwarding-rules create xlb-psc-fr \
--load-balancing-scheme=EXTERNAL_MANAGED \
--network-tier=PREMIUM \
--address=xlb-psc-address \
--target-http-proxy=psc-http-proxy \
--ports=80 \
--global

5 - 7 মিনিট অপেক্ষা করুন এবং তারপর আপনার ব্রাউজারের ঠিকানা বারে xlb-psc- ঠিকানার সাথে যুক্ত IP ঠিকানাটি ইনপুট করুন।

যদি "PSC পরিষেবা" প্রদর্শিত হয়, আপনি সঠিকভাবে সমাধানটি কনফিগার করেছেন৷

11. পরিষ্কার করার পদক্ষেপ

একটি একক ক্লাউড শেল টার্মিনাল থেকে ল্যাব উপাদান মুছে দিন

gcloud beta compute forwarding-rules delete xlb-psc-fr --global --quiet

gcloud beta compute target-http-proxies delete psc-http-proxy --quiet

gcloud beta compute url-maps delete xlb-psc-map --global --quiet

gcloud beta compute backend-services delete pscneg-backend-service --global --quiet

gcloud compute addresses delete xlb-psc-address --global --quiet

gcloud beta compute network-endpoint-groups delete xlb-psc-neg --region $region --quiet

gcloud compute networks subnets delete psc-neg-subnet --region $region --quiet

gcloud compute networks delete consumer-vpc --quiet

gcloud compute service-attachments delete pscservice --region $region --quiet

gcloud compute instances delete vm-client --zone=us-east4-a --quiet

gcloud compute forwarding-rules delete producer-fr --region $region --quiet

gcloud compute backend-services delete psc-backend-service --region $region --quiet

gcloud compute health-checks delete service-lb-healthcheck --region $region --quiet

gcloud compute instance-groups managed delete psc-service-mig --region $region --quiet

gcloud compute health-checks delete psc-service-mig-healthcheck --region $region --quiet

gcloud compute instance-templates delete producer-service-template --quiet

gcloud compute firewall-rules delete allow-xlb-client --quiet

gcloud compute firewall-rules delete allow-ssh-iap --quiet

gcloud compute routers nats delete service-nat-gw –router service-cr --region $region --quiet

gcloud compute routers delete service-cr --region $region --quiet

gcloud compute networks subnets delete client-subnet --quiet

gcloud compute networks subnets delete service-subnet --quiet

gcloud compute networks subnets delete producer-nat-subnet --quiet

gcloud compute networks delete producer-vpc --quiet

12. অভিনন্দন!

কোডল্যাব সম্পূর্ণ করার জন্য অভিনন্দন।

আমরা কভার করেছি কি

  • গ্লোবাল এক্সএলবি ব্যবহার করে ভোক্তা HTTP(এস) পরিষেবা নিয়ন্ত্রণের সাথে একটি ব্যক্তিগত পরিষেবা সংযোগের শেষ পয়েন্ট তৈরি করুন
  • L7 XLB সংযোগগুলি গ্রহণ করার জন্য একটি পরিষেবা সংযুক্তির মাধ্যমে প্রকাশ করার জন্য একটি পরিচালিত পরিষেবা কনফিগার করুন৷
  • একটি SSL শংসাপত্র তৈরি করুন এবং TLS বন্ধ করতে এবং পোর্ট 443-এ ট্র্যাফিক গ্রহণ করতে একটি Apache ওয়েব সার্ভার কনফিগার করুন।
  • একটি PSC NEG তৈরি করুন।