Облачные службы Azure Traffic Manager (несколько веб-сайтов) и службы приложений в одном регионе - PullRequest
0 голосов
/ 29 июня 2018

Таким образом, у нас есть сценарий, в котором мы в настоящее время используем облачные сервисы для обслуживания двух веб-сайтов вместе с некоторыми рабочими ролями (рабочие роли выходят за рамки этого вопроса). У нас довольно много сред (5 облачных сервисов env) в одном регионе, так как наши пользователи из одной страны.

Мы движемся к сервисам приложений, и мы также хотели бы сократить время простоя до минимума. Разработанная нами стратегия состоит в том, чтобы настроить две службы приложений (по одной для каждого веб-сайта) в каждой среде и использовать два менеджера трафика (по одной для каждого веб-сайта) с двумя конечными точками (приоритет 1: существующие облачные службы, приоритет 2: новая служба приложений) .

Существующая конфигурация DNS / CNAME выглядит примерно так:

dev-env.example.com указывает на веб-сайт 1 dev-envapi.example.com указывает на веб-сайт 2

и теперь с новым конфигом я добавил два диспетчера трафика, один из которых выглядит следующим образом Конечная точка dev-env.trafficmanager.net1 указывает на облачный сервис Конечная точка dev-env.trafficmanager.net указывает на сервис приложений (веб-сайт)

а как мне настроить второй сайт с Trafficmanager?

Пожалуйста, найдите ниже нашу существующую облачную веб-службу и конфигурацию веб-сайтов

<WebRole name="App.WebRole" vmsize="Medium" enableNativeCodeExecution="true">
<Sites>
  <Site name="Web">
    <Bindings>
      <Binding name="Endpoint1" endpointName="Endpoint1" hostHeader="dev-env.example.com" />
      <Binding name="Endpoint2" endpointName="Endpoint2" hostHeader="dev-env.example.com" />
    </Bindings>
  </Site>
  <Site name="WebApi" physicalDirectory="WebRole.Api\azure.publish">
    <Bindings>
      <Binding name="Endpoint1" endpointName="Endpoint1" hostHeader="dev-envapi.example.com" />
      <Binding name="Endpoint2" endpointName="Endpoint2" hostHeader="dev-envapi.example.com" />
    </Bindings>
  </Site>
</Sites>
<Endpoints>
  <InputEndpoint name="Endpoint1" protocol="http" port="80" />
  <InputEndpoint name="Endpoint2" protocol="https" port="443" certificate="https" />
</Endpoints>
<ConfigurationSettings>
  <Setting name="AzureSubscriptionId" />
  <Setting name="AzureWebSchedulerCloudServiceName" />
  <Setting name="AzureWebSchedulerJobCollectionMaxQuota" />
  <Setting name="AzureWebSchedulerCertNameConvention" />
  <Setting name="ExternalUrl" />
</ConfigurationSettings>
<LocalResources>
</LocalResources>
<Certificates>
  <Certificate name="Windows Azure Tools" storeLocation="LocalMachine" storeName="My" />
  <Certificate name="https" storeLocation="LocalMachine" storeName="My" />
</Certificates>
<Imports>
</Imports>
<Startup>
  <Task commandLine="Role_Start\Bootstrap.bat" executionContext="elevated" taskType="simple">
    <Environment>
      <Variable name="EMULATED">
        <RoleInstanceValue xpath="/RoleEnvironment/Deployment/@emulated" />
      </Variable>
    </Environment>
  </Task>
</Startup>

1 Ответ

0 голосов
/ 06 июля 2018

Так получилось, что все работает "из коробки", нам просто нужно было добавить один профиль диспетчера трафика на веб-сайт в веб-ролике. Настройте профиль диспетчера трафика с той же конечной точкой URL, которая определена на веб-сайте в веб-ролике, и мы готовы к работе.

Профиль диспетчера трафика с двумя конечными точками Azure (одна облачная служба и одна служба приложений), скажем, dev-env , dev-env.example.com, предназначенный для dev-env.trafficmanager.net. В профиле диспетчера трафика была конечная точка 1 с приоритетом 1, ориентированная на dev-env.cloudapp.net (конечная точка облачной службы Azure) , и конечная точка 2 с приоритетом 2, ориентированная на dev-env.azurewebsites.net.

Другой профиль диспетчера трафика с двумя конечными точками Azure (одна облачная служба и одна служба приложений), скажем, dev-envapi , dev-envapi.example.com, предназначенный для dev-envapi.trafficmanager.net. В профиле диспетчера трафика была конечная точка 1 с приоритетом 1, ориентированная на dev-env.cloudapp.net (конечная точка облачной службы Azure) , и конечная точка 2 с приоритетом 2, ориентированная на dev-envapi.azurewebsites.net.

Обратите внимание, что конечная точка для облачной службы одинакова для обоих профилей диспетчера трафика.

Поэтому, когда мы действительно захотели переключиться, мы просто отключили облачные сервисы. Таким образом сокращается время простоя. Кроме того, мы не изменили наши базы данных, учетную запись хранения или любые другие ресурсы, поэтому мы смогли сократить время простоя до минимума.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...