এজেন্টস্পেস কাস্টম ডোমেন, WIF সমর্থন

১. ভূমিকা

এই ডকুমেন্টটি WIF ব্যবহার করে AgentSpace অ্যাক্সেস করার জন্য একটি কাস্টম ডোমেইন কনফিগার করার একটি রেফারেন্স আর্কিটেকচার প্রদান করে। Agentspace অ্যাপ তৈরির সময় নির্ধারিত Google-পরিচালিত URL-এর পরিবর্তে, ব্যবহারকারীরা একটি কাস্টম ডোমেইন ব্যবহার করতে পারেন। এই কোডল্যাবটি nip.io ডোমেইন ব্যবহার করে Agentspace ক্যালেন্ডার এবং ড্রাইভ অ্যাপ্লিকেশন অ্যাক্সেস করার পদ্ধতি প্রদর্শন করে। nip.io একটি বিনামূল্যের, ওপেন-সোর্স পরিষেবা যা যেকোনো IP অ্যাড্রেসের জন্য ওয়াইল্ডকার্ড DNS প্রদান করে। মূলত, এটি আপনাকে নিজের DNS সার্ভার সেট আপ করা বা আপনার /etc/hosts ফাইল পরিবর্তন করার প্রয়োজন ছাড়াই একটি নির্দিষ্ট IP অ্যাড্রেসে রিজলভ হয় এমন একটি হোস্টনেম তৈরি করার সুযোগ দেয়।

আপনার নিজস্ব ডোমেইন ব্যবহার করার পরামর্শ দেওয়া হচ্ছে, তবে প্রদর্শনের উদ্দেশ্যে এই টিউটোরিয়ালে nip.io ব্যবহার করা হয়েছে।

নীচে বর্ণিত ডেপ্লয়মেন্ট সিনারিওতে (চিত্র ১) এজেন্টস্পেস একটি ডেটাস্টোর প্রকাশ করেছে, যেটিতে একটি ক্যালেন্ডার অ্যাপ্লিকেশন রয়েছে এবং যা একটি পাবলিক গুগল-পরিচালিত ইউআরএল-এর মাধ্যমে অ্যাক্সেস করা যায়।

Figure 1

27591afa06891dcb.png

ডেটাস্টোর এবং পরবর্তী অ্যাপ্লিকেশনগুলির ক্রমাগত বৃদ্ধির ফলে পাবলিক গুগল-পরিচালিত ইউআরএলগুলির আরও ব্যবস্থাপনার প্রয়োজন হয়, যেমনটি নীচের ডেপ্লয়মেন্ট সিনারিওতে (চিত্র ২) দেখানো হয়েছে, যার ফলস্বরূপ এজেন্টস্পেস অ্যাপ্লিকেশন এবং ইউআরএল-এর মধ্যে একটি ১:১ ম্যাপিং তৈরি হয়।

চিত্র ২।

c03abe66bd3ad4df.png

একটি কাস্টম ডোমেইন বিভিন্ন AgentSpace অ্যাপ্লিকেশনকে একটি একক, ব্যবহারকারী-নির্দিষ্ট কাস্টমার ডোমেইনের সাথে ম্যাপ করার সুযোগ দেয়। এই ফিচারটি প্রতিটি Agentspace অ্যাপ্লিকেশনের সাথে একটি নির্দিষ্ট URL পাথ যুক্ত করার সুযোগ দেয়, যা নিচের ডেপ্লয়মেন্ট সিনারিওতে (চিত্র ৩) দেখানো অনুযায়ী আরও বেশি নমনীয়তা প্রদান করে। উদাহরণস্বরূপ, একটি কাস্টমার-পরিচালিত ডোমেইন agentspace.cosmopup.com-কে পাথ রুলে বিভক্ত করা হয়, যার প্রতিটি একটি নির্দিষ্ট Agentspace অ্যাপ্লিকেশনের সাথে ম্যাপ করা থাকে, যেমন:

  • agentspace.cosmopup.com/drive-app যা ওয়ার্কস্পেস ড্রাইভের জন্য এজেন্টস্পেস অ্যাপ্লিকেশনের সাথে ম্যাপ করা আছে।
  • agentspace.cosmopup.com/sharepoint-app যা Sharepoint-এর জন্য Agentspace অ্যাপ্লিকেশনটির সাথে ম্যাপ করা আছে

