Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Implementación de aplicaciones ASP.NET Web Forms en AWS
Administrar paquetes NuGet
NuGet es un repositorio que contiene y administra paquetes de código para.NET. Una aplicación puede tener instalados dos tipos de NuGet paquetes: paquetes disponibles públicamente en nuget.org
Para solucionar este problema, puedes aprovisionar un repositorio de artifact (NuGet) administrado para descargar paquetes de fuentes externas, como nuget.org. Puedes usar AWS CodeArtifact, que es un servicio de repositorio de artefactos totalmente gestionado, como repositorio de paquetes. NuGet Para obtener más información, consulta la AWS entrada del blog Using NuGet with AWS CodeArtifact
Para configurar la aplicación para que utilice el repositorio de NuGet paquetes, cree un NuGet.config
archivo en el directorio raíz del proyecto o en el directorio raíz de la solución. Este archivo especifica las fuentes de paquetes que se NuGet deben usar al restaurar los paquetes. El siguiente ejemplo muestra cómo configurar el NuGet.config
archivo que se va a utilizar CodeArtifact:
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageRestore> <!-- Allow NuGet to download missing packages --> <add key="enabled" value="True" /> <!-- Automatically check for missing packages during build in Visual Studio --> <add key="automatic" value="True" /> </packageRestore> <packageSources> <add key="MyRepo" value="https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/nuget/my_repo/v3/index.json" /> </packageSources> </configuration>
En este ejemplo, https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/nuget/my_repo/v3/index.json
sustitúyalo por la URL real de tu CodeArtifact repositorio. Puedes encontrar esta URL en la CodeArtifact consolaaws codeartifact get-repository-endpoint
comando.
importante
-
La configuración del
NuGet.config
archivo afecta a todos los proyectos dentro de la misma estructura de directorios. Si desea utilizar diferentes fuentes de paquetes para distintos proyectos, creeNuGet.config
archivos independientes para cada proyecto o solución. -
Asegúrese de que las instancias que crean la aplicación tengan los permisos y el acceso a la red necesarios para conectarse al repositorio de NuGet paquetes (por ejemplo CodeArtifact). Para obtener más información sobre la obtención de credenciales, consulte Utilización CodeArtifact con la CLI de nuget o dotnet en la CodeArtifact documentación.
Creación de una aplicación
Al migrar aplicaciones antiguas de ASP.NET Web Forms a AWS, se sigue utilizando Microsoft Build Engine (MSBuild) como herramienta central para crear las aplicaciones. MSBuild normalmente se incluye con Visual Studio, pero puede descargar y usar el MSBuild ejecutable independiente de Microsoft sin instalar Visual Studio. Este enfoque resulta especialmente útil cuando se crea una aplicación de formularios Web Forms AWS, donde se pueden utilizar instancias de Windows o contenedores de Docker si están instalados. MSBuild
Para crear una aplicación ASP.NET Web Forms se requieren dos pasos principales: restaurar los NuGet paquetes y crear la aplicación. Los detalles de cómo se realizan estos pasos pueden variar en función de la herramienta de CI/CD que elija utilizar. Por ejemplo, si la usas AWS CodeBuild, el proceso de compilación se ejecuta dentro de un contenedor Docker.
Restaure paquetes NuGet
Antes de crear la aplicación, debe restaurar los NuGet paquetes necesarios para el proyecto. Puede hacerlo mediante los NuGet comandos de la interfaz de línea de comandos (CLI), que se ejecutan en el directorio raíz del proyecto. MSBuild
Usando MSBuild:
msbuild -t:restore
Uso de NuGet CLI:
nuget restore
Compila usando MSBuild
Tras restaurar los NuGet paquetes, puede continuar con el comando de compilación principal que produce los artefactos de despliegue. El comando normalmente especifica el archivo del proyecto, la configuración de compilación (por ejemploRelease
) y el directorio de salida de los artefactos creados.
msbuild <ProjectName>.csproj /p:Configuration=Release /p:OutDir=<OutDir>
Para obtener más información acerca de MSBuild las opciones, consulte la referencia de la MSBuild línea de comandos
Para obtener más información sobre cómo crear una aplicación de ASP.NET con AWS CodeBuild, consulte la entrada del AWS blog Cómo crear canalizaciones de CI/CD
Implementación de una aplicación
Tras crear la aplicación Web Forms, debe implementar los artefactos en el entorno de destino. AWS En la mayoría de los casos, puede comprimir y cargar los artefactos creados en un depósito de Amazon Simple Storage Service (Amazon S3) para facilitar su distribución e implementación. Para obtener instrucciones, consulte la documentación de Amazon S3.
Existen dos opciones principales para implementar los artefactos en una EC2 instancia de Amazon: manual y automática.
Despliegue manual
Esta opción implica usar los datos de usuario de la EC2 instancia para incluir scripts que realizarán las siguientes tareas:
-
Instale Internet Information Services (IIS)
-
Extraiga y descomprima los artefactos de construcción del depósito de Amazon S3
-
Cree y configure la aplicación IIS
Si bien este enfoque proporciona flexibilidad, requiere una intervención manual y puede resultar difícil administrarlo a medida que la aplicación se amplía o si se actualiza con frecuencia.
Implementación automatizada
El enfoque recomendado es utilizarlo AWS CodeDeploy
Para obtener más información y ejemplos sobre cómo configurar canalizaciones de CI/CD para aplicaciones de ASP.NET Web Forms mediante CodePipeline CodeBuild CodeDeploy, y consulte la entrada del AWS blog Creación de canalizaciones de CI/CD
Al utilizarlos Servicios de AWS como CodeBuild, y CodeDeploy CodePipeline, puede agilizar los procesos de creación e implementación de las aplicaciones ASP.NET Web Forms migradas y garantizar implementaciones consistentes y confiables en la infraestructura. AWS
Para obtener más información sobre las implementaciones automatizadas, consulte la entrada del AWS blog Generación de canalizaciones de CI/CD para aplicaciones ASP.NET en contenedores AWS App2Container y la información sobre la creación de una canalización de CI/CD