Lanzamiento de una instancia de contenedor de Windows de Amazon ECS - Amazon Elastic Container Service

Lanzamiento de una instancia de contenedor de Windows de Amazon ECS

Las instancias de contenedor de Amazon ECS se crean mediante la consola de Amazon EC2. Antes de comenzar, asegúrese de que ha realizado los pasos que se detallan en Configuración para utilizar Amazon ECS.

Para obtener más información acerca del asistente de lanzamiento, consulte Lanzar una instancia con el nuevo asistente de lanzamiento de instancias en la Guía del usuario de Amazon EC2 para instancias de Windows.

Nuevo asistente de lanzamiento de instancias de Amazon EC2

Puede utilizar el nuevo asistente de Amazon EC2 para lanzar una instancia. Puede utilizar la siguiente lista para los parámetros y dejar los parámetros no listados como predeterminados. Las siguientes instrucciones lo guiarán a través de cada grupo de parámetros.

Iniciar la inicialización de una instancia

  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En la barra de navegación de la parte superior de la pantalla, se muestra la región de AWS actual (por ejemplo, Este de EE. UU. [Ohio]). Seleccione una región en la que se va a iniciar la instancia. Esta elección es importante porque algunos recursos de Amazon EC2 pueden compartirse entre varias regiones, mientras que otros no.

  3. En el panel de la consola de Amazon EC2, elija Iniciar instancia.

Nombre y etiquetas

El nombre de la instancia es una etiqueta, donde la clave es Name (Nombre) y el valor es el nombre que especifique. Puede etiquetar la instancia, los volúmenes y los gráficos elásticos. Para las instancias de spot, solo puede etiquetar la solicitud de instancia de spot.

Especificar un nombre de instancia y etiquetas adicionales es opcional.

  • En Name (Nombre), ingrese un nombre descriptivo para la instancia. Si no especifica un nombre, la instancia se puede identificar mediante su ID, que se genera automáticamente al iniciar la instancia.

  • Para agregar otras etiquetas, elija Add additional tag (Agregar etiqueta adicional). Elija Add tag (Agregar etiqueta) y, a continuación, ingrese una clave y un valor, y seleccione el tipo de recurso que desea etiquetar. Elija Add tag (Agregar etiqueta) para cada etiqueta adicional.

Imágenes de aplicaciones y sistema operativo (Amazon Machine Image)

Una Imagen de máquina de Amazon (AMI) proporciona la información necesaria para crear una instancia. Por ejemplo, una AMI puede contener el software necesario para funcionar como servidor web, como Apache, y su sitio web.

Para obtener las AMI optimizadas para Amazon ECS más recientes y sus valores, consulte Versiones de AMI de Windows optimizadas para Amazon ECS.

Utilice la barra de búsqueda para buscar una AMI optimizada para Amazon ECS adecuada publicada por AWS.

  1. En función de sus requisitos, ingrese una de las AMI siguientes en la barra de búsqueda y pulse Enter (Intro).

    • Windows_Server-2022-English-Full-ECS_Optimized

    • Windows_Server-2022-English-Core-ECS_Optimized

    • Windows_Server-2019-English-Full-ECS_Optimized

    • Windows_Server-2019-English-Core-ECS_Optimized

    • Windows_Server-2016-English-Full-ECS_Optimized

  2. En la página Choose an Amazon Machine Image (AMI) (Elija una imagen de máquina de Amazon [AMI]), seleccione la categoría Community AMIs (AMI de la comunidad).

  3. En la lista que aparece, seleccione una AMI verificada por Microsoft con la fecha de publicación más reciente y haga clic en Select (Seleccionar).

Tipo de instancia

El tipo de instancia define la configuración de hardware y el tamaño de la instancia. Los tipos de instancia más grandes tienen una CPU y memoria superiores. Para obtener más información, consulte Tipos de instancia.

  • En Instance Type (Tipo de instancia), seleccione el tipo de instancia de la instancia.

    El tipo de instancia que seleccione determina los recursos disponibles para ejecutar sus tareas.

Par de claves (inicio de sesión)

En Key pair name (Nombre de par de claves) seleccione un par de claves existente o seleccione Create new key pair (Crear nuevo par de claves) para crear uno nuevo.

importante