ইউআরএল ম্যাপের মাধ্যমে কনফিগার করা এক্সটার্নাল অ্যাপ্লিকেশন লোড ব্যালান্সারের হোস্ট এবং পাথ রুলগুলো, কাস্টম ডোমেইনকে গুগল-পরিচালিত ইউআরএল-এর সাথে ম্যাপ করার লজিককে নিয়ন্ত্রণ করে। এটি agentspace.cosmopup.com/drive-app উদাহরণটি ব্যবহার করে নিম্নলিখিত কাজটি সম্পাদন করে।

  • কাস্টম ডোমেইন হোস্ট পাথ agentspace.cosmopup.com/drive-app লোডব্যালেন্সার দ্বারা গৃহীত হয়েছে।
  • ইউআরএল ম্যাপটি অ্যাডভান্সড হোস্ট এবং পাথ রুল ম্যাচিংয়ের জন্য কনফিগার করা হয়েছে।
  • হোস্ট agentspace.cosmopup.com পাথ ম্যাচিং এবং রিডাইরেক্টের জন্য যোগ্য।
  • কাস্টম ডোমেইন হোস্ট পাথ agentspace.cosmopup.com/drive-app, UrlRedirect-এর অধীন।
  • pathRedirect হলো Agentspace-এর পাথ: /us/home/cid/5970a1b4-080a-4b44-8acd-fa89460cf0cd
  • hostRedirect হলো এজেন্টস্পেস হোস্ট: vertexaisearch.cloud.google.com
  • কাস্টম ডোমেইন হোস্ট পাথ agentspace.cosmopup.com/sharepoint-app, UrlRedirect-এর অধীন।
  • pathRedirect হলো Agentspace-এর পাথ: /signin/locations/global/workforcePools/your-pool-name/providers/your-provider-name?continueUrl=https://vertexaisearch.cloud.google/home/cid/f190000-0000-4d0a-0000-d08df6e3bef6
  • hostRedirect হলো Agentspace হোস্ট: auth.cloud.google
  • ব্যাকএন্ড সার্ভিসে রাউটিং করার আগে রিডাইরেক্ট অপারেশনটি সম্পন্ন করা হয়।

চিত্র ৩

8344f80c160f30f8.png

আপনি যা শিখবেন

  • একটি গ্লোবাল এক্সটার্নাল অ্যাপ্লিকেশন লোড ব্যালেন্সার তৈরি করুন
  • একটি কাস্টম ডোমেইনকে একটি এজেন্টস্পেস অ্যাপ্লিকেশনে পুনঃনির্দেশিত করার জন্য একটি রাউটিং তৈরি করুন।
  • কাস্টম ডোমেইন তৈরি করতে nip.io এবং Cloud DNS কীভাবে ইন্টিগ্রেট করবেন
  • এজেন্টস্পেস কাস্টম ডোমেইনে অ্যাক্সেস কীভাবে যাচাই করবেন

আপনার যা যা লাগবে

  • মালিকের অনুমতি সহ গুগল ক্লাউড প্রজেক্ট
  • বিদ্যমান এজেন্টস্পেস অ্যাপ্লিকেশন ইউআরএল(গুলি)
  • স্ব-মালিকানাধীন কাস্টম ডোমেইন (ঐচ্ছিক)
  • সার্টিফিকেট - সেলফ সাইনড অথবা গুগল ম্যানেজড

২. আপনি যা তৈরি করবেন

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

  • একটি ওয়েব ব্রাউজার খুলে আপনার কাস্টম ডোমেইন এবং নির্দিষ্ট পাথে গিয়ে আপনার এজেন্টস্পেস অ্যাপ্লিকেশনটি অ্যাক্সেস করুন।

786e8b2de2d2c68b.png

৩. নেটওয়ার্কের প্রয়োজনীয়তা

নিম্নে নেটওয়ার্কের প্রয়োজনীয়তার বিবরণ দেওয়া হলো:

উপাদান

বর্ণনা

ভিপিসি (এজেন্টস্পেস-ভিপিসি)

কাস্টম মোড ভিপিসি

ইন্টারনেট নেতিবাচক

লোড ব্যালান্সারের জন্য একটি এক্সটার্নাল ব্যাকএন্ড নির্ধারণ করতে ব্যবহৃত একটি রিসোর্স, যা এজেন্টস্পেস গুগল-ম্যানেজড এফকিউডিএন (vertexaisearch.cloud.google.com) নির্দেশক এফকিউডিএন হিসেবে কনফিগার করা থাকে। ইন্টারনেট এফকিউডিএন রেজোলিউশনের জন্য ভিপিসি-র মধ্যে ডিএনএস লুকআপ সম্পাদন করে।

