Introducción a los contenedores de Windows - Amazon Elastic Container Service

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.

Introducción a los contenedores de Windows

Este tutorial le enseña a obtener contenedores de Windows que se ejecutan en Amazon ECS con Amazon ECS-optimized Windows Server AMI en la AWS Management Console. Creará un clúster para sus instancias de contenedor de Windows, lanzará una o varias instancias de contenedor en el clúster, registrará una definición de tarea que utiliza una imagen de contenedor de Windows, creará un servicio que utiliza una definición de tarea y, a continuación, irá a la página web de ejemplo que ejecuta el contenedor. Para obtener más información, consulte Contenedores de Windows.

Paso 1: Crear un clúster de Windows

Puede crear un nuevo clúster para sus contenedores de Windows. Las instancias de Amazon EC2 que usan las AMI optimizadas para Amazon ECS de Linux no pueden ejecutar contenedores de Windows y viceversa, así que la colocación correcta de tareas se consigue mejor ejecutando instancias de contenedor de Windows y Linux en clústeres independientes. En este tutorial, creará un clúster llamado windows y registrará una o más instancias de Amazon EC2 en el clúster para los contenedores de Windows.

Para crear un clúster con la AWS Management Console

  1. Abra la consola de Amazon ECS en https://console.aws.amazon.com/ecs/.

  2. En el panel de navegación, elija Clusters (Clústeres).

  3. En la página Clusters, elija Create Cluster.

  4. Elija EC2 Windows + Networking y Next step.

  5. En Cluster name (Nombre del clúster), introduzca el nombre del clúster (en este ejemplo, el nombre del clúster es windows). Se admiten hasta 255 letras (mayúsculas y minúsculas), números, guiones y caracteres de subrayado.

  6. En la sección Instance configuration (Configuración de instancias) siga los pasos siguientes.

    1. En Provisioning model (Modelo de aprovisionamiento), elija uno de los tipos de instancia siguientes:

      • instancia a petición–Con Instancias bajo demanda, pagas la capacidad informática por horas, sin necesidad de asumir compromisos a largo plazo ni realizar pagos iniciales.

      • Subasta– Instancias de spotle permiten pujar porAmazon EC2Con descuento de hasta el 90% en comparación con el precio bajo demanda. Para obtener más información, consulte Instancias de spot de .

        nota

        Instancias de spot están sujetos a posibles interrupciones. Le recomendamos que no utilice Instancias de spot para aplicaciones que no se pueden interrumpir. Para obtener más información, consulte Interrupciones de instancia de Spot.

    2. Para Instancias de spot, haga lo siguiente; de lo contrario, vaya al paso siguiente.

      1. En instancia de Spot allocation strategy (Estrategia de asignación de instancias de spot), elija la estrategia que se ajuste a sus necesidades. Para obtener más información, consulte la Estrategia de asignación de Flota de subasta.

      2. En Maximum bid price (per instance/hour), especifique un precio de puja. Las Instancias de spot no se lanzarán si el precio de puja es inferior al precio de spot de los tipos de instancias seleccionados.

    3. En la página EC2 Instance Type (Tipo de instancia EC2), seleccione la configuración de hardware de la instancia. El tipo de instancia que seleccione determina los recursos disponibles para ejecutar sus tareas.

    4. En Number of instances (Número de instancias), escriba el número de instancias Amazon EC2 a lanzar en su clúster.

    5. En EC2 AMI Id (ID de AMI de EC2), elija la AMI optimizada para Amazon ECS que va a utilizar para sus instancias de contenedor. Las AMI disponibles se determinan en función de la región y del tipo de instancia que elija. Para obtener más información, consulte Amazon ECS-optimized AMI.

    6. En EBS storage (GiB) (Almacenamiento de EBS (GiB)), elija el tamaño del volumen de Amazon EBS que desea utilizar para el almacenamiento de datos en sus instancias de contenedor. Puede aumentar el tamaño del volumen de datos para permitir un mayor almacenamiento de imágenes y contenedores.

    7. En Key pair (Par de claves), elija un par de claves de Amazon EC2 para utilizarlas con las instancias de contenedor para el acceso RDP. Si no especifica un par de claves, no podrá acceder a las instancias de contenedor con RDP. Para obtener más información, consulte Pares de claves de Amazon EC2 en la Guía del usuario de Amazon EC2 para instancias de Linux.

  7. En la sección Networking, configure la VPC en la que va a lanzar sus instancias de contenedor. De forma predeterminada, el asistente de creación de clústeres crea una nueva VPC con dos subredes en diferentes zonas de disponibilidad y un grupo de seguridad abierto a Internet en el puerto 80. Se trata de una configuración básica que funciona bien para un servicio HTTP. Sin embargo, puede modificar estos ajustes siguiendo los pasos a continuación.

    1. En VPC, cree una nueva VPC o seleccione una existente.

    2. (Opcional) Si decide crear una nueva VPC, en CIDR Block, seleccione un bloque de CIDR para la VPC. Para obtener más información, consulte VPC y subredes en la Guía del usuario de Amazon VPC.

    3. En Subnets (Subredes), seleccione las subredes que desea utilizar para la VPC. Si decide crear una nueva VPC, puede mantener la configuración predeterminada o puede modificarla para satisfacer sus necesidades. Si decide utilizar una VPC existente, seleccione una o varias subredes en esa VPC para utilizar en el clúster.

    4. En Security group (Grupo de seguridad), seleccione el grupo de seguridad que desea asociar a las instancias de contenedor en su clúster. Si decide crear un nuevo grupo de seguridad, puede especificar un bloque de CIDR para permitir el tráfico entrante. El puerto predeterminado 0.0.0.0/0 está abierto a Internet. También puede seleccionar un único puerto o una serie de puertos contiguos para abrir en la instancia de contenedor. Para obtener reglas más complejas de grupo de seguridad, puede elegir un grupo de seguridad existente que ya haya creado.

      nota

      También puede optar por crear un nuevo grupo de seguridad y, a continuación, modificar las reglas después de crear el clúster. Para obtener más información, consulte Grupos de seguridad de Amazon EC2 para instancias de Windows en la Guía del usuario de Amazon EC2 para instancias de Windows.

    5. En la sección Container instance IAM role, seleccione la función de IAM que desea utilizar con las instancias de contenedor. Si su cuenta tiene el rol ecsInstanceRole que se crea en el asistente de la primera ejecución de la consola, se seleccionará de forma predeterminada. Si no dispone de este rol en su cuenta, puede optar por crearlo o puede elegir otro rol de IAM para utilizarlo con las instancias de contenedor.

      importante

      El rol de IAM que utilice debe tener asociada la política AmazonEC2ContainerServiceforEC2Role administrada; de lo contrario, recibirá un error durante la creación del clúster. Si no lanza la instancia de contenedor con los permisos de IAM correspondientes, el agente de Amazon ECS no se conecta al clúster. Para obtener más información, consulte Amazon ECSinstancia de contenedorIAMrol de.

    6. Si antes ha elegido el tipo instancia de Spot, la sección Flota de subasta Role IAM role indica que se ha creado un rol ecsSpotFleetRole de IAM.

  8. En la sección Tags (Etiquetas), especifique la clave y el valor de cada etiqueta que se va a asociar al clúster. Para obtener más información, consulte Etiquetado de los recursos de Amazon ECS.

  9. En la sección CloudWatch Container Insights, elija si desea habilitar Container Insights para el clúster. Para obtener más información, consulte Amazon ECS CloudWatch Container Insights.

  10. Seleccione Create (Crear).

    nota

    El proceso para que sus instancias de contenedor de Windows se registren en su clúster puede tardar hasta 15 minutos.