Si elige la opción Proceed without key pair (Not recommended) (Continuar sin un par de claves [No recomendado]), no podrá conectarse a la instancia a menos que elija una AMI que esté configurada para ofrecer a los usuarios otra forma de iniciar sesión.

Network settings (Configuración de red)

Establezca la configuración de red, según sea necesario.

  • Networking platform (Plataforma de redes): elija Virtual Private Cloud (VPC) (Nube privada virtual [VPC]) y, a continuación, especifique la subred en la sección Network interfaces (Interfaces de red).

  • VPC: seleccione una VPC existente en la que desea crear el grupo de seguridad.

  • Subnet (Subred): puede lanzar una instancia en una subred asociada con una zona de disponibilidad, zona local, zona Wavelength u Outpost.

    Para iniciar la instancia en una zona de disponibilidad, seleccione la subred en la que desea iniciar la instancia. Para crear una subred, elija Crear nueva subred para ir a la consola de Amazon VPC. Cuando haya terminado, vuelva al asistente de lanzamiento de instancias y elija el ícono Refresh (Actualizar) para cargar la subred en la lista.

    Para iniciar la instancia en una zona local, seleccione una subred que haya creado en la zona local.

    Para iniciar una instancia en un Outpost, seleccione una subred en una VPC que haya asociado a un Outpost.

  • Auto-assign Public IP (Asignar automáticamente IP pública): si desea que se pueda acceder a la instancia desde Internet, compruebe que el campo Auto-assign Public IP (Asignar automáticamente IP pública) esté configurado como Enable (Habilitar). De lo contrario, configure este campo como Disable (Deshabilitar).

    nota

    Las instancias de contenedor deben obtener acceso para comunicarse con el punto de conexión del servicio de Amazon ECS. Esto puede ser a través de un punto de conexión de VPC de la interfaz o a través de las instancias de contenedor con direcciones IP públicas.

    Para obtener más información acerca de los puntos de conexión de VPC, consulte Puntos de enlace de la VPC de interfaz de Amazon ECS (AWS PrivateLink).

    Si no tiene configurado un punto de conexión de VPC de la interfaz y las instancias de contenedor no tienen direcciones IP públicas, deberán utilizar traducción de direcciones de red (NAT) para proporcionar este acceso. Para obtener más información, consulte Puertas de enlace NAT en la Guía del usuario de Amazon VPC y Configuración de proxy HTTP para instancias de contenedor de Linux en esta guía.

  • Firewall (security groups) Firewall (grupos de seguridad): utilice un grupo de seguridad para definir reglas de firewall para la instancia de contenedor. Estas reglas especifican qué tráfico procedente de la red se entregará en la instancia de contenedor. El resto del tráfico se ignora.

    • Para seleccionar un grupo de seguridad existente, elija Select an existing security group (Seleccionar un grupo de seguridad existente) y seleccione el grupo de seguridad que creó en Configuración para utilizar Amazon ECS.

Configurar almacenamiento

La AMI seleccionada incluye uno o más volúmenes de almacenamiento, incluido el volumen de dispositivo raíz. Se pueden especificar volúmenes adicionales para adjuntar a la instancia.

Se puede utilizar la vista Simple (Simple).

  • Storage type (Tipo de almacenamiento): configure el almacenamiento de la instancia de contenedor.

    Si utiliza la AMI de Amazon Linux 2 optimizada para Amazon ECS, la instancia tiene un único volumen de 30 GiB configurado, que se comparte entre el sistema operativo y Docker.

    Si utiliza la AMI optimizada para Amazon ECS, la instancia tiene configurados dos volúmenes. El volumen raíz lo utiliza el sistema operativo y el segundo volumen de Amazon EBS (asociado a /dev/xvdcz) lo utiliza Docker.

    Si lo desea, puede aumentar o reducir el tamaño de volumen para su instancia de acuerdo con las necesidades de su aplicación.

Detalles avanzados