ব্যাকএন্ড পরিষেবা

একটি ব্যাকএন্ড সার্ভিস আপনার লোড ব্যালেন্সার এবং ব্যাকএন্ড রিসোর্সগুলোর মধ্যে একটি সেতু হিসেবে কাজ করে। এই টিউটোরিয়ালে, ব্যাকএন্ড সার্ভিসটি ইন্টারনেট NEG-এর সাথে যুক্ত করা হয়েছে।

সার্টিফিকেট

গুগল ক্লাউডে একটি অ্যাপ্লিকেশন লোড ব্যালেন্সারের জন্য সার্টিফিকেট কনফিগার করতে, আপনাকে সার্টিফিকেট ম্যানেজার পরিষেবা এবং গুগল-পরিচালিত অথবা স্ব-পরিচালিত SSL সার্টিফিকেট ব্যবহার করতে হবে।

ক্লাউড ডিএনএস

এক্সটার্নাল অ্যাপ্লিকেশন লোড ব্যালান্সারের এক্সটার্নাল আইপি-কে nip.io (agentspace.externalip.nip.io)-তে রিজলভ করার জন্য ক্লাউড ডিএনএস পাবলিক জোন ব্যবহার করা হয়। বিকল্পভাবে, আপনার কাস্টম ডোমেইন এবং লোড ব্যালান্সারের আইপি অ্যাড্রেস সম্বলিত একটি এ রেকর্ড ব্যবহার করুন।

৪. কোডল্যাব টপোলজি

786e8b2de2d2c68b.png

8344f80c160f30f8.png

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

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

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

fbef9caa1602edd0.png

a99b7ace416376c4.png

5e3ff691252acf41.png

  • প্রজেক্টের নামটি হলো এই প্রজেক্টের অংশগ্রহণকারীদের প্রদর্শিত নাম। এটি একটি ক্যারেক্টার স্ট্রিং যা গুগল এপিআই ব্যবহার করে না। আপনি যেকোনো সময় এটি আপডেট করতে পারেন।
  • প্রজেক্ট আইডি সমস্ত গুগল ক্লাউড প্রজেক্ট জুড়ে অনন্য এবং অপরিবর্তনীয় (একবার সেট করার পর এটি পরিবর্তন করা যায় না)। ক্লাউড কনসোল স্বয়ংক্রিয়ভাবে একটি অনন্য স্ট্রিং তৈরি করে; সাধারণত এটি কী তা নিয়ে আপনার মাথা ঘামানোর দরকার নেই। বেশিরভাগ কোডল্যাবে, আপনাকে আপনার প্রজেক্ট আইডি উল্লেখ করতে হবে (যা সাধারণত PROJECT_ID হিসাবে চিহ্নিত করা হয়)। তৈরি করা আইডিটি আপনার পছন্দ না হলে, আপনি এলোমেলোভাবে আরেকটি তৈরি করতে পারেন। বিকল্পভাবে, আপনি আপনার নিজের আইডি দিয়ে চেষ্টা করে দেখতে পারেন যে সেটি উপলব্ধ আছে কিনা। এই ধাপের পরে এটি পরিবর্তন করা যাবে না এবং প্রজেক্টের পুরো সময়কাল জুড়ে এটি অপরিবর্তিত থাকবে।
  • আপনার অবগতির জন্য জানাচ্ছি যে, তৃতীয় একটি ভ্যালু রয়েছে, যা হলো প্রজেক্ট নম্বর , এবং কিছু এপিআই এটি ব্যবহার করে থাকে। ডকুমেন্টেশনে এই তিনটি ভ্যালু সম্পর্কে আরও বিস্তারিত জানুন।
  1. এরপর, ক্লাউড রিসোর্স/এপিআই ব্যবহার করার জন্য আপনাকে ক্লাউড কনসোলে বিলিং চালু করতে হবে। এই কোডল্যাবটি সম্পন্ন করতে খুব বেশি খরচ হবে না, এমনকি আদৌ কোনো খরচ নাও হতে পারে। এই টিউটোরিয়ালের পর বিলিং এড়াতে রিসোর্সগুলো বন্ধ করার জন্য, আপনি আপনার তৈরি করা রিসোর্সগুলো অথবা প্রজেক্টটি ডিলিট করে দিতে পারেন। নতুন গুগল ক্লাউড ব্যবহারকারীরা ৩০০ মার্কিন ডলারের ফ্রি ট্রায়াল প্রোগ্রামের জন্য যোগ্য।

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

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

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