Paso 2: Registrar una definición de tareas de Windows

Antes de poder ejecutar los contenedores de Windows en su clúster de Amazon ECS, debe registrar una definición de tareas. El siguiente ejemplo de definición de tareas muestra una página web sencilla en el puerto 8080 de una instancia de contenedor con la imagen de contenedor microsoft/iis.

Para registrar la definición de tarea de muestra con la AWS Management Console

  1. Abra la consola de Amazon ECS en https://console.aws.amazon.com/ecs/.

  2. En el panel de navegación, elija Task Definitions.

  3. En la página Task Definitions, seleccione Create new Task Definition.

  4. En la página Select launch type compatibilities (Seleccionar compatibilidades de tipo de lanzamiento), elija EC2, Next step (Paso siguiente).

    nota

    El tipo de lanzamiento Fargate no es compatible con los contenedores de Windows.

  5. Desplácese hasta la parte inferior de la página y elija Configure via JSON (Configurar vía JSON).

  6. Pegue el siguiente JSON de la definición de tarea de muestra en el área de texto (y reemplace el JSON rellenado automáticamente allí) y seleccione Save.

    { "family": "windows-simple-iis", "containerDefinitions": [ { "name": "windows_sample_app", "image": "mcr.microsoft.com/windows/servercore/iis", "cpu": 512, "entryPoint":["powershell", "-Command"], "command":["New-Item -Path C:\\inetpub\\wwwroot\\index.html -ItemType file -Value '<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>Congratulations!</h2> <p>Your application is now running on a container in Amazon ECS.</p>' -Force ; C:\\ServiceMonitor.exe w3svc"], "portMappings": [ { "protocol": "tcp", "containerPort": 80, "hostPort": 8080 } ], "memory": 768, "essential": true } ] }
  7. Verifique su información y seleccione Create (Crear).

