نقطه پایانی خصوصی، همان نام سرور: رشتههای اتصال Azure SQL
Private Link تغییر میدهد نام سرور کجا حل میشود، نه خود نام را. نام میزبان منطقی را نگه دارید و پاسخ خصوصی DNS را به کلاینتهای VPN بدهید.
Private Link تغییر میدهد اتصال کجا فرود میآید، نه اینکه اتصال چه نام دارد. برای Azure SQL Database همین تمایز تمام طراحی است: سرور منطقی نام خود را نگه میدارد و نقطه پایانی خصوصی یک ورودی شبکه فراهم میکند که نام به آن حل میشود. جایگزین کردن نام با یک نشانی IP تنها تغییری است که TLS، اعتبارنامهها و ابزارها را همزمان میشکند. دو رشته اتصال میتوانند همارز به نظر برسند و کاملاً متفاوت رفتار کنند.
orders-db.database.windows.net را نگه دارید و به کلاینت یک پاسخ خصوصی برای آن بدهید.
نام و نشانی دو کار متفاوت دارند
نام سرویس SQL را مشخص میکند و گواهی و ورود دقیقاً همین را انتظار دارند. نشانی خصوصی یک ورودی شبکه درون شبکه مجازی متصل فراهم میکند. اشتباه گرفتن یکی با دیگری اتصالی میسازد که به چیزی میرسد و در برابر هیچ چیز احراز هویت نمیشود.
راهنمای Microsoft برای Azure SQL نام عادی سرور را از کلاینتها میخواهد. IP مستقیم و همچنین نام با پیشوند privatelink هدف ورود قابلتعویضی نیست. ابزارهایی که IP را میپذیرند آن را میپذیرند و سپس در TLS یا در احراز هویت شکست میخورند، که خطای واقعی را پنهان میکند. این شکستها تا زمانی که به نام میزبان در خطا نگاه نکنید، مانند مشکلات اعتبارنامه خوانده میشوند.
ناحیه خصوصی در واقع چه چیزی را تغییر میدهد
ناحیه DNS خصوصی یک نشانی برای سرور در فضای نام privatelink ثبت میکند و ناحیه به شبکه مجازیای پیوند میخورد که باید از آن استفاده کند. حلوفصل جابهجا میشود؛ رشته اتصال نه. شکل زیر یک نمونه است، نه رکوردی برای چسباندن در ناحیه عمومی.
Application name: orders-db.database.windows.net
Private DNS zone: privatelink.database.windows.net
Resolved private entry: the approved private endpoint address
آن رکورد و پیوند ناحیهاش را بهعنوان زیرساخت، با یک مالک و تاریخ بازبینی نگه دارید.
دو ناحیه با منشأ یکسان و پاسخهای متفاوت وضعیت پایانی عادی است، نه تعارض. کلاینتهای عمومی پاسخ عمومی را نگه میدارند و کلاینتهای خصوصی نشانی نقطه پایانی را میگیرند. حالتی که باید مراقب آن بود انتشار جزئی نمای خصوصی است، جایی که یک زیرشبکه بهصورت خصوصی حل میشود و دیگری بیصدا نه.
کلاینتهای بیرون Azure به مسیری به آن ناحیه نیاز دارند
یک کلاینت VPN بیرون حلکننده Azure قرار دارد، بنابراین ناحیه خصوصی باید از مسیر ترکیبی قابل دسترسی باشد. یک ارسالکننده DNS در Azure یا Azure DNS Private Resolver میتواند پرسشهایی را که از آن شبکه میرسند سرویس دهد. راهنمای Microsoft این است که ناحیه سرویس عمومی مربوطه را از طریق این ترتیب ارسال کنید، نه اینکه فرض کنید کلاینتها مستقیماً نام privatelink را میپرسند. کلاینتهایی که نمیتوانند پاسخ خصوصی را حل کنند، بیشکایت به پاسخ عمومی برمیگردند.
دامنه ارسال را آگاهانه نگه دارید، زیرا جایگزینی یک ناحیه عمومی در حال استفاده نامهایی را میشکند که جایگزین شامل آنها نیست.
به ترتیبی فراهم کنید که هویت را ثابت نگه دارد
گامها مالکان جداگانه دارند: نقطه پایانی را بسازید و تأیید کنید، مسیر VPN را فراهم کنید، DNS خصوصی را یکپارچه کنید، سپس کلاینت را با نام عادی سرورش پیکربندی کنید. انجام DNS پیش از مسیر، مهلتهایی تولید میکند که شبیه شکستهای DNS است. انجام کلاینت در آخر یک متغیر را در هر زمان در حرکت نگه میدارد. هر گام نتیجهای قابل مشاهده دارد، پس هیچکدام لازم نیست با حدس آزمایش شود.
یک نماد VPN متصل بهخودیخود مقصد خصوصی را انتخاب نمیکند.
چیزی که نقطه پایانی خصوصی خاموش نمیکند
ساختن یک نقطه پایانی خصوصی بهطور خودکار دسترسی عمومی به سرور منطقی را غیرفعال نمیکند. این تصمیمی جداگانه برای استقرار است و پس از تأیید کارکرد کلاینتهای خصوصی موردنظر میآید. مسیر بازیابی را نگه دارید و برنامههایی را که هنوز از ورودی عمومی استفاده میکنند در نظر بگیرید. خاموش کردن دسترسی عمومی در ابتدا همان روشی است که یک سرویس در حال کار به یک قطعی با ردپای حسابرسی مرتب تبدیل میشود.
همچنین بررسی کنید سرور از کدام سیاست اتصال استفاده میکند.
Redirect کلاینت را پس از یک اتصال اولیه دروازه به پورتی روی گره میفرستد، که تغییر میدهد شبکه کلاینت باید چه چیزی را مجاز کند. Proxy ترافیک را روی دروازه نگه میدارد. یک دستدادن TCP موفق روی یک پورت تمام گردشکار ورود نیست.
این Azure SQL Database است، نه SQL Managed Instance که مدل اتصال خودش را دارد و داستان نقطه پایانی خصوصی معادلی ندارد. در هر دو حالت سه چیز را جداگانه برچسب بزنید: نام، ورودی شبکه و اعتبارنامه. تغییر اینکه اتصال کجا سفر میکند هرگز نباید تغییر دهد که کلاینت فکر میکند با کدام سرویس صحبت میکند.