En Detalles avanzados, expanda la sección para ver los campos y especifique cualquier parámetro adicional para la instancia.

  • Purchasing option (Opción de compra): elija Request Spot instances (Solicitar instancias de spot) para solicitar una instancia de spot. También debe establecer el resto de los campos relacionados con las instancias de Spot. Para obtener más información, consulte Spot Instance Requests (Solicitudes de instancias de Spot).

    nota

    Si utiliza instancias de Spot y ve un mensaje que indica Not available, es posible que deba elegir un tipo de instancia diferente.

    .

  • En IAM instance profile (Perfil de instancia de IAM), seleccione el rol de IAM de la instancia de contenedor. Suele llamarse ecsInstanceRole.

    importante

    Si no lanza la instancia de contenedor con los permisos de IAM correspondientes, el agente de Amazon ECS no puede conectarse al clúster. Para obtener más información, consulte Rol de IAM de instancia de contenedor de Amazon ECS.

  • (Opcional) User data (Datos de usuario): configure la instancia de contenedor de Amazon ECS con los datos de usuario, por ejemplo, las variables de entorno del agente de Configuración del agente de contenedor de Amazon ECS. Los scripts de datos de usuario de Amazon EC2 se ejecutan solo una vez, cuando la instancia se lanza por primera vez. A continuación, se muestran ejemplos comunes del uso de los datos del usuario:

    • De forma predeterminada, su instancia de contenedor se abre en su clúster predeterminado. Para abrirlo en un clúster no predeterminado, seleccione la lista Advanced Details. A continuación, pegue el siguiente script en el campo User data, reemplazando your_cluster_name con el nombre de su clúster.

      El rol EnableTaskIAMRole activa la característica de roles de IAM de tareas para las tareas.

      Además, las siguientes opciones están disponibles cuando se utiliza el modo de red awsvpc.

      • EnableTaskENI: este indicador activa las redes de tareas y se requiere cuando se utiliza el modo de red awsvpc.

      • AwsvpcBlockIMDS: este indicador opcional bloquea el acceso a IMDS para los contenedores de tareas que se ejecutan en el modo de red awsvpc.

      • AwsvpcAdditionalLocalRoutes: este indicador opcional le permite tener rutas adicionales en el espacio de nombres de la tarea.

        Sustituya ip-address por la dirección IP para las rutas adicionales, por ejemplo, 172.31.42.23/32.

      <powershell> Import-Module ECSTools Initialize-ECSAgent -Cluster your_cluster_name -EnableTaskIAMRole -EnableTaskENI -AwsvpcBlockIMDS -AwsvpcAdditionalLocalRoutes '["ip-address"]' </powershell>

Antiguo asistente de lanzamiento de instancias de Amazon EC2

