· · 3 मिनट पढ़ें

Private Endpoints, VNets, NSG — Aspire अब नेटवर्किंग संभालता है

Aspire का नया Azure एंटरप्राइज नेटवर्किंग समर्थन आपको AppHost में VNet, प्राइवेट एंडपॉइंट, NAT गेटवे, NSG और नेटवर्क सिक्योरिटी परिमाण को सीधे मॉडल करने देता है — बिना इन्फ्रास्ट्रक्चर ड्रिफ्ट के।

Aspire Azure Networking Security .NET
यह पोस्ट इसमें भी उपलब्ध है:English, Español, Català, Deutsch, Français, Português, Italiano, 日本語, 中文, 한국어, Русский, Polski, Türkçe, العربية, Bahasa Indonesia, Nederlands

मैंने यह परिदृश्य बहुत बार देखा है। ऐप तैयार है। डेमो शानदार है। फिर सुरक्षा चेकलिस्ट आती है: स्टोरेज को पब्लिक इंटरनेट से हटाएं, VNet के अंदर चलाएं, पार्टनर के allowlist के लिए आउटबाउंड IP प्रदान करें, साबित करें कि केवल सही सब्नेट सही सेवाओं से बात करते हैं।

इस बिंदु पर एप्लिकेशन मॉडल और इन्फ्रास्ट्रक्चर मॉडल उन तरीकों से अलग होने लगते हैं जिन्हें बनाए रखना दर्दनाक होता है।

Aspire का नया Azure एंटरप्राइज नेटवर्किंग समर्थन इसे सीधे संबोधित करता है। आप AppHost में उन संसाधनों के बगल में नेटवर्क का आकार वर्णन करते हैं जो इसका उपयोग करते हैं।

बिल्डिंग ब्लॉक्स

प्रत्येक Azure नेटवर्किंग अवधारणा किस लिए है, संक्षेप में:

सुविधाकब उपयोग करेंक्यों महत्वपूर्ण है
वर्चुअल नेटवर्कजब आपको प्राइवेट एड्रेस स्पेस चाहिएसब्नेट, प्राइवेट एंडपॉइंट और रूटिंग के लिए नेटवर्क सीमा
सब्नेटजब आपको VNet के अंदर वर्कलोड अलग करने होंसिस्टम के प्रत्येक भाग को अपनी एड्रेस रेंज और पॉलिसी सरफेस मिलती है
डेलिगेटेड सब्नेटजब प्लेटफॉर्म सर्विस (जैसे ACA) को सब्नेट मैनेज करना होसर्विस को आपके VNet में मैनेज्ड इन्फ्रास्ट्रक्चर सुरक्षित रूप से रखने देता है
NAT गेटवेजब आपको अनुमानित आउटबाउंड पब्लिक IP चाहिएallowlist और ऑडिट के लिए स्थिर एड्रेस
प्राइवेट एंडपॉइंटजब आप PaaS रिसोर्स को प्राइवेट एक्सेस देना चाहते हैंउस सर्विस का प्राइवेट IP आपके VNet के अंदर रखता है, पब्लिक एक्सपोजर हटाता है
NSGजब सब्नेट-स्तर ट्रैफिक नियम चाहिएप्रत्येक सब्नेट के इनबाउंड और आउटबाउंड ट्रैफिक के लिए स्पष्ट अनुमति/अस्वीकृति

AppHost में वर्णन करना

यहाँ मुख्य बदलाव यह है कि आप नेटवर्क को उन संसाधनों के साथ मॉडल करते हैं जो इसका उपयोग करते हैं, न कि एक अलग Bicep फ़ाइल में जो समय के साथ एप्लिकेशन मॉडल से अलग हो जाती है।

AppHost से आप कर सकते हैं:

  • AddVirtualNetwork() और AddSubnet() से VNet और सब्नेट बनाएं
  • स्थिर आउटबाउंड IP के लिए सब्नेट में NAT गेटवे जोड़ें
  • स्टोरेज, Key Vault, SQL और अन्य PaaS सर्विस के लिए प्राइवेट एंडपॉइंट बनाएं
  • इनबाउंड और आउटबाउंड सिक्योरिटी नियमों के साथ NSG परिभाषित करें
  • क्रॉस-रिसोर्स पॉलिसी के लिए नेटवर्क सिक्योरिटी परिमाण कॉन्फ़िगर करें

परिणाम यह है कि जब आप azd up चलाते हैं, तो इन्फ्रास्ट्रक्चर वही मेल खाता है जो एप्लिकेशन मॉडल कहता है उसे चाहिए। मैन्युअल रूप से बनाए रखे टेम्पलेट की बात नहीं।

वास्तविक एप्लिकेशन के लिए क्यों महत्वपूर्ण है

Aspire में नेटवर्क मॉडल होने के बाद कुछ चीजें काफी आसान हो जाती हैं:

Key Vault और स्टोरेज के लिए प्राइवेट एंडपॉइंट — आप उन संसाधनों पर WithPrivateEndpoint() वर्णन करते हैं, और Aspire DNS ज़ोन कॉन्फ़िगरेशन और एंडपॉइंट अटैचमेंट संभालता है। ऐप कभी नहीं बदलता।

सुसंगत आउटबाउंड IP — संबंधित सब्नेट में NAT गेटवे जोड़ें, और आपके ऐप का हर आउटबाउंड अनुरोध एक जाने-माने, स्थिर IP से गुजरता है। पार्टनर इसे allowlist में जोड़ सकते हैं। ऑडिटर इसे ट्रैक कर सकते हैं।

कोड से NSG नियम — पोर्टल में क्लिक करने या Bicep स्निपेट बनाए रखने के बजाय, आपके सिक्योरिटी नियम AppHost में उन संसाधनों के बगल में रहते हैं जिन्हें वे सुरक्षित करते हैं।

यह उस प्रकार का एकीकरण है जो डेमो को रोमांचक नहीं बनाता लेकिन प्रोडक्शन सिस्टम को मेंटेनेबल बनाता है।

निष्कर्ष

प्रोजेक्ट जीवनचक्र में देर से नेटवर्क सुरक्षा दिखाई देना एक हल की गई समस्या है यदि आप शुरू से ही इसे ऐप के साथ मॉडल करते हैं। Aspire का एंटरप्राइज नेटवर्किंग समर्थन इसे एक अलग इन्फ्रास्ट्रक्चर ट्रैक की आवश्यकता के बिना संभव बनाता है।

मूल पोस्ट में पूरी जानकारी: Securing Azure apps with Aspire enterprise networking

साझा करें:
GitHub पर इस पोस्ट का सोर्स कोड देखें ↗
← Aspire 13.3: Kubernetes समर्थन, ब्राउज़र लॉग और Aspireify स्किल
आपके AI एजेंट में एक पहचान समस्या है (और यहाँ है वह टेम्पलेट जो इसे हल करता है) →