1. ভূমিকা
Google ক্লাউড আর্মার নামের আইপি ঠিকানা তালিকা আপনাকে আইপি ঠিকানা এবং আইপি রেঞ্জের তালিকা উল্লেখ করতে দেয় যা তৃতীয় পক্ষের প্রদানকারীদের দ্বারা রক্ষণাবেক্ষণ করা হয়। আপনি একটি নিরাপত্তা নীতির মধ্যে নামযুক্ত IP ঠিকানা তালিকা কনফিগার করতে পারেন। আপনাকে ম্যানুয়ালি প্রতিটি IP ঠিকানা বা IP পরিসর পৃথকভাবে নির্দিষ্ট করতে হবে না।
আপনি কি শিখবেন
- ক্লাউড আর্মারের সুবিধা নাম আইপি ঠিকানা তালিকা
- ক্লাউড আর্মার নিরাপত্তা নীতি তৈরি করুন
- আইপি ঠিকানা তালিকা নামে ক্লাউড আর্মার স্থাপন করুন
- গ্লোবাল লোড ব্যালেন্সার তৈরি করুন
- নমুনা পরীক্ষা অ্যাপ্লিকেশন সহ পরিচালিত উদাহরণ গ্রুপ তৈরি করুন
আপনি কি প্রয়োজন হবে
- নিরাপত্তা নীতি এবং লোড ব্যালেন্সার সঙ্গে অভিজ্ঞতা
2. শুধুমাত্র অনুমোদিত থার্ড-পার্টি প্রদানকারীদের থেকে ট্র্যাফিকের অনুমতি দেওয়া
একটি সাধারণ ব্যবহারের ক্ষেত্রে একটি অনুমোদিত থার্ড-পার্টি পার্টনারের আইপি অ্যাড্রেস সম্বলিত একটি অনুমোদন তালিকা তৈরি করা যাতে নিশ্চিত করা যায় যে শুধুমাত্র এই অংশীদার থেকে আসা ট্রাফিকই লোড ব্যালেন্সার এবং ব্যাকএন্ড অ্যাক্সেস করতে পারে।
উদাহরণস্বরূপ, CDN প্রদানকারীদের তাদের নিজস্ব ক্যাশে বিতরণ করতে নিয়মিত বিরতিতে মূল সার্ভার থেকে সামগ্রী টেনে আনতে হবে। Google এর সাথে একটি অংশীদারিত্ব CDN প্রদানকারী এবং Google নেটওয়ার্ক প্রান্তের মধ্যে একটি সরাসরি সংযোগ প্রদান করে৷ গুগল ক্লাউডে CDN ব্যবহারকারীরা মূল টানার সময় এই সরাসরি সংযোগটি ব্যবহার করতে পারেন। এই ক্ষেত্রে, CDN ব্যবহারকারী একটি নিরাপত্তা নীতি তৈরি করতে চাইতে পারে যা শুধুমাত্র সেই নির্দিষ্ট CDN প্রদানকারীর কাছ থেকে আসা ট্রাফিকের অনুমতি দেয়।
এই উদাহরণে, একটি CDN প্রদানকারী তার IP ঠিকানা তালিকা প্রকাশ করে 23.235.32.0/20, 43.249.72.0/22, ⋯,. একজন CDN ব্যবহারকারী একটি নিরাপত্তা নিয়ম কনফিগার করে যা শুধুমাত্র এই IP ঠিকানাগুলি থেকে ট্র্যাফিক আসার অনুমতি দেয়। ফলস্বরূপ, দুটি CDN প্রদানকারী অ্যাক্সেস পয়েন্ট অনুমোদিত (23.235.32.10 এবং 43.249.72.10) এবং তাই তাদের ট্র্যাফিক অনুমোদিত। অননুমোদিত অ্যাক্সেস পয়েন্ট 198.51.100.1 থেকে ট্র্যাফিক অবরুদ্ধ।
গুগল ক্লাউড আর্মার নামের আইপি ঠিকানা
3. প্রাক কনফিগার করা নিয়ম ব্যবহার করে কনফিগারেশন এবং পরিচালনা সহজ করা
CDN প্রদানকারীরা প্রায়ই এমন আইপি ঠিকানা ব্যবহার করে যা সুপরিচিত এবং অনেক CDN ব্যবহারকারীদের ব্যবহার করতে হয়। এই তালিকাগুলি সময়ের সাথে পরিবর্তিত হয়, কারণ প্রদানকারীরা IP ঠিকানাগুলি যোগ করে, অপসারণ করে এবং আপডেট করে।
একটি নিরাপত্তা নীতির নিয়মে একটি নামযুক্ত IP ঠিকানা তালিকা ব্যবহার করা IP ঠিকানাগুলি কনফিগার এবং পরিচালনার প্রক্রিয়াকে সহজ করে কারণ Google Cloud Armor স্বয়ংক্রিয়ভাবে CDN প্রদানকারীদের থেকে দৈনিক ভিত্তিতে তথ্য সিঙ্ক্রোনাইজ করে। এটি ম্যানুয়ালি একটি বৃহৎ আইপি ঠিকানা তালিকা বজায় রাখার সময়-সাপেক্ষ এবং ত্রুটি-প্রবণ প্রক্রিয়াকে বাদ দেয়।
আইপি ঠিকানা তালিকা প্রদানকারী
নিম্নলিখিত সারণীতে IP ঠিকানা তালিকা প্রদানকারী Google ক্লাউড আর্মারের জন্য সমর্থিত। এগুলি হল CDN প্রদানকারী যারা Google এর সাথে অংশীদারিত্ব করেছে৷ তাদের IP ঠিকানা তালিকা পৃথক পাবলিক URL-এর মাধ্যমে প্রকাশিত হয়।
এই অংশীদাররা IPv4 ঠিকানা এবং IPv6 ঠিকানাগুলির পৃথক তালিকা প্রদান করে। Google ক্লাউড আর্মার তালিকা আনার জন্য প্রদত্ত URL গুলি ব্যবহার করে এবং তারপর তালিকাগুলিকে নামযুক্ত IP ঠিকানা তালিকায় রূপান্তর করে৷ আপনি টেবিলের নাম দ্বারা তালিকা উল্লেখ করুন.
বিকল্পভাবে, পূর্বনির্ধারিত আইপি ঠিকানা তালিকার একটি তালিকা পেতে ক্লাউড শেল ব্যবহার করুন
ক্লাউডশেলে লগ ইন করুন এবং আপনার প্রজেক্টিড সেট করুন
gcloud config list project gcloud config set project [YOUR-PROJECT-ID] Perform setting your projectID: projectid=YOUR-PROJECT-ID echo $projectid
মেঘের শেল থেকে
gcloud compute security-policies list-preconfigured-expression-sets \ --filter="id:sourceiplist"
এটি ফেরত দেয়:
EXPRESSION_SET sourceiplist-fastly sourceiplist-cloudflare sourceiplist-imperva
4. কোডল্যাব টপোলজি
5. সেটআপ এবং প্রয়োজনীয়তা
স্ব-গতিসম্পন্ন পরিবেশ সেটআপ
- ক্লাউড কনসোলে সাইন ইন করুন এবং একটি নতুন প্রকল্প তৈরি করুন বা বিদ্যমান একটি পুনরায় ব্যবহার করুন৷ (আপনার যদি ইতিমধ্যেই একটি Gmail বা Google Workspace অ্যাকাউন্ট না থাকে, তাহলে আপনাকে অবশ্যই একটি তৈরি করতে হবে।)
প্রজেক্ট আইডিটি মনে রাখবেন, সমস্ত Google ক্লাউড প্রকল্প জুড়ে একটি অনন্য নাম (উপরের নামটি ইতিমধ্যে নেওয়া হয়েছে এবং আপনার জন্য কাজ করবে না, দুঃখিত!)। এটি পরে এই কোডল্যাবে PROJECT_ID
হিসাবে উল্লেখ করা হবে।
- এর পরে, Google ক্লাউড সংস্থানগুলি ব্যবহার করার জন্য আপনাকে ক্লাউড কনসোলে বিলিং সক্ষম করতে হবে৷
এই কোডল্যাবের মাধ্যমে চালানোর জন্য খুব বেশি খরচ করা উচিত নয়, যদি কিছু থাকে। "ক্লিনিং আপ" বিভাগে যে কোনও নির্দেশাবলী অনুসরণ করতে ভুলবেন না যা আপনাকে কীভাবে সংস্থানগুলি বন্ধ করতে হবে তা পরামর্শ দেয় যাতে আপনি এই টিউটোরিয়ালের বাইরে বিলিং করতে না পারেন৷ Google ক্লাউডের নতুন ব্যবহারকারীরা $300 USD বিনামূল্যের ট্রায়াল প্রোগ্রামের জন্য যোগ্য৷
ক্লাউড শেল শুরু করুন
যদিও Google ক্লাউড আপনার ল্যাপটপ থেকে দূরবর্তীভাবে পরিচালিত হতে পারে, এই কোডল্যাবে আপনি Google ক্লাউড শেল ব্যবহার করবেন, একটি কমান্ড লাইন পরিবেশ যা ক্লাউডে চলছে।
GCP কনসোল থেকে উপরের ডানদিকে টুলবারে ক্লাউড শেল আইকনে ক্লিক করুন:
পরিবেশের ব্যবস্থা করতে এবং সংযোগ করতে এটি শুধুমাত্র কয়েক মুহূর্ত নিতে হবে। এটি সমাপ্ত হলে, আপনি এই মত কিছু দেখতে হবে:
এই ভার্চুয়াল মেশিনটি আপনার প্রয়োজনীয় সমস্ত ডেভেলপমেন্ট টুল দিয়ে লোড করা হয়েছে। এটি একটি ক্রমাগত 5GB হোম ডিরেক্টরি অফার করে এবং Google ক্লাউডে চলে, যা নেটওয়ার্ক কর্মক্ষমতা এবং প্রমাণীকরণকে ব্যাপকভাবে উন্নত করে। এই ল্যাবে আপনার সমস্ত কাজ কেবল একটি ব্রাউজার দিয়ে করা যেতে পারে।
6. ভিপিসি নেটওয়ার্ক তৈরি করুন
ভিপিসি নেটওয়ার্ক
ক্লাউড শেল থেকে
gcloud compute networks create
নাম-তালিকা-ভিপিসি
--subnet-mode custom
সাবনেট তৈরি করুন
ক্লাউড শেল থেকে
gcloud compute networks subnets create named-ip-subnet \ --network
নাম-তালিকা-ভিপিসি
--range 10.0.0.0/24 --region us-east1
ফায়ারওয়াল নিয়ম তৈরি করুন
ক্লাউড শেল থেকে
gcloud compute --project=$projectid firewall-rules create default-allow-http --direction=INGRESS --priority=1000 --network=named-list-vpc --action=ALLOW --rules=tcp:80 --source-ranges=0.0.0.0/0
gcloud compute --project=$projectid firewall-rules create default-allow-health-check --direction=INGRESS --priority=1000 --network=named-list-vpc --action=ALLOW --rules=tcp --source-ranges=130.211.0.0/22,35.191.0.0/16
লোড ব্যালেন্সার তৈরি করুন
উদাহরণ টেমপ্লেট তৈরি করুন
ক্লাউড শেল থেকে
gcloud beta compute --project=$projectid instance-templates create us-east1-template --machine-type=e2-medium --subnet=projects/$projectid/regions/us-east1/subnetworks/named-ip-subnet --network-tier=PREMIUM --metadata=startup-script-url=gs://cloud-training/gcpnet/httplb/startup.sh --maintenance-policy=MIGRATE --image=debian-10-buster-v20210217 --image-project=debian-cloud --boot-disk-size=10GB --boot-disk-type=pd-balanced --boot-disk-device-name=us-east1-template --no-shielded-secure-boot --no-shielded-vtpm --no-shielded-integrity-monitoring --reservation-affinity=any
ম্যানেজড ইনস্ট্যান্স গ্রুপ তৈরি করুন
ক্লাউড শেল থেকে
gcloud compute --project=$projectid instance-groups managed create us-east1-mig --base-instance-name=us-east1-mig --template=us-east1-template --size=1 --zone=us-east1-b
7. ব্যাকএন্ড যাচাই করুন
উভয় অঞ্চলে VM দৃষ্টান্ত তৈরি করা হচ্ছে কিনা যাচাই করুন এবং তাদের HTTP সাইটগুলি অ্যাক্সেস করুন।
- এখনও কম্পিউট ইঞ্জিনে, বাম মেনুতে ভিএম ইনস্ট্যান্সে ক্লিক করুন
- us-east1-mig দিয়ে শুরু হওয়া দৃষ্টান্তগুলি লক্ষ্য করুন এই দৃষ্টান্তগুলি পরিচালিত দৃষ্টান্ত গোষ্ঠীর অংশ।
- us-east1-mig-এর একটি উদাহরণের বাহ্যিক আইপি-তে ক্লিক করুন। আপনি ক্লায়েন্ট আইপি (আপনার আইপি ঠিকানা), হোস্টনাম দেখতে পাবেন (আমাদের-east1-mig দিয়ে শুরু হয়)
HTTP লোড ব্যালেন্সার কনফিগার করুন
- ক্লাউড কনসোলে, নেভিগেশন মেনুতে ক্লিক করুন ( ) > নেটওয়ার্ক সার্ভিসেস > লোড ব্যালেন্সিং-এ ক্লিক করুন এবং তারপর লোড ব্যালেন্সার তৈরি করুন-এ ক্লিক করুন।
- HTTP(S) লোড ব্যালেন্সিংয়ের অধীনে, স্টার্ট কনফিগারেশনে ক্লিক করুন।
- ইন্টারনেট থেকে আমার ভিএম-এ নির্বাচন করুন এবং অবিরত ক্লিক করুন।
- নামটি http-lb এ সেট করুন।
ব্যাকএন্ড কনফিগার করুন
ব্যাকএন্ড পরিষেবা এক বা একাধিক সংযুক্ত ব্যাকএন্ডে আগত ট্র্যাফিককে নির্দেশ করে। প্রতিটি ব্যাকএন্ড একটি ইনস্ট্যান্স গ্রুপ এবং অতিরিক্ত পরিবেশন ক্ষমতা মেটাডেটা নিয়ে গঠিত।
- ব্যাকএন্ড কনফিগারেশনে ক্লিক করুন।
- ব্যাকএন্ড পরিষেবা এবং ব্যাকএন্ড বালতিগুলির জন্য, ব্যাকএন্ড পরিষেবাগুলি এবং ব্যাকএন্ড বাকেটগুলি তৈরি করুন বা নির্বাচন করুন ক্লিক করুন, তারপরে ব্যাকএন্ড পরিষেবাগুলিতে ক্লিক করুন এবং তারপরে একটি ব্যাকএন্ড পরিষেবা তৈরি করুন ক্লিক করুন৷
- ব্যাকএন্ড টাইপ হল ইনস্ট্যান্স গ্রুপ
- নিম্নলিখিত মানগুলি সেট করুন, অন্যান্য সমস্ত মান তাদের ডিফল্টে ছেড়ে দিন:
- সম্পন্ন ক্লিক করুন.
- স্বাস্থ্য পরীক্ষার জন্য, একটি স্বাস্থ্য পরীক্ষা তৈরি করুন নির্বাচন করুন।
- নিম্নলিখিত মানগুলি সেট করুন, অন্যান্য সমস্ত মান তাদের ডিফল্টে ছেড়ে দিন:
- Save and Continue এ ক্লিক করুন।
- ব্যাকএন্ড পরিষেবা তৈরি করতে তৈরি করুন ক্লিক করুন।
ফ্রন্টএন্ড কনফিগার করুন
হোস্ট এবং পথের নিয়মগুলি নির্ধারণ করে যে আপনার ট্র্যাফিক কীভাবে পরিচালিত হবে। উদাহরণস্বরূপ, আপনি একটি ব্যাকএন্ডে ভিডিও ট্রাফিককে নির্দেশ করতে পারেন এবং স্ট্যাটিক ট্র্যাফিক অন্য ব্যাকএন্ডে করতে পারেন। যাইহোক, আপনি এই ল্যাবে হোস্ট এবং পাথ নিয়মগুলি কনফিগার করছেন না।
- ফ্রন্টএন্ড কনফিগারেশনে ক্লিক করুন।
- http-ফ্রন্ট-এন্ড
- অন্যান্য সমস্ত মান তাদের ডিফল্টে রেখে নিম্নলিখিতগুলি নির্দিষ্ট করুন
- সম্পন্ন ক্লিক করুন.
8. পর্যালোচনা করুন এবং HTTP লোড ব্যালেন্সার তৈরি করুন
- পর্যালোচনা এবং চূড়ান্ত ক্লিক করুন.
- ব্যাকএন্ড পরিষেবা এবং ফ্রন্টএন্ড পর্যালোচনা করুন।
- Create এ ক্লিক করুন।
- লোড ব্যালেন্সার তৈরি হওয়ার জন্য কয়েক মিনিট অপেক্ষা করুন
- লোড ব্যালেন্সারের নামের উপর ক্লিক করুন (http-lb)।
- পরবর্তী কাজের জন্য লোড ব্যালেন্সারের IPv4 ঠিকানাটি নোট করুন, যাকে http-lb বলা হয়।
9. সফল অননুমোদিত অ্যাক্সেস যাচাই করুন
নামযুক্ত আইপি ঠিকানা নীতি প্রয়োগ করার আগে, ল্যাব ব্যালেন্সার এবং পরবর্তী ওয়েব অ্যাপ্লিকেশনে সফল অননুমোদিত অ্যাক্সেস যাচাই করুন। দ্রষ্টব্য, একবার নামকরণকৃত IP ঠিকানা নীতি প্রয়োগ করা হলে, ওয়েব অ্যাপ্লিকেশনে অ্যাক্সেস সীমাবদ্ধ অভিব্যক্তি সেটের মধ্যে সীমাবদ্ধ।
- পূর্ববর্তী ধাপে তৈরি আপনার লোড ব্যালেন্সার আইপি ঠিকানা সনাক্ত করুন (http-lb) এবং আপনার ওয়েব ব্রাউজারে পেস্ট করুন। আউটপুট নীচের স্ক্রিনশট অনুযায়ী একই হবে।
দ্রষ্টব্য: এই পদক্ষেপটি কয়েক মিনিট সময় নেবে, একবার ওয়েবপৃষ্ঠা তৈরি হলে, ক্লায়েন্ট আইপি Google ফ্রন্ট এন্ড থেকে, আপনার ওয়ার্কস্টেশন আইপি নয়।
আপনার ওয়ার্কস্টেশন থেকে নীচে নির্দেশিত অনুরূপ বৈধতা সঞ্চালন
bash-3.2$ curl <load-balancer-IP>
10. উদাহরণ আউটপুট
bash-3.2$ curl <load-balancer-ip> <h1>HTTP Load Balancing Lab</h1><h2>Client IP</h2>Your IP address : 35.191.0.151<h2>Hostname</h2>Server Hostname: us-east1-mig-8nqq<h2>Server Location</h2>Region and Zone: us-east1-b
11. নামযুক্ত আইপি তালিকা কনফিগার করুন
নামযুক্ত আইপি তালিকার জন্য একটি নতুন ক্লাউড অ্যামোর নীতি তৈরি করুন
ক্লাউড শেল থেকে
gcloud compute --project=$projectid security-policies create ca-policy
ক্লাউড শেল থেকে
gcloud compute --project=$projectid security-policies rules update 2147483647 --action=deny-403 --security-policy=ca-policy --description="Default rule, higher priority overrides it" --src-ip-ranges=\*
উপলব্ধ CDN নামের আইপি তালিকা ঠিকানা চিহ্নিত করুন।
ক্লাউড শেল থেকে
gcloud compute security-policies list-preconfigured-expression-sets \ --filter="id:sourceiplist"
এটি ফেরত দেয়:
EXPRESSION_SET sourceiplist-fastly sourceiplist-cloudflare sourceiplist-imperva
ক্লাউড শেল থেকে আপনার CDN উপলব্ধ এক্সপ্রেশন সেটের উপর ভিত্তি করে IP ঠিকানা তালিকা কনফিগার করুন
gcloud beta compute security-policies rules create 600 \ --security-policy ca-policy \ --expression "evaluatePreconfiguredExpr('expression_set')" \ --action "allow"
ক্লাউডফ্লেয়ার ব্যবহার করার উদাহরণ
gcloud beta compute security-policies rules create 600 \ --security-policy ca-policy \ --expression "evaluatePreconfiguredExpr('sourceiplist-cloudflare')" \ --action "allow"
12. CA নিরাপত্তা নীতি প্রয়োগ করুন
CA নিরাপত্তা নীতি প্রয়োগ করুন এবং বিশ্বব্যাপী নীতি প্রচারের জন্য কয়েক মিনিট অপেক্ষা করুন
gcloud compute backend-services update http-backend --security-policy ca-policy --global
13. নামকৃত আইপি ঠিকানা যাচাইকরণ
- যেহেতু নিরাপত্তা নীতি প্রয়োগ করা হয়েছে, তাই আপনার ওয়ার্কস্টেশন থেকে লোড ব্যালেন্সারের অ্যাক্সেস অননুমোদিত।
- যাচাই করতে, আপনার ওয়ার্কস্টেশন থেকে একটি টার্মিনাল উইন্ডো খুলুন এবং লোড ব্যালেন্সার আইপি ঠিকানায় কার্ল করুন। কার্ল থেকে আউটপুট একটি '403' নিষিদ্ধ ত্রুটি প্রদান করবে যেহেতু আপনার ওয়ার্কস্টেশন এখন অননুমোদিত।
আপনার ওয়ার্কস্টেশন থেকে
bash-3.2$ curl <load-balancer-IP> <!doctype html><meta charset="utf-8"><meta name=viewport content="width=device-width, initial-scale=1"><title>403</title>403 Forbidden
ক্লিন আপ স্টেপ
gcloud -q compute backend-services update http-backend --security-policy "" --global gcloud -q compute --project=$projectid security-policies delete ca-policy gcloud -q compute forwarding-rules delete http-front-end --global gcloud -q compute target-http-proxies delete http-lb-target-proxy gcloud -q compute url-maps delete http-lb gcloud -q compute backend-services delete http-backend --global gcloud -q compute health-checks delete http-health-check gcloud -q compute --project=$projectid instance-groups managed delete us-east1-mig --zone=us-east1-b gcloud -q beta compute --project=$projectid instance-templates delete us-east1-template gcloud -q compute --project=$projectid firewall-rules delete default-allow-http gcloud -q compute --project=$projectid firewall-rules delete default-allow-health-check gcloud -q compute networks subnets delete named-ip-subnet --region us-east1 gcloud -q compute networks delete named-list-vpc
14. অভিনন্দন!
কোডল্যাব সম্পূর্ণ করার জন্য অভিনন্দন।
আমরা কভার করেছি কি
- ক্লাউড আর্মারের সুবিধা নাম আইপি ঠিকানা তালিকা
- গ্লোবাল লোড ব্যালেন্সার তৈরি করুন
- নমুনা পরীক্ষা অ্যাপ্লিকেশন সহ পরিচালিত উদাহরণ গ্রুপ তৈরি করুন
- ক্লাউড আর্মার নিরাপত্তা নীতি তৈরি করুন
- আইপি ঠিকানা তালিকা নামে ক্লাউড আর্মার স্থাপন করুন
- নামযুক্ত আইপি ক্লাউড আর্মার নীতি যাচাই করুন