ক্লাউড DNS ResourceRecordSets API

1. ভূমিকা

64e18005b6cdcd83.png

শেষ আপডেট: 2021-01-06

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

আমাদের হোমপেজ দেখুন.

আপনি কি নির্মাণ করবেন

এই কোডল্যাবে আপনি একটি Cloud DNS ManagedZone এবং প্রাসঙ্গিক ResourceRecordSets তৈরি করবেন gcloud ব্যবহার করে কিছু VM উদাহরণে নাম রেজোলিউশন পরিচালনা করতে।

আপনি কি শিখবেন

কিভাবে পৃথক রিসোর্স রেকর্ডসেট তৈরি, পড়ুন, মুছুন এবং আপডেট করবেন।

আপনি কি প্রয়োজন হবে

2. সেট আপ করা হচ্ছে

আপনার Google ক্লাউড প্ল্যাটফর্ম প্রকল্প সেট আপ করুন৷

gCloud এ লগইন করুন

gcloud auth login

একটি প্রকল্প তৈরি করুন

gcloud projects create my-codelab-project

Cloud DNS API সক্ষম করুন৷

gcloud services enable dns.googleapis.com

এটি কার্যকর হতে কয়েক মিনিট সময় লাগতে পারে

3. একটি ব্যক্তিগত ManagedZone তৈরি করা

একটি ManagedZone ResourceRecordSets ধারণ করে।

আপনি যে ডোমেন নামটির জন্য DNS রেকর্ড যোগ করতে চান তা নোট করুন। এই উদাহরণে, আমরা "my-domain.com" ব্যবহার করব এবং ধরে নেব যে আপনার VM উদাহরণটি ডিফল্ট নেটওয়ার্কে রয়েছে।

gcloud dns managed-zones create my-zone \
    --description="ManagedZone for Cloud DNS ResourceRecordSets codelab." \
    --dns-name=my-domain.com. \
    --networks=default \
    --visibility=private

4. ResourceRecordSets পরিচালনা করুন

এই বিভাগের শেষ নাগাদ আপনার ডোমেনের জন্য আপনার ভার্চুয়াল প্রাইভেট নেটওয়ার্কে DNS অনুরোধগুলি VM-এর আইপি ঠিকানায় সমাধান করা হবে।

উদাহরণস্বরূপ, যদি আপনার VM এর IP ঠিকানা হয় "1.2.3.4", এবং আপনি চান "my-domain.com।" সেই আইপি ঠিকানার সমাধান করতে, আপনাকে অবশ্যই একটি "একটি রেকর্ড" তৈরি করতে হবে।

একটি রেকর্ড তৈরি করুন

gcloud dns record-sets create "my-domain.com." --type="A" --ttl="60" --rrdatas="1.2.3.4" --zone="my-zone"
  • অবস্থানগত যুক্তি "my-domain.com।" , ওরফে dnsName, এমন একটি নাম যার জন্য আমরা DNS রেজোলিউশন সংজ্ঞায়িত করতে চাই।
  • -টাইপ : আমরা যে DNS রেকর্ড টাইপ তৈরি করার চেষ্টা করছি তা বোঝায়।
  • -ttl : এই রেকর্ডের জন্য বেঁচে থাকার সময় বোঝায়।
  • –rrdatas : প্রশ্নের প্রকৃত উত্তর ধারণ করে।
  • -জোন : কোন ManagedZone-এ এই রেকর্ড তৈরি করা উচিত তা নির্দেশ করতে হবে।

এখানে DNS ধারণা সম্পর্কে আরও পড়ুন।

এখন আপনি আপনার A রেকর্ড তৈরি করেছেন, আপনি DNS রেজোলিউশন পরীক্ষা করতে সক্ষম হবেন।

আপনার মেশিনে SSH. এই উদাহরণে আমরা "us-central1-a" এ "dns-codelab" নামের একটি VM উদাহরণ ব্যবহার করি

gcloud compute ssh codelab --zone=us-central1-a

dnsutils ইনস্টল করুন যাতে আপনি 'dig' কমান্ড ব্যবহার করতে পারেন

sudo apt install dnsutils

আপনার ডোমেইন জিজ্ঞাসা করুন

dig my-domain.com.

এই অনুরূপ আউটপুট উত্পাদন করা উচিত

...
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19979
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
...
;; QUESTION SECTION:
;my-domain.com.                        IN        A

;; ANSWER SECTION:
my-domain.com.                60        IN        A        1.2.3.4
...

একটি CNAME রেকর্ড তৈরি করুন, প্যাচ করুন এবং পান