Para registrar la definición de tarea de muestra con la AWS CLI

  1. Cree un archivo denominado windows-simple-iis.json.

  2. Abra el archivo con el editor de texto que prefiera y añada el JSON de ejemplo anterior al archivo y guárdelo.

  3. Use la AWS CLI para ejecutar el siguiente comando para registrar la definición de tarea en Amazon ECS.

    nota

    Asegúrese de que la AWS CLI esté configurada para utilizar la misma región en la que existe el clúster Windows, o añada la opción --region your_cluster_region al comando.

    aws ecs register-task-definition --cli-input-json file://windows-simple-iis.json

Paso 3: Cree un servicio con la definición de tarea

Después de haber registrado la definición de tarea, puede colocar tareas en el clúster con ella. El procedimiento siguiente crea un servicio con su definición de tarea y coloca una tarea en el clúster.

Para crear un servicio a partir de la definición de tarea con la consola

  1. En la página de confirmación de registro Task Definition: windows-simple-iis, elija Actions, Create Service.

  2. En la página Create Service, introduzca la información siguiente y, a continuación, seleccione Create service.

    • Launch type (Tipo de lanzamiento): EC2

    • Cluster: windows

    • Service name: windows-simple-iis

    • Service type (Tipo de servicio): REPLICA

    • Number of tasks: 1

    • Tipo de implementación: Actualización continua

Para crear un servicio a partir de la definición de tarea con la AWS CLI

  • Use la AWS CLI para ejecutar el comando siguiente para crear su servicio.

    aws ecs create-service --cluster windows --task-definition windows-simple-iis --desired-count 1 --service-name windows-simple-iis

Paso 4: Ver el servicio

Después de que el servicio haya lanzado una tarea en el clúster, puede ver el servicio y abrir la página de prueba de IIS en un navegador para verificar que el contenedor se está ejecutando.

nota

La instancia de contenedor puede tardar hasta 15 minutos en descargarse y extraer las capas de base de contenedor de Windows.

Para ver el servicio

  1. Abra la consola de Amazon ECS en https://console.aws.amazon.com/ecs/.

  2. En la página Clusters, elija el clúster windows.

  3. En la pestaña Services, seleccione el servicio windows-simple-iis.

  4. En la página Service: windows-simple-iis , elija la ID de tarea para la tarea en su servicio.

  5. En la página Task, expanda el contenedor iis para ver su información.

  6. En Network bindings del contenedor, debería ver una dirección IP de External Link y un enlace de combinación de puerto. Elija ese enlace para abrir la página de prueba de IIS en su navegador.

    
                        Página sencilla para probar IIS de Windows