1. ভূমিকা

এই কোডল্যাবটি আপনাকে ক্লাউড DNS আউটবাউন্ড ফরওয়ার্ডিং জোন সেট আপ করার ক্ষেত্রে একটি সম্পূর্ণ যোগ্যতাসম্পন্ন ডোমেন নাম (FQDN) ব্যবহার করে ফরওয়ার্ডিং টার্গেট হিসাবে পরিচালনা করবে। এই বৈশিষ্ট্যটি আপনাকে আপনার ফরওয়ার্ডিং জোনের কনফিগারেশনে হার্ড-কোডিং আইপি ঠিকানাগুলির পরিবর্তে, একটি DNS নাম থেকে সমাধান করা আইপি ঠিকানাগুলিতে DNS ট্র্যাফিক পরিচালনা করতে দেয়। এটি বিশেষভাবে কার্যকর যখন আপনার ব্যাকএন্ড DNS সমাধানকারী আইপি ঠিকানাগুলি পরিবর্তিত হয়, কারণ আপনি FQDN এর জন্য DNS রেকর্ড আপডেট করতে পারেন এবং ক্লাউড DNS স্বয়ংক্রিয়ভাবে পরিবর্তনগুলি গ্রহণ করে।
এই কোডল্যাবের শেষে, আপনি ক্লাউড ডিএনএস ফরোয়ার্ডিং জোনগুলি কনফিগার করতে সক্ষম হবেন যা নিম্নলিখিতগুলি ব্যবহার করে:
- একটি FQDN লক্ষ্য যা A/AAAA রেকর্ড সহ একটি ব্যক্তিগত অঞ্চলের সাথে মেলে।
- আঞ্চলিক সম্প্রীতি বা ট্র্যাফিক বিতরণের জন্য ক্লাউড ডিএনএস রাউটিং নীতি (ভূ-অবস্থান বা ওজনযুক্ত রাউন্ড রবিন) দ্বারা সমর্থিত একটি FQDN লক্ষ্য।
FQDN ফরওয়ার্ডিংয়ের সংক্ষিপ্তসার
ক্লাউড ডিএনএস ফরওয়ার্ডিং আপনাকে গুগল ক্লাউড প্ল্যাটফর্মের বাইরে হোস্ট করা ব্যক্তিগত ডিএনএস নামগুলি (উদাহরণস্বরূপ, অন-প্রেমিসেস বা অন্যান্য ক্লাউড) গুগল ক্লাউড প্ল্যাটফর্ম রিসোর্স থেকে সমাধান করতে দেয়। ঐতিহ্যগতভাবে, এটি লক্ষ্য আইপি ঠিকানার তালিকায় ফরোয়ার্ডিং সমর্থন করে। FQDN ফরওয়ার্ডিং আপনাকে একটি ফরোয়ার্ডিং জোনে একটি ফরোয়ার্ডিং লক্ষ্য হিসাবে একটি FQDN নির্দিষ্ট করার অনুমতি দিয়ে এটিকে প্রসারিত করে।
যখন একটি FQDN নির্দিষ্ট করা হয়, তখন ক্লাউড DNS একটি অভ্যন্তরীণ লুকআপ ব্যবহার করে এটি IP ঠিকানায় সমাধান করে, যা সোর্স নেটওয়ার্কের রেজোলিউশন লজিক ব্যবহার করে। এর অর্থ হল FQDN টার্গেট একটি প্রাইভেট জোন, একটি DNS রাউটিং নীতি (জিওলোকেশন বা ওয়েটেড রাউন্ড রবিন), এমনকি একটি ইন্টারনেট পাবলিক ডোমেন নামের সাথে মিলতে পারে। তারপর ক্লাউড DNS কোয়েরিটি সমাধান করা গন্তব্য IP-তে ফরোয়ার্ড করে।
তুমি কী তৈরি করবে
একটি নতুন ব্যক্তিগত অঞ্চলের সাথে আঞ্চলিক FQDN ফরোয়ার্ডিং
আপনি এমন একটি সেটআপ তৈরি করবেন যা DNS ট্র্যাফিকের জন্য আঞ্চলিক সান্নিধ্য অর্জন করবে। এর মধ্যে একটি ব্যক্তিগত DNS জোন তৈরি করা এবং এর মধ্যে একটি ভূ-অবস্থান রাউটিং নীতি কনফিগার করা, তারপর এই FQDN টার্গেটের সাথে একটি ফরোয়ার্ডিং জোন লিঙ্ক করা অন্তর্ভুক্ত। এটি নিশ্চিত করে যে একটি নির্দিষ্ট অঞ্চল (উদাহরণস্বরূপ, us-east1) থেকে ট্র্যাফিক একটি সংশ্লিষ্ট আঞ্চলিক DNS সার্ভারে ফরোয়ার্ড করা হয়েছে।
একটি বিদ্যমান ব্যক্তিগত অঞ্চলের সাথে FQDN ফরোয়ার্ডিং
তুমি একটি ফরওয়ার্ডিং জোন তৈরি করতে শিখবে যা একটি বিদ্যমান ব্যক্তিগত DNS জোনের মধ্যে A/AAAA রেকর্ড দ্বারা সমর্থিত একটি FQDN কে লক্ষ্য করে। এটি একটি FQDN ফরওয়ার্ডিং টার্গেট ব্যবহার করে সমাধান করা স্ট্যাটিক্যালি সংজ্ঞায়িত IP ঠিকানাগুলিতে ফরওয়ার্ডিং কোয়েরিগুলি প্রদর্শন করে।
তুমি কি শিখবে
FQDN ফরোয়ার্ডিংয়ের ধারণা
আপনি বুঝতে পারবেন যে FQDN ফরোয়ার্ডিং আপনাকে আউটবাউন্ড কোয়েরির জন্য ফরোয়ার্ডিং টার্গেট হিসেবে শুধুমাত্র IP ঠিকানার পরিবর্তে একটি FQDN ফরোয়ার্ডিং টার্গেট নির্দিষ্ট করার অনুমতি দিয়ে DNS ফরোয়ার্ডিংকে প্রসারিত করে।
FQDN ফরওয়ার্ডিংয়ের সুবিধা
আপনি জানতে পারবেন যে এই বৈশিষ্ট্যটি ব্যাকএন্ড DNS রেজলভার IP ঠিকানা পরিবর্তনের সময় ম্যানুয়াল আপডেটের প্রয়োজনীয়তা দূর করে, কারণ ক্লাউড DNS স্বয়ংক্রিয়ভাবে FQDN এর DNS রেকর্ড থেকে পরিবর্তনগুলি গ্রহণ করে। এটি DNS সার্ভারগুলিকে একটি ভাগ করা নাম বা স্কেলের পিছনে গতিশীলভাবে থাকার অনুমতি দিয়ে DNS পরিকাঠামোর আরও নমনীয় স্কেলিং সক্ষম করে।
ক্লাউড ডিএনএস রাউটিং নীতির সাথে ইন্টিগ্রেশন
আপনি শিখবেন কিভাবে FQDN ফরওয়ার্ডিংকে ক্লাউড DNS রাউটিং নীতির (ভূ-অবস্থান বা ওজনযুক্ত রাউন্ড রবিন) সাথে একত্রিত করে আঞ্চলিক সম্প্রীতি অর্জন করা যায়, ভৌগোলিকভাবে বৈচিত্র্যময় স্থাপনার জন্য কর্মক্ষমতা অপ্টিমাইজ করা যায় এবং কনফিগার করা ওজনের উপর ভিত্তি করে ট্র্যাফিক বিতরণ করা যায়।
গুগল ক্লাউড সিএলআই কমান্ড সিনট্যাক্স
আপনি FQDN ফরওয়ার্ডিং জোন সেট আপ করার জন্য gcloud dns managed-zones create কমান্ড এবং এর প্রাসঙ্গিক ফ্ল্যাগগুলি ( --forwarding-targets , --private-forwarding-targets ) এর সাথে পরিচিত হবেন।
পূর্বশর্ত
এই কোডল্যাবটি সম্পূর্ণ করতে, আপনার নিম্নলিখিতগুলি প্রয়োজন:
- একটি গুগল অ্যাকাউন্ট
- বিলিং সক্ষম করা একটি Google ক্লাউড প্রকল্প
- gcloud কমান্ড-লাইন টুলটি ইনস্টল এবং কনফিগার করা হয়েছে
- ক্লাউড ডিএনএস এবং ডিএনএস ধারণা সম্পর্কে একটি মৌলিক ধারণা
2. সেট আপ করা
FQDN ফরোয়ার্ডিং পরিস্থিতি বোঝা
ক্লাউড DNS FQDN ফরওয়ার্ডিং বিভিন্ন ব্যবহারের পরিস্থিতি সমর্থন করে:
- A/AAAA রেকর্ড সহ প্রাইভেট জোন : যদি FQDN একটি প্রাইভেট জোনের A/AAAA রেকর্ডের সাথে মিলে যায়, তাহলে সমাধান করা IP ঠিকানাগুলি ফরোয়ার্ডিং তালিকায় যোগ করা হয় এবং আচরণটি সরাসরি টার্গেট IP ঠিকানাগুলিতে ফরোয়ার্ডিংয়ের মতোই হয়।
- ভূ-অবস্থান নীতি সহ ব্যক্তিগত অঞ্চল : ভূ-অবস্থান নীতি আপনাকে উৎস ভূ-অবস্থান নির্দিষ্ট করতে এবং সংশ্লিষ্ট উত্তর প্রদান করতে দেয়, ভূগোলের উপর ভিত্তি করে ট্র্যাফিক বিতরণ যাচাই করে। এটি আঞ্চলিক DNS ফরোয়ার্ডিং এবং অ্যাফিনিটির জন্য গুরুত্বপূর্ণ।
- ওয়েটেড রাউন্ড রবিন (WRR) নীতি সহ ব্যক্তিগত অঞ্চল : WRR নীতিগুলি একটি DNS নামের জন্য প্রতিটি IP ঠিকানার জন্য বিভিন্ন ওজন নির্দিষ্ট করার অনুমতি দেয়, কনফিগার করা ওজন অনুসারে ট্র্যাফিক বিতরণ করা হয়েছে কিনা তা যাচাই করে।
- A/AAAA রেকর্ড সহ পাবলিক জোন : যদি FQDN একই নেটওয়ার্কে দৃশ্যমান কোনও ব্যক্তিগত নামের সাথে মেলে না, তাহলে ক্লাউড DNS পাবলিক ইন্টারনেট ব্যবহার করে এটি সমাধান করার চেষ্টা করে।
FQDN ফরওয়ার্ডিংয়ের জন্য গুগল ক্লাউড CLI কমান্ড বোঝা
gcloud CLI কমান্ড ব্যবহার করে একটি FQDN ফরওয়ার্ডিং টার্গেট সহ একটি ফরওয়ার্ডিং জোন তৈরি করতে, আপনাকে gcloud dns managed-zones create কমান্ড ব্যবহার করতে হবে। FQDN টার্গেট নির্দিষ্ট করার জন্য মূল ফ্ল্যাগগুলি হল --forwarding-targets অথবা --private-forwarding-targets । স্ট্যান্ডার্ড এবং প্রাইভেট রাউটিং পদ্ধতি সম্পর্কে বিস্তারিত জানার জন্য দয়া করে ডকুমেন্টটি দেখুন।
-
--forwarding-targets: জোনটি যে IPv4/IPv6 ঠিকানা বা টার্গেট নেম সার্ভারে কোয়েরি ফরোয়ার্ড করবে তার একটি ডোমেন নামের তালিকা। জনসাধারণের দৃশ্যমানতার জন্য উপেক্ষা করা হয়েছে। RFC1918 নয় এমন ঠিকানাগুলি ইন্টারনেটের মাধ্যমে টার্গেটের কাছে ফরোয়ার্ড করা হবে। RFC1918 ঠিকানাগুলি VPC এর মাধ্যমে ফরোয়ার্ড করা হবে। -
--private-forwarding-targets: IPv4/IPv6 ঠিকানার তালিকা অথবা টার্গেট নেম সার্ভারের একটি ডোমেন নামের তালিকা যেখানে জোনটি কোয়েরি ফরোয়ার্ড করবে। সর্বজনীন দৃশ্যমানতার জন্য উপেক্ষা করা হয়েছে। এই প্যারামিটারের জন্য নির্দিষ্ট সমস্ত ঠিকানা VPC এর মাধ্যমে পৌঁছানো হবে।
নমুনা বাক্য গঠন:
gcloud dns managed-zones create NAME \
--description=DESCRIPTION \
--dns-name=DNS_SUFFIX \
--networks=VPC_NETWORK_LIST \
--forwarding-targets=DEFAULT_FQDN_TARGET \
--visibility=private
মনে রাখবেন যে আপনি --forwarding-targets এর পরিবর্তে --private-forwarding-targets নির্দিষ্ট করতে পারেন।
আপনার গুগল ক্লাউড প্ল্যাটফর্ম প্রকল্প সেট আপ করুন
gcloud CLI তে লগইন করুন।
gcloud auth login
একটি প্রকল্প তৈরি করুন।
gcloud projects create my-codelab-project
ক্লাউড ডিএনএস এপিআই সক্ষম করুন। এটি কার্যকর হতে কয়েক মিনিট সময় লাগতে পারে।
gcloud services enable dns.googleapis.com
এই কোডল্যাবটি একটি নতুন প্রকল্পের মাধ্যমে তৈরি করা ডিফল্ট VPC নেটওয়ার্ক ব্যবহার করে। আপনি এর পরিবর্তে একটি নতুন নেটওয়ার্কও তৈরি করতে পারেন।
৩. আঞ্চলিক FQDN ফরওয়ার্ডিং সেট আপ করুন (নতুন ব্যক্তিগত অঞ্চল সহ)
এই দৃশ্যকল্পটি দেখায় যে কীভাবে আঞ্চলিক DNS ফরোয়ার্ডিং অর্জন করা যায়, যাতে নিশ্চিত করা যায় যে একটি নির্দিষ্ট অঞ্চল থেকে ট্র্যাফিক একই অঞ্চলের মধ্যে একটি DNS সার্ভারে ফরোয়ার্ড করা হয়।
একটি ব্যক্তিগত DNS জোন তৈরি করুন
প্রথমে, একটি ব্যক্তিগত DNS জোন তৈরি করুন (উদাহরণস্বরূপ, foo.com.) যা আপনার FQDN এবং এর সাথে সম্পর্কিত ভূ-অবস্থান রাউটিং নীতি হোস্ট করবে। এই জোনটি আপনার ডিফল্ট নেটওয়ার্কে দৃশ্যমান হতে হবে।
gcloud dns managed-zones create my-zone \
--description="Private Zone for FQDN outbound DNS forwarding." \
--dns-name=foo.com. \
--networks=default \
--visibility=private
প্রাইভেট জোনের মধ্যে একটি জিওলোকেশন রাউটিং নীতি রেকর্ড সেট তৈরি করুন
এরপর, my-zone-এর মধ্যে একটি রেকর্ড সেট (যেমন, geo.foo.com.) তৈরি করুন এবং একটি ভূ-অবস্থান রাউটিং নীতি প্রয়োগ করুন। এই উদাহরণটি asia-east1 এবং asia-west1-এর জন্য IP ঠিকানা কনফিগার করে।
gcloud dns record-sets create geo.foo.com. \
--ttl="30" \
--type="A" \
--zone="my-zone" \
--routing-policy-type="GEO" \
--routing-policy-data="asia-east1=192.168.0.1;us-central1=192.168.0.2"
দ্রষ্টব্য: যদি জিওফেন্সিং অক্ষম করা থাকে (ডিফল্ট এবং প্রস্তাবিত), তাহলে মূল অঞ্চলের কোনও লক্ষ্য যদি অস্বাস্থ্যকর হয় তবে প্রশ্নগুলি নিকটতম সুস্থ অঞ্চলে পরিচালিত হবে।
FQDN টার্গেট দিয়ে একটি ফরোয়ার্ডিং জোন তৈরি করুন
একই ডিফল্ট নেটওয়ার্কে দৃশ্যমান একটি ফরোয়ার্ডিং জোন ( geo.test.com. ) তৈরি করুন এবং geo.foo.com. (ভূ-অবস্থান রাউটিং নীতি সহ FQDN) কে এর ফরোয়ার্ডিং লক্ষ্য হিসাবে সেট করুন।
gcloud dns managed-zones create my-geo-fwd-zone \
--description="Forwarding zone for FQDN outbound DNS forwarding for routing policy." \
--dns-name=geo.test.com. \
--networks=default \
--private-forwarding-targets=geo.foo.com. \
--visibility=private
geo.test.com এর সাথে মিলে যাওয়া যেকোনো DNS কোয়েরি এখন geo.foo.com এর সমাধান করা IP (উদাহরণস্বরূপ, 192.168.0.1 অথবা 192.168.0.2) তে ফরোয়ার্ড করা হবে, যা কোয়েরির উৎস অঞ্চলের উপর ভিত্তি করে তৈরি করা হবে।
৪. FQDN ফরওয়ার্ডিং সেট আপ করুন (বিদ্যমান প্রাইভেট জোন সহ)
একটি বিদ্যমান ব্যক্তিগত DNS জোন আছে
ধরে নিন আপনার কাছে ইতিমধ্যেই my-zone (foo.com.) নামে একটি ব্যক্তিগত DNS জোন আছে যা ডিফল্ট নেটওয়ার্কে দৃশ্যমান।
এই ব্যক্তিগত অঞ্চলের মধ্যে একটি DNS রিসোর্স রেকর্ড তৈরি করুন
আপনার বিদ্যমান my-zone এর মধ্যে a.foo.com . এর জন্য একটি A টাইপ রেকর্ড তৈরি করুন।
gcloud dns record-sets create a.foo.com. \
--ttl="30" \
--type="A" \
--zone="my-zone" \
--rrdatas=1.2.3.4
একটি ফরোয়ার্ডিং জোন তৈরি করুন এবং FQDN টার্গেট নির্দিষ্ট করুন।
আঞ্চলিক FQDN দৃশ্যপটের মতো, একটি ফরোয়ার্ডিং জোন তৈরি করুন এবং a.foo.com. কে ফরোয়ার্ডিং লক্ষ্য হিসেবে নির্দিষ্ট করুন।
gcloud dns managed-zones create my-a-fwd-zone \
--description="Forwarding zone for FQDN outbound DNS forwarding for A record." \
--dns-name=a.test.com. \
--networks=default \
--private-forwarding-targets=a.foo.com. \
--visibility=private
a.test.com. এর সাথে মিলে যাওয়া যেকোনো DNS কোয়েরি a.foo.com এর সমাধান করা IP ঠিকানা 1.2.3.4-এ পাঠানো হবে।
৫. পরিষ্কার করা
একটি প্রাইভেট জোন মুছে ফেলার আগে, প্রাইভেট জোনের মধ্যে থাকা সমস্ত ResourceRecordSets প্রথমে মুছে ফেলতে হবে (NS এবং SOA রেকর্ডগুলি বাদে, যা স্বয়ংক্রিয়ভাবে তৈরি হয় এবং সর্বদা প্রাইভেট জোনে বিদ্যমান থাকতে হবে)।
প্রাইভেট জোনে জিওলোকেশন রাউটিং নীতি মুছে ফেলুন।
gcloud dns record-sets delete "geo.foo.com." --type="A" --zone="my-zone"
প্রাইভেট জোনে A রেকর্ডটি মুছে ফেলুন।
gcloud dns record-sets delete "a.foo.com." --type="A" --zone="my-zone"
প্রাইভেট জোনটি মুছে ফেলুন।
gcloud dns managed-zones delete "my-zone"
জিওলোকেশন রাউটিং নীতির জন্য ফরোয়ার্ডিং জোনটি মুছুন।
gcloud dns managed-zones delete "my-geo-fwd-zone"
A রেকর্ডের জন্য ফরোয়ার্ডিং জোনটি মুছে ফেলুন।
gcloud dns managed-zones delete "my-a-fwd-zone"
৬. অভিনন্দন
অভিনন্দন, আপনি সফলভাবে FQDN আউটবাউন্ড DNS ফরওয়ার্ডিং ব্যবহার শিখেছেন!