1. ভূমিকা
AgentSpace অ্যাক্সেস করার জন্য একটি কাস্টম ডোমেন কনফিগার করার জন্য এই নথিটি একটি রেফারেন্স আর্কিটেকচার প্রদান করে। এজেন্টস্পেস অ্যাপ তৈরির সময় নির্ধারিত Google-পরিচালিত URL-এর পরিবর্তে, ব্যবহারকারীরা একটি কাস্টম ডোমেন ব্যবহার করতে পারেন। এই কোডল্যাবটি nip.io ডোমেন ব্যবহার করে Agentspace ক্যালেন্ডার এবং ড্রাইভ অ্যাপ্লিকেশনগুলিতে অ্যাক্সেস প্রদর্শন করে। nip.io হল একটি বিনামূল্যের, ওপেন সোর্স পরিষেবা যা যেকোনো IP ঠিকানার জন্য ওয়াইল্ডকার্ড DNS প্রদান করে। মূলত, এটি আপনাকে একটি হোস্টনাম তৈরি করতে দেয় যা আপনার নিজস্ব DNS সার্ভার সেট আপ করার বা আপনার /etc/hosts ফাইলটি পরিবর্তন করার প্রয়োজন ছাড়াই একটি নির্দিষ্ট আইপি ঠিকানার সমাধান করে।
আপনার নিজের ডোমেন ব্যবহার করার পরামর্শ দেওয়া হয়, তবে প্রদর্শনের উদ্দেশ্যে nip.io টিউটোরিয়ালে ব্যবহার করা হয়েছে।
নীচের চিত্রিত স্থাপনার দৃশ্যে (চিত্র 1) AgentSpace একটি পাবলিক Google-পরিচালিত URL এর মাধ্যমে অ্যাক্সেস করা একটি ক্যালেন্ডার অ্যাপ্লিকেশন ধারণকারী একটি ডেটাস্টোর প্রকাশ করেছে৷
চিত্র 1
ডেটাস্টোরের ক্রমাগত বৃদ্ধি এবং পরবর্তী অ্যাপ্লিকেশনগুলির ফলস্বরূপ সার্বজনীন Google-পরিচালিত URLগুলির আরও পরিচালনার ফলে নীচের স্থাপনার দৃশ্যে চিত্রিত করা হয়েছে, (চিত্র 2) এজেন্টস্পেস অ্যাপ্লিকেশন এবং URL এর 1:1 ম্যাপিং।
চিত্র 2।
একটি কাস্টম ডোমেন একটি একক, ব্যবহারকারী-নির্দিষ্ট গ্রাহক ডোমেনে বিভিন্ন AgentSpace অ্যাপ্লিকেশনের ম্যাপিং সক্ষম করে। এই বৈশিষ্ট্যটি প্রতিটি এজেন্টস্পেস অ্যাপ্লিকেশনের সাথে একটি নির্দিষ্ট ইউআরএল পাথ যুক্ত করার অনুমতি দেয়, নীচের স্থাপনার দৃশ্যে চিত্রিত হিসাবে আরও নমনীয়তা প্রদান করে, (চিত্র 3)। উদাহরণ হিসাবে, একজন গ্রাহক পরিচালিত ডোমেন agentspace.cosmopup.com কে পাথ নিয়মে ভাগ করা হয়েছে, প্রতিটি একটি নির্দিষ্ট এজেন্টস্পেস অ্যাপ্লিকেশনে ম্যাপ করা হয়েছে, উদাহরণের মধ্যে রয়েছে:
- agentspace.cosmopup.com/drive-app যা ওয়ার্কস্পেস ড্রাইভের জন্য এজেন্টস্পেস অ্যাপ্লিকেশনে ম্যাপ করে
- agentspace.cosmopup.com/calendar-app যা ওয়ার্কস্পেস ক্যালেন্ডারের জন্য এজেন্টস্পেস অ্যাপ্লিকেশনে ম্যাপ করে
ইউআরএল ম্যাপের মাধ্যমে কনফিগার করা এক্সটার্নাল অ্যাপ্লিকেশান লোড ব্যালেন্সারের হোস্ট এবং পাথ নিয়মগুলি, লজিক নিয়ন্ত্রণ করে যা কাস্টম ডোমেনকে Google-পরিচালিত URL-এ ম্যাপ করে। এটি agentspace.cosmopup.com/drive-app উদাহরণ ব্যবহার করে নিম্নলিখিত ফাংশন সম্পাদন করে
- কাস্টম ডোমেন হোস্ট পাথ agentspace.cosmopup.com/drive-app লোডব্যালেন্সার দ্বারা গৃহীত হয়েছে
- ইউআরএল ম্যাপ অ্যাডভান্সড হোস্ট এবং পাথ নিয়ম মেলানোর জন্য কনফিগার করা হয়েছে
- হোস্ট agentspace.cosmopup.com পাথ ম্যাচিং এবং পুনর্লিখনের জন্য যোগ্য
- কাস্টম ডোমেন হোস্ট পাথ agentspace.cosmopup.com/drive-app UrlRewrite এর সাপেক্ষে
- PathPrefixRewrite হল Agentspace পাথ: /us/home/cid/5970a1b4-080a-4b44-8acd-fa89460cf0cd
- hostRwrite হল এজেন্টস্পেস হোস্ট: vertexaisearch.cloud.google.com
- ব্যাকএন্ড পরিষেবাতে রাউটিং করার আগে পুনর্লিখন অপারেশন করা হয়
- ব্যাকএন্ড সার্ভিস এজেন্টস্পেস ইউআরএলের উপর ভিত্তি করে ড্রাইভ-অ্যাপ অ্যাপ্লিকেশনে ট্রাফিককে রুট করে
চিত্র 3
আপনি কি শিখবেন
- একটি গ্লোবাল এক্সটার্নাল অ্যাপ্লিকেশন লোড ব্যালেন্সার তৈরি করুন
- একটি কাস্টম ডোমেন ব্যবহার করে একটি ব্যাকএন্ড পরিষেবা পুনর্লিখন তৈরি করুন এবং একটি এজেন্টস্পেস অ্যাপ্লিকেশনে পুনরায় লেখার অপারেশন করুন
- একটি কাস্টম ডোমেন তৈরি করতে nip.io এবং ক্লাউড ডিএনএস কীভাবে একীভূত করবেন
- একটি এজেন্টস্পেস কাস্টম ডোমেনে অ্যাক্সেস কীভাবে যাচাই করবেন
আপনি কি প্রয়োজন হবে
- মালিকের অনুমতি সহ Google ক্লাউড প্রকল্প
- বিদ্যমান এজেন্টস্পেস অ্যাপ্লিকেশন URL(গুলি)
- স্ব-মালিক কাস্টম ডোমেন (ঐচ্ছিক)
- শংসাপত্র - স্ব-স্বাক্ষরিত বা Google পরিচালিত
2. আপনি কি তৈরি করবেন
হোস্ট এবং পাথ পুনর্লিখন ব্যবহার করে এজেন্টস্পেস অ্যাপ্লিকেশনগুলির জন্য কাস্টম ডোমেন পাথ ম্যাচ সক্ষম করতে আপনি উন্নত ট্র্যাফিক পরিচালনার ক্ষমতা সহ একটি গ্লোবাল এক্সটার্নাল অ্যাপ্লিকেশন লোড ব্যালেন্সার স্থাপন করবেন। একবার স্থাপন করা হলে, আপনি এজেন্টস্পেস অ্যাপ্লিকেশনে অ্যাক্সেস যাচাই করতে নিম্নলিখিত ক্রিয়াগুলি সম্পাদন করবেন:
- একটি ওয়েব ব্রাউজার খুলে আপনার কাস্টম ডোমেন এবং নির্দিষ্ট পাথে নেভিগেট করে আপনার এজেন্টস্পেস অ্যাপ্লিকেশন অ্যাক্সেস করুন।
3. নেটওয়ার্ক প্রয়োজনীয়তা
নীচে নেটওয়ার্ক প্রয়োজনীয়তা ভাঙ্গন:
উপাদান | বর্ণনা |
ভিপিসি (এজেন্টস্পেস-ভিপিসি) | কাস্টম মোড ভিপিসি |
ইন্টারনেট NEG | Agentspace Google-Manged FQDN (vertexaisearch.cloud.google.com) নির্দেশ করে FQDN হিসাবে কনফিগার করা লোড ব্যালেন্সারের জন্য একটি বহিরাগত ব্যাকএন্ড সংজ্ঞায়িত করতে ব্যবহৃত একটি সংস্থান। ইন্টারনেট FQDN রেজোলিউশনের জন্য VPC-এর মধ্যে DNS লুকআপ করে। |
ব্যাকএন্ড পরিষেবা | একটি ব্যাকএন্ড পরিষেবা আপনার লোড ব্যালেন্সার এবং আপনার ব্যাকএন্ড সংস্থানগুলির মধ্যে একটি সেতু হিসাবে কাজ করে। টিউটোরিয়ালে, ব্যাকএন্ড পরিষেবাটি ইন্টারনেট NEG-এর সাথে যুক্ত। |
সার্টিফিকেট | Google ক্লাউডে একটি অ্যাপ্লিকেশন লোড ব্যালেন্সারের জন্য শংসাপত্র কনফিগার করতে, আপনি সার্টিফিকেট ম্যানেজার পরিষেবা এবং Google-পরিচালিত বা স্ব-পরিচালিত SSL শংসাপত্রগুলি ব্যবহার করবেন |
ক্লাউড ডিএনএস | ক্লাউড ডিএনএস পাবলিক জোনটি nip.io (agentspace.externalip.nip.io) থেকে বাহ্যিক অ্যাপ্লিকেশন লোড ব্যালেন্সার বাহ্যিক আইপি সমাধান করতে ব্যবহৃত হয়। বিকল্পভাবে, আপনার কাস্টম ডোমেন এবং লোড ব্যালেন্সারের আইপি ঠিকানা সমন্বিত একটি রেকর্ড ব্যবহার করুন। |
4. কোডল্যাব টপোলজি
5. সেটআপ এবং প্রয়োজনীয়তা
স্ব-গতিসম্পন্ন পরিবেশ সেটআপ
- Google ক্লাউড কনসোলে সাইন-ইন করুন এবং একটি নতুন প্রকল্প তৈরি করুন বা বিদ্যমান একটি পুনরায় ব্যবহার করুন৷ আপনার যদি ইতিমধ্যেই একটি Gmail বা Google Workspace অ্যাকাউন্ট না থাকে, তাহলে আপনাকে অবশ্যই একটি তৈরি করতে হবে।
- প্রকল্পের নাম এই প্রকল্পের অংশগ্রহণকারীদের জন্য প্রদর্শনের নাম। এটি একটি অক্ষর স্ট্রিং যা Google API দ্বারা ব্যবহৃত হয় না। আপনি সবসময় এটি আপডেট করতে পারেন.
- প্রোজেক্ট আইডি সমস্ত Google ক্লাউড প্রোজেক্ট জুড়ে অনন্য এবং অপরিবর্তনীয় (সেট করার পরে পরিবর্তন করা যাবে না)। ক্লাউড কনসোল স্বয়ংক্রিয়ভাবে একটি অনন্য স্ট্রিং তৈরি করে; সাধারণত আপনি এটা কি যত্ন না. বেশিরভাগ কোডল্যাবে, আপনাকে আপনার প্রকল্প আইডি উল্লেখ করতে হবে (সাধারণত
PROJECT_ID
হিসাবে চিহ্নিত)। আপনি যদি জেনারেট করা আইডি পছন্দ না করেন, তাহলে আপনি অন্য একটি এলোমেলো আইডি তৈরি করতে পারেন। বিকল্পভাবে, আপনি নিজের চেষ্টা করতে পারেন, এবং এটি উপলব্ধ কিনা দেখতে পারেন। এই ধাপের পরে এটি পরিবর্তন করা যাবে না এবং প্রকল্পের সময়কালের জন্য থাকে। - আপনার তথ্যের জন্য, একটি তৃতীয় মান আছে, একটি প্রকল্প নম্বর , যা কিছু API ব্যবহার করে। ডকুমেন্টেশনে এই তিনটি মান সম্পর্কে আরও জানুন।
- এরপরে, ক্লাউড রিসোর্স/এপিআই ব্যবহার করতে আপনাকে ক্লাউড কনসোলে বিলিং সক্ষম করতে হবে। এই কোডল্যাবের মাধ্যমে চালানোর জন্য খুব বেশি খরচ হবে না, যদি কিছু হয়। এই টিউটোরিয়ালের বাইরে বিলিং এড়াতে সংস্থানগুলি বন্ধ করতে, আপনি আপনার তৈরি করা সংস্থানগুলি মুছতে বা প্রকল্প মুছতে পারেন। নতুন Google ক্লাউড ব্যবহারকারীরা $300 USD বিনামূল্যের ট্রায়াল প্রোগ্রামের জন্য যোগ্য৷
ক্লাউড শেল শুরু করুন
যদিও Google ক্লাউড আপনার ল্যাপটপ থেকে দূরবর্তীভাবে পরিচালিত হতে পারে, এই কোডল্যাবে আপনি Google ক্লাউড শেল ব্যবহার করবেন, একটি কমান্ড লাইন পরিবেশ যা ক্লাউডে চলছে।
Google ক্লাউড কনসোল থেকে, উপরের ডানদিকে টুলবারে ক্লাউড শেল আইকনে ক্লিক করুন:
পরিবেশের ব্যবস্থা করতে এবং সংযোগ করতে এটি শুধুমাত্র কয়েক মুহূর্ত নিতে হবে। এটি সমাপ্ত হলে, আপনি এই মত কিছু দেখতে হবে:
এই ভার্চুয়াল মেশিনটি আপনার প্রয়োজনীয় সমস্ত ডেভেলপমেন্ট টুল দিয়ে লোড করা হয়েছে। এটি একটি ক্রমাগত 5GB হোম ডিরেক্টরি অফার করে এবং Google ক্লাউডে চলে, যা নেটওয়ার্ক কর্মক্ষমতা এবং প্রমাণীকরণকে ব্যাপকভাবে উন্নত করে। এই কোডল্যাবে আপনার সমস্ত কাজ একটি ব্রাউজারে করা যেতে পারে। আপনার কিছু ইন্সটল করার দরকার নেই।
6. আপনি শুরু করার আগে
এপিআই সক্ষম করুন
ক্লাউড শেলের ভিতরে, নিশ্চিত করুন যে আপনার প্রকল্প আইডি সেট আপ করা আছে:
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
7. ভিপিসি নেটওয়ার্ক তৈরি করুন
ভিপিসি নেটওয়ার্ক
ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:
gcloud compute networks create agentspace-vpc --subnet-mode custom
8. লোড ব্যালেন্সার উপাদানগুলি সেট আপ করুন৷
লোড ব্যালেন্সারের বাহ্যিক আইপি ঠিকানা সংরক্ষণ করুন
ক্লাউড শেলের ভিতরে, লোড ব্যালেন্সারের জন্য একটি বাহ্যিক আইপি ঠিকানা সংরক্ষণ করুন:
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 তৈরি করুন, এবং –নেটওয়ার্ক-এন্ডপয়েন্ট-টাইপকে ইন্টারনেট-fqdn-পোর্টে সেট করুন (হোস্টনাম এবং পোর্ট যেখানে আপনার বাহ্যিক ব্যাকএন্ডে পৌঁছানো যেতে পারে)। এজেন্টস্পেস সমাধান করতে FQDN vertexaisearch.cloud.google.com এবং PORT 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 টার্গেট প্রক্সিতে ব্যবহার করার জন্য একটি শংসাপত্র সংস্থান তৈরি করতে হবে। আপনি একটি Google-পরিচালিত SSL শংসাপত্র বা একটি স্ব-পরিচালিত SSL শংসাপত্র ব্যবহার করে একটি SSL শংসাপত্র সম্পদ তৈরি করতে পারেন৷ আমরা Google-পরিচালিত শংসাপত্রগুলি ব্যবহার করার পরামর্শ দিই কারণ Google ক্লাউড এই শংসাপত্রগুলি স্বয়ংক্রিয়ভাবে গ্রহণ করে, পরিচালনা করে এবং পুনর্নবীকরণ করে৷
এই টিউটোরিয়ালে ব্যবহৃত গ্লোবাল এক্সটার্নাল অ্যাপ্লিকেশান লোড ব্যালেন্সারের জন্য সমর্থিত শংসাপত্রগুলি সম্পর্কে আরও জানতে নিম্নলিখিতগুলি পড়ুন:
SSL সার্টিফিকেট ওভারভিউ | লোড ব্যালেন্সিং | গুগল ক্লাউড
নিম্নলিখিত বিভাগে, আপনি একটি স্ব-স্বাক্ষরিত শংসাপত্র তৈরি করবেন (যদিও পরিবর্তে একটি google পরিচালিত শংসাপত্র ব্যবহার করা যেতে পারে) যার জন্য সাধারণ নামের ম্যাপিং সম্পূর্ণরূপে যোগ্য ডোমেন নামের সাথে করতে হবে ( 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 এন্ট্রি এন্ট্রি এজেন্টস্পেস. 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 []:
ক্লাউড শেল-এর ভিতরে, সার্টিফিকেট সাইনিং প্রয়োজনীয় পিএম তৈরির বৈধতা দিন।
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
9. পাবলিক DNS জোন তৈরি করুন
নিম্নলিখিত বিভাগে, আপনি একটি পাবলিক ডিএনএস জোন তৈরি করবেন যা 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"
10. OAuth শংসাপত্র
নিম্নলিখিত বিভাগে, আপনি ওয়েব অ্যাপ্লিকেশনগুলির জন্য একটি Oauth শংসাপত্র তৈরি করবেন যা প্রমাণীকরণের জন্য Google-পরিচালিত URL-এ পুনঃনির্দেশিত করে। টিউটোরিয়ালের জন্য উত্পন্ন শংসাপত্রের প্রয়োজন নেই।
Oauth সম্পর্কে আরও জানতে, নিম্নলিখিত পড়ুন:
Google ক্যালেন্ডার এবং Gmail অ্যাকশন যোগ করুন | গুগল এজেন্টস্পেস
একটি OAuth অ্যাপ তৈরি করুন এবং স্কোপ যোগ করুন
- APIs এবং পরিষেবাগুলি > OAuth সম্মতি স্ক্রীনে যান: OAuth সম্মতি স্ক্রীনে যান
- অভ্যন্তরীণ নির্বাচন করুন এবং তারপরে তৈরি করুন ক্লিক করুন।
- আপনার OAuth অ্যাপের জন্য একটি নাম লিখুন।
- একটি ব্যবহারকারী সমর্থন ইমেল লিখুন.
- বিকাশকারীর যোগাযোগের তথ্য লিখুন।
- সংরক্ষণ করুন এবং চালিয়ে যান ক্লিক করুন।
একটি OAuth ক্লায়েন্ট আইডি তৈরি করুন
Google ক্লাউড অ্যাকশনের জন্য কীভাবে একটি নতুন OAuth ক্লায়েন্ট আইডি তৈরি করতে হয় এই পদ্ধতিটি বর্ণনা করে। এই OAuth ক্লায়েন্ট আইডি এবং গোপনীয়তা অন্যান্য Google ক্লাউড অ্যাকশনের জন্যও ব্যবহার করা যেতে পারে। যদি আপনার কাছে Google ক্লাউড অ্যাকশনের জন্য একটি বিদ্যমান Google Cloud OAuth ক্লায়েন্ট আইডি থাকে, তাহলে আপনি একটি নতুন ক্লায়েন্ট আইডি তৈরি করার পরিবর্তে Google ক্যালেন্ডার অ্যাকশনের জন্য সেই ক্লায়েন্ট আইডি এবং গোপনীয়তা ব্যবহার করতে পারেন।
- শংসাপত্র পৃষ্ঠাতে যান এবং ক্রেডেনশিয়াল তৈরি করুন > OAuth ক্লায়েন্ট আইডি ক্লিক করুন।
- ওয়েব অ্যাপ্লিকেশন নির্বাচন করুন।
- আপনার ক্লায়েন্ট আইডির জন্য একটি নাম লিখুন।
- URI যোগ করুন ক্লিক করুন এবং নিম্নলিখিত URI লিখুন: https://vertexaisearch.cloud.google.com/oauth-redirect
- নিম্নলিখিত তথ্য তৈরি করুন এবং অনুলিপি করুন ক্লিক করুন:
- ক্লায়েন্ট আইডি
- ক্লায়েন্ট গোপন
11. এজেন্টস্পেস অ্যাপ্লিকেশন URL গুলি সনাক্ত করুন৷
নিম্নলিখিত পদ্ধতিটি Google-এর দ্বারা তৈরি করা Google-পরিচালিত এজেন্টস্পেস পাবলিক ইউআরএলগুলিকে চিহ্নিত করে যেগুলি প্রতিটি অ্যাপ্লিকেশন এজেন্টস্পেসে ম্যাপ করা হয়। ইউআরএলগুলির আউটপুট হল রেফারেন্স আর্কিটেকচারের উপর ভিত্তি করে উদাহরণ, তাই আপনাকে অবশ্যই নিশ্চিত করতে হবে যে আপনার ইউআরএলগুলি সঠিক।
অ্যাপ্লিকেশন প্রতি, আপনার ওয়েব অ্যাপে লিঙ্ক সংরক্ষণ করা নিশ্চিত করুন।
ক্যালেন্ডার অ্যাপ্লিকেশন
এজেন্টস্পেস ওয়েব URL: https://vertexaisearch.cloud.google.com/us/home/cid/bb6b8b27-939b-494d-9227-45903bb8afcf
ড্রাইভ অ্যাপ্লিকেশন
এজেন্টস্পেস ওয়েব URL:
https://vertexaisearch.cloud.google.com/us/home/cid/5970a1b4-080a-4b44-8acd-fa89460cf0cd
12. উন্নত হোস্ট এবং পাথ নিয়ম তৈরি করুন
নিম্নলিখিত বিভাগে, আপনি ক্লাউড কনসোল ব্যবহার করে হোস্ট এবং পাথ নিয়মগুলি সংজ্ঞায়িত করার বিকল্পটি সক্ষম করতে লোড ব্যালেন্সার রাউটিং নিয়মগুলি আপডেট করবেন৷ নীচের সারণীটি আপনার পরিবেশের উপর ভিত্তি করে কাস্টম মানগুলির রূপরেখা (টপ-ডাউন ক্রমে) আপডেট করে:
কাস্টম মান | টিউটোরিয়ালের উপর ভিত্তি করে উদাহরণ | |
হোস্ট | agentspace.YOUR-EXTERNAL-IP.nip.io | agentspace.34.54.158.206.nip.io |
ডিফল্ট সার্ভিস | প্রকল্প/<projectid>/global/backendServices/agentspace-ineg-bes | স্ক্রিনশট দেখুন |
prefixMatch | /<এজেন্টস্পেস অ্যাপের নাম#1> | /ড্রাইভ-অ্যাপ |
ব্যাকএন্ড সার্ভিস | প্রকল্প/<projectid>/global/backendServices/agentspace-ineg-bes | স্ক্রিনশট দেখুন |
pathPrefix Rewrite | /<অ্যাপ#1 এর এজেন্টস্পেস ইউআরএল পাথ> | /us/home/cid/5970a1b4-080a-4b44-8acd-fa89460cf0cd |
hostRewrite | vertexaisearch.cloud.google.com | vertexaisearch.cloud.google.com |
prefixMatch | /<এজেন্টস্পেস অ্যাপের নাম#2> | /ক্যালেন্ডার-অ্যাপ |
ব্যাকএন্ড সার্ভিস | প্রকল্প/<projectid>/global/backendServices/agentspace-ineg-bes | স্ক্রিনশট দেখুন |
pathPrefix Rewrite | /<অ্যাপ#2 এর এজেন্টস্পেস ইউআরএল পাথ> | /us/home/cid/bb6b8b27-939b-494d-9227-45903bb8afcf |
hostRewrite | vertexaisearch.cloud.google.com | vertexaisearch.cloud.google.com |
হোস্ট এবং পাথ নিয়ম অ্যাক্সেস করতে নিম্নলিখিত নেভিগেট করুন
লোড ব্যালেন্সিং → agentspace-lb → সম্পাদনা নির্বাচন করুন
রাউটিং নিয়ম → অ্যাডভান্সড হোস্ট এবং পাথ নিয়ম নির্বাচন করুন
হোস্ট এবং পাথ নিয়ম যোগ করুন নির্বাচন করুন
আপনাকে এখন একটি নতুন হোস্ট এবং পাথ নিয়ম তৈরি করার সাথে উপস্থাপন করা হয়েছে, হোস্ট বিভাগে এজেন্টস্পেস সন্নিবেশ করুন। YOUR-EXTERNAL-IP.nip.io বা কাস্টম ডোমেন।
পাথ ম্যাচার ফিল্ডে (মিল, ক্রিয়া এবং পরিষেবা), আপনার পরিবেশগত কনফিগারেশনের সাথে নীচের বিষয়বস্তু আপডেট করুন তারপর আপডেট নির্বাচন করুন।
defaultService: projects/<projectid>/global/backendServices/agentspace-ineg-bes
name: matcher1
routeRules:
- matchRules:
- prefixMatch: /<name of Agentspace app#1>
priority: 1
routeAction:
weightedBackendServices:
- backendService: projects/<projectid>/global/backendServices/agentspace-ineg-bes
weight: 100
urlRewrite:
pathPrefixRewrite: /<Agentspace URL path of app#1>
hostRewrite: vertexaisearch.cloud.google.com
- matchRules:
- prefixMatch: /<name of Agentspace app#2>
priority: 2
routeAction:
weightedBackendServices:
- backendService: projects/<projectid>/global/backendServices/agentspace-ineg-bes
weight: 101
urlRewrite:
pathPrefixRewrite: /<Agentspace URL path of app#2>
hostRewrite: vertexaisearch.cloud.google.com
উদাহরণ স্ক্রিনশট:
13. বৈধতা
স্থাপনা সম্পূর্ণ! আপনি এজেন্টস্পেস নির্দিষ্ট করে একটি ওয়েব ব্রাউজার বা টার্মিনালের মাধ্যমে কাস্টম ডোমেন ব্যবহার করে Agentspace অ্যাপ্লিকেশন অ্যাক্সেস করতে পারেন।
এজেন্টস্পেস অ্যাপ্লিকেশন: ড্রাইভ-অ্যাপ
পথ: agentspace.34.54.158.206.nip.io/drive-app
এজেন্টস্পেস অ্যাপ্লিকেশন: ড্রাইভ-অ্যাপ
পথ: agentspace.34.54.158.206.nip.io/calendar-app
14. পরিষ্কার করুন
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
15. অভিনন্দন
অভিনন্দন, আপনি উন্নত ট্রাফিক ব্যবস্থাপনা সহ একটি বহিরাগত অ্যাপ্লিকেশন লোড ব্যালেন্সার ব্যবহার করে একটি কাস্টম ডোমেন ব্যবহার করে একটি এজেন্টস্পেসের সাথে সংযোগ সফলভাবে কনফিগার এবং যাচাই করেছেন৷
আপনি লোড ব্যালেন্সার পরিকাঠামো তৈরি করেছেন, কীভাবে একটি ইন্টারনেট NEG, ক্লাউড DNS এবং উন্নত ট্র্যাফিক ম্যানেজমেন্ট তৈরি করতে হয় তা শিখেছেন যা হোস্ট এবং পাথ পুনর্লিখন সক্ষম করে যা একটি কাস্টম ডোমেন ব্যবহার করে এজেন্টস্পেসে সংযোগের অনুমতি দেয়।
Cosmopup মনে করে কোডল্যাবগুলি দুর্দান্ত!!