

La AWS SDK para .NET V3 ha entrado en modo de mantenimiento.

Le recomendamos que migre a la [AWS SDK para .NET V4](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/welcome.html). Para obtener información y detalles adicionales sobre cómo migrar, consulta nuestro [anuncio sobre el modo de mantenimiento](https://aws.amazon.com/blogs/developer/aws-sdk-for-net-v3-maintenance-mode-announcement/).

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 en AWS
<a name="deploying"></a>

Una vez desarrollada la aplicación o el servicio de .NET Core nativo en la nube en un equipo de desarrollo, conviene implementarlo en AWS. Esto se puede hacer con la Consola de administración de AWS o usando servicios como CloudFormation o AWS Cloud Development Kit (AWS CDK). También se pueden usar herramientas de AWS que se han creado con el propósito de realizar implementaciones. Con estas herramientas se puede hacer lo siguiente.

## Implementación desde la CLI de .NET
<a name="deploying-from-net-cli"></a>

Para implementar sus aplicaciones en AWS, puede usar las siguientes herramientas de AWS de la CLI de .NET:
+ [Herramienta de implementación de AWS para la CLI de .NET](https://aws.github.io/aws-dotnet-deploy/): admite implementaciones en [AWS App Runner](https://aws.amazon.com/apprunner/), [Amazon Elastic Container Service (Amazon ECS)](https://aws.amazon.com/ecs/) y [AWS Elastic Beanstalk](https://aws.amazon.com/elasticbeanstalk/).
+ [Herramientas de AWS Lambda para la CLI de .NET](https://www.nuget.org/packages/Amazon.Lambda.Tools): admite implementaciones en proyectos de AWS Lambda.

## Implementación desde kits de herramientas de IDE
<a name="deploying-from-toolkits"></a>

Se pueden utilizar kits de herramientas de AWS para implementar sus aplicaciones directamente desde el IDE de su elección:
+ **[AWS Toolkit for Visual Studio](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/deployment-chapt.html)**
**nota**  
La característica “Publicar en AWS” del kit de herramientas tiene la misma funcionalidad que la Herramienta de implementación de AWS para la CLI de .NET. Para obtener más información, consulte [Publicación en AWS](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/publish-experience.html) en la *Guía del usuario de AWS Toolkit for Visual Studio*.
+ **[AWS Toolkit for JetBrains](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/welcome.html)**

  Consulte [Uso de aplicaciones sin servidor de AWS](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/key-tasks.html#key-tasks-sam) y [Uso del AWS App Runner](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/key-tasks.html#key-tasks-app-runner).
+ **[AWS Kit de herramientas de para VS Code](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/welcome.html)**

  Consulte [Uso de aplicaciones sin servidor](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/serverless-apps.html) y [Uso de AWS App Runner](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/using-apprunner.html).
+ **[Kit de herramientas de AWS para Azure DevOps](https://docs.aws.amazon.com/vsts/latest/userguide/tutorial-eb.html)**

## Casos de uso
<a name="w2aac15b9"></a>

Las siguientes secciones contienen escenarios de casos de uso de algunos tipos de aplicaciones, incluida información sobre cómo se usaría la CLI de .NET para implementar esas aplicaciones.
+ [Aplicaciones ASP.NET Core](deploying-asp-net.md)
+ [Aplicaciones de consola de .NET](deploying-console.md)
+ [Aplicaciones Blazor WebAssembly](deploying-blazor.md)
+ [AWS Lambda proyectos](deploying-lambda.md)

# Aplicaciones ASP.NET Core
<a name="deploying-asp-net"></a>

La [Herramienta de implementación de AWS](https://aws.github.io/aws-dotnet-deploy/) de la CLI de .NET le ayuda a implementar aplicaciones ASP.NET y le guía a través del proceso de implementación. Es una herramienta interactiva de la CLI de .NET que ayuda a implementar aplicaciones .NET teniendo nociones mínimas de AWS.

La Herramienta de implementación tiene las siguientes capacidades:
+ **Recomendaciones de recurso informático para la aplicación:** obtenga recomendaciones de recurso informático y descubra qué recurso informático de AWS es el más adecuado para su aplicación.
+ **Generación de Dockerfile:** la herramienta genera un Dockerfile si es necesario o utiliza uno ya existente.
+ **Empaquetado e implementación automáticos:** la herramienta crea los artefactos de implementación, aprovisiona la infraestructura mediante un proyecto de implementación de AWS CDK generado e implementa la aplicación en el recurso informático de AWS escogido.
+ **Implementaciones reproducibles y compartibles:** puede generar y modificar proyectos de implementación de AWS CDK para adaptarlos a sus circunstancias específicas. También puede controlar las versiones de sus proyectos y compartirlos con su equipo para realizar implementaciones reproducibles.
+ **Ayuda para conocer AWS CDK para .NET:** la herramienta le ayuda a conocer poco a poco las herramientas de AWS subyacentes en las que se basa, como AWS CDK.

La [Herramienta de implementación de AWS](https://aws.github.io/aws-dotnet-deploy/) permite implementar aplicaciones ASP.NET Core en los siguientes servicios de AWS:
+ **[Amazon ECS Service](https://aws.amazon.com/ecs/) con [AWS Fargate](https://aws.amazon.com/fargate/)**: admite implementaciones de aplicaciones web en Amazon Elastic Container Service (Amazon ECS) con una potencia de computación administrada por un motor de computación sin servidor de AWS Fargate.
+ **[AWS App Runner](https://aws.amazon.com/apprunner/)**: admite implementaciones en un servicio completamente administrado que facilita a los desarrolladores la implementación de API y aplicaciones web en contenedores a escala. No se requiere experiencia previa en infraestructura.
+ **[AWS Elastic Beanstalk](https://aws.amazon.com/elasticbeanstalk/)**: admite implementaciones en un servicio que facilita a los desarrolladores la implementación de API y aplicaciones web en un entorno completamente administrado a escala. No se requiere experiencia previa en infraestructura.

Para obtener más información, consulte la [descripción general de la herramienta](https://aws.github.io/aws-dotnet-deploy/). Para comenzar desde ahí, vaya a **Documentación** > **Introducción** y seleccione **[Cómo instalar](https://aws.github.io/aws-dotnet-deploy/docs/getting-started/installation/)** para obtener las instrucciones de instalación.

# Aplicaciones de consola de .NET
<a name="deploying-console"></a>

La [Herramienta de implementación de AWS](https://aws.github.io/aws-dotnet-deploy/) de la CLI de .NET le ayuda a implementar aplicaciones de consola de .NET como un servicio o una tarea programada como una imagen de contenedor en Linux, y le guía a través del proceso de implementación. Si la aplicación no tiene un Dockerfile, la herramienta lo genera automáticamente. Si no, se utiliza un Dockerfile existente.

La Herramienta de implementación tiene las siguientes capacidades:
+ **Recomendaciones de recurso informático para la aplicación:** obtenga recomendaciones de recurso informático y descubra qué recurso informático de AWS es el más adecuado para su aplicación.
+ **Generación de Dockerfile:** la herramienta genera un Dockerfile si es necesario o utiliza uno ya existente.
+ **Empaquetado e implementación automáticos:** la herramienta crea los artefactos de implementación, aprovisiona la infraestructura mediante un proyecto de implementación de AWS CDK generado e implementa la aplicación en el recurso informático de AWS escogido.
+ **Implementaciones reproducibles y compartibles:** puede generar y modificar proyectos de implementación de AWS CDK para adaptarlos a sus circunstancias específicas. También puede controlar las versiones de sus proyectos y compartirlos con su equipo para realizar implementaciones reproducibles.
+ **Ayuda para conocer AWS CDK para .NET:** la herramienta le ayuda a conocer poco a poco las herramientas de AWS subyacentes en las que se basa, como AWS CDK.

La [Herramienta de implementación de AWS](https://aws.github.io/aws-dotnet-deploy/) permite implementar aplicaciones de la consola de .NET en los siguientes servicios de AWS:
+ **[Amazon ECS Service](https://aws.amazon.com/ecs/) con [AWS Fargate](https://aws.amazon.com/fargate/)**: admite implementaciones de aplicaciones .NET como un servicio (por ejemplo, un procesador en segundo plano) en Amazon Elastic Container Service (Amazon ECS) con una potencia de computación administrada por un motor de computación sin servidor de AWS Fargate.
+ **[Tarea programada de Amazon ECS](https://aws.amazon.com/ecs/)** con [AWS Fargate](https://aws.amazon.com/fargate/): admite implementaciones de aplicaciones .NET como una tarea programada (por ejemplo, un proceso al final del día) en Amazon ECS con una potencia de computación administrada por un motor de computación sin servidor de AWS Fargate.

Para obtener más información, consulte la [descripción general de la herramienta](https://aws.github.io/aws-dotnet-deploy/). Para comenzar desde ahí, vaya a **Documentación** > **Introducción** y seleccione **[Cómo instalar](https://aws.github.io/aws-dotnet-deploy/docs/getting-started/installation/)** para obtener las instrucciones de instalación.

# Aplicaciones Blazor WebAssembly
<a name="deploying-blazor"></a>

La [Herramienta de implementación de AWS](https://aws.github.io/aws-dotnet-deploy/) de la CLI de .NET ayuda a alojar la aplicación Blazor WebAssembly en Amazon S3 mediante Amazon CloudFront para redes de entrega de contenido. La aplicación se implementa en un bucket de S3 para su alojamiento web. La herramienta crea y configura un bucket de S3 y, a continuación, sube la aplicación Blazor a dicho bucket.

La Herramienta de implementación tiene las siguientes capacidades:
+ **Empaquetado e implementación automáticos:** la herramienta crea los artefactos de implementación, aprovisiona la infraestructura mediante un proyecto de implementación de AWS CDK generado e implementa la aplicación en el recurso informático de AWS escogido.
+ **Implementaciones reproducibles y compartibles:** puede generar y modificar proyectos de implementación de AWS CDK para adaptarlos a sus circunstancias específicas. También puede controlar las versiones de sus proyectos y compartirlos con su equipo para realizar implementaciones reproducibles.
+ **Ayuda para conocer AWS CDK para .NET:** la herramienta le ayuda a conocer poco a poco las herramientas de AWS subyacentes en las que se basa, como AWS CDK.

Para obtener más información, consulte la [descripción general de la herramienta](https://aws.github.io/aws-dotnet-deploy/). Para comenzar desde ahí, vaya a **Documentación** > **Introducción** y seleccione **[Cómo instalar](https://aws.github.io/aws-dotnet-deploy/docs/getting-started/installation/)** para obtener las instrucciones de instalación.

# AWS Lambda proyectos
<a name="deploying-lambda"></a>

AWS Lambda es un servicio informático que le permite ejecutar código sin aprovisionar ni administrar servidores. Ejecuta su código en una infraestructura informática de alta disponibilidad y realiza todas las tareas de administración de los recursos informáticos. Para obtener más información sobre Lambda, consulte [¿Qué es AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)? en la Guía para *AWS Lambda desarrolladores*.

Puede implementar funciones de Lambda usando la interfaz de la línea de comandos (CLI) de .NET.

**Topics**
+ [Requisitos previos](#lambda-cli-prereqs)
+ [Comandos de Lambda disponibles](#listing-the-lam-commands-available-through-the-cli)
+ [Pasos de la implementación](#publishing-a-net-core-lam-project-from-the-net-core-cli)

## Requisitos previos
<a name="lambda-cli-prereqs"></a>

Para empezar a utilizar la CLI de .NET para implementar funciones de Lambda, debe cumplir los siguientes requisitos previos:
+ Confirme que tiene instalada la CLI de .NET. Por ejemplo: `dotnet --version`. Si es necesario, vaya a [https://dotnet.microsoft.com/download](https://dotnet.microsoft.com/download) para instalarlo.
+ Configure la CLI de .NET para que funcione con Lambda. Para obtener una descripción de cómo hacerlo, consulte [CLI de .NET Core](https://docs.aws.amazon.com//lambda/latest/dg/csharp-package-cli.html) en la *Guía para desarrolladores de AWS Lambda *. En ese procedimiento, el comando de implementación es este:

  ```
  dotnet lambda deploy-function MyFunction --function-role role
  ```

  Si no está seguro de cómo crear un rol de IAM en este ejercicio, no incluya la parte `--function-role role`. La herramienta le ayudará a crear uno nuevo.

## Comandos de Lambda disponibles
<a name="listing-the-lam-commands-available-through-the-cli"></a>

Para ver una lista de los comandos de Lambda que están disponibles a través de la CLI de .NET, abra una línea de comandos o una terminal y escriba `dotnet lambda --help`. El resultado del comando será similar a lo siguiente:

```
Amazon Lambda Tools for .NET applications
Project Home: https://github.com/aws/aws-extensions-for-dotnet-cli, https://github.com/aws/aws-lambda-dotnet

Commands to deploy and manage AWS Lambda functions:

        deploy-function         Command to deploy the project to AWS Lambda
        ...
        (etc.)

To get help on individual commands execute:
        dotnet lambda help <command>
```

El resultado muestra todos los comandos que están disponibles actualmente.

## Pasos de la implementación
<a name="publishing-a-net-core-lam-project-from-the-net-core-cli"></a>

En las instrucciones siguientes se supone que ha creado un proyecto AWS Lambda de.NET. En este procedimiento, el proyecto se llama `DotNetCoreLambdaTest`.

1. Abra un símbolo del sistema o terminal y vaya a la carpeta que contiene archivo del proyecto de .NET de Lambda.

1. Escriba `dotnet lambda deploy-function`.

1. Si se le solicita, introduzca la AWS región (la región en la que se desplegará la función Lambda).

1. Cuando se le pida, escriba el nombre de la función que va a implementar, por ejemplo, `DotNetCoreLambdaTest`. Puede ser el nombre de una función que ya existe en la Cuenta de AWS o de una función que aún no está implementada ahí.

1. Cuando se le pida, seleccione o cree el rol de IAM que Lambda asumirá al ejecutar la función.

Cuando la ejecución finaliza correctamente, se muestra el mensaje **Se ha creado una nueva función de Lambda**.

```
Executing publish command
...
(etc.)
New Lambda function created
```

Si implementa una función que ya existe en la cuenta, la función de implementación solo pide la región de AWS (si procede). En tal caso, el resultado del comando termina con `Updating code for existing function`.

Una vez que la función de Lambda se haya implementado, estará lista para su uso. Para obtener más información, consulte [ejemplos sobre cómo usar AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/use-cases.html).

Lambda supervisa automáticamente las funciones de Lambda por usted e informa de las métricas a través de Amazon. CloudWatch Para monitorizar la función de Lambda y solucionar problemas, consulte [Supervisión y solución de problemas de funciones de Lambda](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions.html).