2015-11-28 2 views
1

Я пытаюсь перенести приложение из Heroku в Azure. Этот процесс оказывается более тяжелым, чем рекламируемый.Вкладка «Конечные точки» на виртуальной машине Azure Linux (диспетчер ресурсов)?

После перезагрузки нескольких подходов я, наконец, остановился на настройке виртуальной машины Ubuntu на Azure (диспетчер ресурсов VM) и сам обработал все. Теперь я хочу установить IIS на эту виртуальную машину, настроить конечные точки HTTP и настроить на ней веб-сайт. Но я не могу двигаться вперед по этой цели, потому что все онлайн-ресурсы, которые я видел, хотят, чтобы я начал с вкладки Endpoints на консоли управления Azure.

Но нет консоли конечных точек на консоли управления Azure для виртуальной машины, которую я только что подготовил.

Я теперь предполагаю, что это особенность классических лазурных виртуальных машин, а не v2, но документация, в отличие от Heroku's, слишком фрагментирована, чтобы четко описать, что к чему.

Итак, какой сопоставимый подход мне нужно использовать для моей Linux Azure VM (v2), чтобы начать обслуживать веб-трафик?

Подробнее о моем приложении: это приложение Django, оно использует чистый веб-сервер WSGI python под названием waitress, это db is postgresql. BTW, я не могу использовать «Azure Web Apps», потому что эта функция не поддерживает postgresql, и я не могу установить все пакеты из моего requirements.txt, поскольку некоторые из них требуют компилятора и еще не имеют Python Wheels (компилятор недоступен на компьютере, на котором запущено веб-приложение в службе Azure App Service).

+1

Есть еще много Лазурные последователей, чем в сервере Фол t, поэтому шансы на то, что я действительно помогаю *, являются ** реалистичными ** здесь (хотя это может и не представлять для вас интереса). Во-вторых, я видел массу других вопросов, связанных с некоторым аспектом конфигурации сервера на SO. В-третьих, это не значит, что мой вопрос, в конечном счете, может быть вызван некоторой магией программирования, или это просто вопрос, связанный с конфигурацией. Я открыт для перезаписи некоторых его частей, если вы открыты для возврата вниз. –

+0

@HassanBaig - Не нужно объяснять, почему вы разместили здесь (или беспокоиться о том, что кто-то запустит ваш вопрос). Просто знайте, что ваш вопрос здесь, скорее всего, будет закрыт, что никому не поможет.Есть много людей, которые смотрят и отвечают на связанные с Azure вопросы инфраструктуры на ServerFault. –

ответ

2

Одним из значительных различий между v1 и v2 является концепция сетевого адаптера и общедоступного IP-адреса. как отдельный объект для виртуальной машины. Дело в том, что должен сидеть между ними является Network Security Group

мощность и гибкость Azure v2 означает, что легко создать решение, которое на самом деле не имеет никакого файрволу вообще.

Если вы посмотрите в группе ресурсов, которую вы создали, ваша группа безопасности сети должна быть там. Оттуда вы можете настроить конечные точки. (вы также можете посмотреть на странице быстрого запуска виртуальной машины, в нижней правой части должна быть ссылка «группа безопасности» (я делаю это из памяти, поскольку у меня нет доступа к Azure на данный момент) поэтому детали могут быть немного выключены)

ETA

v2 группа безопасности являются программными брандмауэрами, которые существуют либо на границе подсети слое или на уровне сетевой карты.

подсети границы SG может защитить бэкенд VM с интерфейсных серверов скомпрометированы. Таким образом, сервер базы данных только обменивается данными через определенный порт и не имеет доступа к Интернету (например)

SG, прикрепленный к Nic, предназначен для создания правил приложения. Например, для HTTP вы должны создать единое правило, которое позволило бы месту назначения быть портом 80, что обеспечило бы его получение из любого IP-адреса с любым исходным портом.

+0

Я также понял, что portal.azure.com и manage.windowsazure.com разные. «Управление» - это старый способ делать что-то. Должен ли я просто придерживаться этого, предоставить классическую виртуальную машину и использовать имеющуюся для нее документацию? V2, для моего конкретного случая, тонкий по документации (это означает, что еще много боли, если я попытаюсь пробиться через него). –

+0

Управление осуществляется исключительно для управления виртуальными машинами и службами v1, поскольку он не имеет видимости ресурсов v2. Портал - это единственное место, где можно управлять. К сожалению, до перехода всех сервисов в Azure на v2 это означает, что вам нужно будет переключаться между ними. Это также создает проблемы при поиске решений, поскольку большинство онлайн-ресурсов будут обсуждать v1 (использовать v2/менеджер ресурсов в поисках, чтобы попытаться отследить более релевантные результаты - или искать результаты за последний год) –

+0

Хорошо, бурно море это. Я действительно успешно настроил свое приложение и перенес свою базу данных на свою виртуальную машину на базе Azure Linux. Проблема возникла, когда мне пришлось принимать HTTP-трафик - я не могу найти ничего, кроме этого криптографического документа по указанному вопросу: https://azure.microsoft.com/en-us/documentation/articles/virtual-networks-nsg/Это было много дней, и уровень разочарования откровенно немного высок. –

1

Итак, какой сопоставимый подход мне нужно взять для моей Linux Azure VM (v2), чтобы начать обслуживать веб-трафик?

Концепция «конечных точек» применяется к классическому режиму развертывания (он же классический портал). Но на новом лазурном портале, где режим развертывания ресурсов (рук) предпочтительнее классического портативного/классического режима развертывания (asm), вам нужно добавить «Правила безопасности входящих сообщений» в свою группу сетевой безопасности (NSG).

Вы можете использовать новый шаблон Azure Portal (https://portal.azure.com), PowerShell, Azure CLI или ARM. Я перейду через Azure Portal и Azure CLI.

Метод 1: Используя новый лазурный портал (https://portal.azure.com):

enter image description here 1. Перейдите в группу сетевой безопасности для Linux VM вы создали в лазури

enter image description here 2. Перейдите к вашему Установка правил безопасности входящих сообщений

enter image description here 1. Добавьте новое правило безопасности входящей почты, чтобы начать обслуживать веб-трафик. (Это пример правило под названием "веб-правила", которые позволяют трафик от клиентов, подключающихся из любого порта к порту 80)

Метод 2: Использование Лазурного CLI:

  1. Открыть Azure CLI
  2. Войти в лазури: azure login
  3. Переключение в режим диспетчера ресурсов: azure config mode arm
  4. Запускаем лазурь сети NSG создать Команда:

    azure network nsg rule create -g UbuntuRG -a UbuntuVM -n web-rule -c Allow -p Tcp -r Inbound -y 200 -f Internet -o * -e * -u 80

Примечание: Вышеуказанные методы приобретают имя группы ресурсов является "UbuntuRG" и ваше имя виртуальной машины "UbuntuVM".

Вы можете найти более подробную информацию:

How to manage NSGs using the Azure portal

How to create NSGs in Resource Manager by using PowerShell

How to create NSGs in the Azure CLI

How to create NSGs using a template