1. ভূমিকা
অন-প্রিমিসেস হোস্টরা পাবলিক ইন্টারনেটের মাধ্যমে স্থানীয়ভাবে একটি অনলাইন ভবিষ্যদ্বাণীতে পৌঁছাতে পারে (বিকল্প 1) অথবা ক্লাউড ভিপিএন বা ক্লাউড ইন্টারকানেক্ট উইথ প্রাইভেট সার্ভিস কানেক্ট (PSC) (বিকল্প 2) ব্যবহার করে, উভয়ই SSL/TLS এনক্রিপশন অফার করে। . আন্তঃসংযোগের মাধ্যমে অনলাইন ভবিষ্যদ্বাণীতে হাইব্রিড সংযোগ ইন্টারনেটের চেয়ে বেশি পারফরম্যান্স তাই চিত্র 1-এ দেখানো সমালোচনামূলক অ্যাপ্লিকেশনের জন্য সুপারিশ করা হয়েছে।
এই টিউটোরিয়ালে আমরা দেখাব কিভাবে হাই-অ্যাভেলেবিলিটি VPN (HA VPN) ব্যবহার করতে হয় দুইটি VPC নেটওয়ার্কের মধ্যে ব্যক্তিগতভাবে অনলাইন ভবিষ্যদ্বাণী অ্যাক্সেস করতে যা মাল্টি-ক্লাউড এবং অন-প্রিমিসেস প্রাইভেট সংযোগের ভিত্তি হিসাবে কাজ করতে পারে।
দ্রষ্টব্য, Vertex Online Prediction হল একটি সর্বজনীন এন্ডপয়েন্ট, তাই আপনি Vertex এবং অন্যান্য Googleapis-এ অ্যাক্সেসের অনুমতি দিতে বা অস্বীকার করার জন্য নিরাপদ পরিধি তৈরি করতে VPC পরিষেবা নিয়ন্ত্রণ (VPC-SC) ব্যবহার করে অ্যাক্সেস সীমাবদ্ধ করতে চান। এই টিউটোরিয়াল VPC-SC কভার করে না, আরও বিশদ বিবরণের জন্য Vertex AI এর সাথে VPC পরিষেবা নিয়ন্ত্রণগুলি উল্লেখ করুন
আপনি কি নির্মাণ করবেন
আপনি একটি ভিপিসি নেটওয়ার্ক সেট আপ করবেন যার নাম on-prem-vpc
একটি অন-প্রিমিসেস পরিবেশ উপস্থাপন করতে। আপনার স্থাপনার জন্য, on-prem-vpc
বিদ্যমান থাকবে না, পরিবর্তে আপনার অন-প্রিমিস ডেটা সেন্টার বা ক্লাউড প্রদানকারীর সাথে হাইব্রিড নেটওয়ার্কিং ব্যবহার করা হবে।
আপনি একটি বিস্তৃত প্রাইভেট সার্ভিস কানেক্ট আর্কিটেকচার তৈরি করতে যাচ্ছেন যা ক্লাউড NAT-এর মাধ্যমে সর্বজনীনভাবে অনলাইন ভবিষ্যদ্বাণী অ্যাক্সেস করার এবং HA VPN-এর উপরে PSC ব্যবহার করে নীচের বিশদ বিবরণ অনুযায়ী চিত্রিত করে।
একবার Google ক্লাউড প্রকল্পে অনলাইন ভবিষ্যদ্বাণী স্থাপন করা হলে নিম্নলিখিত ব্যবহারের ক্ষেত্রে অন্বেষণ করা হবে:
অনলাইন ভবিষ্যদ্বাণীতে সর্বজনীন অ্যাক্সেস, নিম্নলিখিতগুলি নিয়ে গঠিত:
- একটি GCE ইন্সট্যান্স (nat-ক্লায়েন্ট) তৈরি করুন যা প্রস্থান ইন্টারনেট অ্যাক্সেসের জন্য NAT ব্যবহার করে
- মডেলের বিরুদ্ধে অনুমান করতে CURL ব্যবহার করুন
- অনলাইন ভবিষ্যদ্বাণী একটি পাবলিক VIP এর মাধ্যমে অ্যাক্সেস করা হয়েছে তা যাচাই করতে TCPDUMP ব্যবহার করুন
অনলাইন ভবিষ্যদ্বাণীতে ব্যক্তিগত অ্যাক্সেস, নিম্নলিখিতগুলি নিয়ে গঠিত:
- প্রোজেক্টে একটি Vertex অনলাইন ভবিষ্যদ্বাণী শেষ পয়েন্টে একটি মডেল স্থাপন করুন
- aiml-vpc-এ একটি প্রাইভেট সার্ভিস কানেক্ট (Googleapis) এন্ডপয়েন্ট তৈরি করুন
- অন-প্রিম ভিপিসি-তে কাস্টম বিজ্ঞাপন হিসাবে ক্লাউড রাউটারে PSC IP ঠিকানা রপ্তানি করুন
- একটি GCE ইন্সট্যান্স (প্রাইভেট-ক্লায়েন্ট) তৈরি করুন এবং PSC এন্ডপয়েন্ট আইপি দিয়ে ইত্যাদি/হোস্ট ফাইল আপডেট করুন
- মডেলের বিরুদ্ধে অনুমান করতে CURL ব্যবহার করুন
- PSC এন্ডপয়েন্ট IP ঠিকানার মাধ্যমে অনলাইন ভবিষ্যদ্বাণী অ্যাক্সেস করা হয়েছে তা যাচাই করতে TCPDUMP ব্যবহার করুন
আপনি কি শিখবেন
- কিভাবে একটি প্রাইভেট সার্ভিস কানেক্ট এন্ডপয়েন্ট স্থাপন করবেন
- ক্লাউড রাউটারে কিভাবে PSC এন্ডপয়েন্ট আইপির বিজ্ঞাপন দিতে হয়
- অনলাইন ভবিষ্যদ্বাণী অ্যাক্সেস বৈধ করতে TCPDUMP কীভাবে ব্যবহার করবেন, পাবলিক এবং প্রাইভেট উভয়ই
আপনি কি প্রয়োজন হবে
- গুগল ক্লাউড প্রকল্প
আইএএম অনুমতি
2. আপনি শুরু করার আগে
টিউটোরিয়াল সমর্থন করার জন্য প্রকল্পটি আপডেট করুন
এই টিউটোরিয়ালটি ক্লাউড শেল-এ gcloud কনফিগারেশন বাস্তবায়নে সহায়তা করার জন্য $variables ব্যবহার করে।
ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectid=YOUR-PROJECT-NAME
echo $projectid
3. পরিষেবাগুলি সক্ষম করুন৷
ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:
gcloud services enable dns.googleapis.com
gcloud services enable aiplatform.googleapis.com
gcloud services enable iam.googleapis.com
gcloud services enable compute.googleapis.com
gcloud services enable notebooks.googleapis.com
4. aiml-vpc সেটআপ
aiml-vpc তৈরি করুন
ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:
gcloud compute networks create aiml-vpc --project=$projectid --subnet-mode=custom
ব্যবহারকারী-পরিচালিত নোটবুক সাবনেট তৈরি করুন
ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:
gcloud compute networks subnets create workbench-subnet --project=$projectid --range=172.16.10.0/28 --network=aiml-vpc --region=us-central1 --enable-private-ip-google-access
ক্লাউড রাউটার এবং NAT কনফিগারেশন
নোটবুক সফ্টওয়্যার প্যাকেজ ডাউনলোডের জন্য টিউটোরিয়ালে ক্লাউড NAT ব্যবহার করা হয় কারণ ব্যবহারকারী-পরিচালিত নোটবুকের উদাহরণে একটি বাহ্যিক IP ঠিকানা নেই। ক্লাউড NAT এগ্রেস NAT ক্ষমতাও অফার করে, যার মানে হল যে ইন্টারনেট হোস্টগুলিকে ব্যবহারকারী-পরিচালিত নোটবুকের সাথে যোগাযোগ শুরু করার অনুমতি দেওয়া হয় না, এটিকে আরও সুরক্ষিত করে তোলে।
ক্লাউড শেলের ভিতরে, আঞ্চলিক ক্লাউড রাউটার তৈরি করুন।
gcloud compute routers create cloud-router-us-central1-aiml-nat --network aiml-vpc --region us-central1
ক্লাউড শেলের ভিতরে, আঞ্চলিক ক্লাউড ন্যাট গেটওয়ে তৈরি করুন।
gcloud compute routers nats create cloud-nat-us-central1 --router=cloud-router-us-central1-aiml-nat --auto-allocate-nat-external-ips --nat-all-subnet-ip-ranges --region us-central1
5. অন-প্রিম-ভিপিসি সেটআপ
অন-প্রিম-ভিপিসি তৈরি করুন
ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:
gcloud compute networks create on-prem-vpc --project=$projectid --subnet-mode=custom
ন্যাট-সাবনেট তৈরি করুন
ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:
gcloud compute networks subnets create nat-subnet --project=$projectid --range=192.168.10.0/28 --network=on-prem-vpc --region=us-central1
ব্যক্তিগত-আইপি-সাবনেট তৈরি করুন
ক্লাউড শেলের ভিতরে, নিম্নলিখিতগুলি সম্পাদন করুন:
gcloud compute networks subnets create private-ip-subnet --project=$projectid --range=192.168.20.0/28 --network=on-prem-vpc --region=us-central1
ক্লাউড রাউটার এবং NAT কনফিগারেশন
সফ্টওয়্যার প্যাকেজ ডাউনলোডের জন্য টিউটোরিয়ালে Cloud NAT ব্যবহার করা হয়। ক্লাউড NAT এগ্রেস NAT ক্ষমতাগুলিও অফার করে, যার অর্থ হল ইন্টারনেট হোস্টগুলিকে কম্পিউটের সাথে যোগাযোগ শুরু করার অনুমতি দেওয়া হয় না, এটিকে আরও সুরক্ষিত করে তোলে।
ক্লাউড শেলের ভিতরে, আঞ্চলিক ক্লাউড রাউটার তৈরি করুন।
gcloud compute routers create cloud-router-us-central1-on-prem-nat --network on-prem-vpc --region us-central1
ক্লাউড শেলের ভিতরে, আঞ্চলিক ক্লাউড ন্যাট গেটওয়ে তৈরি করুন।
gcloud compute routers nats create cloud-nat-us-central1 --router=cloud-router-us-central1-on-prem-nat --auto-allocate-nat-external-ips --nat-all-subnet-ip-ranges --region us-central1
6. প্রাইভেট সার্ভিস কানেক্ট এন্ডপয়েন্ট তৈরি করুন
নিম্নলিখিত বিভাগে, আপনি একটি প্রাইভেট সার্ভিস কানেক্ট (PSC) এন্ডপয়েন্ট তৈরি করবেন যা on-prem-vpc থেকে Vertex API অ্যাক্সেস করতে ব্যবহার করা হবে। PSC IP ঠিকানা 100.100.10.10 একটি আসন্ন ধাপে একটি কাস্টম রাউটারের বিজ্ঞাপন হিসাবে aiml-vpc-Cloud-router-vpn থেকে অন-প্রিমিসেস নেটওয়ার্কে বিজ্ঞাপন দেওয়া হবে৷
ক্লাউড শেল থেকে
gcloud compute addresses create psc-ip \
--global \
--purpose=PRIVATE_SERVICE_CONNECT \
--addresses=100.100.10.10 \
--network=aiml-vpc
PSC এন্ডপয়েন্ট তৈরি করুন
ক্লাউড শেল থেকে
gcloud compute forwarding-rules create pscvertex \
--global \
--network=aiml-vpc \
--address=psc-ip \
--target-google-apis-bundle=all-apis
কনফিগার করা প্রাইভেট সার্ভিস কানেক্ট এন্ডপয়েন্ট তালিকা করুন
ক্লাউড শেল থেকে
gcloud compute forwarding-rules list \
--filter target="(all-apis OR vpc-sc)" --global
কনফিগার করা প্রাইভেট সার্ভিস কানেক্ট এন্ডপয়েন্ট বর্ণনা করুন
ক্লাউড শেল থেকে
gcloud compute forwarding-rules describe \
pscvertex --global
7. হাইব্রিড সংযোগ
নিম্নলিখিত বিভাগে, আপনি একটি ক্লাউড রাউটার তৈরি করবেন যা আপনাকে বর্ডার গেটওয়ে প্রোটোকল (বিজিপি) ব্যবহার করে আপনার ভার্চুয়াল প্রাইভেট ক্লাউড (ভিপিসি) এবং পিয়ার নেটওয়ার্কের মধ্যে গতিশীলভাবে রুট বিনিময় করতে সক্ষম করে।
ক্লাউড রাউটার আপনার নেটওয়ার্কগুলিকে সংযুক্ত করতে একটি ক্লাউড ভিপিএন টানেলে একটি BGP সেশন সেট আপ করতে পারে৷ এটি স্বয়ংক্রিয়ভাবে নতুন সাবনেট আইপি অ্যাড্রেস রেঞ্জ শিখে এবং আপনার পিয়ার নেটওয়ার্কে সেগুলি ঘোষণা করে৷
টিউটোরিয়ালে আপনি aiml-vpc এবং on-prem-vpc- এর মধ্যে HA VPN স্থাপন করবেন।
aiml-vpc- এর জন্য HA VPN গেটওয়ে তৈরি করুন
যখন প্রতিটি গেটওয়ে তৈরি করা হয়, তখন দুটি বাহ্যিক IPv4 ঠিকানা স্বয়ংক্রিয়ভাবে বরাদ্দ করা হয়, প্রতিটি গেটওয়ে ইন্টারফেসের জন্য একটি।
ক্লাউড শেলের ভিতরে, HA VPN গেটওয়ে তৈরি করুন
gcloud compute vpn-gateways create aiml-vpn-gw \
--network=aiml-vpc\
--region=us-central1
অন-প্রিম-ভিপিসির জন্য HA VPN গেটওয়ে তৈরি করুন
যখন প্রতিটি গেটওয়ে তৈরি করা হয়, তখন দুটি বাহ্যিক IPv4 ঠিকানা স্বয়ংক্রিয়ভাবে বরাদ্দ করা হয়, প্রতিটি গেটওয়ে ইন্টারফেসের জন্য একটি। কনফিগারেশন ধাপে পরে ব্যবহার করার জন্য এই আইপি ঠিকানাগুলি নোট করুন।
ক্লাউড শেলের ভিতরে, HA VPN গেটওয়ে তৈরি করুন।
gcloud compute vpn-gateways create on-prem-vpn-gw \
--network=on-prem-vpc\
--region=us-central1
HA VPN গেটওয়ে তৈরির বৈধতা দিন
কনসোল ব্যবহার করে, হাইব্রিড সংযোগ → ভিপিএন → ক্লাউড ভিপিএন গেটওয়েতে নেভিগেট করুন এবং গেটওয়ে আইপি তৈরি হয়েছে কিনা তা যাচাই করুন৷
aiml-vpc-এর জন্য ক্লাউড রাউটার তৈরি করুন
ক্লাউড শেলের ভিতরে, us-central1 এ অবস্থিত ক্লাউড রাউটার তৈরি করুন
gcloud compute routers create aiml-cr-us-central1 \
--region=us-central1 \
--network=aiml-vpc\
--asn=65001
অন-প্রিম-ভিপিসির জন্য ক্লাউড রাউটার তৈরি করুন
ক্লাউড শেলের ভিতরে, us-central1 এ অবস্থিত ক্লাউড রাউটার তৈরি করুন
gcloud compute routers create on-prem-cr-us-central1 \
--region=us-central1 \
--network=on-prem-vpc \
--asn=65002
aiml-vpc-এর জন্য VPN টানেল তৈরি করুন
আপনি প্রতিটি HA VPN গেটওয়েতে দুটি VPN টানেল তৈরি করবেন।
ভিপিএন টানেল 0 তৈরি করুন
ক্লাউড শেলের ভিতরে, টানেল 0 তৈরি করুন:
gcloud compute vpn-tunnels create aiml-vpc-tunnel0 \
--peer-gcp-gateway on-prem-vpn-gw \
--region us-central1 \
--ike-version 2 \
--shared-secret [ZzTLxKL8fmRykwNDfCvEFIjmlYLhMucH] \
--router aiml-cr-us-central1 \
--vpn-gateway aiml-vpn-gw \
--interface 0
ভিপিএন টানেল 1 তৈরি করুন
ক্লাউড শেলের ভিতরে, টানেল 1 তৈরি করুন:
gcloud compute vpn-tunnels create aiml-vpc-tunnel1 \
--peer-gcp-gateway on-prem-vpn-gw \
--region us-central1 \
--ike-version 2 \
--shared-secret [bcyPaboPl8fSkXRmvONGJzWTrc6tRqY5] \
--router aiml-cr-us-central1 \
--vpn-gateway aiml-vpn-gw \
--interface 1
অন-প্রিম-ভিপিসির জন্য ভিপিএন টানেল তৈরি করুন
আপনি প্রতিটি HA VPN গেটওয়েতে দুটি VPN টানেল তৈরি করবেন।
ভিপিএন টানেল 0 তৈরি করুন
ক্লাউড শেলের ভিতরে, টানেল 0 তৈরি করুন:
gcloud compute vpn-tunnels create on-prem-tunnel0 \
--peer-gcp-gateway aiml-vpn-gw \
--region us-central1 \
--ike-version 2 \
--shared-secret [ZzTLxKL8fmRykwNDfCvEFIjmlYLhMucH] \
--router on-prem-cr-us-central1 \
--vpn-gateway on-prem-vpn-gw \
--interface 0
ভিপিএন টানেল 1 তৈরি করুন
ক্লাউড শেলের ভিতরে, টানেল 1 তৈরি করুন:
gcloud compute vpn-tunnels create on-prem-tunnel1 \
--peer-gcp-gateway aiml-vpn-gw \
--region us-central1 \
--ike-version 2 \
--shared-secret [bcyPaboPl8fSkXRmvONGJzWTrc6tRqY5] \
--router on-prem-cr-us-central1 \
--vpn-gateway on-prem-vpn-gw \
--interface 1
ভিপিএন টানেল তৈরির বৈধতা দিন
কনসোল ব্যবহার করে, হাইব্রিড সংযোগ → ভিপিএন → ক্লাউড ভিপিএন টানেলে নেভিগেট করুন।
8. BGP প্রতিবেশী স্থাপন
বিজিপি সেশন তৈরি করুন
এই বিভাগে, আপনি ক্লাউড রাউটার ইন্টারফেস এবং BGP পিয়ার কনফিগার করেন।
aiml-vpc-এর জন্য একটি BGP ইন্টারফেস এবং পিয়ারিং তৈরি করুন
ক্লাউড শেলের ভিতরে, BGP ইন্টারফেস তৈরি করুন:
gcloud compute routers add-interface aiml-cr-us-central1 \
--interface-name if-tunnel0-to-onprem \
--ip-address 169.254.1.1 \
--mask-length 30 \
--vpn-tunnel aiml-vpc-tunnel0 \
--region us-central1
ক্লাউড শেলের ভিতরে, BGP পিয়ার তৈরি করুন:
gcloud compute routers add-bgp-peer aiml-cr-us-central1 \
--peer-name bgp-on-premises-tunnel0 \
--interface if-tunnel1-to-onprem \
--peer-ip-address 169.254.1.2 \
--peer-asn 65002 \
--region us-central1
ক্লাউড শেলের ভিতরে, BGP ইন্টারফেস তৈরি করুন:
gcloud compute routers add-interface aiml-cr-us-central1 \
--interface-name if-tunnel1-to-onprem \
--ip-address 169.254.2.1 \
--mask-length 30 \
--vpn-tunnel aiml-vpc-tunnel1 \
--region us-central1
ক্লাউড শেলের ভিতরে, BGP পিয়ার তৈরি করুন:
gcloud compute routers add-bgp-peer aiml-cr-us-central1 \
--peer-name bgp-on-premises-tunnel1 \
--interface if-tunnel2-to-onprem \
--peer-ip-address 169.254.2.2 \
--peer-asn 65002 \
--region us-central1
একটি BGP ইন্টারফেস তৈরি করুন এবং অন-প্রেম-ভিপিসির জন্য পিয়ারিং করুন
ক্লাউড শেলের ভিতরে, BGP ইন্টারফেস তৈরি করুন:
gcloud compute routers add-interface on-prem-cr-us-central1 \
--interface-name if-tunnel0-to-aiml-vpc\
--ip-address 169.254.1.2 \
--mask-length 30 \
--vpn-tunnel on-prem-tunnel0 \
--region us-central1
ক্লাউড শেলের ভিতরে, BGP পিয়ার তৈরি করুন:
gcloud compute routers add-bgp-peer on-prem-cr-us-central1 \
--peer-name bgp-aiml-vpc-tunnel0 \
--interface if-tunnel1-to-aiml-vpc\
--peer-ip-address 169.254.1.1 \
--peer-asn 65001 \
--region us-central1
ক্লাউড শেলের ভিতরে, BGP ইন্টারফেস তৈরি করুন:
gcloud compute routers add-interface on-prem-cr-us-central1 \
--interface-name if-tunnel1-to-aiml-vpc\
--ip-address 169.254.2.2 \
--mask-length 30 \
--vpn-tunnel on-prem-tunnel1 \
--region us-central1
ক্লাউড শেলের ভিতরে, BGP পিয়ার তৈরি করুন:
gcloud compute routers add-bgp-peer on-prem-cr-us-central1 \
--peer-name bgp-aiml-vpc-tunnel1\
--interface if-tunnel2-to-aiml-vpc\
--peer-ip-address 169.254.2.1 \
--peer-asn 65001 \
--region us-central1
VPN টানেলের বিবরণ দেখতে হাইব্রিড সংযোগ → VPN- এ নেভিগেট করুন।
HA VPN এর মাধ্যমে aiml-vpc শেখা রুট যাচাই করুন
কনসোল ব্যবহার করে, ভিপিসি নেটওয়ার্কে নেভিগেট করুন → ভিপিসি নেটওয়ার্ক → aiml-vpc→ রুট → অঞ্চল → US-কেন্দ্রীয়1 → ভিউ
লক্ষ্য করুন aiml-vpc অন-প্রেম-ভিপিসি ন্যাট-সাবনেট এবং প্রাইভেট-আইপি-সাবনেট থেকে রুট শিখেছে
যাচাই করুন যে on-prem-vpc HA-VPN এর উপর ওয়ার্কবেঞ্চ-সাবনেট শিখেছে
কনসোল ব্যবহার করে, ভিপিসি নেটওয়ার্কে নেভিগেট করুন → ভিপিসি নেটওয়ার্ক → অন-প্রিম-ভিপিসি → রুট → অঞ্চল → মার্কিন-কেন্দ্রীয়1 → ভিউ
9. কাস্টম রুট বিজ্ঞাপন তৈরি করুন aiml-vpc
প্রাইভেট সার্ভিস কানেক্ট এন্ডপয়েন্ট আইপি স্বয়ংক্রিয়ভাবে aiml-cr-us-central1 ক্লাউড রাউটার দ্বারা বিজ্ঞাপিত হয় না কারণ সাবনেটটি VPC-তে কনফিগার করা হয়নি।
পরিবর্তে, আপনাকে এন্ডপয়েন্ট আইপি অ্যাড্রেস 100.100.10.10-এর জন্য aiml-cr-us-central ক্লাউড রাউটার থেকে একটি কাস্টম রুটের বিজ্ঞাপন তৈরি করতে হবে যা BGP থেকে অন-প্রিম-ভিপিসি-তে অন-প্রিমিসেস পরিবেশে বিজ্ঞাপন দেওয়া হবে।
কনসোল থেকে হাইব্রিড সংযোগে নেভিগেট করুন → ক্লাউড রাউটার → aiml-cr-us-central1 , তারপরে সম্পাদনা নির্বাচন করুন৷
বিজ্ঞাপিত রুট বিভাগে, কাস্টম রুট তৈরি করুন বিকল্পটি নির্বাচন করুন, নীচের উদাহরণের উপর ভিত্তি করে ক্ষেত্রগুলি আপডেট করুন, সম্পন্ন নির্বাচন করুন এবং তারপরে সংরক্ষণ করুন ক্লিক করুন।
বৈধতা
যাচাই করুন যে on-prem-vpc HA-VPN এর উপর PSC এন্ডপয়েন্ট আইপি ঠিকানা শিখেছে
কনসোল ব্যবহার করে, ভিপিসি নেটওয়ার্কে নেভিগেট করুন → ভিপিসি নেটওয়ার্ক → অন-প্রিম-ভিপিসি → রুট → অঞ্চল → মার্কিন-কেন্দ্রীয়1 → ভিউ
10. অন-প্রিম-ভিপিসি কাস্টম রুট বিজ্ঞাপন তৈরি করুন
অন-প্রিম-ভিপিসি ক্লাউড রাউটার ডিফল্টরূপে সমস্ত সাবনেটের বিজ্ঞাপন দেয়, তবে শুধুমাত্র ব্যক্তিগত-আইপি-সাবনেট প্রয়োজন।
নিম্নলিখিত বিভাগে, on-prem-cr-us-central1 ক্লাউড রাউটার থেকে রুটের বিজ্ঞাপন আপডেট করুন।
কনসোল থেকে হাইব্রিড সংযোগে নেভিগেট করুন → ক্লাউড রাউটার → on-prem-cr-us-central1 , তারপর সম্পাদনা নির্বাচন করুন৷
বিজ্ঞাপিত রুট বিভাগে, কাস্টম রুট তৈরি করুন বিকল্পটি নির্বাচন করুন, নীচের উদাহরণের উপর ভিত্তি করে ক্ষেত্রগুলি আপডেট করুন, সম্পন্ন নির্বাচন করুন এবং তারপরে সংরক্ষণ করুন ক্লিক করুন।
বৈধতা
যাচাই করুন যে aiml-vpc on-prem-vpc থেকে প্রাইভেট-আইপি-সাবনেট রুট শিখেছে।
কনসোল ব্যবহার করে, ভিপিসি নেটওয়ার্কে নেভিগেট করুন → ভিপিসি নেটওয়ার্ক → aiml-vpc → রুট → অঞ্চল → US-কেন্দ্রীয়1 → ভিউ
11. একটি ব্যবহারকারী পরিচালিত পরিষেবা অ্যাকাউন্ট তৈরি করুন (GCE উদাহরণ)
Vertex API-কে একটি সূক্ষ্ম স্তরের নিয়ন্ত্রণ প্রদানের জন্য একটি ব্যবহারকারী পরিচালিত পরিষেবা অ্যাকাউন্ট প্রয়োজন যা nat এবং ব্যক্তিগত ক্লায়েন্ট দৃষ্টান্তগুলিতে প্রয়োগ করা হবে। একবার তৈরি হয়ে গেলে, পরিষেবা অ্যাকাউন্টের অনুমতিগুলি ব্যবসার প্রয়োজনীয়তার উপর ভিত্তি করে পরিবর্তন করা যেতে পারে। টিউটোরিয়ালে, ব্যবহারকারী পরিচালিত পরিষেবা অ্যাকাউন্ট, vertex-sa-তে নিম্নলিখিত ভূমিকাগুলি প্রয়োগ করা হবে:
এগিয়ে যাওয়ার আগে আপনাকে অবশ্যই পরিষেবা অ্যাকাউন্ট API ৷
ক্লাউড শেলের ভিতরে, পরিষেবা অ্যাকাউন্ট তৈরি করুন।
gcloud iam service-accounts create gce-vertex-sa \
--description="service account for vertex" \
--display-name="gce-vertex-sa"
ক্লাউড শেলের ভিতরে, ভূমিকা কম্পিউট ইনস্ট্যান্স অ্যাডমিনের সাথে পরিষেবা অ্যাকাউন্ট আপডেট করুন
gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:gce-vertex-sa@$projectid.iam.gserviceaccount.com" --role="roles/compute.instanceAdmin.v1"
ক্লাউড শেলের ভিতরে, Vertex AI ব্যবহারকারীর ভূমিকা সহ পরিষেবা অ্যাকাউন্ট আপডেট করুন
gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:gce-vertex-sa@$projectid.iam.gserviceaccount.com" --role="roles/aiplatform.user"
12. একটি ব্যবহারকারী পরিচালিত পরিষেবা অ্যাকাউন্ট তৈরি করুন (নোটবুক)
নিম্নলিখিত বিভাগে, আপনি একটি ব্যবহারকারী পরিচালিত পরিষেবা অ্যাকাউন্ট তৈরি করবেন যা টিউটোরিয়ালটিতে ব্যবহৃত ভার্টেক্স ওয়ার্কবেঞ্চ (নোটবুক) এর সাথে যুক্ত হবে।
টিউটোরিয়ালে, পরিষেবা অ্যাকাউন্টে নিম্নলিখিত ভূমিকাগুলি প্রয়োগ করা হবে:
ক্লাউড শেলের ভিতরে, পরিষেবা অ্যাকাউন্ট তৈরি করুন।
gcloud iam service-accounts create user-managed-notebook-sa \
--display-name="user-managed-notebook-sa"
ক্লাউড শেলের ভিতরে, স্টোরেজ অ্যাডমিনের ভূমিকা সহ পরিষেবা অ্যাকাউন্ট আপডেট করুন।
gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:user-managed-notebook-sa@$projectid.iam.gserviceaccount.com" --role="roles/storage.admin"
ক্লাউড শেলের ভিতরে, Vertex AI ব্যবহারকারীর ভূমিকা সহ পরিষেবা অ্যাকাউন্ট আপডেট করুন।
gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:user-managed-notebook-sa@$projectid.iam.gserviceaccount.com" --role="roles/aiplatform.user"
ক্লাউড শেলের ভিতরে, আর্টিফ্যাক্ট রেজিস্ট্রি অ্যাডমিনের ভূমিকা সহ পরিষেবা অ্যাকাউন্ট আপডেট করুন।
gcloud projects add-iam-policy-binding $projectid --member="serviceAccount:user-managed-notebook-sa@$projectid.iam.gserviceaccount.com" --role="roles/artifactregistry.admin"
ক্লাউড শেলের ভিতরে, পরিষেবা অ্যাকাউন্টের তালিকা করুন এবং ব্যবহারকারী-পরিচালিত নোটবুক তৈরি করার সময় যে ইমেল ঠিকানাটি ব্যবহার করা হবে তা নোট করুন।
gcloud iam service-accounts list
13. পরীক্ষার উদাহরণ তৈরি করা হয়েছে
নিম্নলিখিত বিভাগে, আপনি Vertex API-তে পৌঁছানোর জন্য বিভিন্ন পদ্ধতি যাচাই করার জন্য পরীক্ষার উদাহরণ তৈরি করবেন, বিশেষ করে:
- উদাহরণ,
nat-client,
ভার্টেক্স এআই সমাধান করতে ক্লাউড ন্যাট ব্যবহার করবে তাই ইন্টারনেটের মাধ্যমে অনলাইন ভবিষ্যদ্বাণী শেষ পয়েন্ট অ্যাক্সেস করবে - উদাহরণ,
private-client
, HA-VPN এর মাধ্যমে অনলাইন ভবিষ্যদ্বাণী শেষ পয়েন্ট অ্যাক্সেস করতে প্রাইভেট সার্ভিস কানেক্ট আইপি 100.100.10.10 ব্যবহার করবে।
ক্লাউড শেলের ভিতরে nat-client
উদাহরণ তৈরি করুন।
gcloud compute instances create nat-client \
--zone=us-central1-a \
--image-family=debian-11 \
--image-project=debian-cloud \
--subnet=nat-subnet \
--service-account=vertex-sa@$projectid.iam.gserviceaccount.com \
--scopes=https://www.googleapis.com/auth/cloud-platform \
--no-address \
--metadata startup-script="#! /bin/bash
sudo apt-get update
sudo apt-get install tcpdump dnsutils -y"
ক্লাউড শেলের ভিতরে private-client
উদাহরণ তৈরি করুন।
gcloud compute instances create private-client \
--zone=us-central1-a \
--image-family=debian-11 \
--image-project=debian-cloud \
--subnet=private-ip-subnet \
--service-account=vertex-sa@$projectid.iam.gserviceaccount.com \
--scopes=https://www.googleapis.com/auth/cloud-platform \
--no-address \
--metadata startup-script="#! /bin/bash
sudo apt-get update
sudo apt-get install tcpdump dnsutils -y"
Identity-Aware Proxy (IAP) কে আপনার VM দৃষ্টান্তগুলির সাথে সংযোগ করার অনুমতি দিতে , একটি ফায়ারওয়াল নিয়ম তৈরি করুন যা:
- আপনি IAP ব্যবহার করে অ্যাক্সেসযোগ্য হতে চান এমন সমস্ত VM দৃষ্টান্তগুলিতে প্রযোজ্য।
- IP পরিসর 35.235.240.0/20 থেকে ট্র্যাফিক প্রবেশের অনুমতি দেয়। এই পরিসরে সমস্ত আইপি ঠিকানা রয়েছে যা IAP TCP ফরওয়ার্ডিংয়ের জন্য ব্যবহার করে।
ক্লাউড শেলের ভিতরে, IAP ফায়ারওয়াল নিয়ম তৈরি করুন।
gcloud compute firewall-rules create ssh-iap-on-prem-vpc \
--network on-prem-vpc \
--allow tcp:22 \
--source-ranges=35.235.240.0/20
14. একটি ব্যবহারকারী পরিচালিত নোটবুক তৈরি করুন৷
নিম্নলিখিত বিভাগে, একটি ব্যবহারকারী-পরিচালিত নোটবুক তৈরি করুন যা পূর্বে তৈরি পরিষেবা অ্যাকাউন্ট, ব্যবহারকারী-পরিচালিত-নোটবুক-সা অন্তর্ভুক্ত করে।
ক্লাউড শেলের ভিতরে ব্যক্তিগত-ক্লায়েন্ট উদাহরণ তৈরি করুন।
gcloud notebooks instances create workbench-tutorial \
--vm-image-project=deeplearning-platform-release \
--vm-image-family=common-cpu-notebooks \
--machine-type=n1-standard-4 \
--location=us-central1-a \
--subnet-region=us-central1 \
--subnet=workbench-subnet \
--no-public-ip --service-account=user-managed-notebook-sa@$projectid.iam.gserviceaccount.com
15. মডেল এবং অনলাইন ভবিষ্যদ্বাণী স্থাপন করুন
নিম্নলিখিত বিভাগে, প্রদত্ত কোডল্যাব, Vertex AI ব্যবহার করুন: পূর্বাভাসের জন্য প্রিপ্রসেস এবং পোস্ট প্রক্রিয়া ডেটার জন্য Sklearn-এর সাথে কাস্টম ভবিষ্যদ্বাণী রুটিন ব্যবহার করুন বিভাগ 7 দিয়ে শুরু করুন যেহেতু আপনি ইতিমধ্যেই পূর্ববর্তী ধাপে একটি নোটবুক তৈরি করেছেন। একবার মডেলটি স্থাপন করা হলে, পরবর্তী বিভাগ শুরু করতে টিউটোরিয়ালটিতে ফিরে যান।
16. ইন্টারনেটের মাধ্যমে Vertex API-এ অ্যাক্সেস যাচাই করুন
নিম্নলিখিত বিভাগে, আপনি ইনস্ট্যান্স, ন্যাট-ক্লায়েন্ট লগ ইন করবেন এবং Vertex API-এর সমাধান করতে ব্যবহৃত us-central1-aiplatform.googleapis.com ডোমেনের বিরুদ্ধে ডিগ এবং tcpdump ব্যবহারের মাধ্যমে Vertex AI-তে সংযোগ যাচাই করবেন।
ভার্টেক্স ডোমেন us-central1-aiplatform.googleapis.com-এর বিরুদ্ধে একটি খনন সম্পাদন করে Vertex API-এর সাথে সংযোগ যাচাই করতে ক্লাউড শেল-এ IAP ব্যবহার করে nat-ক্লায়েন্টে লগ ইন করুন
gcloud compute ssh nat-client --project=$projectid --zone=us-central1-a --tunnel-through-iap
খনন চালান।
dig us-central1-aiplatform.googleapis.com
উদাহরণ, ডিএনএস প্রতিক্রিয়াতে পাবলিক আইপিগুলি নোট করুন৷
user@nat-client:~$ dig us-central1-aiplatform.googleapis.com
; <<>> DiG 9.16.42-Debian <<>> us-central1-aiplatform.googleapis.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56761
;; flags: qr rd ra; QUERY: 1, ANSWER: 16, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;us-central1-aiplatform.googleapis.com. IN A
;; ANSWER SECTION:
us-central1-aiplatform.googleapis.com. 300 IN A 108.177.111.95
us-central1-aiplatform.googleapis.com. 300 IN A 142.250.1.95
us-central1-aiplatform.googleapis.com. 300 IN A 108.177.121.95
us-central1-aiplatform.googleapis.com. 300 IN A 142.250.103.95
us-central1-aiplatform.googleapis.com. 300 IN A 108.177.120.95
us-central1-aiplatform.googleapis.com. 300 IN A 142.251.171.95
us-central1-aiplatform.googleapis.com. 300 IN A 142.250.159.95
us-central1-aiplatform.googleapis.com. 300 IN A 142.251.120.95
us-central1-aiplatform.googleapis.com. 300 IN A 142.251.161.95
us-central1-aiplatform.googleapis.com. 300 IN A 142.251.172.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.126.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.70.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.132.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.201.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.202.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.69.95
;; Query time: 4 msec
;; SERVER: 169.254.169.254#53(169.254.169.254)
;; WHEN: Thu Jun 29 01:35:57 UTC 2023
;; MSG SIZE rcvd: 322
nat-ক্লায়েন্ট OS থেকে, অনলাইন ভবিষ্যদ্বাণীর বিপরীতে একটি কার্ল সম্পাদন করার সময় DNS রেজোলিউশন যাচাই করতে tcpdump চালান।
sudo tcpdump -i any port 53 -n
উদাহরণ:
user@nat-client:~$ sudo tcpdump -i any port 53 -n
tcpdump: data link type LINUX_SLL2
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
"+" নির্বাচন করে একটি নতুন ক্লাউড শেল টার্মিনাল খুলুন। একবার নতুন ট্যাব খোলা হলে, প্রকল্পের নাম পরিবর্তনশীল আপডেট করুন।
ক্লাউড শেলের ভিতরে, প্রকল্পের নাম পরিবর্তনশীল আপডেট করুন।
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectid=YOUR-PROJECT-NAME
echo $projectid
ক্লাউড শেল টু এর ভিতরে, একটি ssh থেকে nat-ক্লায়েন্ট ইনস্ট্যান্স সম্পাদন করুন।
gcloud compute ssh --zone "us-central1-a" "nat-client" --project "$projectid"
নিম্নলিখিত বিভাগে, আপনি sudo VI সম্পাদক বা ন্যানো ব্যবহার করে একটি instance.json ফাইল তৈরি করবেন এবং স্থাপন করা মডেল থেকে একটি ভবিষ্যদ্বাণী পেতে ব্যবহৃত ডেটা স্ট্রিংটি সন্নিবেশ করাবেন।
nat-ক্লায়েন্ট OS থেকে, নীচের ডেটা স্ট্রিং সহ একটি instance.json f ile তৈরি করুন:
{"instances": [
[0.23, 'Ideal', 'E', 'VS2', 61.5, 55.0, 3.95, 3.98, 2.43],
[0.29, 'Premium', 'J', 'Internally Flawless', 52.5, 49.0, 4.00, 2.13, 3.11]]}
উদাহরণ:
user@nat-client:$ more instances.json
{"instances": [
[0.23, 'Ideal', 'E', 'VS2', 61.5, 55.0, 3.95, 3.98, 2.43],
[0.29, 'Premium', 'J', 'Internally Flawless', 52.5, 49.0, 4.00, 2.13, 3.11]]}
user@nat-client:$
ক্লাউড কনসোল থেকে আপনার অনলাইন পূর্বাভাস এন্ডপয়েন্ট আইডি প্রাপ্ত করুন যা পরবর্তী ধাপে ব্যবহার করা হবে।
VERTEX AI → ONLINE PREDICTION- এ নেভিগেট করুন৷
nat-ক্লায়েন্ট OS থেকে, নিম্নলিখিত ভেরিয়েবলগুলি তৈরি করুন:
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectid=YOUR-PROJECT-NAME
echo $projectid
ENDPOINT_ID="insert-your-endpoint-id-here"
উদাহরণ:
ENDPOINT_ID="3328226095324463104"
nat-ক্লায়েন্ট os থেকে, মডেল থেকে প্রতিক্রিয়া পেতে একটি কার্ল সঞ্চালন করুন৷
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://us-central1-aiplatform.googleapis.com/v1/projects/${projectid}/locations/us-central1/endpoints/${ENDPOINT_ID}:predict -d @instances.json
উদাহরণ, সফল ভবিষ্যদ্বাণী নোট করুন.
user@nat-client$ curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://us-central1-aiplatform.googleapis.com/v1/projects/${projectid}/locations/us-central1/endpoints/${ENDPOINT_ID}:predict -d @instances.json
{
"predictions": [
"$479.0",
"$586.0"
],
"deployedModelId": "1949163636186415104",
"model": "projects/234086459238/locations/us-central1/models/947543727654567936",
"modelDisplayName": "diamonds-cpr",
"modelVersionId": "1"
}
17. বৈধকরণ - Vertex API-এ ইন্টারনেট অ্যাক্সেস
এখন আপনি ভবিষ্যদ্বাণীটি কার্যকর করেছেন, আসুন TCPDUMP ফলাফলগুলি (টার্মিনাল 1) দেখে নেওয়া যাক যা ইউএসএআই- এর ভার্টেক্স-এআই-এর জন্য স্থানীয় dns সার্ভার 169.254.169.254-এ একটি DNS কোয়েরি সম্পাদন করে ন্যাট-ক্লায়েন্ট উদাহরণ (192.168.10.2) নির্দেশ করে। Central1-aiplatform.googleapis.com । ডিএনএস কোয়েরির ফলাফল হল ভার্টেক্স এপিআই-এর জন্য সর্বজনীন ভার্চুয়াল আইপি অ্যাড্রেস (VIPS) নীচে উল্লিখিত হিসাবে:
user@nat-client:~$ sudo tcpdump -i any port 53 -n
tcpdump: data link type LINUX_SLL2
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
20:05:09.260937 ens4 Out IP 192.168.10.2.40782 > 169.254.169.254.53: 47190+ A? oauth2.googleapis.com. (39)
20:05:09.260946 ens4 Out IP 192.168.10.2.40782 > 169.254.169.254.53: 28075+ AAAA? oauth2.googleapis.com. (39)
20:05:09.263556 ens4 In IP 169.254.169.254.53 > 192.168.10.2.40782: 28075 4/0/0 AAAA 2607:f8b0:4001:c34::5f, AAAA 2607:f8b0:4001:c54::5f, AAAA 2607:f8b0:4001:c16::5f, AAAA 2607:f8b0:4001:c17::5f (151)
20:05:09.265018 ens4 In IP 169.254.169.254.53 > 192.168.10.2.40782: 47190 16/0/0 A 74.125.201.95, A 74.125.202.95, A 74.125.69.95, A 64.233.183.95, A 173.194.193.95, A 173.194.194.95, A 173.194.195.95, A 173.194.196.95, A 173.194.197.95, A 64.233.191.95, A 173.194.74.95, A 173.194.192.95, A 209.85.145.95, A 209.85.146.95, A 209.85.147.95, A 142.250.125.95 (295)
20:05:09.474478 ens4 Out IP 192.168.10.2.57356 > 169.254.169.254.53: 36008+ A? us-central1-aiplatform.googleapis.com. (55)
20:05:09.474488 ens4 Out IP 192.168.10.2.57356 > 169.254.169.254.53: 47020+ AAAA? us-central1-aiplatform.googleapis.com. (55)
20:05:09.477190 ens4 In IP 169.254.169.254.53 > 192.168.10.2.57356: 36008 16/0/0 A 173.194.194.95, A 173.194.195.95, A 173.194.196.95, A 173.194.197.95, A 173.194.74.95, A 173.194.192.95, A 209.85.145.95, A 209.85.146.95, A 209.85.147.95, A 142.250.125.95, A 142.250.136.95, A 142.250.148.95, A 209.85.200.95, A 209.85.234.95, A 142.250.152.95, A 142.250.128.95 (311)
20:05:09.478607 ens4 In IP 169.254.169.254.53 > 192.168.10.2.57356: 47020 4/0/0 AAAA 2607:f8b0:4001:c1b::5f, AAAA 2607:f8b0:4001:c0c::5f, AAAA 2607:f8b0:4001:c0e::5f, AAAA 2607:f8b0:4001:c1e::5f (167)
18. ভার্টেক্স এপিআইগুলিতে ব্যক্তিগত অ্যাক্সেস সক্ষম করুন৷
নিম্নলিখিত বিভাগে, আপনি ব্যক্তিগতভাবে অনলাইন ভবিষ্যদ্বাণীতে পৌঁছানোর জন্য প্রাইভেট সার্ভিস কানেক্ট ওভার হাইব্রিড নেটওয়ার্কিং (HA VPN) ব্যবহার করে Vertex APIগুলি অ্যাক্সেস করবেন। টিউটোরিয়ালে ব্যবহৃত উদাহরণে, আপনি ব্যক্তিগত-ক্লায়েন্ট উদাহরণে /etc/hosts ফাইলটি আপডেট করবেন।
আপনার অন-প্রিমিসেস পরিবেশে পরীক্ষার জন্য একটি একক বা মুষ্টিমেয় মেশিন /etc/hosts ফাইল আপডেট করা উপযুক্ত তবে PSC এন্ডপয়েন্ট FQDN ব্যবহার করে একটি নতুন ফরওয়ার্ডিং জোন তৈরি করা বড় স্কেল এবং উত্পাদন পরিবেশের জন্য আরও বাঞ্ছনীয়।
উদাহরণ হিসেবে, টিউটোরিয়ালে তৈরি করা psc এন্ডপয়েন্টটিকে pscvertex বলা হয় যা pscvertex.p.googleapis.com এ অনুবাদ করে, যখন vertex-এর এন্ডপয়েন্ট ব্যবহার করে FQDN-কে পরিষেবার সাথে যুক্ত করে যেমন us-central1-aiplatform-pscvertex.p.googleapis। com
PSC এন্ডপয়েন্টের সাথে অন-প্রিমিসেস DNS আপডেট করার জন্য FDQN যেমন us-central1-aiplatform -pscvertex.p.googleapis.com-এ নেটিভ পাবলিক এন্ডপয়েন্ট us-central1-aiplatform.googleapis.com- এর পরিবর্তে স্থানীয় অ্যাপ্লিকেশনগুলির রিফ্যাক্টরিং প্রয়োজন।
একটি কাস্টম এন্ডপয়েন্ট ব্যবহার করার জন্য কনফিগার করা ক্লায়েন্টরা একটি এন্ডপয়েন্টে অনুরোধ পাঠাতে p.googleapis.com DNS নাম ব্যবহার করতে পারে।
কাস্টম এন্ডপয়েন্ট ব্যবহার করার জন্য কনফিগার করার বিষয়ে তথ্যের জন্য আপনার ক্লায়েন্ট বা ক্লায়েন্ট লাইব্রেরির ডকুমেন্টেশন দেখুন। যেমন:
- পাইথন: আপনি google-api-core প্যাকেজে ক্লায়েন্ট বিকল্প ক্লাসে api_endpoint কনফিগার করতে পারেন।
- যান: আপনি এপিআই প্যাকেজে ক্লায়েন্ট বিকল্প প্যাকেজে WithEndpoint কনফিগার করতে পারেন।
- gcloud: আপনি api_endpoint_overrides কনফিগার করতে পারেন
"+" নির্বাচন করে একটি নতুন ক্লাউড শেল টার্মিনাল খুলুন। একবার নতুন ট্যাব খোলা হলে, প্রকল্পের নাম পরিবর্তনশীল আপডেট করুন।
ক্লাউড শেল থেকে।
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectid=YOUR-PROJECT-NAME
echo $projectid
ভার্টেক্স ডোমেন us-central1-aiplatform.googleapis.com- এর বিরুদ্ধে একটি খনন সম্পাদন করে Vertex API-এর সাথে সংযোগ যাচাই করতে একটি নতুন ক্লাউড শেল-এ IAP ব্যবহার করে ব্যক্তিগত-ক্লায়েন্টে লগ ইন করুন
ক্লাউড শেল থেকে, ব্যক্তিগত-ক্লায়েন্ট ওএস ইনস্ট্যান্সে লগ ইন করুন।
gcloud compute ssh private-client --project=$projectid --zone=us-central1-a --tunnel-through-iap
খনন চালান।
dig us-central1-aiplatform.googleapis.com
উদাহরণ, ডিএনএস প্রতিক্রিয়ার উপর ভিত্তি করে পাবলিক আইপিগুলি নোট করুন৷
user@private-client:~$ dig us-central1-aiplatform.googleapis.com
; <<>> DiG 9.16.42-Debian <<>> us-central1-aiplatform.googleapis.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33311
;; flags: qr rd ra; QUERY: 1, ANSWER: 16, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;us-central1-aiplatform.googleapis.com. IN A
;; ANSWER SECTION:
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.132.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.201.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.202.95
us-central1-aiplatform.googleapis.com. 300 IN A 74.125.69.95
us-central1-aiplatform.googleapis.com. 300 IN A 64.233.182.95
us-central1-aiplatform.googleapis.com. 300 IN A 64.233.183.95
us-central1-aiplatform.googleapis.com. 300 IN A 173.194.193.95
us-central1-aiplatform.googleapis.com. 300 IN A 173.194.194.95
us-central1-aiplatform.googleapis.com. 300 IN A 173.194.195.95
us-central1-aiplatform.googleapis.com. 300 IN A 173.194.196.95
us-central1-aiplatform.googleapis.com. 300 IN A 173.194.197.95
us-central1-aiplatform.googleapis.com. 300 IN A 64.233.191.95
us-central1-aiplatform.googleapis.com. 300 IN A 173.194.74.95
us-central1-aiplatform.googleapis.com. 300 IN A 173.194.192.95
us-central1-aiplatform.googleapis.com. 300 IN A 209.85.145.95
us-central1-aiplatform.googleapis.com. 300 IN A 209.85.146.95
;; Query time: 4 msec
;; SERVER: 169.254.169.254#53(169.254.169.254)
;; WHEN: Sun Jul 02 20:5
PSC এন্ডপয়েন্ট 100.100.10.10-এর দিকে নির্দেশ করে Vertext AI FQDN us-central1-aiplatform.googleapis.com- এর একটি রেকর্ড তৈরি করতে sudo VI সম্পাদক বা ন্যানো ব্যবহার করে প্রাইভেট-ক্লায়েন্ট ইনস্ট্যান্স /etc/hosts আপডেট করুন, আর কোনো পরিবর্তনের প্রয়োজন নেই।
উদাহরণ:
user@private-client:~$ more /etc/hosts
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
100.100.10.10 us-central1-aiplatform.googleapis.com
192.168.20.2 private-client.c.$projectid.internal private-client # Added by Google
169.254.169.254 metadata.google.internal # Added by Google
প্রাইভেট-ক্লায়েন্ট OS থেকে, Vertex API এন্ডপয়েন্টে একটি PING সঞ্চালন করুন।
ping us-central1-aiplatform.googleapis.com
উদাহরণ, PING PSC এন্ডপয়েন্ট আইপি ফেরত দেয় তবুও কোনো উত্তর প্রত্যাশিত নয়।
user@private-client:~$ ping us-central1-aiplatform.googleapis.com
PING us-central1-aiplatform.googleapis.com (100.100.10.10) 56(84) bytes of data.
প্রাইভেট-ক্লায়েন্ট OS থেকে, অনলাইন ভবিষ্যদ্বাণীর বিপরীতে একটি কার্ল সম্পাদন করার সময় PSC এন্ডপয়েন্টে DNS রেজোলিউশন এবং IP ডেটাপাথ যাচাই করতে tcpdump চালান।
sudo tcpdump -i any port 53 -n or host 100.100.10.10
"+" নির্বাচন করে একটি চতুর্থ ক্লাউড শেল টার্মিনাল খুলুন। একবার নতুন ট্যাব খোলা হলে, প্রকল্পের নাম পরিবর্তনশীল আপডেট করুন।
ক্লাউড শেলের ভিতরে, প্রকল্পের নাম পরিবর্তনশীল আপডেট করুন।
gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
projectid=YOUR-PROJECT-NAME
echo $projectid
ক্লাউড শেল চারের ভিতরে, ব্যক্তিগত-ক্লায়েন্ট উদাহরণে একটি ssh সম্পাদন করুন।
gcloud compute ssh --zone "us-central1-a" "private-client" --project "$projectid"
নিম্নলিখিত বিভাগে, আপনি sudo VI সম্পাদক বা ন্যানো ব্যবহার করে একটি instance.json ফাইল তৈরি করবেন এবং স্থাপন করা মডেল থেকে একটি ভবিষ্যদ্বাণী পেতে ব্যবহৃত ডেটা স্ট্রিংটি সন্নিবেশ করাবেন।
প্রাইভেট-ক্লায়েন্ট ওএস থেকে, নীচের ডেটা স্ট্রিং সহ একটি instance.json f ile তৈরি করুন:
{"instances": [
[0.23, 'Ideal', 'E', 'VS2', 61.5, 55.0, 3.95, 3.98, 2.43],
[0.29, 'Premium', 'J', 'Internally Flawless', 52.5, 49.0, 4.00, 2.13, 3.11]]}
উদাহরণ:
user@private-client:$ more instances.json
{"instances": [
[0.23, 'Ideal', 'E', 'VS2', 61.5, 55.0, 3.95, 3.98, 2.43],
[0.29, 'Premium', 'J', 'Internally Flawless', 52.5, 49.0, 4.00, 2.13, 3.11]]}
user@private-client:$
ব্যক্তিগত-ক্লায়েন্ট OS থেকে, নিম্নলিখিত ভেরিয়েবলগুলি তৈরি করুন:
gcloud config list project
projectid=YOUR-PROJECT-NAME
echo $projectid
ENDPOINT_ID="insert-your-endpoint-id-here"
উদাহরণ:
ENDPOINT_ID="3328226095324463104"
ক্লাউড শেল ফোর-এ প্রাইভেট-ক্লায়েন্ট OS থেকে, মডেল থেকে প্রতিক্রিয়া পেতে একটি কার্ল সঞ্চালন করুন।
curl -v -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://us-central1-aiplatform.googleapis.com/v1/projects/${projectid}/locations/us-central1/endpoints/${ENDPOINT_ID}:predict -d @instances.json
19. বৈধকরণ - ভার্টেক্স এপিআই-এ ব্যক্তিগত অ্যাক্সেস
ক্লাউড শেল ফোর-এ প্রাইভেট-ক্লায়েন্ট ওএস থেকে, নোট করুন PSC এন্ডপয়েন্ট আইপি (100.100.10.10) ভার্টেক্স এপিআই অ্যাক্সেস করতে ব্যবহৃত হয়েছিল।
user@private-client$ curl -v -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://us-central1-aiplatform.googleapis.com/v1/projects/${projectid}/locations/us-central1/endpoints/${ENDPOINT_ID}:predict -d @instances.json
Note: Unnecessary use of -X or --request, POST is already inferred.
* Trying 100.100.10.10:443...
* Connected to us-central1-aiplatform.googleapis.com (100.100.10.10) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
* CAfile: /etc/ssl/certs/ca-certificates.crt
* CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN, server accepted to use h2
* Server certificate:
* subject: CN=upload.video.google.com
* start date: May 29 08:21:36 2023 GMT
* expire date: Aug 21 08:21:35 2023 GMT
* subjectAltName: host "us-central1-aiplatform.googleapis.com" matched cert's "*.googleapis.com"
* issuer: C=US; O=Google Trust Services LLC; CN=GTS CA 1C3
* SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x55f2ab65c2c0)
> POST /v1/projects/$projectid/locations/us-central1/endpoints/3328226095324463104:predict HTTP/2
> Host: us-central1-aiplatform.googleapis.com
> user-agent: curl/7.74.0
> accept: */*
> authorization: Bearer ya29.a0AbVbY6NdCbIJYj0mQROeq-xYgQCw534TTtjRc1kBAEOimKCFxb3gqgD5AvhfefJatSNr33eW1YJirfQVMptFoqfjRoB-i8zEJJ_GGCVqhsVnpSOjK0hzJQSuo2YGjIiSe1o1zdo7lWmh1Px-vLe8FImieGkrQ1hqVaa6aCgYKAXgSARESFQFWKvPlUQ_FuKB2hrDJRyFDjupL1g0171
> content-type: application/json
> content-length: 154
>
* Connection state changed (MAX_CONCURRENT_STREAMS == 100)!
* We are completely uploaded and fine
< HTTP/2 200
< content-type: application/json; charset=UTF-8
< x-vertex-ai-internal-prediction-backend: harpoon
< date: Mon, 03 Jul 2023 22:13:35 GMT
< vary: X-Origin
< vary: Referer
< vary: Origin,Accept-Encoding
< server: scaffolding on HTTPServer2
< cache-control: private
< x-xss-protection: 0
< x-frame-options: SAMEORIGIN
< x-content-type-options: nosniff
< accept-ranges: none
<
{
"predictions": [
"$479.0",
"$586.0"
],
"deployedModelId": "1949163636186415104",
"model": "projects/234086459238/locations/us-central1/models/947543727654567936",
"modelDisplayName": "diamonds-cpr",
"modelVersionId": "1"
}
* Connection #0 to host us-central1-aiplatform.googleapis.com left intact
ক্লাউড শেল থ্রিতে TCPDUMP টার্মিনাল থেকে, আমরা যাচাই করতে পারি যে us-central1-aiplatform.googleapis.com- এ একটি DNS লুকআপ দেখা যায়নি যেহেতু /etc/host ফাইলটি প্রাধান্য পেয়েছে তবুও PSC IP ঠিকানা 100.100.10.10 ব্যবহার করা হয়েছিল তথ্য পথ।
user@private-client:~$ sudo tcpdump -i any port 53 -n or host 100.100.10.10
tcpdump: data link type LINUX_SLL2
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
22:13:35.507625 ens4 Out IP 192.168.20.2.37004 > 169.254.169.254.53: 58585+ A? oauth2.googleapis.com. (39)
22:13:35.507631 ens4 Out IP 192.168.20.2.37004 > 169.254.169.254.53: 15580+ AAAA? oauth2.googleapis.com. (39)
22:13:35.511796 ens4 In IP 169.254.169.254.53 > 192.168.20.2.37004: 58585 16/0/0 A 142.251.6.95, A 108.177.112.95, A 74.125.124.95, A 172.217.212.95, A 172.217.214.95, A 172.253.114.95, A 172.253.119.95, A 108.177.111.95, A 142.250.1.95, A 108.177.121.95, A 142.250.103.95, A 108.177.120.95, A 142.251.171.95, A 142.250.159.95, A 142.251.120.95, A 142.251.161.95 (295)
22:13:35.512002 ens4 In IP 169.254.169.254.53 > 192.168.20.2.37004: 15580 4/0/0 AAAA 2607:f8b0:4001:c2b::5f, AAAA 2607:f8b0:4001:c18::5f, AAAA 2607:f8b0:4001:c5f::5f, AAAA 2607:f8b0:4001:c58::5f (151)
22:13:35.722145 ens4 Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [S], seq 1951267724, win 65320, options [mss 1420,sackOK,TS val 1371205990 ecr 0,nop,wscale 7], length 0
22:13:35.730727 ens4 In IP 100.100.10.10.443 > 192.168.20.2.47304: Flags [S.], seq 3198878726, ack 1951267725, win 65535, options [mss 1366,sackOK,TS val 67847676 ecr 1371205990,nop,wscale 8], length 0
22:13:35.730760 ens4 Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [.], ack 1, win 511, options [nop,nop,TS val 1371205999 ecr 67847676], length 0
22:13:35.738339 ens4 Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [P.], seq 1:518, ack 1, win 511, options [nop,nop,TS val 1371206006 ecr 67847676], length 517
22:13:35.739922 ens4 In IP 100.100.10.10.443 > 192.168.20.2.47304: Flags [.], ack 518, win 261, options [nop,nop,TS val 67847688 ecr 1371206006], length 0
22:13:35.740860 ens4 In IP 100.100.10.10.443 > 192.168.20.2.47304: Flags [.], seq 1:2709, ack 518, win 261, options [nop,nop,TS val 67847689 ecr 1371206006], length 2708
22:13:35.740863 ens4 In IP 100.100.10.10.443 > 192.168.20.2.47304: Flags [P.], seq 2709:4699, ack 518, win 261, options [nop,nop,TS val 67847689 ecr 1371206006], length 1990
22:13:35.740874 ens4 Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [.], ack 2709, win 497, options [nop,nop,TS val 1371206009 ecr 67847689], length 0
22:13:35.740886 ens4 Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [.], ack 4699, win 485, options [nop,nop,TS val 1371206009 ecr 67847689], length 0
22:13:35.742709 ens4 Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [P.], seq 518:598, ack 4699, win 501, options [nop,nop,TS val 1371206011 ecr 67847689], length 80
22:13:35.743996 ens4 Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [P.], seq 598:644, ack 4699, win 501, options [nop,nop,TS val 1371206012 ecr 67847689], length 46
22:13:35.744011 ens4 Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [P.], seq 644:693, ack 4699, win 501, options [nop,nop,TS val 1371206012 ecr 67847689], length 49
22:13:35.744082 ens4 Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [P.], seq 693:728, ack 4699, win 501, options [nop,nop,TS val 1371206012 ecr 67847689], length 35
22:13:35.744165 ens4 Out IP 192.168.20.2.47304 > 100.100.10.10.443: Flags [P.], seq 728:1069, ack 4699, win 501, options [nop,nop,TS val 1371206012 ecr 67847689], length 341
আপনি ইন্টারনেটের মাধ্যমে এবং ব্যক্তিগতভাবে হাইব্রিড নেটওয়ার্কিং এবং প্রাইভেট সার্ভিস কানেক্ট (googleapis) ব্যবহার করে একটি পাবলিক এন্ডপয়েন্টের মাধ্যমে অনলাইন ভবিষ্যদ্বাণীর সাথে সংযোগ স্থাপনের সফলভাবে যাচাই করেছেন। OS থেকে প্রস্থান করুন ক্লাউড শেল প্রম্পটে ফিরে আসুন।
20. পরিষ্কার করুন
ক্লাউড শেল থেকে, টিউটোরিয়াল উপাদানগুলি মুছুন।
gcloud compute forwarding-rules delete pscvertex --global --quiet
gcloud compute instances delete workbench-tutorial --zone=us-central1-a --quiet
gcloud compute addresses delete psc-ip --global --quiet
gcloud compute networks subnets delete workbench-subnet --region=us-central1 --quiet
gcloud compute vpn-tunnels delete aiml-vpc-tunnel0 aiml-vpc-tunnel1 on-prem-tunnel0 on-prem-tunnel1 --region=us-central1 --quiet
gcloud compute vpn-gateways delete aiml-vpn-gw on-prem-vpn-gw --region=us-central1 --quiet
gcloud compute routers delete aiml-cr-us-central1 cloud-router-us-central1-aiml-nat --region=us-central1 --quiet
gcloud compute routers delete cloud-router-us-central1-on-prem-nat on-prem-cr-us-central1 --region=us-central1 --quiet
gcloud compute instances delete nat-client private-client --zone=us-central1-a --quiet
gcloud compute firewall-rules delete ssh-iap-on-prem-vpc --quiet
gcloud compute networks subnets delete nat-subnet private-ip-subnet --region=us-central1 --quiet
gcloud compute networks delete on-prem-vpc --quiet
gcloud compute networks delete aiml-vpc --quiet
ভার্টেক্স উপাদান মুছুন
কন্টেইনার ইমেজ মুছতে, আর্টিফ্যাক্ট রেজিস্ট্রিতে নেভিগেট করুন, আপনার তৈরি করা সংগ্রহস্থল নির্বাচন করুন এবং মুছুন নির্বাচন করুন
আপনার ক্লাউড কনসোলে নেভিগেশন মেনু ব্যবহার করে স্টোরেজ বাকেট মুছে ফেলতে, স্টোরেজ ব্রাউজ করুন, আপনার বালতি নির্বাচন করুন এবং মুছুন ক্লিক করুন:
এন্ডপয়েন্ট থেকে মডেলটি আনডিপ্লোয় করুন। Vertex AI → অনলাইন ভবিষ্যদ্বাণীতে নেভিগেট করুন → diamonds-cpr_endpoint নির্বাচন করুন → এন্ডপয়েন্ট থেকে আনডিপ্লোয় মডেল → আনডিপ্লোয়
মডেল মুছুন। Vertex AI → Model Registry → Delete Model-এ নেভিগেট করুন
অনলাইন পূর্বাভাস শেষ পয়েন্ট মুছুন। VertexAI এ নেভিগেট করুন → অনলাইন পূর্বাভাস → diamonds-cpr_endpoint নির্বাচন করুন → শেষ পয়েন্ট মুছুন
21. অভিনন্দন
অভিনন্দন, আপনি সফলভাবে ইন্টারনেট ব্যবহার করে এবং ব্যক্তিগতভাবে প্রাইভেট সার্ভিস কানেক্ট এবং হাইব্রিড নেটওয়ার্কিং ব্যবহার করে অনলাইন ভবিষ্যদ্বাণীতে সংযোগ স্থাপন সফলভাবে কনফিগার এবং যাচাই করেছেন।
আপনি একটি ন্যাট-ক্লায়েন্ট এবং প্রাইভেট-ক্লায়েন্ট তৈরি করেছেন এবং Vertex API-এ পৌঁছানোর জন্য ব্যবহৃত IP ঠিকানাগুলি যাচাই করতে TCPDUMP ব্যবহার করেছেন। এছাড়াও, আপনি প্রাইভেট সার্ভিস কানেক্ট (googleapis) সম্পর্কে শিখেছেন এবং কীভাবে এটি একটি গ্রাহকের PSC এন্ডপয়েন্টের সাহায্যে অন-প্রিমিসেস এবং মাল্টি-ক্লাউড অ্যাপ্লিকেশনগুলিকে আলাদা করতে ব্যবহার করা যেতে পারে।
কসমোপআপ মনে করে টিউটোরিয়ালগুলি দুর্দান্ত!!
এরপর কি?
এই টিউটোরিয়ালগুলির কয়েকটি দেখুন...
- Google API-এর জন্য ব্যক্তিগত পরিষেবা সংযোগ
- Vertex AI একটি নিরাপদ ব্যবহারকারী-পরিচালিত নোটবুক তৈরি করে
আরও পড়া এবং ভিডিও
- প্রাইভেট সার্ভিস কানেক্ট ওভারভিউ
- প্রাইভেট সার্ভিস কানেক্ট কি?
- কিভাবে একটি ML মডেল থেকে ভবিষ্যদ্বাণী পেতে
- ভার্টেক্স এআই কি?