<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Networking | The .NET Blog</title><link>https://thedotnetblog.com/ru/tags/networking/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>ru</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Tue, 19 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/ru/tags/networking/index.xml" rel="self" type="application/rss+xml"/><item><title>Частные Endpoints, VNets, NSG — Aspire Теперь Управляет Сетью</title><link>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/aspire-azure-enterprise-networking-private-endpoints/</link><pubDate>Tue, 19 May 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/ru/news/emiliano-montesdeoca/aspire-azure-enterprise-networking-private-endpoints/</guid><description>Новая поддержка корпоративных сетей Azure для Aspire позволяет моделировать VNet, частные endpoints, NAT-шлюзы, NSG и периметры сетевой безопасности прямо в AppHost — без дрейфа инфраструктуры.</description><content:encoded>&lt;p&gt;Я видел этот сценарий слишком много раз. Приложение готово. Демонстрация великолепна. Затем появляется чеклист безопасности: убрать хранилище из публичного интернета, запустить внутри VNet, предоставить исходящие IP для allowlist партнёра, доказать, что только правильные подсети общаются с правильными сервисами.&lt;/p&gt;
&lt;p&gt;В этот момент модель приложения и модель инфраструктуры начинают расходиться способами, которые болезненно поддерживать.&lt;/p&gt;
&lt;p&gt;Новая поддержка корпоративных сетей Azure для Aspire решает это напрямую. Вы описываете форму сети рядом с ресурсами, которые её используют, в вашем AppHost.&lt;/p&gt;
&lt;h2 id="строительные-блоки"&gt;Строительные блоки&lt;/h2&gt;
&lt;p&gt;Вот для чего предназначена каждая концепция сети Azure, в кратком изложении:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Функция&lt;/th&gt;
&lt;th&gt;Используйте когда&lt;/th&gt;
&lt;th&gt;Почему это важно&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Виртуальная сеть&lt;/td&gt;
&lt;td&gt;Вам нужно частное адресное пространство&lt;/td&gt;
&lt;td&gt;Сетевая граница для подсетей, частных endpoints и маршрутизации&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Подсеть&lt;/td&gt;
&lt;td&gt;Вам нужно разделить рабочие нагрузки внутри VNet&lt;/td&gt;
&lt;td&gt;Каждая часть системы получает свой собственный диапазон адресов и поверхность политики&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Делегированная подсеть&lt;/td&gt;
&lt;td&gt;Платформенный сервис (например, ACA) должен управлять подсетью&lt;/td&gt;
&lt;td&gt;Позволяет сервису безопасно размещать управляемую инфраструктуру в вашей VNet&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NAT-шлюз&lt;/td&gt;
&lt;td&gt;Вам нужны предсказуемые исходящие публичные IP&lt;/td&gt;
&lt;td&gt;Стабильный адрес для allowlist и аудита&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Частный endpoint&lt;/td&gt;
&lt;td&gt;Вы хотите, чтобы ресурс PaaS был доступен приватно&lt;/td&gt;
&lt;td&gt;Помещает частный IP для этого сервиса внутри вашей VNet, убирает публичную экспозицию&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NSG&lt;/td&gt;
&lt;td&gt;Вам нужны правила трафика на уровне подсети&lt;/td&gt;
&lt;td&gt;Явное разрешение/запрет для входящего и исходящего трафика на подсеть&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="описание-в-apphost"&gt;Описание в AppHost&lt;/h2&gt;
&lt;p&gt;Ключевое изменение здесь состоит в том, что вы моделируете сеть &lt;em&gt;вместе&lt;/em&gt; с ресурсами, которые её используют, а не в отдельном файле Bicep, который со временем расходится с моделью приложения.&lt;/p&gt;
&lt;p&gt;Из AppHost вы можете:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Создавать VNet и подсети с &lt;code&gt;AddVirtualNetwork()&lt;/code&gt; и &lt;code&gt;AddSubnet()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Прикреплять NAT-шлюз к подсетям для стабильных исходящих IP&lt;/li&gt;
&lt;li&gt;Создавать частные endpoints для хранилища, Key Vault, SQL и других PaaS-сервисов&lt;/li&gt;
&lt;li&gt;Определять NSG с правилами входящей и исходящей безопасности&lt;/li&gt;
&lt;li&gt;Настраивать периметры сетевой безопасности для межресурсных политик&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;В результате когда вы запускаете &lt;code&gt;azd up&lt;/code&gt;, инфраструктура соответствует тому, что модель приложения говорит, что ей нужно. Не то, что говорит вручную поддерживаемый шаблон.&lt;/p&gt;
&lt;h2 id="почему-это-важно-для-реальных-приложений"&gt;Почему Это Важно для Реальных Приложений&lt;/h2&gt;
&lt;p&gt;Несколько вещей, которые становятся значительно проще, как только сеть смоделирована в Aspire:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Частные endpoints для Key Vault и хранилища&lt;/strong&gt; — вы описываете &lt;code&gt;WithPrivateEndpoint()&lt;/code&gt; на этих ресурсах, и Aspire берёт на себя настройку DNS-зон и присоединение endpoints. Приложение никогда не меняется.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Стабильные исходящие IP&lt;/strong&gt; — добавьте NAT-шлюз к соответствующей подсети, и каждый исходящий запрос вашего приложения проходит через известный, стабильный IP. Партнёры могут добавить его в allowlist. Аудиторы могут его отследить.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Правила NSG из кода&lt;/strong&gt; — вместо того чтобы кликать по порталу или поддерживать фрагмент Bicep, ваши правила безопасности живут в AppHost рядом с ресурсами, которые они защищают.&lt;/p&gt;
&lt;p&gt;Это тот тип интеграции, который не делает демонстрации захватывающими, но делает производственные системы обслуживаемыми.&lt;/p&gt;
&lt;h2 id="итог"&gt;Итог&lt;/h2&gt;
&lt;p&gt;Сетевая безопасность, появляющаяся поздно в жизненном цикле проекта, — решённая проблема, если вы моделируете её вместе с приложением с самого начала. Поддержка корпоративных сетей Aspire делает это возможным без необходимости отдельного инфраструктурного трека.&lt;/p&gt;
&lt;p&gt;Полные подробности в оригинальном посте: &lt;a href="https://devblogs.microsoft.com/aspire/aspire-azure-enterprise-networking/"&gt;Securing Azure apps with Aspire enterprise networking&lt;/a&gt;&lt;/p&gt;</content:encoded></item></channel></rss>