Para lanzar una instancia de contenedor
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En la barra de navegación, seleccione la región a utilizar.

  3. En el panel de EC2, elija Launch Instance (Lanzar instancia).

  4. En la página Choose an Amazon Machine Image (AMI) (Elija una imagen de máquina de Amazon (AMI)), siga los pasos que se describen a continuación:

    1. Elija AWS Marketplace.

    2. Elija una AMI para la instancia de Amazon EC2. Puede buscar una de las AMI optimizadas para Amazon ECS, por ejemplo, Windows_2019_Full_ECS_Optimized.

  5. En la página Elegir un tipo de instancia, puede seleccionar la configuración de hardware de la instancia. La opción predeterminada es el tipo de instancia t2.micro. El tipo de instancia que seleccione determina los recursos disponibles para ejecutar sus tareas.

    Elija Next: Configure Instance Details (Siguiente: configurar detalles de la instancia) cuando haya terminado.

  6. En la página Configure Instance Details (Configurar detalles de la instancia) complete los siguientes pasos:

    1. Especifique el campo Number of instances en función de la cantidad de instancias de contenedor que desea añadir a su clúster.

    2. (Opcional) Para utilizar instancias de Spot, en Purchasing option (Opción de compra), seleccione la casilla de verificación junto a Request Spot Instances (Solicitar instancias de spot). También debe establecer el resto de los campos relacionados con las instancias de Spot. Para obtener más información, consulte Spot Instance Requests (Solicitudes de instancias de Spot).

      nota

      Si utiliza instancias de Spot y ve un mensaje que indica Not available, es posible que deba elegir un tipo de instancia diferente.

    3. Para Network (Red), elija la VPC en la que lanzará la instancia de su contenedor.

    4. Para Subnet, elija una subred para utilizar o mantenga la opción predeterminada para elegir la subred predeterminada en cualquier zona de disponibilidad.

    5. Establezca el campo Auto-assign Public IP (Asignar automáticamente IP pública) dependiendo de si desea que se pueda acceder a su instancia desde la Internet pública o no. Si desea que se pueda acceder a la instancia desde Internet, compruebe que el campo Auto-assign Public IP (Asignar automáticamente IP pública) esté configurado como Enable (Habilitar). De lo contrario, configure este campo como Disable (Deshabilitar).

      nota

      de las instancias de contenedor deben obtener acceso para comunicarse con el punto de enlace del servicio de Amazon ECS. Esto puede ser a través de un punto de conexión de la VPC de la interfaz o a través de de las instancias de contenedor con direcciones IP públicas.

      Para obtener más información acerca de los puntos de enlace de la VPC de la interfaz, consulte Puntos de enlace de la VPC de interfaz de Amazon ECS (AWS PrivateLink).

      Si no tiene configurado un punto de conexión de la VPC de la interfaz y los de las instancias de contenedor no tienen direcciones IP públicas, deberán utilizar traducción de direcciones de red (NAT) para proporcionar este acceso. Para obtener más información, consulte Gateways NAT en la Guía del usuario de Amazon VPC y Configuración de proxy HTTP para instancias de contenedor de Linux en esta guía. Para obtener más información, consulte Creación de una nube virtual privada.

    6. Seleccione el rol de IAM de la instancia de contenedor. Suele llamarse ecsInstanceRole.

      importante

      Si no lanza la instancia de contenedor con los permisos de IAM correspondientes, el agente de Amazon ECS no puede conectarse al clúster. Para obtener más información, consulte Rol de IAM de instancia de contenedor de Amazon ECS.

    7. Configure su instancia de contenedor de Amazon ECS con los datos de usuario, por ejemplo, las variables de entorno del agente de Configuración del agente de contenedor de Amazon ECS. Los scripts de datos de usuario de Amazon EC2 se ejecutan solo una vez, cuando la instancia se lanza por primera vez. A continuación, se muestran ejemplos comunes del uso de los datos del usuario:

      • De forma predeterminada, su instancia de contenedor se abre en su clúster predeterminado. Para abrirlo en un clúster no predeterminado, seleccione la lista Advanced Details. A continuación, pegue el siguiente script en el campo User data, reemplazando your_cluster_name con el nombre de su clúster.

        El rol EnableTaskIAMRole activa la característica de roles de IAM de tareas para las tareas.

        Además, las siguientes opciones están disponibles cuando se utiliza el modo de red awsvpc.

        • EnableTaskENI: este indicador activa las redes de tareas y se requiere cuando se utiliza el modo de red awsvpc.

        • AwsvpcBlockIMDS: este indicador opcional bloquea el acceso a IMDS para los contenedores de tareas que se ejecutan en el modo de red awsvpc.

        • AwsvpcAdditionalLocalRoutes: este indicador opcional le permite tener rutas adicionales en el espacio de nombres de la tarea.

          Sustituya ip-address por la dirección IP para las rutas adicionales, por ejemplo, 172.31.42.23/32.

        <powershell> Import-Module ECSTools Initialize-ECSAgent -Cluster your_cluster_name -EnableTaskIAMRole -EnableTaskENI -AwsvpcBlockIMDS -AwsvpcAdditionalLocalRoutes '["ip-address"]' </powershell>
    8. Elija Siguiente: Añadir almacenamiento.

  7. En la página Add Storage, configure el almacenamiento para su instancia de contenedor.

    Si lo desea, puede aumentar o reducir el tamaño de volumen para su instancia de acuerdo con las necesidades de su aplicación.

    Cuando haya terminado de configurar los volúmenes, seleccione Next: Add Tags (Siguiente: Añadir etiquetas).

  8. En la página Add Tags (Añadir etiquetas), especifique etiquetas proporcionando combinaciones de clave y valor para la instancia de contenedor. Elija Add another tag (Añadir otra etiqueta) para añadir más de una etiqueta a su instancia de contenedor. Para obtener más información acerca de las etiquetas de recursos, consulte Etiquetado de recursos de Amazon ECS.

    Elija Next: Configure Security Group cuando haya terminado.

  9. En la página Configure Security Group (Configurar grupo de seguridad), utilice un grupo de seguridad para definir reglas de firewall para la instancia de contenedor. Estas reglas especifican qué tráfico procedente de la red se entregará en la instancia de contenedor. El resto del tráfico se ignora. Seleccione o cree un grupo de seguridad como se indica a continuación y, a continuación, elija Review and Launch (Revisar y iniciar).

  10. En la página Review Instance Launch, en Security Groups, verá que el asistente ha creado y seleccionado un grupo de seguridad. En lugar de ello, siga los pasos que se indican a continuación para seleccionar el grupo de seguridad que usted creó en Configuración para utilizar Amazon ECS:

    1. Elija Editar grupos de seguridad.

    2. En la página Configure Security Group, seleccione la opción Select an existing security group.

    3. Seleccione el grupo de seguridad que creó para su instancia de contenedor de la lista de grupos de seguridad existentes y elija Review and Launch.

  11. En la página Revisar el lanzamiento de la instancia, elija Iniciar.

  12. En el cuadro de diálogo Select an existing key pair or create a new key pair, elija Choose an existing key pair y, a continuación, seleccione el par de claves que creó al obtener la configuración.

    Cuando esté listo, seleccione el campo de confirmación y después elija Launch Instances.

  13. Verá una página de confirmación que indicará que la instancia se está lanzando. Elija View instances para cerrar la página de confirmación y volver a la consola.

  14. En la pantalla Instances se muestra el estado de la instancia. La instancia tarda poco tiempo en lanzarse. Al lanzar una instancia, su estado inicial es pending. Una vez iniciada la instancia, el estado cambia a running y recibe un nombre de DNS público. Si la columna Public DNS está oculta, seleccione Show/Hide, Public DNS.