এখন আপনি my-domain.com ম্যাপ করেছেন। 1.2.3.4 এ, আপনি সম্ভবত www.my-domain.com নিশ্চিত করতে চাইবেন। এছাড়াও 1.2.3.4 এ সমাধান করে। "www" এর জন্য রেকর্ড উপসর্গগুলি স্বয়ংক্রিয়ভাবে তৈরি হয় না।

আপনি যদি www.my-domain.com প্রশ্ন করেন।

dig www.my-domain.com.

আপনি অনুরূপ আউটপুট পাবেন

...
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 61964
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
...

নির্দেশ করে যে সেই ডোমেনের জন্য কোন DNS রেকর্ড নেই

অন্য একটি রেকর্ড তৈরি করার পরিবর্তে, আমাদের একটি CNAME রেকর্ড তৈরি করা উচিত যা অন্য রেকর্ডের একটি নির্দেশক। এটি আমাদের একটি ভিন্ন আইপি ঠিকানা ব্যবহার করতে চাইলে উভয় রেকর্ড পরিবর্তন করতে বাধা দেবে।

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

exit

CNAME রেকর্ড তৈরি করুন

gcloud dns record-sets create "www.my-domain.com." --type="CNAME" --ttl="60" --rrdatas="my-domin.com." --zone="my-zone"

এখন আপনি আপনার CNAME রেকর্ড তৈরি করেছেন, আপনি DNS রেজোলিউশন পরীক্ষা করতে সক্ষম হবেন।

আবার আপনার মেশিনে SSH

gcloud compute ssh codelab --zone=us-central1-a

আপনার ডোমেইন জিজ্ঞাসা করুন

dig www.my-domain.com.

আপনি অনুরূপ আউটপুট পাওয়া উচিত ছিল

...
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 61964
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
...

আরে না! আমরা যখন "–rrdatas" পতাকায় আমাদের CNAME রেকর্ড তৈরি করছিলাম তখন একটি টাইপ হয়েছে বলে মনে হচ্ছে৷ রেকর্ডটি মুছে ফেলা এবং পুনরায় তৈরি করার পরিবর্তে, আমরা সঠিক পরিবর্তনে প্যাচ করতে পারি।

আপনার VM উদাহরণ থেকে প্রস্থান করুন

exit

CNAME রেকর্ড প্যাচ করুন

gcloud dns record-sets update "www.my-domain.com." --type="CNAME" --rrdatas="my-domain.com." --zone="my-zone"

মনে রাখবেন যে আমরা "–ttl" পতাকাটি বাদ দিতে পারি যেহেতু আমরা এটি পরিবর্তন করছি না, তবে অন্যান্য সমস্ত পতাকা অবশ্যই অন্তর্ভুক্ত করতে হবে কারণ সেগুলি ResourceRecordSet এর সর্বজনীন অনন্য শনাক্তকারীর অংশ৷

এছাড়াও আমরা যাচাই করতে পারি যে রেকর্ডটি gcloud ব্যবহার করে প্রত্যাশিত

gcloud dns record-sets describe "www.my-domain.com." --type="CNAME" --zone="my-zone"

যা আউটপুট উত্পাদন করা উচিত

NAME                    TYPE    TTL  DATA
www.my-domain.com.      CNAME   60  "my-domain.com."

যাচাই করুন যে CNAME রেকর্ড সঠিকভাবে সমাধান করছে

gcloud compute ssh codelab --zone=us-central1-a
dig www.my-domain.com.

আপনি অনুরূপ আউটপুট পাওয়া উচিত ছিল

...
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7471
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1
...
;; QUESTION SECTION:
;www.my-domain.com.                IN        A

;; ANSWER SECTION:
www.my-domain.com.        60        IN        CNAME         my-domain.com..
...

পরিষ্কার করতে মুছুন

একটি ManagedZone মুছে ফেলার আগে, ManagedZone-এর মধ্যে থাকা সমস্ত ResourceRecordSets প্রথমে মুছে ফেলতে হবে (NS এবং SOA রেকর্ডগুলি বাদে, যা স্বয়ংক্রিয়ভাবে তৈরি হয় এবং সর্বদা ManagedZone-এ থাকা আবশ্যক)৷

আপনার VM উদাহরণ থেকে প্রস্থান করুন

exit

CNAME রেকর্ড মুছুন

gcloud dns record-sets delete "www.my-domain.com." --type="CNAME" --zone="my-zone"

A রেকর্ড মুছুন

gcloud dns record-sets delete "my-domain.com." --type="A" --zone="my-zone"

ManagedZone মুছুন

gcloud dns managed-zones delete "my-zone"

5. অভিনন্দন

অভিনন্দন, আপনি সফলভাবে আপনার ResourceRecordSets পরিচালনা করতে শিখেছেন!

আরও পড়া

রেফারেন্স ডক্স