Развертывание приложения .NET на AWS

Я пытаюсь развернуть свое .NET-приложение на AWS с помощью Elastic Beanstalk. Приложение содержит несколько проектов. Эти проекты сопоставляются с разными дочерними каталогами в общем родительском каталоге в IIS.

AWS ToolKit для Visual Studio позволяет публиковать по одному проекту за раз. Как я могу собрать несколько проектов вместе, а затем развернуть?

Я новичок в AWS, буду очень признателен за любую помощь!


person Sid    schedule 09.03.2016    source источник


Ответы (3)


К сожалению, это невозможно из плагина VS. У нас немного другая настройка, когда у нас есть проект IIS и обычный консольный проект в одном экземпляре EB. Чтобы установить консольный проект (фактически, службу Windows), мы используем . Ebextensions, чтобы загрузить пакет с S3 и выполнить сценарий для его установки каждый раз, когда мы развертываем веб-приложение.

В вашем случае это могло быть похоже; ваш сценарий сборки развертывает все веб-приложения в S3 (файлы Zip), а затем вы устанавливаете их, используя структуру .ebextensions. Но я действительно не пробовал это с веб-проектами, поэтому я не знаю, как будет выглядеть ваш сценарий.

Вы можете рассмотреть возможность использования AWS-сервиса CodeDeploy для вашей ситуации. Elastic Beanstalk действительно ориентирован на одну среду - один проект (что само по себе не так уж и плохо).

person marco    schedule 17.03.2016

Плагин Microsoft недоступен, однако на данный момент у Amazon есть задача развертывания приложений Visual Studio.

Существует решение AWS под названием CodeDeploy:  введите описание изображения здесь Visual Studio Team Services - задача развертывания приложений AWS CodeDeploy Доступно для загрузки на GitHub и Visual Studio Marketplace

Другие альтернативы автоматизации, вы можете выбрать одну доступную платформу AWS, такую ​​как Claudia, APEX, Serverless. Другой альтернативой является бессерверная среда.

Бессерверная структура в сочетании с подключаемым модулем EB.

С помощью этой альтернативы вы можете легко определить развертывание модуля в файле serverless.yml и развернуть его с помощью командной строки.

provider:
...

plugins:
  - serverless-plugin-elastic-beanstalk

custom:
  elastic-beanstalk:
    variables:
enter your EB definitions here

И запустить, используя

sls deploy
person Rafael Gorski    schedule 24.10.2017

Один из способов, который работает, хотя и с использованием дополнительных ресурсов, - это создать среду Elastic Beanstalk для Windows, используя предоставленный образец кода, а затем создать экземпляр сервера EC2 для Windows из среды EB. Затем используйте IIS внутри экземпляра EC2, подключившись удаленно к порталу рабочего стола RDP (это экземпляр виртуальной машины). Опубликуйте решение приложения с помощью IIS, как если бы вы делали это локально (заархивируйте приложение, затем используйте буфер обмена, чтобы скопировать его на рабочий стол портала RDP с локального рабочего стола). После этого потребуется базовая работа в сети, чтобы довести приложение до доменного имени в Интернете. Если вы проявите немного изобретательности, у этого способа есть несколько преимуществ с точки зрения безопасности.

person coder9833idls    schedule 08.09.2020