55efc1aaa7a4d3ad.png

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

7ffe5cbb04455448.png

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

6. Before you begin

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

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

gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
project=[YOUR-PROJECT-ID]
region=[YOUR-REGION]
echo $project
echo $region

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

gcloud services enable compute.googleapis.com
gcloud services enable dns.googleapis.com

৭. লোড ব্যালান্সারের উপাদানগুলো স্থাপন করুন

লোড ব্যালেন্সারের এক্সটার্নাল আইপি অ্যাড্রেসটি রিজার্ভ করুন।

ক্লাউড শেলের ভিতরে, লোড ব্যালান্সারের জন্য একটি এক্সটার্নাল আইপি অ্যাড্রেস রিজার্ভ করুন:

gcloud compute addresses create external-ip \
    --network-tier=PREMIUM \
    --ip-version=IPV4 \
    --global

ক্লাউড শেলের ভিতরে, সংরক্ষিত আইপি অ্যাড্রেসটি দেখুন:

gcloud compute addresses describe external-ip \
  --global | grep -i address:

উদাহরণ আউটপুট:

user@cloudshell$ gcloud compute addresses describe external-ip \
  --global | grep -i address:
address: 34.54.158.206

ইন্টারনেট সেট আপ করুন NEG

একটি ইন্টারনেট এনইজি (NEG) তৈরি করুন, এবং –network-endpoint-type-কে internet-fqdn-port (যে হোস্টনেম ও পোর্টের মাধ্যমে আপনার এক্সটার্নাল ব্যাকএন্ডে পৌঁছানো যায়) হিসেবে সেট করুন। এজেন্টস্পেস (Agentspace) রিজলভ করার জন্য FQDN vertexaisearch.cloud.google.com এবং পোর্ট 443 ব্যবহৃত হয়।

gcloud compute network-endpoint-groups create agentspace-ineg \
    --network-endpoint-type="internet-fqdn-port" \
    --global
gcloud compute network-endpoint-groups update agentspace-ineg \
    --add-endpoint="fqdn=vertexaisearch.cloud.google.com,port=443" \
    --global

লোড ব্যালেন্সার তৈরি করুন

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

gcloud compute backend-services create agentspace-ineg-bes \
      --load-balancing-scheme=EXTERNAL_MANAGED \
      --protocol=HTTPS \
      --global
gcloud compute backend-services add-backend agentspace-ineg-bes \
      --network-endpoint-group=agentspace-ineg \
      --global-network-endpoint-group \
      --global  

সার্টিফিকেট তৈরি করুন

এই পর্যায়ে, আপনি ইন্টারনেট নেগেটিভ এবং ব্যাকএন্ড সার্ভিস তৈরি করেছেন। পরবর্তী অংশে, আপনাকে HTTPs টার্গেট প্রক্সিতে ব্যবহারের জন্য একটি সার্টিফিকেট রিসোর্স তৈরি করতে হবে। আপনি গুগল-পরিচালিত SSL সার্টিফিকেট অথবা সেলফ-ম্যানেজড SSL সার্টিফিকেট ব্যবহার করে একটি SSL সার্টিফিকেট রিসোর্স তৈরি করতে পারেন। আমরা গুগল-পরিচালিত সার্টিফিকেট ব্যবহারের পরামর্শ দিই, কারণ গুগল ক্লাউড এই সার্টিফিকেটগুলো স্বয়ংক্রিয়ভাবে সংগ্রহ, পরিচালনা এবং নবায়ন করে থাকে।

এই টিউটোরিয়ালে ব্যবহৃত গ্লোবাল এক্সটার্নাল অ্যাপ্লিকেশন লোড ব্যালান্সারের জন্য সমর্থিত সার্টিফিকেটগুলো সম্পর্কে আরও জানতে নিম্নলিখিত বিষয়গুলো দেখুন:

এসএসএল সার্টিফিকেটের সংক্ষিপ্ত বিবরণ | লোড ব্যালান্সিং | গুগল ক্লাউড

