Ձեր VPN-ը ինքնուրույն Cosmos DB-ն մասնավոր չի դարձնում
VPN-ը ձեր նոութբուքը բերում է ցանց, ոչ թե տվյալների բազայի ներսում: Տեսեք, թե ինչ պետք է անեն մասնավոր վերջնակետը, DNS գոտին, միացման ռեժիմը և հաշվի հասանելիությունը:
Դուք նոութբուքը VPN-ի միջոցով միացնում եք VNet-ին, բացում եք Cosmos DB հաշվի URL-ը, և հարցումը դեռևս դուրս է գալիս հանրային ինտերնետով։ Թունելն արեց իր գործը։ Այն, ինչ չարեց, մասնավոր վերջնակետ ստեղծելը, մասնավոր DNS գրառումը հրապարակելը կամ հանրային հասանելիությունը անջատելը չէր, որովհետև դրանք հաշվի երեք առանձին փոփոխություններ են, ոչ թե ձեր ցանցային միացման հատկություններ։ Այս օրինակն օգտագործում է Azure Cosmos DB-ն NoSQL-ի համար, մասնավոր վերջնակետ VNet-ում և VPN-ով այդ VNet-ին միացված նոութբուք, և այն անփոփոխ է պահում հավելվածի հասցեն։
Առասպել՝ VPN-ում լինելը տվյալների բազան մասնավոր է դարձնում
VNet-ում լինելը միայն նշանակում է, որ ձեր փաթեթները կարող են հասնել այդ VNet-ի մասնավոր հասցեներին։ Այն ոչինչ չի ասում այն մասին, թե որտեղ է լուծվում հաշվի անունը, և ոչինչ չի ասում այն մասին, թե արդյոք հաշիվը դեռևս ընդունում է հանրային տրաֆիկ։
Մասնավոր վերջնակետը առանձին ռեսուրս է՝ իր սեփական հասցեով, իր հաստատման քայլով և իր DNS լարերով։ Քանի դեռ այն գոյություն չունի և հաստատված չէ, անունը լուծվում է հանրային վերջնակետի, և ձեր տրաֆիկը գնում է այնտեղ՝ անկախ թունելից։
Ինչն է իրականում անունը մասնավոր լուծել տալիս
Պահեք SDK-ի սովորական հաշվի վերջնակետը, ինչ-որ բան ինչպես https://ACCOUNT.documents.azure.com։ Մասնավոր DNS-ը պետք է այդ անունը լուծի Private Link շղթայի միջոցով վերջնակետի մասնավոր հասցեներին։ Մի փոխարինեք այն թվային URL-ով և մի անջատեք վկայագրի ստուգումները, որովհետև դա DNS խնդիրը փոխանակում է անվտանգության խնդրով։
| Example choice | Value |
|---|---|
| Cosmos API | NoSQL |
| Private endpoint subresource | Sql |
| Private DNS zone | privatelink.documents.azure.com |
| SDK connection mode | Gateway |
Այդ արժեքները հատուկ են NoSQL API-ին։ Այլ Cosmos API-ները նույն օրինակում փոխանակելի գրառումներ չեն, և ենթառեսուրսի անունը այլ API-ից պատճենելը ստեղծում է վերջնակետ, որը երբեք չի լուծվում։
Ստեղծեք և հաստատեք վերջնակետը լիազորված Azure աշխատահոսքի միջոցով, ապա օգտագործեք դրա մասնավոր DNS գոտիների խմբի ինտեգրումը։ Նոութբուքին անհրաժեշտ է լուծիչ, որը կարող է պատասխանել այդ գոտու համար՝ կամ ուղղակիորեն, կամ հաստատված փոխանցման միջոցով, և VPN հաճախորդի երթուղի յուրաքանչյուր համապատասխան վերջնակետի հասցեին։
Մասնավոր վերջնակետը կարող է ունենալ մեկից ավելի հասցե, ներառյալ գլոբալ և տարածաշրջանային գրառումներ։ Պահպանեք DNS ինտեգրումը, երբ հաշվի տարածաշրջանները փոխվում են, փոխարենը hosts ֆայլում մեկ հասցե ամրացնելու, և հիշեք, որ անկապ հանրային լուծիչի պատասխանը ոչինչ չի ապացուցում մասնավոր ուղու մասին։ Եթե DNS-ը փոխանցում եք հանգույցի միջոցով, հաստատեք, որ փոխանցողը պատասխանում է, նախքան հաճախորդը վրիպազերծելը։ Հնացած փոխանցողը վերադարձնում է հանրային պատասխանը, ինչը ճիշտ նույն տեսքն ունի, ինչ բացակայող վերջնակետը։
Gateway ռեժիմը և Direct ռեժիմը փոխանակելի չեն
Gateway ռեժիմը ծառայության հարցումները ուղարկում է HTTPS-ով TCP 443-ի վրա։ Այդ պատճառով միայն 443-ի համար գրված firewall քաղաքականությունը աշխատում է դրա հետ, և այդ պատճառով այս օրինակը դա ընտրում է միտումնավոր։
Private Link-ի վրայով Direct ռեժիմն ունի տարբեր կապակցման պահանջներ, ներառյալ ավելի լայն TCP պորտերի միջակայք, որը թվարկում է հաշվի փաստաթղթերը։ Gateway ռեժիմի համար գրված քաղաքականությունը չպետք է լուռ վերօգտագործվի Direct ռեժիմի հաճախորդի համար, այլապես SDK-ը կմիանա և հետո կկախվի առաջին տվյալների գործողության ժամանակ։
Ընտրեք մեկ ռեժիմ, գրի առեք այն հաշվի հետ, և ցանցային քաղաքականությունը համապատասխանեցրեք դրան։ Խնդիրների լուծման ընթացքում ռեժիմը փոխող թիմերը սովորաբար ավարտում են firewall կանոնների հավաքածուով, որը չի բավարարում ոչ մեկին։
Հանրային հասանելիությունը անջատելը առանձին անջատիչ է
Եթե հաշիվը պետք է լինի միայն մասնավոր, անջատեք հանրային ցանցային հասանելիությունը հաշվի աջակցվող պարամետրով և ստուգեք արդյունքը։ Մի դիտեք մասնավոր վերջնակետի գոյությունը որպես հասանելիության ամբողջական որոշում, որովհետև մասնավոր վերջնակետով և միացված հանրային հասանելիությամբ հաշիվը դեռևս պատասխանում է ինտերնետում։
Ստուգեք VPN-ից դրսից, ինչպես նաև ներսից։ Այն ցանցից եկող հարցումը, որը պետք է բացառվի, այն թեստն է, որն ապացուցում է, որ կարգավորումն ուժի մեջ է մտել, և դա այն թեստն է, որը բաց թողնում են փոփոխությունների պատուհանների մեծ մասը։
Հասանելիությունը թույլտվություն չէ
VPN նոութբուքից թույլատրված SDK գործողությունը ընդունման թեստն է՝ օգտագործելով հաշվի սովորական URL-ը և նախատեսված ինքնությունը։ VPN հասանելիությունը չի տալիս Cosmos տվյալների թույլտվություններ՝ տվյալների հարթությունը ստուգում է իր սեփական դերերը կամ բանալիները։
Այնուհետև գործարկեք մերժումները՝ այլ ինքնություն և ցանցային ուղի, որը այլևս չպետք է հասնի հաշվին։ Եթե դրանցից որևէ մեկը հաջողվի, ձեր փաստագրած սահմանը այն սահմանը չէ, որը դուք կառուցել եք։
Ավարտելիս գրեք չորս փաստ՝ վերջնակետի մասնավոր հասցեները, DNS գոտին, որը պատասխանում է հաշվի անվան համար, միացման ռեժիմը՝ իր պորտային պահանջներով, և արդյոք հանրային հասանելիությունը անջատված է։ Այս չորսը բացատրում են կարգավորումը հաջորդ մարդուն, և դրանցից յուրաքանչյուրը ձախողվում է ինքնուրույն։