dns ابری (Cloud Domain Name System) بخشی از زیرساخت اینترنت است که مسئول ترجمه نام دامنه به آدرس IP میباشد. dns ابری برای ذخیره و مدیریت این اطلاعات استفاده میشوند و رکورد CNAME و A Record از رکوردهای رایج آن است. در این مقاله به تعریف رکوردهای CNAME و A Record و تفاوتهای آنها میپردازیم.
آنچه در این مقاله میخوانید:
تفاوت CNAME و A Record در دی ان اس ابری
A Record
A Record یک نوع رکورد dns ابری است که برای متصل کردن نام دامنه با آدرس IP استفاده میشود. هر بار که یک کاربر دامنهای را در مرورگر خود وارد میکند، مرورگر سعی میکند آدرس IP متعلق به آن دامنه را پیدا کند. برای این منظور، مرورگر از سرور DNS مربوط به دامنه میپرسد که آدرس IP متعلق به آن دامنه چیست. سپس سرور dns با استفاده از رکورد A، آدرس IP را به مرورگر بازگردانده و مرورگر به آن آدرس متصل میشود.
برای مثال، فرض کنید که نام دامنه “example.com” را ثبت کردهاید و میخواهید آن را به آدرس IP “192.0.2.1” متصل کنید. در این صورت، باید یک رکورد A برای نام دامنه “example.com” تعریف کنید و آدرس IP “192.0.2.1” را به آن ارجاع دهید. برای تعریف یک رکورد A، باید نام دامنه مورد نظر و آدرس IP متناظر با آن را وارد کنید. همچنین، میتوانید (Time to live) TTL را برای این رکورد تنظیم کنید که نشاندهنده زمان اعتبار رکورد میباشد.
همچنین، این رکورد میتواند به صورت مستقیم در دی ان اس ابری تعریف شده یا به صورت CNAME از یک رکورد دیگر به ارث برده شود.
رکورد CNAME
رکورد CNAME یا Canonical Name Record، نوعی رکورد dns ابری است که به شما اجازه میدهد یک نام دامنه را به نام دامنه دیگری نگاشت کنید؛ یعنی با استفاده از رکورد CNAME میتوانید یک نام مستعار برای نام دامنه ایجاد کنید. به عنوان مثال، اگر یک وب سایت با نام دامنه “example.com” دارید و میخواهید یک نام مستعار برای آن با نام “www.example.com” ایجاد کنید، میتوانید با استفاده از رکورد CNAME این کار را انجام دهید.
رکوردهای CNAME در مواقعی که میخواهید چندین نام دامنه را به همان آدرس IP اصلی اشاره دهید، مناسب هستند. به جای ایجاد A Record جداگانه برای هر نام دامنه، میتوانید یک رکورد CNAME واحد ایجاد کنید که به A Record نام دامنه اصلی اشاره دارد.
با این حال، استفاده از رکوردهای CNAME محدودیتهایی نیز دارد. به عنوان مثال، شما نمیتوانید یک رکورد CNAME هم نام با رکوردهای دیگر (مانند رکورد MX یا NS) داشته باشید. علاوه بر این، رکوردهای CNAME میتوانند باعث مشکلاتی در عملکرد شوند؛ زیرا برای پیدا کردن آدرس IP واقعی، به یک جستجوی DNS اضافی نیاز دارند.
تفاوت CNAME و A Record در دی ان اس ابری
A Record ابتداییترین نوع رکورد دی ان اس ابری است. A مخفف کلمه (Address) است و وظیفه آن پیوند مستقیم نام دامنه یا URL به یک آدرس IP است. اساساً، وقتی یک آدرس وب را در مرورگر خود تایپ میکنید، DNS، آن نام دامنه را جستجو میکند و سپس مرورگر، شما را به آدرس IP مرتبط هدایت میکند.
CNAME مخفف “Canonical Name” به معنی نام مستعار است. رکوردهای CNAME اساساً نام مستعارهایی هستند که یک نام دامنه را به نام دیگری متصل میکنند. به عنوان مثال، اگر “derak.cloud” را در مرورگر خود تایپ کنید، DNS شما را به www.derak.cloud هدایت مینماید؛ زیرا نام مستعاری وجود دارد که اولی را به دومی نگاشت میکند. رکوردهای CNAME همیشه به یک A Record یا CNAME دیگر اشاره میکنند؛ در صورتی که یک A Record همیشه به یک آدرس IP اشاره دارد.
سوالات متداول
چه زمانی از رکورد CNAME استفاده میشود؟
استفاده از رکورد CNAME به عنوان جایگزین A Record، به عنوان یک روش مدیریتی سادهتر و موثرتر برای تغییر آدرس IP ها در صورت تغییر میزبانها، به کار میرود. اگر آدرس IP یک سرویس تغییر کند، تنها باید رکورد A متناظر با آن سرویس بهروزرسانی شود و رکوردهای CNAME مرتبط با آن به طور خودکار به روز میشوند.
آیا همیشه باید از CNAME استفاده کرد؟
خیر، استفاده از A Record به دلیل مستقیم بودن اشاره به آدرس IP سرور، سرعت بارگیری صفحات وابسته به آدرس IP را افزایش میدهد. بنابراین، اگر به دنبال سرعت بیشتر هستید، بهتر است از A Record استفاده کنید.
آیا میتوان CNAME و A Record را با هم ترکیب کرد؟
بله، میتوانید به یک دامنه همزمان یک A Record و چندین رکورد CNAME اختصاص دهید. به عنوان مثال، میتوانید به دامنه “example.com” یک رکورد A با آدرس IP مستقیم و چندین رکورد CNAME با آدرس دامنههای دیگر اختصاص دهید.
منابع:
https://www.cloudflare.com/learning/dns/dns-records/dns-cname-record
https://www.cloudflare.com/learning/dns/dns-records/dns-a-record