পরবর্তী অংশে, আপনি একটি সেলফ-সাইন্ড সার্টিফিকেট তৈরি করবেন (যদিও এর পরিবর্তে একটি গুগল ম্যানেজড সার্টিফিকেটও ব্যবহার করা যেতে পারে)। এই সার্টিফিকেটের জন্য কমন নেম-কে ফুললি কোয়ালিফাইড ডোমেইন নেম (যেমন agentspace.YOUR-EXTERNAL-IP.nip.io)- এর সাথে ম্যাপ করতে হবে, যা পূর্বে জেনারেট করা লোড ব্যালান্সারের এক্সটার্নাল আইপি অ্যাড্রেসের সাথে সঙ্গতিপূর্ণ হবে। উদাহরণ নিচে দেওয়া হলো:

সাধারণ নাম: agentspace.34.54.158.206.nip.io

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

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

ক্লাউড শেলের ভিতরে একটি config.txt ফাইল তৈরি করুন যা pem ফাইল তৈরি করতে ব্যবহৃত হবে। DNS 1 এন্ট্রিতে সম্পূর্ণ ডোমেইন নামটি উল্লেখ করুন, যেমন agentspace.YOUR-EXTERNAL-IP.nip.io (উদাহরণস্বরূপ, নিচের কনফিগে agentspace.34.54.158.206.nip.io)।

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)
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                     = agentspace.YOUR-EXTERNAL-IP.nip.io

EOF

ক্লাউড শেলের ভিতরে, config.txt এবং private-key-file.pem ফাইল দুটি তৈরি হয়েছে কিনা তা যাচাই করুন।

user@cloudshell:$ ls
config.txt  private-key-file.pem

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

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

উদাহরণ:

user@cloudshell:$ sudo openssl req -new -key private-key-file.pem \
    -out csr.pem \
    -config config.txt
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) []:
State or Province Name (full name) []:
Locality Name (eg, city) []:
Organization Name (eg, company) []:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name)[]:agentspace.34.54.158.206.nip.io
Email Address []:

ক্লাউড শেলের ভিতরে, সার্টিফিকেট সাইনিং রিকোয়ার্ড pem ফাইলটি তৈরি হয়েছে কিনা তা যাচাই করুন।

user@cloudshell:$ ls
config.txt  csr.pem  private-key-file.pem

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

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

উদাহরণ আউটপুট:

user@cloudshell:$ sudo openssl x509 -req \
    -signkey private-key-file.pem \
    -in csr.pem \
    -out cert.cert \
    -extfile config.txt \
    -extensions extension_requirements \
    -days 365
Certificate request self-signature ok
subject=CN = agentspace.34.54.158.206.nip.io

ক্লাউড শেলের ভিতরে, cert.cert ফাইলটির তৈরি হওয়া যাচাই করুন।

user@cloudshell:$ ls
cert.cert  config.txt  csr.pem  private-key-file.pem

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

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

gcloud compute ssl-certificates create agentspace-self-signed-cert \
    --certificate=cert.cert \
    --private-key=private-key-file.pem \
    --global

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

gcloud compute url-maps create agentspace-lb \
      --default-service=agentspace-ineg-bes \
      --global  

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

gcloud compute target-https-proxies create https-proxy \
      --ssl-certificates=agentspace-self-signed-cert \
      --url-map=agentspace-lb \
      --global 

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

gcloud compute forwarding-rules create agentspace-fr \
      --load-balancing-scheme=EXTERNAL_MANAGED \
      --network-tier=PREMIUM \
      --address=external-ip \
      --target-https-proxy=https-proxy \
      --global \
      --ports=443

৮. পাবলিক ডিএনএস জোন তৈরি করুন

পরবর্তী অংশে, আপনি একটি পাবলিক ডিএনএস জোন তৈরি করবেন যা nip.io এক্সটার্নাল লোড ব্যালান্সারের আইপি অ্যাড্রেস রিজলভ করার জন্য ব্যবহার করবে।

ক্লাউড শেলে, আপনার এক্সটার্নাল লোড ব্যালেন্সারের আইপি অ্যাড্রেসের জন্য ভ্যারিয়েবল তৈরি করতে নিম্নলিখিত পদক্ষেপগুলো অনুসরণ করুন:

externalip=<YOUR-EXTERNAL-IP>
echo $externalip

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

gcloud dns --project=$project managed-zones create agentspace-dns --description="Agentspace public dns" --dns-name="$externalip.nip.io." --visibility="public"

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