Uso de las instancias de spot

Una instancia de spot es una instancia de Amazon EC2 sin utilizar que está disponible por un precio inferior al precio bajo demanda. Dado que las Instancias de spot permiten solicitar instancias EC2 sin utilizar con grandes descuentos, es posible reducir considerablemente los costos de Amazon EC2. El precio por hora de una instancia de spot se denomina precio de spot. Amazon EC2 establece el precio de spot de cada tipo de instancia en cada zona de disponibilidad, y este fluctúa en función de la oferta y la demanda a largo plazo de las instancias de spot. Para obtener más información, consulte Instancias de spot en la Guía del usuario de Amazon EC2 para instancias de Windows.

Puede registrar instancias de spot en los clústeres de Amazon ECS. Para obtener más información, consulte Lanzamiento de una instancia de contenedor de Linux de Amazon ECS.

Drenaje de instancias de spot

Amazon EC2 termina, detiene o hiberna la instancia de spot cuando el precio de spot supera el precio máximo de su solicitud o cuando ya no hay más capacidad. Amazon EC2 envía un aviso de interrupción de la instancia de spot, que otorga a la instancia una advertencia dos minutos antes de que se interrumpa. Si el vaciado de instancias de spot de Amazon ECS está habilitado en la instancia, ECS recibe el aviso de interrupción de la instancia de spot y coloca la instancia en el estado DRAINING.

importante

Amazon ECS monitorea los avisos de interrupción de instancias de spot que tienen las acciones de instancia terminate y stop. Si especificó el comportamiento de interrupción de la instancia hibernate al solicitar las instancias o la flota de spot, el vaciado de instancias de spot de Amazon ECS no es compatible con esas instancias.

Cuando se establece una instancia de contenedor en DRAINING, Amazon ECS evita que se programen nuevas tareas para su ubicación en la instancia de contenedor. Las tareas de servicio en la instancia de contenedor que se está vaciando que están en el estado PENDING se paran de inmediato. Si hay instancias de contenedor en el clúster que están disponibles, las tareas de servicio de sustitución se inician en ellas.

Debe configurar el parámetro ECS_ENABLE_SPOT_INSTANCE_DRAINING antes de iniciar el agente de contenedor. Utilice los siguientes comandos para activar manualmente el vaciado de instancias de spot. Sustituya my-cluster por el nombre de su clúster.

[Environment]::SetEnvironmentVariable("ECS_ENABLE_SPOT_INSTANCE_DRAINING", "true", "Machine") # Initialize the agent Initialize-ECSAgent -Cluster my-cluster

Para obtener más información, consulte Lanzamiento de una instancia de contenedor de Windows de Amazon ECS.