Roles de IAM para tareas en 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.

Roles de IAM para tareas en Windows

Los roles de IAM para las tareas con características de Windows requieren una configuración adicional, pero buena parte de esta configuración es similar a habilitar los roles de IAM para las tareas en instancias de contenedor de Linux. Se deben satisfacer los requisitos siguientes para habilitar los roles de IAM para tareas para contenedores de Windows.

  • Cuando se lanzan las instancias de contenedor, debe habilitar la característica configurando la opción -EnableTaskIAMRole en el script de datos de usuario de las instancias de contenedor. Por ejemplo:

    <powershell> Import-Module ECSTools Initialize-ECSAgent -Cluster 'windows' -EnableTaskIAMRole </powershell>
  • Debe arrancar el contenedor con los comandos de redes que se proporcionan en IAMRoles de para el script de arranque de contenedor de tareas.

  • Debe crear un rol de IAM y política para sus tareas. Para obtener más información, consulte Creación de un rol y una política de IAM para sus tareas.

  • El contenedor debe utilizar un SDK de AWS que admita los roles de IAM para las tareas. Para obtener más información, consulte Uso de un SDK de AWS soportado.

  • Debe especificar el rol de IAM que creó para sus tareas al registrar la definición de tarea o como anulación al ejecutar la tarea. Para obtener más información, consulte Especificación de un rol de IAM para sus tareas.

  • Los roles de IAM para el proveedor de credenciales de tarea utilizan el puerto 80 en la instancia de contenedor. Por lo tanto, si habilita roles de IAM para tareas en su instancia de contenedor, los contenedores no pueden utilizar el puerto 80 para el puerto de host en ningún mapeo de puertos. Para exponer los contenedores en el puerto 80, recomendamos configurar un servicio para ellos que utilice el balanceo de carga. Puede utilizar el puerto 80 en el balanceador de carga. Al hacerlo, el tráfico se puede dirigir a otro puerto de host en sus instancias de contenedor. Para obtener más información, consulte Balanceo de carga de servicios.

  • Si se reinicia la instancia de Windows, debe eliminar la interfaz de proxy e inicializar de nuevo el agente de contenedor de Amazon ECS para hacer una copia de seguridad del proxy de credenciales.

IAMRoles de para el script de arranque de contenedor de tareas

Antes de que los contenedores puedan obtener acceso al proxy de credenciales en la instancia de contenedor para obtener credenciales, el contenedor se debe arrancar con los comandos de redes requeridos. El siguiente script de ejemplo de código se debe ejecutar en los contenedores cuando se inician.

# Copyright 2014-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"). You may # not use this file except in compliance with the License. A copy of the # License is located at # # http://aws.amazon.com/apache2.0/ # # or in the "license" file accompanying this file. This file is distributed # on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either # express or implied. See the License for the specific language governing # permissions and limitations under the License. $gateway = (Get-NetRoute | Where { $_.DestinationPrefix -eq '0.0.0.0/0' } | Sort-Object RouteMetric | Select NextHop).NextHop $ifIndex = (Get-NetAdapter -InterfaceDescription "Hyper-V Virtual Ethernet*" | Sort-Object | Select ifIndex).ifIndex New-NetRoute -DestinationPrefix 169.254.170.2/32 -InterfaceIndex $ifIndex -NextHop $gateway # credentials API New-NetRoute -DestinationPrefix 169.254.169.254/32 -InterfaceIndex $ifIndex -NextHop $gateway # metadata API