gcloud dns --project=$project record-sets create agentspace.$externalip.nip.io. --zone="agentspace-dns" --type="A" --ttl="300" --rrdatas="$externalip"

৯. এজেন্টস্পেস অ্যাপ্লিকেশন ইউআরএলগুলি শনাক্ত করুন

নিম্নলিখিত পদ্ধতিটি গুগল দ্বারা তৈরি এবং প্রতিটি এজেন্টস্পেস অ্যাপ্লিকেশনের সাথে ম্যাপ করা গুগল-পরিচালিত এজেন্টস্পেস পাবলিক ইউআরএলগুলো শনাক্ত করে। ইউআরএলগুলোর আউটপুট রেফারেন্স আর্কিটেকচারের উপর ভিত্তি করে তৈরি উদাহরণ, তাই আপনাকে অবশ্যই নিশ্চিত করতে হবে যে আপনার ইউআরএলগুলো নির্ভুল।

প্রতিটি অ্যাপ্লিকেশনের জন্য আপনার ওয়েব অ্যাপের লিঙ্কটি সংরক্ষণ করা নিশ্চিত করুন।

ড্রাইভ অ্যাপ্লিকেশন

এজেন্টস্পেস ওয়েব ইউআরএল:

https://vertexaisearch.cloud.google.com/us/home/cid/5970a1b4-080a-4b44-8acd-fa89460cf0cd

f8f850425fd11190.png

শেয়ারপয়েন্ট অ্যাপ্লিকেশন

এজেন্টস্পেস ওয়েব ইউআরএল: https://auth.cloud.google/signin/locations/global/workforcePools/your-pool-name/providers/your-provider-name?continueUrl=https://vertexaisearch.cloud.google/home/cid/f190000-0000-4d0a-0000-d08df6e3bef6

f31a1939b9b83525.png

১০. উন্নত হোস্ট এবং পাথ নিয়ম তৈরি করুন

পরবর্তী অংশে, আপনি ক্লাউড কনসোল ব্যবহার করে হোস্ট এবং পাথ নিয়ম নির্ধারণের বিকল্পটি সক্রিয় করতে লোড ব্যালেন্সারের রাউটিং নিয়মগুলো আপডেট করবেন। নিচের সারণিতে কাস্টম মানগুলো (উপর থেকে নিচে ক্রমানুসারে) উল্লেখ করা হলো, আপনার পরিবেশ অনুযায়ী এগুলো আপডেট করুন:

কাস্টম ভ্যালু

টিউটোরিয়ালের উপর ভিত্তি করে উদাহরণ

হোস্টরা

agentspace.YOUR-EXTERNAL-IP.nip.io

agentspace.34.54.158.206.nip.io

ডিফল্ট পরিষেবা

projects/<projectid>/global/backendServices/agentspace-ineg-bes

projects/your-project-id/global/backendServices/agentspace-ineg-bes

প্রিফিক্সম্যাচ

/<name of Agentspace app#1>

/ড্রাইভ-অ্যাপ

পথ পুনঃনির্দেশ

<অ্যাপ#১ এর এজেন্টস্পেস ইউআরএল পাথ>

/us/home/cid/5970a1b4-080a-4b44-8acd-fa89460cf0cd

hostRedirect

vertexaisearch.cloud.google.com

vertexaisearch.cloud.google.com

প্রিফিক্সম্যাচ

<এজেন্টস্পেস অ্যাপ#২ এর নাম>

/শেয়ারপয়েন্ট-অ্যাপ

পথ পুনঃনির্দেশ

<অ্যাপ#২ এর এজেন্টস্পেস ইউআরএল পাথ>

//signin/locations/global/workforcePools/your-pool-name/providers/your-provider-name?continueUrl=https://vertexaisearch.cloud.google/home/cid/f190000-0000-4d0a-0000-d08df6e3bef6

হোস্টরিডাইরেক্ট

auth.cloud.google

vertexaisearch.cloud.google.com

হোস্ট এবং পাথ নিয়মাবলী অ্যাক্সেস করতে নিম্নলিখিত স্থানে যান।

লোড ব্যালেন্সিং → এজেন্টস্পেস-এলবি → সম্পাদনা নির্বাচন করুন

রাউটিং নিয়ম নির্বাচন করুন → উন্নত হোস্ট এবং পাথ নিয়ম

হোস্ট এবং পাথ নিয়ম যোগ করুন নির্বাচন করুন

4bc965db43aed21b.png

এখন আপনাকে একটি নতুন হোস্ট এবং পাথ রুল তৈরি করতে বলা হচ্ছে, হোস্ট সেকশনে agentspace.YOUR-EXTERNAL-IP.nip.io অথবা কাস্টম ডোমেইন প্রবেশ করান।

f36e4fa11c950d8d.png

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

defaultService: projects/<projectid>/global/backendServices/agentspace-ineg-bes
name: matcher1
routeRules:
- matchRules:
  - prefixMatch: /<name of Agentspace app#1>
  priority: 1
  urlRedirect:
    pathRedirect: /<Agentspace URL path of app#1>
    hostRedirect: vertexaisearch.cloud.google.com
    redirectResponseCode: FOUND
- matchRules:
  - prefixMatch: /<name of Agentspace app#2>
  priority: 2
  urlRedirect:
    pathRedirect: /<Agentspace URL path of app#2>
    hostRedirect: auth.cloud.google
    redirectResponseCode: FOUND

উদাহরণ স্ক্রিনশট:

5470a123dca793b9.png

777dcb5191fd8d41.png

১১. বৈধতা যাচাই

ডেপ্লয়মেন্ট সম্পন্ন হয়েছে! আপনি একটি ওয়েব ব্রাউজার বা টার্মিনালের মাধ্যমে কাস্টম ডোমেন ব্যবহার করে Agentspace অ্যাপ্লিকেশনটি অ্যাক্সেস করতে পারেন। এর জন্য agentspace.YOUR-EXTERNAL-IP.nip.io/path উল্লেখ করুন, যেমন agentspace.34.54.158.206.nip.io। নিচে উদাহরণ দেওয়া হলো:

এজেন্টস্পেস অ্যাপ্লিকেশন: ড্রাইভ-অ্যাপ

পথ: agentspace.34.54.158.206.nip.io/drive-app

এজেন্টস্পেস অ্যাপ্লিকেশন: শেয়ারপয়েন্ট-অ্যাপ

পথ: agentspace.34.54.158.206.nip.io/sharepoint-app

১২. পরিষ্কার করুন

OAuth ক্রেডেনশিয়াল মুছে ফেলতে, নিম্নলিখিতগুলি সম্পাদন করুন:

APIS ও পরিষেবা → পরিচয়পত্র-এ যান

OAuth 2.0 ক্লায়েন্ট আইডি-এর অধীনে, আপনার ক্রেডেনশিয়ালগুলি নির্বাচন করুন এবং তারপর মুছে ফেলুন।

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

gcloud compute forwarding-rules delete agentspace-fr --global -q

gcloud compute target-https-proxies delete https-proxy --global -q

gcloud compute url-maps delete agentspace-lb --global -q

cloud compute ssl-certificates delete agentspace-self-signed-cert --global -q

gcloud compute backend-services delete agentspace-ineg-bes --global -q

gcloud compute network-endpoint-groups delete agentspace-ineg --global -q

gcloud dns --project=$projectid record-sets delete agentspace.$externalip.nip.io --zone="agentspace-dns" --type="A"

gcloud dns --project=$projectid managed-zones delete agentspace-dns

gcloud compute addresses delete external-ip --global -q

gcloud compute networks delete agentspace-vpc -q

১৩. অভিনন্দন

অভিনন্দন, আপনি উন্নত ট্র্যাফিক ব্যবস্থাপনা সহ একটি এক্সটার্নাল অ্যাপ্লিকেশন লোড ব্যালেন্সার ব্যবহার করে একটি কাস্টম ডোমেনের মাধ্যমে এজেন্টস্পেসের সাথে সংযোগ সফলভাবে কনফিগার এবং যাচাই করেছেন।

আপনি লোড ব্যালেন্সার পরিকাঠামো তৈরি করেছেন এবং ইন্টারনেট এনইজি (NEG), ক্লাউড ডিএনএস (Cloud DNS) ও উন্নত ট্র্যাফিক ম্যানেজমেন্ট তৈরি করতে শিখেছেন, যা হোস্ট ও পাথ রিডাইরেক্ট সক্ষম করে একটি কাস্টম ডোমেইন ব্যবহার করে এজেন্টস্পেস (Agentspace)-এর সাথে সংযোগ স্থাপন করতে সাহায্য করেছে।

কসমোপাপের মতে কোডল্যাবগুলো অসাধারণ!!

c911c127bffdee57.jpeg

রেফারেন্স নথি